ccgo_darwin_arm64.go 1.9 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981469824698346984469854698646987469884698946990469914699246993469944699546996469974699846999470004700147002470034700447005470064700747008470094701047011470124701347014470154701647017470184701947020470214702247023470244702547026470274702847029470304703147032470334703447035470364703747038470394704047041470424704347044470454704647047470484704947050470514705247053470544705547056470574705847059470604706147062470634706447065470664706747068470694707047071470724707347074470754707647077470784707947080470814708247083470844708547086470874708847089470904709147092470934709447095470964709747098470994710047101471024710347104471054710647107471084710947110471114711247113471144711547116471174711847119471204712147122471234712447125471264712747128471294713047131471324713347134471354713647137471384713947140471414714247143471444714547146471474714847149471504715147152471534715447155471564715747158471594716047161471624716347164471654716647167471684716947170471714717247173471744717547176471774717847179471804718147182471834718447185471864718747188471894719047191471924719347194471954719647197471984719947200472014720247203472044720547206472074720847209472104721147212472134721447215472164721747218472194722047221472224722347224472254722647227472284722947230472314723247233472344723547236472374723847239472404724147242472434724447245472464724747248472494725047251472524725347254472554725647257472584725947260472614726247263472644726547266472674726847269472704727147272472734727447275472764727747278472794728047281472824728347284472854728647287472884728947290472914729247293472944729547296472974729847299473004730147302473034730447305473064730747308473094731047311473124731347314473154731647317473184731947320473214732247323473244732547326473274732847329473304733147332473334733447335473364733747338473394734047341473424734347344473454734647347473484734947350473514735247353473544735547356473574735847359473604736147362473634736447365473664736747368473694737047371473724737347374473754737647377473784737947380473814738247383473844738547386473874738847389473904739147392473934739447395473964739747398473994740047401474024740347404474054740647407474084740947410474114741247413474144741547416474174741847419474204742147422474234742447425474264742747428474294743047431474324743347434474354743647437474384743947440474414744247443474444744547446474474744847449474504745147452474534745447455474564745747458474594746047461474624746347464474654746647467474684746947470474714747247473474744747547476474774747847479474804748147482474834748447485474864748747488474894749047491474924749347494474954749647497474984749947500475014750247503475044750547506475074750847509475104751147512475134751447515475164751747518475194752047521475224752347524475254752647527475284752947530475314753247533475344753547536475374753847539475404754147542475434754447545475464754747548475494755047551475524755347554475554755647557475584755947560475614756247563475644756547566475674756847569475704757147572475734757447575475764757747578475794758047581475824758347584475854758647587475884758947590475914759247593475944759547596475974759847599476004760147602476034760447605476064760747608476094761047611476124761347614476154761647617476184761947620476214762247623476244762547626476274762847629476304763147632476334763447635476364763747638476394764047641476424764347644476454764647647476484764947650476514765247653476544765547656476574765847659476604766147662476634766447665476664766747668476694767047671476724767347674476754767647677476784767947680476814768247683476844768547686476874768847689476904769147692476934769447695476964769747698476994770047701477024770347704477054770647707477084770947710477114771247713477144771547716477174771847719477204772147722477234772447725477264772747728477294773047731477324773347734477354773647737477384773947740477414774247743477444774547746477474774847749477504775147752477534775447755477564775747758477594776047761477624776347764477654776647767477684776947770477714777247773477744777547776477774777847779477804778147782477834778447785477864778747788477894779047791477924779347794477954779647797477984779947800478014780247803478044780547806478074780847809478104781147812478134781447815478164781747818478194782047821478224782347824478254782647827478284782947830478314783247833478344783547836478374783847839478404784147842478434784447845478464784747848478494785047851478524785347854478554785647857478584785947860478614786247863478644786547866478674786847869478704787147872478734787447875478764787747878478794788047881478824788347884478854788647887478884788947890478914789247893478944789547896478974789847899479004790147902479034790447905479064790747908479094791047911479124791347914479154791647917479184791947920479214792247923479244792547926479274792847929479304793147932479334793447935479364793747938479394794047941479424794347944479454794647947479484794947950479514795247953479544795547956479574795847959479604796147962479634796447965479664796747968479694797047971479724797347974479754797647977479784797947980479814798247983479844798547986479874798847989479904799147992479934799447995479964799747998479994800048001480024800348004480054800648007480084800948010480114801248013480144801548016480174801848019480204802148022480234802448025480264802748028480294803048031480324803348034480354803648037480384803948040480414804248043480444804548046480474804848049480504805148052480534805448055480564805748058480594806048061480624806348064480654806648067480684806948070480714807248073480744807548076480774807848079480804808148082480834808448085480864808748088480894809048091480924809348094480954809648097480984809948100481014810248103481044810548106481074810848109481104811148112481134811448115481164811748118481194812048121481224812348124481254812648127481284812948130481314813248133481344813548136481374813848139481404814148142481434814448145481464814748148481494815048151481524815348154481554815648157481584815948160481614816248163481644816548166481674816848169481704817148172481734817448175481764817748178481794818048181481824818348184481854818648187481884818948190481914819248193481944819548196481974819848199482004820148202482034820448205482064820748208482094821048211482124821348214482154821648217482184821948220482214822248223482244822548226482274822848229482304823148232482334823448235482364823748238482394824048241482424824348244482454824648247482484824948250482514825248253482544825548256482574825848259482604826148262482634826448265482664826748268482694827048271482724827348274482754827648277482784827948280482814828248283482844828548286482874828848289482904829148292482934829448295482964829748298482994830048301483024830348304483054830648307483084830948310483114831248313483144831548316483174831848319483204832148322483234832448325483264832748328483294833048331483324833348334483354833648337483384833948340483414834248343483444834548346483474834848349483504835148352483534835448355483564835748358483594836048361483624836348364483654836648367483684836948370483714837248373483744837548376483774837848379483804838148382483834838448385483864838748388483894839048391483924839348394483954839648397483984839948400484014840248403484044840548406484074840848409484104841148412484134841448415484164841748418484194842048421484224842348424484254842648427484284842948430484314843248433484344843548436484374843848439484404844148442484434844448445484464844748448484494845048451484524845348454484554845648457484584845948460484614846248463484644846548466484674846848469484704847148472484734847448475484764847748478484794848048481484824848348484484854848648487484884848948490484914849248493484944849548496484974849848499485004850148502485034850448505485064850748508485094851048511485124851348514485154851648517485184851948520485214852248523485244852548526485274852848529485304853148532485334853448535485364853748538485394854048541485424854348544485454854648547485484854948550485514855248553485544855548556485574855848559485604856148562485634856448565485664856748568485694857048571485724857348574485754857648577485784857948580485814858248583485844858548586485874858848589485904859148592485934859448595485964859748598485994860048601486024860348604486054860648607486084860948610486114861248613486144861548616486174861848619486204862148622486234862448625486264862748628486294863048631486324863348634486354863648637486384863948640486414864248643486444864548646486474864848649486504865148652486534865448655486564865748658486594866048661486624866348664486654866648667486684866948670486714867248673486744867548676486774867848679486804868148682486834868448685486864868748688486894869048691486924869348694486954869648697486984869948700487014870248703487044870548706487074870848709487104871148712487134871448715487164871748718487194872048721487224872348724487254872648727487284872948730487314873248733487344873548736487374873848739487404874148742487434874448745487464874748748487494875048751487524875348754487554875648757487584875948760487614876248763487644876548766487674876848769487704877148772487734877448775487764877748778487794878048781487824878348784487854878648787487884878948790487914879248793487944879548796487974879848799488004880148802488034880448805488064880748808488094881048811488124881348814488154881648817488184881948820488214882248823488244882548826488274882848829488304883148832488334883448835488364883748838488394884048841488424884348844488454884648847488484884948850488514885248853488544885548856488574885848859488604886148862488634886448865488664886748868488694887048871488724887348874488754887648877488784887948880488814888248883488844888548886488874888848889488904889148892488934889448895488964889748898488994890048901489024890348904489054890648907489084890948910489114891248913489144891548916489174891848919489204892148922489234892448925489264892748928489294893048931489324893348934489354893648937489384893948940489414894248943489444894548946489474894848949489504895148952489534895448955489564895748958489594896048961489624896348964489654896648967489684896948970489714897248973489744897548976489774897848979489804898148982489834898448985489864898748988489894899048991489924899348994489954899648997489984899949000490014900249003490044900549006490074900849009490104901149012490134901449015490164901749018490194902049021490224902349024490254902649027490284902949030490314903249033490344903549036490374903849039490404904149042490434904449045490464904749048490494905049051490524905349054490554905649057490584905949060490614906249063490644906549066490674906849069490704907149072490734907449075490764907749078490794908049081490824908349084490854908649087490884908949090490914909249093490944909549096490974909849099491004910149102491034910449105491064910749108491094911049111491124911349114491154911649117491184911949120491214912249123491244912549126491274912849129491304913149132491334913449135491364913749138491394914049141491424914349144491454914649147491484914949150491514915249153491544915549156491574915849159491604916149162491634916449165491664916749168491694917049171491724917349174491754917649177491784917949180491814918249183491844918549186491874918849189491904919149192491934919449195491964919749198491994920049201492024920349204492054920649207492084920949210492114921249213492144921549216492174921849219492204922149222492234922449225492264922749228492294923049231492324923349234492354923649237492384923949240492414924249243492444924549246492474924849249492504925149252492534925449255492564925749258492594926049261492624926349264492654926649267492684926949270492714927249273492744927549276492774927849279492804928149282492834928449285492864928749288492894929049291492924929349294492954929649297492984929949300493014930249303493044930549306493074930849309493104931149312493134931449315493164931749318493194932049321493224932349324493254932649327493284932949330493314933249333493344933549336493374933849339493404934149342493434934449345493464934749348493494935049351493524935349354493554935649357493584935949360493614936249363493644936549366493674936849369493704937149372493734937449375493764937749378493794938049381493824938349384493854938649387493884938949390493914939249393493944939549396493974939849399494004940149402494034940449405494064940749408494094941049411494124941349414494154941649417494184941949420494214942249423494244942549426494274942849429494304943149432494334943449435494364943749438494394944049441494424944349444494454944649447494484944949450494514945249453494544945549456494574945849459494604946149462494634946449465494664946749468494694947049471494724947349474494754947649477494784947949480494814948249483494844948549486494874948849489494904949149492494934949449495494964949749498494994950049501495024950349504495054950649507495084950949510495114951249513495144951549516495174951849519495204952149522495234952449525495264952749528495294953049531495324953349534495354953649537495384953949540495414954249543495444954549546495474954849549495504955149552495534955449555495564955749558495594956049561495624956349564495654956649567495684956949570495714957249573495744957549576495774957849579495804958149582495834958449585495864958749588495894959049591495924959349594495954959649597495984959949600496014960249603496044960549606496074960849609496104961149612496134961449615496164961749618496194962049621496224962349624496254962649627496284962949630496314963249633496344963549636496374963849639496404964149642496434964449645496464964749648496494965049651496524965349654496554965649657496584965949660496614966249663496644966549666496674966849669496704967149672496734967449675496764967749678496794968049681496824968349684496854968649687496884968949690496914969249693496944969549696496974969849699497004970149702497034970449705497064970749708497094971049711497124971349714497154971649717497184971949720497214972249723497244972549726497274972849729497304973149732497334973449735497364973749738497394974049741497424974349744497454974649747497484974949750497514975249753497544975549756497574975849759497604976149762497634976449765497664976749768497694977049771497724977349774497754977649777497784977949780497814978249783497844978549786497874978849789497904979149792497934979449795497964979749798497994980049801498024980349804498054980649807498084980949810498114981249813498144981549816498174981849819498204982149822498234982449825498264982749828498294983049831498324983349834498354983649837498384983949840498414984249843498444984549846498474984849849498504985149852498534985449855498564985749858498594986049861498624986349864498654986649867498684986949870498714987249873498744987549876498774987849879498804988149882498834988449885498864988749888498894989049891498924989349894498954989649897498984989949900499014990249903499044990549906499074990849909499104991149912499134991449915499164991749918499194992049921499224992349924499254992649927499284992949930499314993249933499344993549936499374993849939499404994149942499434994449945499464994749948499494995049951499524995349954499554995649957499584995949960499614996249963499644996549966499674996849969499704997149972499734997449975499764997749978499794998049981499824998349984499854998649987499884998949990499914999249993499944999549996499974999849999500005000150002500035000450005500065000750008500095001050011500125001350014500155001650017500185001950020500215002250023500245002550026500275002850029500305003150032500335003450035500365003750038500395004050041500425004350044500455004650047500485004950050500515005250053500545005550056500575005850059500605006150062500635006450065500665006750068500695007050071500725007350074500755007650077500785007950080500815008250083500845008550086500875008850089500905009150092500935009450095500965009750098500995010050101501025010350104501055010650107501085010950110501115011250113501145011550116501175011850119501205012150122501235012450125501265012750128501295013050131501325013350134501355013650137501385013950140501415014250143501445014550146501475014850149501505015150152501535015450155501565015750158501595016050161501625016350164501655016650167501685016950170501715017250173501745017550176501775017850179501805018150182501835018450185501865018750188501895019050191501925019350194501955019650197501985019950200502015020250203502045020550206502075020850209502105021150212502135021450215502165021750218502195022050221502225022350224502255022650227502285022950230502315023250233502345023550236502375023850239502405024150242502435024450245502465024750248502495025050251502525025350254502555025650257502585025950260502615026250263502645026550266502675026850269502705027150272502735027450275502765027750278502795028050281502825028350284502855028650287502885028950290502915029250293502945029550296502975029850299503005030150302503035030450305503065030750308503095031050311503125031350314503155031650317503185031950320503215032250323503245032550326503275032850329503305033150332503335033450335503365033750338503395034050341503425034350344503455034650347503485034950350503515035250353503545035550356503575035850359503605036150362503635036450365503665036750368503695037050371503725037350374503755037650377503785037950380503815038250383503845038550386503875038850389503905039150392503935039450395503965039750398503995040050401504025040350404504055040650407504085040950410504115041250413504145041550416504175041850419504205042150422504235042450425504265042750428504295043050431504325043350434504355043650437504385043950440504415044250443504445044550446504475044850449504505045150452504535045450455504565045750458504595046050461504625046350464504655046650467504685046950470504715047250473504745047550476504775047850479504805048150482504835048450485504865048750488504895049050491504925049350494504955049650497504985049950500505015050250503505045050550506505075050850509505105051150512505135051450515505165051750518505195052050521505225052350524505255052650527505285052950530505315053250533505345053550536505375053850539505405054150542505435054450545505465054750548505495055050551505525055350554505555055650557505585055950560505615056250563505645056550566505675056850569505705057150572505735057450575505765057750578505795058050581505825058350584505855058650587505885058950590505915059250593505945059550596505975059850599506005060150602506035060450605506065060750608506095061050611506125061350614506155061650617506185061950620506215062250623506245062550626506275062850629506305063150632506335063450635506365063750638506395064050641506425064350644506455064650647506485064950650506515065250653506545065550656506575065850659506605066150662506635066450665506665066750668506695067050671506725067350674506755067650677506785067950680506815068250683506845068550686506875068850689506905069150692506935069450695506965069750698506995070050701507025070350704507055070650707507085070950710507115071250713507145071550716507175071850719507205072150722507235072450725507265072750728507295073050731507325073350734507355073650737507385073950740507415074250743507445074550746507475074850749507505075150752507535075450755507565075750758507595076050761507625076350764507655076650767507685076950770507715077250773507745077550776507775077850779507805078150782507835078450785507865078750788507895079050791507925079350794507955079650797507985079950800508015080250803508045080550806508075080850809508105081150812508135081450815508165081750818508195082050821508225082350824508255082650827508285082950830508315083250833508345083550836508375083850839508405084150842508435084450845508465084750848508495085050851508525085350854508555085650857508585085950860508615086250863508645086550866508675086850869508705087150872508735087450875508765087750878508795088050881508825088350884508855088650887508885088950890508915089250893508945089550896508975089850899509005090150902509035090450905509065090750908509095091050911509125091350914509155091650917509185091950920509215092250923509245092550926509275092850929509305093150932509335093450935509365093750938509395094050941509425094350944509455094650947509485094950950509515095250953509545095550956509575095850959509605096150962509635096450965509665096750968509695097050971509725097350974509755097650977509785097950980509815098250983509845098550986509875098850989509905099150992509935099450995509965099750998509995100051001510025100351004510055100651007510085100951010510115101251013510145101551016510175101851019510205102151022510235102451025510265102751028510295103051031510325103351034510355103651037510385103951040510415104251043510445104551046510475104851049510505105151052510535105451055510565105751058510595106051061510625106351064510655106651067510685106951070510715107251073510745107551076510775107851079510805108151082510835108451085510865108751088510895109051091510925109351094510955109651097510985109951100511015110251103511045110551106511075110851109511105111151112511135111451115511165111751118511195112051121511225112351124511255112651127511285112951130511315113251133511345113551136511375113851139511405114151142511435114451145511465114751148511495115051151511525115351154511555115651157511585115951160511615116251163511645116551166511675116851169511705117151172511735117451175511765117751178511795118051181511825118351184511855118651187511885118951190511915119251193511945119551196511975119851199512005120151202512035120451205512065120751208512095121051211512125121351214512155121651217512185121951220512215122251223512245122551226512275122851229512305123151232512335123451235512365123751238512395124051241512425124351244512455124651247512485124951250512515125251253512545125551256512575125851259512605126151262512635126451265512665126751268512695127051271512725127351274512755127651277512785127951280512815128251283512845128551286512875128851289512905129151292512935129451295512965129751298512995130051301513025130351304513055130651307513085130951310513115131251313513145131551316513175131851319513205132151322513235132451325513265132751328513295133051331513325133351334513355133651337513385133951340513415134251343513445134551346513475134851349513505135151352513535135451355513565135751358513595136051361513625136351364513655136651367513685136951370513715137251373513745137551376513775137851379513805138151382513835138451385513865138751388513895139051391513925139351394513955139651397513985139951400514015140251403514045140551406514075140851409514105141151412514135141451415514165141751418514195142051421514225142351424514255142651427514285142951430514315143251433514345143551436514375143851439514405144151442514435144451445514465144751448514495145051451514525145351454514555145651457514585145951460514615146251463514645146551466514675146851469514705147151472514735147451475514765147751478514795148051481514825148351484514855148651487514885148951490514915149251493514945149551496514975149851499515005150151502515035150451505515065150751508515095151051511515125151351514515155151651517515185151951520515215152251523515245152551526515275152851529515305153151532515335153451535515365153751538515395154051541515425154351544515455154651547515485154951550515515155251553515545155551556515575155851559515605156151562515635156451565515665156751568515695157051571515725157351574515755157651577515785157951580515815158251583515845158551586515875158851589515905159151592515935159451595515965159751598515995160051601516025160351604516055160651607516085160951610516115161251613516145161551616516175161851619516205162151622516235162451625516265162751628516295163051631516325163351634516355163651637516385163951640516415164251643516445164551646516475164851649516505165151652516535165451655516565165751658516595166051661516625166351664516655166651667516685166951670516715167251673516745167551676516775167851679516805168151682516835168451685516865168751688516895169051691516925169351694516955169651697516985169951700517015170251703517045170551706517075170851709517105171151712517135171451715517165171751718517195172051721517225172351724517255172651727517285172951730517315173251733517345173551736517375173851739517405174151742517435174451745517465174751748517495175051751517525175351754517555175651757517585175951760517615176251763517645176551766517675176851769517705177151772517735177451775517765177751778517795178051781517825178351784517855178651787517885178951790517915179251793517945179551796517975179851799518005180151802518035180451805518065180751808518095181051811518125181351814518155181651817518185181951820518215182251823518245182551826518275182851829518305183151832518335183451835518365183751838518395184051841518425184351844518455184651847518485184951850518515185251853518545185551856518575185851859518605186151862518635186451865518665186751868518695187051871518725187351874518755187651877518785187951880518815188251883518845188551886518875188851889518905189151892518935189451895518965189751898518995190051901519025190351904519055190651907519085190951910519115191251913519145191551916519175191851919519205192151922519235192451925519265192751928519295193051931519325193351934519355193651937519385193951940519415194251943519445194551946519475194851949519505195151952519535195451955519565195751958519595196051961519625196351964519655196651967519685196951970519715197251973519745197551976519775197851979519805198151982519835198451985519865198751988519895199051991519925199351994519955199651997519985199952000520015200252003520045200552006520075200852009520105201152012520135201452015520165201752018520195202052021520225202352024520255202652027520285202952030520315203252033520345203552036520375203852039520405204152042520435204452045520465204752048520495205052051520525205352054520555205652057520585205952060520615206252063520645206552066520675206852069520705207152072520735207452075520765207752078520795208052081520825208352084520855208652087520885208952090520915209252093520945209552096520975209852099521005210152102521035210452105521065210752108521095211052111521125211352114521155211652117521185211952120521215212252123521245212552126521275212852129521305213152132521335213452135521365213752138521395214052141521425214352144521455214652147521485214952150521515215252153521545215552156521575215852159521605216152162521635216452165521665216752168521695217052171521725217352174521755217652177521785217952180521815218252183521845218552186521875218852189521905219152192521935219452195521965219752198521995220052201522025220352204522055220652207522085220952210522115221252213522145221552216522175221852219522205222152222522235222452225522265222752228522295223052231522325223352234522355223652237522385223952240522415224252243522445224552246522475224852249522505225152252522535225452255522565225752258522595226052261522625226352264522655226652267522685226952270522715227252273522745227552276522775227852279522805228152282522835228452285522865228752288522895229052291522925229352294522955229652297522985229952300523015230252303523045230552306523075230852309523105231152312523135231452315523165231752318523195232052321523225232352324523255232652327523285232952330523315233252333523345233552336523375233852339523405234152342523435234452345523465234752348523495235052351523525235352354523555235652357523585235952360523615236252363523645236552366523675236852369523705237152372523735237452375523765237752378523795238052381523825238352384523855238652387523885238952390523915239252393523945239552396523975239852399524005240152402524035240452405524065240752408524095241052411524125241352414524155241652417524185241952420524215242252423524245242552426524275242852429524305243152432524335243452435524365243752438524395244052441524425244352444524455244652447524485244952450524515245252453524545245552456524575245852459524605246152462524635246452465524665246752468524695247052471524725247352474524755247652477524785247952480524815248252483524845248552486524875248852489524905249152492524935249452495524965249752498524995250052501525025250352504525055250652507525085250952510525115251252513525145251552516525175251852519525205252152522525235252452525525265252752528525295253052531525325253352534525355253652537525385253952540525415254252543525445254552546525475254852549525505255152552525535255452555525565255752558525595256052561525625256352564525655256652567525685256952570525715257252573525745257552576525775257852579525805258152582525835258452585525865258752588525895259052591525925259352594525955259652597525985259952600526015260252603526045260552606526075260852609526105261152612526135261452615526165261752618526195262052621526225262352624526255262652627526285262952630526315263252633526345263552636526375263852639526405264152642526435264452645526465264752648526495265052651526525265352654526555265652657526585265952660526615266252663526645266552666526675266852669526705267152672526735267452675526765267752678526795268052681526825268352684526855268652687526885268952690526915269252693526945269552696526975269852699527005270152702527035270452705527065270752708527095271052711527125271352714527155271652717527185271952720527215272252723527245272552726527275272852729527305273152732527335273452735527365273752738527395274052741527425274352744527455274652747527485274952750527515275252753527545275552756527575275852759527605276152762527635276452765527665276752768527695277052771527725277352774527755277652777527785277952780527815278252783527845278552786527875278852789527905279152792527935279452795527965279752798527995280052801528025280352804528055280652807528085280952810528115281252813528145281552816528175281852819528205282152822528235282452825528265282752828528295283052831528325283352834528355283652837528385283952840528415284252843528445284552846528475284852849528505285152852528535285452855528565285752858528595286052861528625286352864528655286652867528685286952870528715287252873528745287552876528775287852879528805288152882528835288452885528865288752888528895289052891528925289352894528955289652897528985289952900529015290252903529045290552906529075290852909529105291152912529135291452915529165291752918529195292052921529225292352924529255292652927529285292952930529315293252933529345293552936529375293852939529405294152942529435294452945529465294752948529495295052951529525295352954529555295652957529585295952960529615296252963529645296552966529675296852969529705297152972529735297452975529765297752978529795298052981529825298352984529855298652987529885298952990529915299252993529945299552996529975299852999530005300153002530035300453005530065300753008530095301053011530125301353014530155301653017530185301953020530215302253023530245302553026530275302853029530305303153032530335303453035530365303753038530395304053041530425304353044530455304653047530485304953050530515305253053530545305553056530575305853059530605306153062530635306453065530665306753068530695307053071530725307353074530755307653077530785307953080530815308253083530845308553086530875308853089530905309153092530935309453095530965309753098530995310053101531025310353104531055310653107531085310953110531115311253113531145311553116531175311853119531205312153122531235312453125531265312753128531295313053131531325313353134531355313653137531385313953140531415314253143531445314553146531475314853149531505315153152531535315453155531565315753158531595316053161531625316353164531655316653167531685316953170531715317253173531745317553176531775317853179531805318153182531835318453185531865318753188531895319053191531925319353194531955319653197531985319953200532015320253203532045320553206532075320853209532105321153212532135321453215532165321753218532195322053221532225322353224532255322653227532285322953230532315323253233532345323553236532375323853239532405324153242532435324453245532465324753248532495325053251532525325353254532555325653257532585325953260532615326253263532645326553266532675326853269532705327153272532735327453275532765327753278532795328053281532825328353284532855328653287532885328953290532915329253293532945329553296532975329853299533005330153302533035330453305533065330753308533095331053311533125331353314533155331653317533185331953320533215332253323533245332553326533275332853329533305333153332533335333453335533365333753338533395334053341533425334353344533455334653347533485334953350533515335253353533545335553356533575335853359533605336153362533635336453365533665336753368533695337053371533725337353374533755337653377533785337953380533815338253383533845338553386533875338853389533905339153392533935339453395533965339753398533995340053401534025340353404534055340653407534085340953410534115341253413534145341553416534175341853419534205342153422534235342453425534265342753428534295343053431534325343353434534355343653437534385343953440534415344253443534445344553446534475344853449534505345153452534535345453455534565345753458534595346053461534625346353464534655346653467534685346953470534715347253473534745347553476534775347853479534805348153482534835348453485534865348753488534895349053491534925349353494534955349653497534985349953500535015350253503535045350553506535075350853509535105351153512535135351453515535165351753518535195352053521535225352353524535255352653527535285352953530535315353253533535345353553536535375353853539535405354153542535435354453545535465354753548535495355053551535525355353554535555355653557535585355953560535615356253563535645356553566535675356853569535705357153572535735357453575535765357753578535795358053581535825358353584535855358653587535885358953590535915359253593535945359553596535975359853599536005360153602536035360453605536065360753608536095361053611536125361353614536155361653617536185361953620536215362253623536245362553626536275362853629536305363153632536335363453635536365363753638536395364053641536425364353644536455364653647536485364953650536515365253653536545365553656536575365853659536605366153662536635366453665536665366753668536695367053671536725367353674536755367653677536785367953680536815368253683536845368553686536875368853689536905369153692536935369453695536965369753698536995370053701537025370353704537055370653707537085370953710537115371253713537145371553716537175371853719537205372153722537235372453725537265372753728537295373053731537325373353734537355373653737537385373953740537415374253743537445374553746537475374853749537505375153752537535375453755537565375753758537595376053761537625376353764537655376653767537685376953770537715377253773537745377553776537775377853779537805378153782537835378453785537865378753788537895379053791537925379353794537955379653797537985379953800538015380253803538045380553806538075380853809538105381153812538135381453815538165381753818538195382053821538225382353824538255382653827538285382953830538315383253833538345383553836538375383853839538405384153842538435384453845538465384753848538495385053851538525385353854538555385653857538585385953860538615386253863538645386553866538675386853869538705387153872538735387453875538765387753878538795388053881538825388353884538855388653887538885388953890538915389253893538945389553896538975389853899539005390153902539035390453905539065390753908539095391053911539125391353914539155391653917539185391953920539215392253923539245392553926539275392853929539305393153932539335393453935539365393753938539395394053941539425394353944539455394653947539485394953950539515395253953539545395553956539575395853959539605396153962539635396453965539665396753968539695397053971539725397353974539755397653977539785397953980539815398253983539845398553986539875398853989539905399153992539935399453995539965399753998539995400054001540025400354004540055400654007540085400954010540115401254013540145401554016540175401854019540205402154022540235402454025540265402754028540295403054031540325403354034540355403654037540385403954040540415404254043540445404554046540475404854049540505405154052540535405454055540565405754058540595406054061540625406354064540655406654067540685406954070540715407254073540745407554076540775407854079540805408154082540835408454085540865408754088540895409054091540925409354094540955409654097540985409954100541015410254103541045410554106541075410854109541105411154112541135411454115541165411754118541195412054121541225412354124541255412654127541285412954130541315413254133541345413554136541375413854139541405414154142541435414454145541465414754148541495415054151541525415354154541555415654157541585415954160541615416254163541645416554166541675416854169541705417154172541735417454175541765417754178541795418054181541825418354184541855418654187541885418954190541915419254193541945419554196541975419854199542005420154202542035420454205542065420754208542095421054211542125421354214542155421654217542185421954220542215422254223542245422554226542275422854229542305423154232542335423454235542365423754238542395424054241542425424354244542455424654247542485424954250542515425254253542545425554256542575425854259542605426154262542635426454265542665426754268542695427054271542725427354274542755427654277542785427954280542815428254283542845428554286542875428854289542905429154292542935429454295542965429754298542995430054301543025430354304543055430654307543085430954310543115431254313543145431554316543175431854319543205432154322543235432454325543265432754328543295433054331543325433354334543355433654337543385433954340543415434254343543445434554346543475434854349543505435154352543535435454355543565435754358543595436054361543625436354364543655436654367543685436954370543715437254373543745437554376543775437854379543805438154382543835438454385543865438754388543895439054391543925439354394543955439654397543985439954400544015440254403544045440554406544075440854409544105441154412544135441454415544165441754418544195442054421544225442354424544255442654427544285442954430544315443254433544345443554436544375443854439544405444154442544435444454445544465444754448544495445054451544525445354454544555445654457544585445954460544615446254463544645446554466544675446854469544705447154472544735447454475544765447754478544795448054481544825448354484544855448654487544885448954490544915449254493544945449554496544975449854499545005450154502545035450454505545065450754508545095451054511545125451354514545155451654517545185451954520545215452254523545245452554526545275452854529545305453154532545335453454535545365453754538545395454054541545425454354544545455454654547545485454954550545515455254553545545455554556545575455854559545605456154562545635456454565545665456754568545695457054571545725457354574545755457654577545785457954580545815458254583545845458554586545875458854589545905459154592545935459454595545965459754598545995460054601546025460354604
  1. // Code generated for darwin/arm64 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 /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/darwin/arm64 -I /Users/jnml/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/darwin/arm64 -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build darwin && arm64
  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_ACCESSX_MAX_DESCRIPTORS = 100
  14. const m_ALIGNOF_VOID_P = 8
  15. const m_BADSIG = "SIG_ERR"
  16. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  17. const m_BUFSIZ = 1024
  18. const m_BUS_ADRALN = 1
  19. const m_BUS_ADRERR = 2
  20. const m_BUS_NOOP = 0
  21. const m_BUS_OBJERR = 3
  22. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  23. const m_CLD_CONTINUED = 6
  24. const m_CLD_DUMPED = 3
  25. const m_CLD_EXITED = 1
  26. const m_CLD_KILLED = 2
  27. const m_CLD_NOOP = 0
  28. const m_CLD_STOPPED = 5
  29. const m_CLD_TRAPPED = 4
  30. const m_CLOCK_MONOTONIC = "_CLOCK_MONOTONIC"
  31. const m_CLOCK_MONOTONIC_RAW = "_CLOCK_MONOTONIC_RAW"
  32. const m_CLOCK_MONOTONIC_RAW_APPROX = "_CLOCK_MONOTONIC_RAW_APPROX"
  33. const m_CLOCK_PROCESS_CPUTIME_ID = "_CLOCK_PROCESS_CPUTIME_ID"
  34. const m_CLOCK_REALTIME = "_CLOCK_REALTIME"
  35. const m_CLOCK_THREAD_CPUTIME_ID = "_CLOCK_THREAD_CPUTIME_ID"
  36. const m_CLOCK_UPTIME_RAW = "_CLOCK_UPTIME_RAW"
  37. const m_CLOCK_UPTIME_RAW_APPROX = "_CLOCK_UPTIME_RAW_APPROX"
  38. const m_CONFIGDIR = "/etc/fonts/conf.d"
  39. const m_CPUMON_MAKE_FATAL = 0x1000
  40. const m_DBL_DECIMAL_DIG = "__DBL_DECIMAL_DIG__"
  41. const m_DBL_DIG = "__DBL_DIG__"
  42. const m_DBL_EPSILON = "__DBL_EPSILON__"
  43. const m_DBL_HAS_SUBNORM = "__DBL_HAS_DENORM__"
  44. const m_DBL_MANT_DIG = "__DBL_MANT_DIG__"
  45. const m_DBL_MAX = "__DBL_MAX__"
  46. const m_DBL_MAX_10_EXP = "__DBL_MAX_10_EXP__"
  47. const m_DBL_MAX_EXP = "__DBL_MAX_EXP__"
  48. const m_DBL_MIN = "__DBL_MIN__"
  49. const m_DBL_MIN_10_EXP = "__DBL_MIN_10_EXP__"
  50. const m_DBL_MIN_EXP = "__DBL_MIN_EXP__"
  51. const m_DBL_TRUE_MIN = "__DBL_DENORM_MIN__"
  52. const m_DECIMAL_DIG = "__DECIMAL_DIG__"
  53. const m_DOMAIN = 1
  54. const m_E2BIG = 7
  55. const m_EACCES = 13
  56. const m_EADDRINUSE = 48
  57. const m_EADDRNOTAVAIL = 49
  58. const m_EAFNOSUPPORT = 47
  59. const m_EAGAIN = 35
  60. const m_EALREADY = 37
  61. const m_EAUTH = 80
  62. const m_EBADARCH = 86
  63. const m_EBADEXEC = 85
  64. const m_EBADF = 9
  65. const m_EBADMACHO = 88
  66. const m_EBADMSG = 94
  67. const m_EBADRPC = 72
  68. const m_EBUSY = 16
  69. const m_ECANCELED = 89
  70. const m_ECHILD = 10
  71. const m_ECONNABORTED = 53
  72. const m_ECONNREFUSED = 61
  73. const m_ECONNRESET = 54
  74. const m_EDEADLK = 11
  75. const m_EDESTADDRREQ = 39
  76. const m_EDEVERR = 83
  77. const m_EDOM = 33
  78. const m_EDQUOT = 69
  79. const m_EEXIST = 17
  80. const m_EFAULT = 14
  81. const m_EFBIG = 27
  82. const m_EFTYPE = 79
  83. const m_EF_IS_PURGEABLE = 0x00000008
  84. const m_EF_IS_SPARSE = 0x00000010
  85. const m_EF_IS_SYNC_ROOT = 0x00000004
  86. const m_EF_IS_SYNTHETIC = 0x00000020
  87. const m_EF_MAY_SHARE_BLOCKS = 0x00000001
  88. const m_EF_NO_XATTRS = 0x00000002
  89. const m_EF_SHARES_ALL_BLOCKS = 0x00000040
  90. const m_EHOSTDOWN = 64
  91. const m_EHOSTUNREACH = 65
  92. const m_EIDRM = 90
  93. const m_EILSEQ = 92
  94. const m_EINPROGRESS = 36
  95. const m_EINTR = 4
  96. const m_EINVAL = 22
  97. const m_EIO = 5
  98. const m_EISCONN = 56
  99. const m_EISDIR = 21
  100. const m_ELAST = 106
  101. const m_ELOOP = 62
  102. const m_EMFILE = 24
  103. const m_EMLINK = 31
  104. const m_EMSGSIZE = 40
  105. const m_EMULTIHOP = 95
  106. const m_ENAMETOOLONG = 63
  107. const m_ENEEDAUTH = 81
  108. const m_ENETDOWN = 50
  109. const m_ENETRESET = 52
  110. const m_ENETUNREACH = 51
  111. const m_ENFILE = 23
  112. const m_ENOATTR = 93
  113. const m_ENOBUFS = 55
  114. const m_ENODATA = 96
  115. const m_ENODEV = 19
  116. const m_ENOENT = 2
  117. const m_ENOEXEC = 8
  118. const m_ENOLCK = 77
  119. const m_ENOLINK = 97
  120. const m_ENOMEM = 12
  121. const m_ENOMSG = 91
  122. const m_ENOPOLICY = 103
  123. const m_ENOPROTOOPT = 42
  124. const m_ENOSPC = 28
  125. const m_ENOSR = 98
  126. const m_ENOSTR = 99
  127. const m_ENOSYS = 78
  128. const m_ENOTBLK = 15
  129. const m_ENOTCONN = 57
  130. const m_ENOTDIR = 20
  131. const m_ENOTEMPTY = 66
  132. const m_ENOTRECOVERABLE = 104
  133. const m_ENOTSOCK = 38
  134. const m_ENOTSUP = 45
  135. const m_ENOTTY = 25
  136. const m_ENXIO = 6
  137. const m_EOPNOTSUPP = 102
  138. const m_EOVERFLOW = 84
  139. const m_EOWNERDEAD = 105
  140. const m_EPERM = 1
  141. const m_EPFNOSUPPORT = 46
  142. const m_EPIPE = 32
  143. const m_EPROCLIM = 67
  144. const m_EPROCUNAVAIL = 76
  145. const m_EPROGMISMATCH = 75
  146. const m_EPROGUNAVAIL = 74
  147. const m_EPROTO = 100
  148. const m_EPROTONOSUPPORT = 43
  149. const m_EPROTOTYPE = 41
  150. const m_EPWROFF = 82
  151. const m_EQFULL = 106
  152. const m_ERANGE = 34
  153. const m_EREMOTE = 71
  154. const m_EROFS = 30
  155. const m_ERPCMISMATCH = 73
  156. const m_ESHLIBVERS = 87
  157. const m_ESHUTDOWN = 58
  158. const m_ESOCKTNOSUPPORT = 44
  159. const m_ESPIPE = 29
  160. const m_ESRCH = 3
  161. const m_ESTALE = 70
  162. const m_ETIME = 101
  163. const m_ETIMEDOUT = 60
  164. const m_ETOOMANYREFS = 59
  165. const m_ETXTBSY = 26
  166. const m_EUSERS = 68
  167. const m_EWOULDBLOCK = "EAGAIN"
  168. const m_EXDEV = 18
  169. const m_EXIT_FAILURE = 1
  170. const m_EXIT_SUCCESS = 0
  171. const m_FCSS_ALLOW_DUPLICATES = 1
  172. const m_FCSS_DEFAULT = 0
  173. const m_FCSS_GROW_BY_64 = 2
  174. const m_FC_ADD_FONTS = "yes"
  175. const m_FC_ANTIALIAS = "antialias"
  176. const m_FC_ASPECT = "aspect"
  177. const m_FC_ATOMIC_INT_FORMAT = "d"
  178. const m_FC_AUTOHINT = "autohint"
  179. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  180. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  181. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  182. const m_FC_CACHE_VERSION_NUMBER = 8
  183. const m_FC_CAPABILITY = "capability"
  184. const m_FC_CASE_FOLD_EVEN_ODD = 1
  185. const m_FC_CASE_FOLD_FULL = 2
  186. const m_FC_CASE_FOLD_RANGE = 0
  187. const m_FC_CHARCELL = 110
  188. const m_FC_CHARSET = "charset"
  189. const m_FC_CHARWIDTH = "charwidth"
  190. const m_FC_CHAR_HEIGHT = "charheight"
  191. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  192. const m_FC_COLOR = "color"
  193. const m_FC_CONFIG_PATH = "fonts.conf"
  194. const m_FC_DBG_CACHE = 16
  195. const m_FC_DBG_CACHEV = 32
  196. const m_FC_DBG_CONFIG = 1024
  197. const m_FC_DBG_EDIT = 4
  198. const m_FC_DBG_FONTSET = 8
  199. const m_FC_DBG_LANGSET = 2048
  200. const m_FC_DBG_MATCH = 1
  201. const m_FC_DBG_MATCH2 = 4096
  202. const m_FC_DBG_MATCHV = 2
  203. const m_FC_DBG_PARSE = 64
  204. const m_FC_DBG_SCAN = 128
  205. const m_FC_DBG_SCANV = 256
  206. const m_FC_DECORATIVE = "decorative"
  207. const m_FC_DEFAULT_FONTS = "<dir>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</dir>"
  208. const m_FC_DIR_SEPARATOR = '/'
  209. const m_FC_DIR_SEPARATOR_S = "/"
  210. const m_FC_DPI = "dpi"
  211. const m_FC_DUAL = 90
  212. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  213. const m_FC_EMBOLDEN = "embolden"
  214. const m_FC_EXT_OBJ_INDEX = 1024
  215. const m_FC_FAMILY = "family"
  216. const m_FC_FAMILYLANG = "familylang"
  217. const m_FC_FILE = "file"
  218. const m_FC_FONTFORMAT = "fontformat"
  219. const m_FC_FONTVERSION = "fontversion"
  220. const m_FC_FONT_FEATURES = "fontfeatures"
  221. const m_FC_FONT_HAS_HINT = "fonthashint"
  222. const m_FC_FONT_VARIATIONS = "fontvariations"
  223. const m_FC_FOUNDRY = "foundry"
  224. const m_FC_FT_FACE = "ftface"
  225. const m_FC_FULLNAME = "fullname"
  226. const m_FC_FULLNAMELANG = "fullnamelang"
  227. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  228. const m_FC_HASH = "hash"
  229. const m_FC_HINTING = "hinting"
  230. const m_FC_HINT_FULL = 3
  231. const m_FC_HINT_MEDIUM = 2
  232. const m_FC_HINT_NONE = 0
  233. const m_FC_HINT_SLIGHT = 1
  234. const m_FC_HINT_STYLE = "hintstyle"
  235. const m_FC_INDEX = "index"
  236. const m_FC_LANG = "lang"
  237. const m_FC_LCD_DEFAULT = 1
  238. const m_FC_LCD_FILTER = "lcdfilter"
  239. const m_FC_LCD_LEGACY = 3
  240. const m_FC_LCD_LIGHT = 2
  241. const m_FC_LCD_NONE = 0
  242. const m_FC_MAJOR = 2
  243. const m_FC_MATRIX = "matrix"
  244. const m_FC_MAX_FILE_LEN = 4096
  245. const m_FC_MINOR = 14
  246. const m_FC_MINSPACE = "minspace"
  247. const m_FC_MONO = 100
  248. const m_FC_MUTEX_IMPL_INIT = 0
  249. const m_FC_NAMELANG = "namelang"
  250. const m_FC_NO_MT = 1
  251. const m_FC_ORDER = "order"
  252. const m_FC_OUTLINE = "outline"
  253. const m_FC_PATH_MAX = 128
  254. const m_FC_PIXEL_SIZE = "pixelsize"
  255. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  256. const m_FC_PRGNAME = "prgname"
  257. const m_FC_PROPORTIONAL = 0
  258. const m_FC_RASTERIZER = "rasterizer"
  259. const m_FC_REVISION = 1
  260. const m_FC_RGBA = "rgba"
  261. const m_FC_RGBA_BGR = 2
  262. const m_FC_RGBA_NONE = 5
  263. const m_FC_RGBA_RGB = 1
  264. const m_FC_RGBA_UNKNOWN = 0
  265. const m_FC_RGBA_VBGR = 4
  266. const m_FC_RGBA_VRGB = 3
  267. const m_FC_SCALABLE = "scalable"
  268. const m_FC_SCALE = "scale"
  269. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  270. const m_FC_SIZE = "size"
  271. const m_FC_SLANT = "slant"
  272. const m_FC_SLANT_ITALIC = 100
  273. const m_FC_SLANT_OBLIQUE = 110
  274. const m_FC_SLANT_ROMAN = 0
  275. const m_FC_SOURCE = "source"
  276. const m_FC_SPACING = "spacing"
  277. const m_FC_STMT_START = "do"
  278. const m_FC_STYLE = "style"
  279. const m_FC_STYLELANG = "stylelang"
  280. const m_FC_SYMBOL = "symbol"
  281. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  282. const m_FC_UINT64_FORMAT = "llu"
  283. const m_FC_UTF8_MAX_LEN = 6
  284. const m_FC_VARIABLE = "variable"
  285. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  286. const m_FC_WEIGHT = "weight"
  287. const m_FC_WEIGHT_BLACK = 210
  288. const m_FC_WEIGHT_BOLD = 200
  289. const m_FC_WEIGHT_BOOK = 75
  290. const m_FC_WEIGHT_DEMIBOLD = 180
  291. const m_FC_WEIGHT_DEMILIGHT = 55
  292. const m_FC_WEIGHT_EXTRABLACK = 215
  293. const m_FC_WEIGHT_EXTRABOLD = 205
  294. const m_FC_WEIGHT_EXTRALIGHT = 40
  295. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  296. const m_FC_WEIGHT_LIGHT = 50
  297. const m_FC_WEIGHT_MEDIUM = 100
  298. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  299. const m_FC_WEIGHT_REGULAR = 80
  300. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  301. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  302. const m_FC_WEIGHT_THIN = 0
  303. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  304. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  305. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  306. const m_FC_WIDTH = "width"
  307. const m_FC_WIDTH_CONDENSED = 75
  308. const m_FC_WIDTH_EXPANDED = 125
  309. const m_FC_WIDTH_EXTRACONDENSED = 63
  310. const m_FC_WIDTH_EXTRAEXPANDED = 150
  311. const m_FC_WIDTH_NORMAL = 100
  312. const m_FC_WIDTH_SEMICONDENSED = 87
  313. const m_FC_WIDTH_SEMIEXPANDED = 113
  314. const m_FC_WIDTH_ULTRACONDENSED = 50
  315. const m_FC_WIDTH_ULTRAEXPANDED = 200
  316. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  317. const m_FILENAME_MAX = 1024
  318. const m_FLT16_DECIMAL_DIG = "__FLT16_DECIMAL_DIG__"
  319. const m_FLT16_DIG = "__FLT16_DIG__"
  320. const m_FLT16_EPSILON = "__FLT16_EPSILON__"
  321. const m_FLT16_MANT_DIG = "__FLT16_MANT_DIG__"
  322. const m_FLT16_MAX = "__FLT16_MAX__"
  323. const m_FLT16_MAX_10_EXP = "__FLT16_MAX_10_EXP__"
  324. const m_FLT16_MAX_EXP = "__FLT16_MAX_EXP__"
  325. const m_FLT16_MIN = "__FLT16_MIN__"
  326. const m_FLT16_MIN_10_EXP = "__FLT16_MIN_10_EXP__"
  327. const m_FLT16_MIN_EXP = "__FLT16_MIN_EXP__"
  328. const m_FLT16_TRUE_MIN = "__FLT16_TRUE_MIN__"
  329. const m_FLT_DECIMAL_DIG = "__FLT_DECIMAL_DIG__"
  330. const m_FLT_DIG = "__FLT_DIG__"
  331. const m_FLT_EPSILON = "__FLT_EPSILON__"
  332. const m_FLT_EVAL_METHOD = "__FLT_EVAL_METHOD__"
  333. const m_FLT_HAS_SUBNORM = "__FLT_HAS_DENORM__"
  334. const m_FLT_MANT_DIG = "__FLT_MANT_DIG__"
  335. const m_FLT_MAX = "__FLT_MAX__"
  336. const m_FLT_MAX_10_EXP = "__FLT_MAX_10_EXP__"
  337. const m_FLT_MAX_EXP = "__FLT_MAX_EXP__"
  338. const m_FLT_MIN = "__FLT_MIN__"
  339. const m_FLT_MIN_10_EXP = "__FLT_MIN_10_EXP__"
  340. const m_FLT_MIN_EXP = "__FLT_MIN_EXP__"
  341. const m_FLT_RADIX = "__FLT_RADIX__"
  342. const m_FLT_TRUE_MIN = "__FLT_DENORM_MIN__"
  343. const m_FONTCONFIG_PATH = "/etc/fonts"
  344. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  345. const m_FOPEN_MAX = 20
  346. const m_FPE_FLTDIV = 1
  347. const m_FPE_FLTINV = 5
  348. const m_FPE_FLTOVF = 2
  349. const m_FPE_FLTRES = 4
  350. const m_FPE_FLTSUB = 6
  351. const m_FPE_FLTUND = 3
  352. const m_FPE_INTDIV = 7
  353. const m_FPE_INTOVF = 8
  354. const m_FPE_NOOP = 0
  355. const m_FP_FAST_FMA = 1
  356. const m_FP_FAST_FMAF = 1
  357. const m_FP_FAST_FMAL = 1
  358. const m_FP_INFINITE = 2
  359. const m_FP_NAN = 1
  360. const m_FP_NORMAL = 4
  361. const m_FP_QNAN = "FP_NAN"
  362. const m_FP_SNAN = "FP_NAN"
  363. const m_FP_SUBNORMAL = 5
  364. const m_FP_SUPERNORMAL = 6
  365. const m_FP_ZERO = 3
  366. const m_F_LOCK = 1
  367. const m_F_OK = 0
  368. const m_F_TEST = 3
  369. const m_F_TLOCK = 2
  370. const m_F_ULOCK = 0
  371. const m_FcDontCare = 2
  372. const m_FcFalse = 0
  373. const m_FcTrue = 1
  374. const m_GETTEXT_PACKAGE = "fontconfig"
  375. const m_HAVE_CFLOCALECOPYCURRENT = 1
  376. const m_HAVE_CFPREFERENCESCOPYAPPVALUE = 1
  377. const m_HAVE_CONFIG_H = 1
  378. const m_HAVE_DIRENT_H = 1
  379. const m_HAVE_DLFCN_H = 1
  380. const m_HAVE_FCNTL_H = 1
  381. const m_HAVE_FSTATFS = 1
  382. const m_HAVE_FSTATVFS = 1
  383. const m_HAVE_FT_DONE_MM_VAR = 1
  384. const m_HAVE_FT_GET_BDF_PROPERTY = 1
  385. const m_HAVE_FT_GET_PS_FONT_INFO = 1
  386. const m_HAVE_FT_GET_X11_FONT_FORMAT = 1
  387. const m_HAVE_FT_HAS_PS_GLYPH_NAMES = 1
  388. const m_HAVE_GETOPT = 1
  389. const m_HAVE_GETOPT_LONG = 1
  390. const m_HAVE_GETPAGESIZE = 1
  391. const m_HAVE_GETPROGNAME = 1
  392. const m_HAVE_ICONV = 1
  393. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  394. const m_HAVE_INTTYPES_H = 1
  395. const m_HAVE_LINK = 1
  396. const m_HAVE_LRAND48 = 1
  397. const m_HAVE_LSTAT = 1
  398. const m_HAVE_MKDTEMP = 1
  399. const m_HAVE_MKOSTEMP = 1
  400. const m_HAVE_MKSTEMP = 1
  401. const m_HAVE_MMAP = 1
  402. const m_HAVE_POSIX_FADVISE = 0
  403. const m_HAVE_PTHREAD = 1
  404. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  405. const m_HAVE_RAND = 1
  406. const m_HAVE_RANDOM = 1
  407. const m_HAVE_RAND_R = 1
  408. const m_HAVE_READLINK = 1
  409. const m_HAVE_STDATOMIC_PRIMITIVES = 1
  410. const m_HAVE_STDINT_H = 1
  411. const m_HAVE_STDIO_H = 1
  412. const m_HAVE_STDLIB_H = 1
  413. const m_HAVE_STRERROR = 1
  414. const m_HAVE_STRERROR_R = 1
  415. const m_HAVE_STRINGS_H = 1
  416. const m_HAVE_STRING_H = 1
  417. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  418. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  419. const m_HAVE_STRUCT_STATFS_F_FSTYPENAME = 1
  420. const m_HAVE_SYS_MOUNT_H = 1
  421. const m_HAVE_SYS_PARAM_H = 1
  422. const m_HAVE_SYS_STATVFS_H = 1
  423. const m_HAVE_SYS_STAT_H = 1
  424. const m_HAVE_SYS_TYPES_H = 1
  425. const m_HAVE_UNISTD_H = 1
  426. const m_HAVE_VPRINTF = 1
  427. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  428. const m_HAVE_WCHAR_H = 1
  429. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  430. const m_HUGE = "MAXFLOAT"
  431. const m_ILL_BADSTK = 8
  432. const m_ILL_COPROC = 7
  433. const m_ILL_ILLADR = 5
  434. const m_ILL_ILLOPC = 1
  435. const m_ILL_ILLOPN = 4
  436. const m_ILL_ILLTRP = 2
  437. const m_ILL_NOOP = 0
  438. const m_ILL_PRVOPC = 3
  439. const m_ILL_PRVREG = 6
  440. const m_INFINITY = "HUGE_VALF"
  441. const m_INTMAX_MAX = "__INTMAX_MAX__"
  442. const m_INTPTR_MAX = "__INTPTR_MAX__"
  443. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  444. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  445. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  446. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  447. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  448. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  449. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  450. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  451. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  452. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  453. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  454. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  455. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  456. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  457. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  458. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  459. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  460. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  461. const m_IOPOL_ATIME_UPDATES_OFF = 1
  462. const m_IOPOL_DEFAULT = 0
  463. const m_IOPOL_IMPORTANT = 1
  464. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  465. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  466. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  467. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  468. const m_IOPOL_PASSIVE = 2
  469. const m_IOPOL_SCOPE_DARWIN_BG = 2
  470. const m_IOPOL_SCOPE_PROCESS = 0
  471. const m_IOPOL_SCOPE_THREAD = 1
  472. const m_IOPOL_STANDARD = 5
  473. const m_IOPOL_THROTTLE = 3
  474. const m_IOPOL_TYPE_DISK = 0
  475. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  476. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  477. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  478. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  479. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  480. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  481. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  482. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  483. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  484. const m_IOPOL_UTILITY = 4
  485. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  486. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  487. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  488. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  489. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  490. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  491. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  492. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  493. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  494. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  495. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  496. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  497. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  498. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  499. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  500. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  501. const m_LCK_NAME = ".LCK"
  502. const m_LDBL_DECIMAL_DIG = "__LDBL_DECIMAL_DIG__"
  503. const m_LDBL_DIG = "__LDBL_DIG__"
  504. const m_LDBL_EPSILON = "__LDBL_EPSILON__"
  505. const m_LDBL_HAS_SUBNORM = "__LDBL_HAS_DENORM__"
  506. const m_LDBL_MANT_DIG = "__LDBL_MANT_DIG__"
  507. const m_LDBL_MAX = "__LDBL_MAX__"
  508. const m_LDBL_MAX_10_EXP = "__LDBL_MAX_10_EXP__"
  509. const m_LDBL_MAX_EXP = "__LDBL_MAX_EXP__"
  510. const m_LDBL_MIN = "__LDBL_MIN__"
  511. const m_LDBL_MIN_10_EXP = "__LDBL_MIN_10_EXP__"
  512. const m_LDBL_MIN_EXP = "__LDBL_MIN_EXP__"
  513. const m_LDBL_TRUE_MIN = "__LDBL_DENORM_MIN__"
  514. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  515. const m_LT_OBJDIR = ".libs/"
  516. const m_L_INCR = "SEEK_CUR"
  517. const m_L_SET = "SEEK_SET"
  518. const m_L_XTND = "SEEK_END"
  519. const m_L_ctermid = 1024
  520. const m_L_tmpnam = 1024
  521. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  522. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  523. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  524. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  525. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  526. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  527. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  528. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  529. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  530. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  531. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  532. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  533. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  534. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  535. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  536. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  537. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  538. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  539. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  540. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  541. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  542. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  543. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  544. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  545. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  546. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  547. const m_MAC_OS_VERSION_14_5 = "__MAC_14_5"
  548. const m_MAC_OS_VERSION_15_0 = "__MAC_15_0"
  549. const m_MAC_OS_VERSION_15_1 = "__MAC_15_1"
  550. const m_MAC_OS_VERSION_15_2 = "__MAC_15_2"
  551. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  552. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  553. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  554. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  555. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  556. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  557. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  558. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  559. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  560. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  561. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  562. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  563. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  564. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  565. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  566. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  567. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  568. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  569. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  570. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  571. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  572. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  573. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  574. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  575. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  576. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  577. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  578. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  579. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  580. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  581. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  582. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  583. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  584. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  585. const m_MATH_ERREXCEPT = 2
  586. const m_MATH_ERRNO = 1
  587. const m_MAXFLOAT = "0x1.fffffep+127f"
  588. const m_MB_CUR_MAX = "__mb_cur_max"
  589. const m_MB_LEN_MAX = 1
  590. const m_MINSIGSTKSZ = 32768
  591. const m_M_1_PI = 0.318309886183790671537767526745028724
  592. const m_M_2_PI = 0.636619772367581343075535053490057448
  593. const m_M_2_SQRTPI = 1.12837916709551257389615890312154517
  594. const m_M_E = 2.71828182845904523536028747135266250
  595. const m_M_LN10 = 2.30258509299404568401799145468436421
  596. const m_M_LN2 = 0.693147180559945309417232121458176568
  597. const m_M_LOG10E = 0.434294481903251827651128918916605082
  598. const m_M_LOG2E = 1.44269504088896340735992468100189214
  599. const m_M_PI = 3.14159265358979323846264338327950288
  600. const m_M_PI_2 = 1.57079632679489661923132169163975144
  601. const m_M_PI_4 = 0.785398163397448309615660845819875721
  602. const m_M_SQRT1_2 = 0.707106781186547524400844362104849039
  603. const m_M_SQRT2 = 1.41421356237309504880168872420969808
  604. const m_NBBY = "__DARWIN_NBBY"
  605. const m_NDEBUG = 1
  606. const m_NEW_NAME = ".NEW"
  607. const m_NFDBITS = "__DARWIN_NFDBITS"
  608. const m_NSIG = "__DARWIN_NSIG"
  609. const m_OVERFLOW = 3
  610. const m_PACKAGE = "fontconfig"
  611. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  612. const m_PACKAGE_NAME = "fontconfig"
  613. const m_PACKAGE_STRING = "fontconfig 2.14.1"
  614. const m_PACKAGE_TARNAME = "fontconfig"
  615. const m_PACKAGE_URL = ""
  616. const m_PACKAGE_VERSION = "2.14.1"
  617. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  618. const m_PLOSS = 6
  619. const m_POLL_ERR = 4
  620. const m_POLL_HUP = 6
  621. const m_POLL_IN = 1
  622. const m_POLL_MSG = 3
  623. const m_POLL_OUT = 2
  624. const m_POLL_PRI = 5
  625. const m_PRIO_DARWIN_BG = 0x1000
  626. const m_PRIO_DARWIN_NONUI = 0x1001
  627. const m_PRIO_DARWIN_PROCESS = 4
  628. const m_PRIO_DARWIN_THREAD = 3
  629. const m_PRIO_MAX = 20
  630. const m_PRIO_PGRP = 1
  631. const m_PRIO_PROCESS = 0
  632. const m_PRIO_USER = 2
  633. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  634. const m_P_tmpdir = "/var/tmp/"
  635. const m_RAND_MAX = 0x7fffffff
  636. const m_RENAME_EXCL = 0x00000004
  637. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  638. const m_RENAME_RESERVED1 = 0x00000008
  639. const m_RENAME_SECLUDE = 0x00000001
  640. const m_RENAME_SWAP = 0x00000002
  641. const m_RLIMIT_AS = 5
  642. const m_RLIMIT_CORE = 4
  643. const m_RLIMIT_CPU = 0
  644. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  645. const m_RLIMIT_DATA = 2
  646. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  647. const m_RLIMIT_FSIZE = 1
  648. const m_RLIMIT_MEMLOCK = 6
  649. const m_RLIMIT_NOFILE = 8
  650. const m_RLIMIT_NPROC = 7
  651. const m_RLIMIT_RSS = "RLIMIT_AS"
  652. const m_RLIMIT_STACK = 3
  653. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  654. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  655. const m_RLIM_NLIMITS = 9
  656. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  657. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  658. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  659. const m_RUSAGE_INFO_V0 = 0
  660. const m_RUSAGE_INFO_V1 = 1
  661. const m_RUSAGE_INFO_V2 = 2
  662. const m_RUSAGE_INFO_V3 = 3
  663. const m_RUSAGE_INFO_V4 = 4
  664. const m_RUSAGE_INFO_V5 = 5
  665. const m_RUSAGE_INFO_V6 = 6
  666. const m_RUSAGE_SELF = 0
  667. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  668. const m_SA_64REGSET = 0x0200
  669. const m_SA_NOCLDSTOP = 0x0008
  670. const m_SA_NOCLDWAIT = 0x0020
  671. const m_SA_NODEFER = 0x0010
  672. const m_SA_ONSTACK = 0x0001
  673. const m_SA_RESETHAND = 0x0004
  674. const m_SA_RESTART = 0x0002
  675. const m_SA_SIGINFO = 0x0040
  676. const m_SA_USERTRAMP = 0x0100
  677. const m_SEEK_CUR = 1
  678. const m_SEEK_DATA = 4
  679. const m_SEEK_END = 2
  680. const m_SEEK_HOLE = 3
  681. const m_SEEK_SET = 0
  682. const m_SEGV_ACCERR = 2
  683. const m_SEGV_MAPERR = 1
  684. const m_SEGV_NOOP = 0
  685. const m_SF_APPEND = 0x00040000
  686. const m_SF_ARCHIVED = 0x00010000
  687. const m_SF_DATALESS = 0x40000000
  688. const m_SF_FIRMLINK = 0x00800000
  689. const m_SF_IMMUTABLE = 0x00020000
  690. const m_SF_NOUNLINK = 0x00100000
  691. const m_SF_RESTRICTED = 0x00080000
  692. const m_SF_SETTABLE = 0x3fff0000
  693. const m_SF_SUPPORTED = 0x009f0000
  694. const m_SF_SYNTHETIC = 0xc0000000
  695. const m_SIGABRT = 6
  696. const m_SIGALRM = 14
  697. const m_SIGBUS = 10
  698. const m_SIGCHLD = 20
  699. const m_SIGCONT = 19
  700. const m_SIGEMT = 7
  701. const m_SIGEV_NONE = 0
  702. const m_SIGEV_SIGNAL = 1
  703. const m_SIGEV_THREAD = 3
  704. const m_SIGFPE = 8
  705. const m_SIGHUP = 1
  706. const m_SIGILL = 4
  707. const m_SIGINFO = 29
  708. const m_SIGINT = 2
  709. const m_SIGIO = 23
  710. const m_SIGIOT = "SIGABRT"
  711. const m_SIGKILL = 9
  712. const m_SIGPIPE = 13
  713. const m_SIGPROF = 27
  714. const m_SIGQUIT = 3
  715. const m_SIGSEGV = 11
  716. const m_SIGSTKSZ = 131072
  717. const m_SIGSTOP = 17
  718. const m_SIGSYS = 12
  719. const m_SIGTERM = 15
  720. const m_SIGTRAP = 5
  721. const m_SIGTSTP = 18
  722. const m_SIGTTIN = 21
  723. const m_SIGTTOU = 22
  724. const m_SIGURG = 16
  725. const m_SIGUSR1 = 30
  726. const m_SIGUSR2 = 31
  727. const m_SIGVTALRM = 26
  728. const m_SIGWINCH = 28
  729. const m_SIGXCPU = 24
  730. const m_SIGXFSZ = 25
  731. const m_SIG_BLOCK = 1
  732. const m_SIG_SETMASK = 3
  733. const m_SIG_UNBLOCK = 2
  734. const m_SING = 2
  735. const m_SIZE_MAX = "__SIZE_MAX__"
  736. const m_SI_ASYNCIO = 0x10004
  737. const m_SI_MESGQ = 0x10005
  738. const m_SI_QUEUE = 0x10002
  739. const m_SI_TIMER = 0x10003
  740. const m_SI_USER = 0x10001
  741. const m_SS_DISABLE = 0x0004
  742. const m_SS_ONSTACK = 0x0001
  743. const m_STDC_HEADERS = 1
  744. const m_STDERR_FILENO = 2
  745. const m_STDIN_FILENO = 0
  746. const m_STDOUT_FILENO = 1
  747. const m_SV_INTERRUPT = "SA_RESTART"
  748. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  749. const m_SV_NODEFER = "SA_NODEFER"
  750. const m_SV_ONSTACK = "SA_ONSTACK"
  751. const m_SV_RESETHAND = "SA_RESETHAND"
  752. const m_SV_SIGINFO = "SA_SIGINFO"
  753. const m_SYNC_VOLUME_FULLSYNC = 0x01
  754. const m_SYNC_VOLUME_WAIT = 0x02
  755. const m_S_BLKSIZE = 512
  756. const m_S_IEXEC = "S_IXUSR"
  757. const m_S_IFBLK = 0060000
  758. const m_S_IFCHR = 0020000
  759. const m_S_IFDIR = 0040000
  760. const m_S_IFIFO = 0010000
  761. const m_S_IFLNK = 0120000
  762. const m_S_IFMT = 0170000
  763. const m_S_IFREG = 0100000
  764. const m_S_IFSOCK = 0140000
  765. const m_S_IFWHT = 0160000
  766. const m_S_IREAD = "S_IRUSR"
  767. const m_S_IRGRP = 0000040
  768. const m_S_IROTH = 0000004
  769. const m_S_IRUSR = 0000400
  770. const m_S_IRWXG = 0000070
  771. const m_S_IRWXO = 0000007
  772. const m_S_IRWXU = 0000700
  773. const m_S_ISGID = 0002000
  774. const m_S_ISTXT = "S_ISVTX"
  775. const m_S_ISUID = 0004000
  776. const m_S_ISVTX = 0001000
  777. const m_S_IWGRP = 0000020
  778. const m_S_IWOTH = 0000002
  779. const m_S_IWRITE = "S_IWUSR"
  780. const m_S_IWUSR = 0000200
  781. const m_S_IXGRP = 0000010
  782. const m_S_IXOTH = 0000001
  783. const m_S_IXUSR = 0000100
  784. const m_TIME_UTC = 1
  785. const m_TLOSS = 5
  786. const m_TMP_MAX = 308915776
  787. const m_TMP_NAME = ".TMP-XXXXXX"
  788. const m_TRAP_BRKPT = 1
  789. const m_TRAP_TRACE = 2
  790. const m_UF_APPEND = 0x00000004
  791. const m_UF_COMPRESSED = 0x00000020
  792. const m_UF_DATAVAULT = 0x00000080
  793. const m_UF_HIDDEN = 0x00008000
  794. const m_UF_IMMUTABLE = 0x00000002
  795. const m_UF_NODUMP = 0x00000001
  796. const m_UF_OPAQUE = 0x00000008
  797. const m_UF_SETTABLE = 0x0000ffff
  798. const m_UF_TRACKED = 0x00000040
  799. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  800. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  801. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  802. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  803. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  804. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  805. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  806. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  807. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  808. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  809. const m_UNDERFLOW = 4
  810. const m_USE_ICONV = 0
  811. const m_VERSION = "2.14.1"
  812. const m_WAIT_MYPGRP = 0
  813. const m_WAKEMON_DISABLE = 0x02
  814. const m_WAKEMON_ENABLE = 0x01
  815. const m_WAKEMON_GET_PARAMS = 0x04
  816. const m_WAKEMON_MAKE_FATAL = 0x10
  817. const m_WAKEMON_SET_DEFAULTS = 0x08
  818. const m_WCHAR_MAX = "__WCHAR_MAX__"
  819. const m_WCONTINUED = 0x00000010
  820. const m_WCOREFLAG = 0200
  821. const m_WEXITED = 0x00000004
  822. const m_WNOHANG = 0x00000001
  823. const m_WNOWAIT = 0x00000020
  824. const m_WSTOPPED = 0x00000008
  825. const m_WUNTRACED = 0x00000002
  826. const m_X_TLOSS = 1.41484755040568800000e+16
  827. const m__ALL_SOURCE = 1
  828. const m__ARM_SIGNAL_ = 1
  829. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  830. const m__CS_DARWIN_USER_DIR = 65536
  831. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  832. const m__CS_PATH = 1
  833. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  834. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  835. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  836. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  837. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  838. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  839. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  840. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  841. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  842. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  843. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  844. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  845. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  846. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  847. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  848. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  849. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  850. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  851. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  852. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  853. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  854. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  855. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  856. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  857. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  858. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  859. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  860. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  861. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  862. const m__CTYPE_A = 256
  863. const m__CTYPE_B = 131072
  864. const m__CTYPE_C = 512
  865. const m__CTYPE_D = 1024
  866. const m__CTYPE_G = 2048
  867. const m__CTYPE_I = 524288
  868. const m__CTYPE_L = 4096
  869. const m__CTYPE_P = 8192
  870. const m__CTYPE_Q = 2097152
  871. const m__CTYPE_R = 262144
  872. const m__CTYPE_S = 16384
  873. const m__CTYPE_SW0 = 0x20000000
  874. const m__CTYPE_SW1 = 0x40000000
  875. const m__CTYPE_SW2 = 0x80000000
  876. const m__CTYPE_SW3 = 0xc0000000
  877. const m__CTYPE_SWM = 3758096384
  878. const m__CTYPE_SWS = 30
  879. const m__CTYPE_T = 1048576
  880. const m__CTYPE_U = 32768
  881. const m__CTYPE_X = 65536
  882. const m__DARWIN_C_SOURCE = 1
  883. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  884. const m__DARWIN_FEATURE_ONLY_64_BIT_INODE = 1
  885. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  886. const m__DARWIN_FEATURE_ONLY_VERS_1050 = 1
  887. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  888. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  889. const m__FORTIFY_SOURCE = 2
  890. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  891. const m__GNU_SOURCE = 1
  892. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  893. const m__IOFBF = 0
  894. const m__IOLBF = 1
  895. const m__IONBF = 2
  896. const m__LP64 = 1
  897. const m__NETBSD_SOURCE = 1
  898. const m__OPENBSD_SOURCE = 1
  899. const m__PC_2_SYMLINKS = 15
  900. const m__PC_ALLOC_SIZE_MIN = 16
  901. const m__PC_ASYNC_IO = 17
  902. const m__PC_AUTH_OPAQUE_NP = 14
  903. const m__PC_CASE_PRESERVING = 12
  904. const m__PC_CASE_SENSITIVE = 11
  905. const m__PC_CHOWN_RESTRICTED = 7
  906. const m__PC_EXTENDED_SECURITY_NP = 13
  907. const m__PC_FILESIZEBITS = 18
  908. const m__PC_LINK_MAX = 1
  909. const m__PC_MAX_CANON = 2
  910. const m__PC_MAX_INPUT = 3
  911. const m__PC_MIN_HOLE_SIZE = 27
  912. const m__PC_NAME_CHARS_MAX = 10
  913. const m__PC_NAME_MAX = 4
  914. const m__PC_NO_TRUNC = 8
  915. const m__PC_PATH_MAX = 5
  916. const m__PC_PIPE_BUF = 6
  917. const m__PC_PRIO_IO = 19
  918. const m__PC_REC_INCR_XFER_SIZE = 20
  919. const m__PC_REC_MAX_XFER_SIZE = 21
  920. const m__PC_REC_MIN_XFER_SIZE = 22
  921. const m__PC_REC_XFER_ALIGN = 23
  922. const m__PC_SYMLINK_MAX = 24
  923. const m__PC_SYNC_IO = 25
  924. const m__PC_VDISABLE = 9
  925. const m__PC_XATTR_SIZE_BITS = 26
  926. const m__POSIX2_CHAR_TERM = 200112
  927. const m__POSIX2_C_BIND = 200112
  928. const m__POSIX2_C_DEV = 200112
  929. const m__POSIX2_FORT_RUN = 200112
  930. const m__POSIX2_LOCALEDEF = 200112
  931. const m__POSIX2_SW_DEV = 200112
  932. const m__POSIX2_UPE = 200112
  933. const m__POSIX2_VERSION = 200112
  934. const m__POSIX_CHOWN_RESTRICTED = 200112
  935. const m__POSIX_FSYNC = 200112
  936. const m__POSIX_IPV6 = 200112
  937. const m__POSIX_JOB_CONTROL = 200112
  938. const m__POSIX_MAPPED_FILES = 200112
  939. const m__POSIX_MEMORY_PROTECTION = 200112
  940. const m__POSIX_NO_TRUNC = 200112
  941. const m__POSIX_PTHREAD_SEMANTICS = 1
  942. const m__POSIX_READER_WRITER_LOCKS = 200112
  943. const m__POSIX_REGEXP = 200112
  944. const m__POSIX_SAVED_IDS = 200112
  945. const m__POSIX_SHELL = 200112
  946. const m__POSIX_SPAWN = 200112
  947. const m__POSIX_THREADS = 200112
  948. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  949. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  950. const m__POSIX_THREAD_KEYS_MAX = 128
  951. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  952. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  953. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  954. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  955. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  956. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  957. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  958. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  959. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  960. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  961. const m__POSIX_VERSION = 200112
  962. const m__QUAD_HIGHWORD = 1
  963. const m__QUAD_LOWWORD = 0
  964. const m__REENTRANT = 1
  965. const m__RLIMIT_POSIX_FLAG = 0x1000
  966. const m__RUNE_MAGIC_A = "RuneMagA"
  967. const m__SC_2_CHAR_TERM = 20
  968. const m__SC_2_C_BIND = 18
  969. const m__SC_2_C_DEV = 19
  970. const m__SC_2_FORT_DEV = 21
  971. const m__SC_2_FORT_RUN = 22
  972. const m__SC_2_LOCALEDEF = 23
  973. const m__SC_2_PBS = 59
  974. const m__SC_2_PBS_ACCOUNTING = 60
  975. const m__SC_2_PBS_CHECKPOINT = 61
  976. const m__SC_2_PBS_LOCATE = 62
  977. const m__SC_2_PBS_MESSAGE = 63
  978. const m__SC_2_PBS_TRACK = 64
  979. const m__SC_2_SW_DEV = 24
  980. const m__SC_2_UPE = 25
  981. const m__SC_2_VERSION = 17
  982. const m__SC_ADVISORY_INFO = 65
  983. const m__SC_AIO_LISTIO_MAX = 42
  984. const m__SC_AIO_MAX = 43
  985. const m__SC_AIO_PRIO_DELTA_MAX = 44
  986. const m__SC_ARG_MAX = 1
  987. const m__SC_ASYNCHRONOUS_IO = 28
  988. const m__SC_ATEXIT_MAX = 107
  989. const m__SC_BARRIERS = 66
  990. const m__SC_BC_BASE_MAX = 9
  991. const m__SC_BC_DIM_MAX = 10
  992. const m__SC_BC_SCALE_MAX = 11
  993. const m__SC_BC_STRING_MAX = 12
  994. const m__SC_CHILD_MAX = 2
  995. const m__SC_CLK_TCK = 3
  996. const m__SC_CLOCK_SELECTION = 67
  997. const m__SC_COLL_WEIGHTS_MAX = 13
  998. const m__SC_CPUTIME = 68
  999. const m__SC_DELAYTIMER_MAX = 45
  1000. const m__SC_EXPR_NEST_MAX = 14
  1001. const m__SC_FILE_LOCKING = 69
  1002. const m__SC_FSYNC = 38
  1003. const m__SC_GETGR_R_SIZE_MAX = 70
  1004. const m__SC_GETPW_R_SIZE_MAX = 71
  1005. const m__SC_HOST_NAME_MAX = 72
  1006. const m__SC_IOV_MAX = 56
  1007. const m__SC_IPV6 = 118
  1008. const m__SC_JOB_CONTROL = 6
  1009. const m__SC_LINE_MAX = 15
  1010. const m__SC_LOGIN_NAME_MAX = 73
  1011. const m__SC_MAPPED_FILES = 47
  1012. const m__SC_MEMLOCK = 30
  1013. const m__SC_MEMLOCK_RANGE = 31
  1014. const m__SC_MEMORY_PROTECTION = 32
  1015. const m__SC_MESSAGE_PASSING = 33
  1016. const m__SC_MONOTONIC_CLOCK = 74
  1017. const m__SC_MQ_OPEN_MAX = 46
  1018. const m__SC_MQ_PRIO_MAX = 75
  1019. const m__SC_NGROUPS_MAX = 4
  1020. const m__SC_NPROCESSORS_CONF = 57
  1021. const m__SC_NPROCESSORS_ONLN = 58
  1022. const m__SC_OPEN_MAX = 5
  1023. const m__SC_PAGESIZE = 29
  1024. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  1025. const m__SC_PASS_MAX = 131
  1026. const m__SC_PHYS_PAGES = 200
  1027. const m__SC_PRIORITIZED_IO = 34
  1028. const m__SC_PRIORITY_SCHEDULING = 35
  1029. const m__SC_RAW_SOCKETS = 119
  1030. const m__SC_READER_WRITER_LOCKS = 76
  1031. const m__SC_REALTIME_SIGNALS = 36
  1032. const m__SC_REGEXP = 77
  1033. const m__SC_RE_DUP_MAX = 16
  1034. const m__SC_RTSIG_MAX = 48
  1035. const m__SC_SAVED_IDS = 7
  1036. const m__SC_SEMAPHORES = 37
  1037. const m__SC_SEM_NSEMS_MAX = 49
  1038. const m__SC_SEM_VALUE_MAX = 50
  1039. const m__SC_SHARED_MEMORY_OBJECTS = 39
  1040. const m__SC_SHELL = 78
  1041. const m__SC_SIGQUEUE_MAX = 51
  1042. const m__SC_SPAWN = 79
  1043. const m__SC_SPIN_LOCKS = 80
  1044. const m__SC_SPORADIC_SERVER = 81
  1045. const m__SC_SS_REPL_MAX = 126
  1046. const m__SC_STREAM_MAX = 26
  1047. const m__SC_SYMLOOP_MAX = 120
  1048. const m__SC_SYNCHRONIZED_IO = 40
  1049. const m__SC_THREADS = 96
  1050. const m__SC_THREAD_ATTR_STACKADDR = 82
  1051. const m__SC_THREAD_ATTR_STACKSIZE = 83
  1052. const m__SC_THREAD_CPUTIME = 84
  1053. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  1054. const m__SC_THREAD_KEYS_MAX = 86
  1055. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  1056. const m__SC_THREAD_PRIO_INHERIT = 87
  1057. const m__SC_THREAD_PRIO_PROTECT = 88
  1058. const m__SC_THREAD_PROCESS_SHARED = 90
  1059. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  1060. const m__SC_THREAD_SPORADIC_SERVER = 92
  1061. const m__SC_THREAD_STACK_MIN = 93
  1062. const m__SC_THREAD_THREADS_MAX = 94
  1063. const m__SC_TIMEOUTS = 95
  1064. const m__SC_TIMERS = 41
  1065. const m__SC_TIMER_MAX = 52
  1066. const m__SC_TRACE = 97
  1067. const m__SC_TRACE_EVENT_FILTER = 98
  1068. const m__SC_TRACE_EVENT_NAME_MAX = 127
  1069. const m__SC_TRACE_INHERIT = 99
  1070. const m__SC_TRACE_LOG = 100
  1071. const m__SC_TRACE_NAME_MAX = 128
  1072. const m__SC_TRACE_SYS_MAX = 129
  1073. const m__SC_TRACE_USER_EVENT_MAX = 130
  1074. const m__SC_TTY_NAME_MAX = 101
  1075. const m__SC_TYPED_MEMORY_OBJECTS = 102
  1076. const m__SC_TZNAME_MAX = 27
  1077. const m__SC_V6_ILP32_OFF32 = 103
  1078. const m__SC_V6_ILP32_OFFBIG = 104
  1079. const m__SC_V6_LP64_OFF64 = 105
  1080. const m__SC_V6_LPBIG_OFFBIG = 106
  1081. const m__SC_VERSION = 8
  1082. const m__SC_XBS5_ILP32_OFF32 = 122
  1083. const m__SC_XBS5_ILP32_OFFBIG = 123
  1084. const m__SC_XBS5_LP64_OFF64 = 124
  1085. const m__SC_XBS5_LPBIG_OFFBIG = 125
  1086. const m__SC_XOPEN_CRYPT = 108
  1087. const m__SC_XOPEN_ENH_I18N = 109
  1088. const m__SC_XOPEN_LEGACY = 110
  1089. const m__SC_XOPEN_REALTIME = 111
  1090. const m__SC_XOPEN_REALTIME_THREADS = 112
  1091. const m__SC_XOPEN_SHM = 113
  1092. const m__SC_XOPEN_STREAMS = 114
  1093. const m__SC_XOPEN_UNIX = 115
  1094. const m__SC_XOPEN_VERSION = 116
  1095. const m__SC_XOPEN_XCU_VERSION = 121
  1096. const m__STDINT_HAVE_STDINT_H = 1
  1097. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  1098. const m__TANDEM_SOURCE = 1
  1099. const m__THREAD_SAFE = 1
  1100. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  1101. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1102. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  1103. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1104. const m__WSTOPPED = 0177
  1105. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  1106. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1107. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  1108. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1109. const m__XOPEN_CRYPT = 1
  1110. const m__XOPEN_ENH_I18N = 1
  1111. const m__XOPEN_SHM = 1
  1112. const m__XOPEN_UNIX = 1
  1113. const m__XOPEN_VERSION = 600
  1114. const m__XOPEN_XCU_VERSION = 4
  1115. const m___AARCH64EL__ = 1
  1116. const m___AARCH64_CMODEL_SMALL__ = 1
  1117. const m___AARCH64_SIMD__ = 1
  1118. const m___API_TO_BE_DEPRECATED = 100000
  1119. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  1120. const m___API_TO_BE_DEPRECATED_IOS = 100000
  1121. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  1122. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  1123. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  1124. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  1125. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  1126. const m___APPLE_CC__ = 6000
  1127. const m___APPLE__ = 1
  1128. const m___ARM64_ARCH_8__ = 1
  1129. const m___ARM_64BIT_STATE = 1
  1130. const m___ARM_ACLE = 200
  1131. const m___ARM_ALIGN_MAX_STACK_PWR = 4
  1132. const m___ARM_ARCH = 8
  1133. const m___ARM_ARCH_8_3__ = 1
  1134. const m___ARM_ARCH_8_4__ = 1
  1135. const m___ARM_ARCH_8_5__ = 1
  1136. const m___ARM_ARCH_ISA_A64 = 1
  1137. const m___ARM_ARCH_PROFILE = 'A'
  1138. const m___ARM_FEATURE_AES = 1
  1139. const m___ARM_FEATURE_ATOMICS = 1
  1140. const m___ARM_FEATURE_BTI = 1
  1141. const m___ARM_FEATURE_CLZ = 1
  1142. const m___ARM_FEATURE_COMPLEX = 1
  1143. const m___ARM_FEATURE_CRC32 = 1
  1144. const m___ARM_FEATURE_CRYPTO = 1
  1145. const m___ARM_FEATURE_DIRECTED_ROUNDING = 1
  1146. const m___ARM_FEATURE_DIV = 1
  1147. const m___ARM_FEATURE_DOTPROD = 1
  1148. const m___ARM_FEATURE_FMA = 1
  1149. const m___ARM_FEATURE_FP16_FML = 1
  1150. const m___ARM_FEATURE_FP16_SCALAR_ARITHMETIC = 1
  1151. const m___ARM_FEATURE_FP16_VECTOR_ARITHMETIC = 1
  1152. const m___ARM_FEATURE_FRINT = 1
  1153. const m___ARM_FEATURE_IDIV = 1
  1154. const m___ARM_FEATURE_JCVT = 1
  1155. const m___ARM_FEATURE_LDREX = 0xF
  1156. const m___ARM_FEATURE_NUMERIC_MAXMIN = 1
  1157. const m___ARM_FEATURE_PAUTH = 1
  1158. const m___ARM_FEATURE_QRDMX = 1
  1159. const m___ARM_FEATURE_RCPC = 1
  1160. const m___ARM_FEATURE_SHA2 = 1
  1161. const m___ARM_FEATURE_SHA3 = 1
  1162. const m___ARM_FEATURE_SHA512 = 1
  1163. const m___ARM_FEATURE_UNALIGNED = 1
  1164. const m___ARM_FP = 0xE
  1165. const m___ARM_FP16_ARGS = 1
  1166. const m___ARM_FP16_FORMAT_IEEE = 1
  1167. const m___ARM_NEON = 1
  1168. const m___ARM_NEON_FP = 0xE
  1169. const m___ARM_NEON__ = 1
  1170. const m___ARM_PCS_AAPCS64 = 1
  1171. const m___ARM_SIZEOF_MINIMAL_ENUM = 4
  1172. const m___ARM_SIZEOF_WCHAR_T = 4
  1173. const m___ATOMIC_ACQUIRE = 2
  1174. const m___ATOMIC_ACQ_REL = 4
  1175. const m___ATOMIC_CONSUME = 1
  1176. const m___ATOMIC_RELAXED = 0
  1177. const m___ATOMIC_RELEASE = 3
  1178. const m___ATOMIC_SEQ_CST = 5
  1179. const m___BIGGEST_ALIGNMENT__ = 8
  1180. const m___BITINT_MAXWIDTH__ = 128
  1181. const m___BLOCKS__ = 1
  1182. const m___BOOL_WIDTH__ = 8
  1183. const m___BRIDGEOS_2_0 = 20000
  1184. const m___BRIDGEOS_3_0 = 30000
  1185. const m___BRIDGEOS_3_1 = 30100
  1186. const m___BRIDGEOS_3_4 = 30400
  1187. const m___BRIDGEOS_4_0 = 40000
  1188. const m___BRIDGEOS_4_1 = 40100
  1189. const m___BRIDGEOS_5_0 = 50000
  1190. const m___BRIDGEOS_5_1 = 50100
  1191. const m___BRIDGEOS_5_3 = 50300
  1192. const m___BRIDGEOS_6_0 = 60000
  1193. const m___BRIDGEOS_6_2 = 60200
  1194. const m___BRIDGEOS_6_4 = 60400
  1195. const m___BRIDGEOS_6_5 = 60500
  1196. const m___BRIDGEOS_6_6 = 60600
  1197. const m___BRIDGEOS_7_0 = 70000
  1198. const m___BRIDGEOS_7_1 = 70100
  1199. const m___BRIDGEOS_7_2 = 70200
  1200. const m___BRIDGEOS_7_3 = 70300
  1201. const m___BRIDGEOS_7_4 = 70400
  1202. const m___BRIDGEOS_7_6 = 70600
  1203. const m___BRIDGEOS_8_0 = 80000
  1204. const m___BRIDGEOS_8_1 = 80100
  1205. const m___BRIDGEOS_8_2 = 80200
  1206. const m___BRIDGEOS_8_3 = 80300
  1207. const m___BRIDGEOS_8_4 = 80400
  1208. const m___BRIDGEOS_8_5 = 80500
  1209. const m___BRIDGEOS_9_0 = 90000
  1210. const m___BRIDGEOS_9_1 = 90100
  1211. const m___BRIDGEOS_9_2 = 90200
  1212. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1213. const m___CCGO__ = 1
  1214. const m___CHAR_BIT__ = 8
  1215. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  1216. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1217. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1218. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  1219. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  1220. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  1221. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  1222. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  1223. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  1224. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1225. const m___CONSTANT_CFSTRINGS__ = 1
  1226. const m___DARWIN_64_BIT_INO_T = 1
  1227. const m___DARWIN_BIG_ENDIAN = 4321
  1228. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  1229. const m___DARWIN_CTYPE_TOP_inline = "__header_inline"
  1230. const m___DARWIN_CTYPE_inline = "__header_inline"
  1231. const m___DARWIN_C_ANSI = 010000
  1232. const m___DARWIN_C_FULL = 900000
  1233. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  1234. const m___DARWIN_FD_SETSIZE = 1024
  1235. const m___DARWIN_LITTLE_ENDIAN = 1234
  1236. const m___DARWIN_NBBY = 8
  1237. const m___DARWIN_NON_CANCELABLE = 0
  1238. const m___DARWIN_NO_LONG_LONG = 0
  1239. const m___DARWIN_NSIG = 32
  1240. const m___DARWIN_ONLY_64_BIT_INO_T = 1
  1241. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  1242. const m___DARWIN_ONLY_VERS_1050 = 1
  1243. const m___DARWIN_OPAQUE_ARM_THREAD_STATE64 = 0
  1244. const m___DARWIN_PDP_ENDIAN = 3412
  1245. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  1246. const m___DARWIN_UNIX03 = 1
  1247. const m___DARWIN_VERS_1050 = 1
  1248. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  1249. const m___DBL_DECIMAL_DIG__ = 17
  1250. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  1251. const m___DBL_DIG__ = 15
  1252. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  1253. const m___DBL_HAS_DENORM__ = 1
  1254. const m___DBL_HAS_INFINITY__ = 1
  1255. const m___DBL_HAS_QUIET_NAN__ = 1
  1256. const m___DBL_MANT_DIG__ = 53
  1257. const m___DBL_MAX_10_EXP__ = 308
  1258. const m___DBL_MAX_EXP__ = 1024
  1259. const m___DBL_MAX__ = 1.7976931348623157e+308
  1260. const m___DBL_MIN__ = 2.2250738585072014e-308
  1261. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  1262. const m___DRIVERKIT_19_0 = 190000
  1263. const m___DRIVERKIT_20_0 = 200000
  1264. const m___DRIVERKIT_21_0 = 210000
  1265. const m___DRIVERKIT_22_0 = 220000
  1266. const m___DRIVERKIT_22_4 = 220400
  1267. const m___DRIVERKIT_22_5 = 220500
  1268. const m___DRIVERKIT_22_6 = 220600
  1269. const m___DRIVERKIT_23_0 = 230000
  1270. const m___DRIVERKIT_23_1 = 230100
  1271. const m___DRIVERKIT_23_2 = 230200
  1272. const m___DRIVERKIT_23_3 = 230300
  1273. const m___DRIVERKIT_23_4 = 230400
  1274. const m___DRIVERKIT_23_5 = 230500
  1275. const m___DRIVERKIT_24_0 = 240000
  1276. const m___DRIVERKIT_24_1 = 240100
  1277. const m___DRIVERKIT_24_2 = 240200
  1278. const m___DYNAMIC__ = 1
  1279. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  1280. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 150000
  1281. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 150000
  1282. const m___EXTENSIONS__ = 1
  1283. const m___FINITE_MATH_ONLY__ = 0
  1284. const m___FLT16_DECIMAL_DIG__ = 5
  1285. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  1286. const m___FLT16_DIG__ = 3
  1287. const m___FLT16_EPSILON__ = 9.765625e-4
  1288. const m___FLT16_HAS_DENORM__ = 1
  1289. const m___FLT16_HAS_INFINITY__ = 1
  1290. const m___FLT16_HAS_QUIET_NAN__ = 1
  1291. const m___FLT16_MANT_DIG__ = 11
  1292. const m___FLT16_MAX_10_EXP__ = 4
  1293. const m___FLT16_MAX_EXP__ = 16
  1294. const m___FLT16_MAX__ = 6.5504e+4
  1295. const m___FLT16_MIN__ = 6.103515625e-5
  1296. const m___FLT_DECIMAL_DIG__ = 9
  1297. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  1298. const m___FLT_DIG__ = 6
  1299. const m___FLT_EPSILON__ = 1.19209290e-7
  1300. const m___FLT_HAS_DENORM__ = 1
  1301. const m___FLT_HAS_INFINITY__ = 1
  1302. const m___FLT_HAS_QUIET_NAN__ = 1
  1303. const m___FLT_MANT_DIG__ = 24
  1304. const m___FLT_MAX_10_EXP__ = 38
  1305. const m___FLT_MAX_EXP__ = 128
  1306. const m___FLT_MAX__ = 3.40282347e+38
  1307. const m___FLT_MIN__ = 1.17549435e-38
  1308. const m___FLT_RADIX__ = 2
  1309. const m___FPCLASS_NEGINF = 0x0004
  1310. const m___FPCLASS_NEGNORMAL = 0x0008
  1311. const m___FPCLASS_NEGSUBNORMAL = 0x0010
  1312. const m___FPCLASS_NEGZERO = 0x0020
  1313. const m___FPCLASS_POSINF = 0x0200
  1314. const m___FPCLASS_POSNORMAL = 0x0100
  1315. const m___FPCLASS_POSSUBNORMAL = 0x0080
  1316. const m___FPCLASS_POSZERO = 0x0040
  1317. const m___FPCLASS_QNAN = 0x0002
  1318. const m___FPCLASS_SNAN = 0x0001
  1319. const m___FP_FAST_FMA = 1
  1320. const m___FP_FAST_FMAF = 1
  1321. const m___FUNCTION__ = "__func__"
  1322. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  1323. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1324. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1325. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1326. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1327. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1328. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1329. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1330. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1331. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1332. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1333. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1334. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1335. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1336. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1337. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1338. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1339. const m___GNUC_MINOR__ = 2
  1340. const m___GNUC_PATCHLEVEL__ = 1
  1341. const m___GNUC_STDC_INLINE__ = 1
  1342. const m___GNUC__ = 4
  1343. const m___GXX_ABI_VERSION = 1002
  1344. const m___HAVE_FUNCTION_MULTI_VERSIONING = 1
  1345. const m___INT16_FMTd__ = "hd"
  1346. const m___INT16_FMTi__ = "hi"
  1347. const m___INT16_MAX__ = 32767
  1348. const m___INT16_TYPE__ = "short"
  1349. const m___INT32_FMTd__ = "d"
  1350. const m___INT32_FMTi__ = "i"
  1351. const m___INT32_MAX__ = 2147483647
  1352. const m___INT32_TYPE__ = "int"
  1353. const m___INT64_C_SUFFIX__ = "LL"
  1354. const m___INT64_FMTd__ = "lld"
  1355. const m___INT64_FMTi__ = "lli"
  1356. const m___INT64_MAX__ = 9223372036854775807
  1357. const m___INT8_FMTd__ = "hhd"
  1358. const m___INT8_FMTi__ = "hhi"
  1359. const m___INT8_MAX__ = 127
  1360. const m___INTMAX_C_SUFFIX__ = "L"
  1361. const m___INTMAX_FMTd__ = "ld"
  1362. const m___INTMAX_FMTi__ = "li"
  1363. const m___INTMAX_MAX__ = 9223372036854775807
  1364. const m___INTMAX_WIDTH__ = 64
  1365. const m___INTPTR_FMTd__ = "ld"
  1366. const m___INTPTR_FMTi__ = "li"
  1367. const m___INTPTR_MAX__ = 9223372036854775807
  1368. const m___INTPTR_WIDTH__ = 64
  1369. const m___INT_FAST16_FMTd__ = "hd"
  1370. const m___INT_FAST16_FMTi__ = "hi"
  1371. const m___INT_FAST16_MAX__ = 32767
  1372. const m___INT_FAST16_TYPE__ = "short"
  1373. const m___INT_FAST16_WIDTH__ = 16
  1374. const m___INT_FAST32_FMTd__ = "d"
  1375. const m___INT_FAST32_FMTi__ = "i"
  1376. const m___INT_FAST32_MAX__ = 2147483647
  1377. const m___INT_FAST32_TYPE__ = "int"
  1378. const m___INT_FAST32_WIDTH__ = 32
  1379. const m___INT_FAST64_FMTd__ = "lld"
  1380. const m___INT_FAST64_FMTi__ = "lli"
  1381. const m___INT_FAST64_MAX__ = 9223372036854775807
  1382. const m___INT_FAST64_WIDTH__ = 64
  1383. const m___INT_FAST8_FMTd__ = "hhd"
  1384. const m___INT_FAST8_FMTi__ = "hhi"
  1385. const m___INT_FAST8_MAX__ = 127
  1386. const m___INT_FAST8_WIDTH__ = 8
  1387. const m___INT_LEAST16_FMTd__ = "hd"
  1388. const m___INT_LEAST16_FMTi__ = "hi"
  1389. const m___INT_LEAST16_MAX__ = 32767
  1390. const m___INT_LEAST16_TYPE__ = "short"
  1391. const m___INT_LEAST16_WIDTH__ = 16
  1392. const m___INT_LEAST32_FMTd__ = "d"
  1393. const m___INT_LEAST32_FMTi__ = "i"
  1394. const m___INT_LEAST32_MAX__ = 2147483647
  1395. const m___INT_LEAST32_TYPE__ = "int"
  1396. const m___INT_LEAST32_WIDTH__ = 32
  1397. const m___INT_LEAST64_FMTd__ = "lld"
  1398. const m___INT_LEAST64_FMTi__ = "lli"
  1399. const m___INT_LEAST64_MAX = "INT64_MAX"
  1400. const m___INT_LEAST64_MAX__ = 9223372036854775807
  1401. const m___INT_LEAST64_MIN = "INT64_MIN"
  1402. const m___INT_LEAST64_WIDTH__ = 64
  1403. const m___INT_LEAST8_FMTd__ = "hhd"
  1404. const m___INT_LEAST8_FMTi__ = "hhi"
  1405. const m___INT_LEAST8_MAX__ = 127
  1406. const m___INT_LEAST8_WIDTH__ = 8
  1407. const m___INT_MAX__ = 2147483647
  1408. const m___INT_WIDTH__ = 32
  1409. const m___IPHONE_10_0 = 100000
  1410. const m___IPHONE_10_1 = 100100
  1411. const m___IPHONE_10_2 = 100200
  1412. const m___IPHONE_10_3 = 100300
  1413. const m___IPHONE_11_0 = 110000
  1414. const m___IPHONE_11_1 = 110100
  1415. const m___IPHONE_11_2 = 110200
  1416. const m___IPHONE_11_3 = 110300
  1417. const m___IPHONE_11_4 = 110400
  1418. const m___IPHONE_12_0 = 120000
  1419. const m___IPHONE_12_1 = 120100
  1420. const m___IPHONE_12_2 = 120200
  1421. const m___IPHONE_12_3 = 120300
  1422. const m___IPHONE_12_4 = 120400
  1423. const m___IPHONE_13_0 = 130000
  1424. const m___IPHONE_13_1 = 130100
  1425. const m___IPHONE_13_2 = 130200
  1426. const m___IPHONE_13_3 = 130300
  1427. const m___IPHONE_13_4 = 130400
  1428. const m___IPHONE_13_5 = 130500
  1429. const m___IPHONE_13_6 = 130600
  1430. const m___IPHONE_13_7 = 130700
  1431. const m___IPHONE_14_0 = 140000
  1432. const m___IPHONE_14_1 = 140100
  1433. const m___IPHONE_14_2 = 140200
  1434. const m___IPHONE_14_3 = 140300
  1435. const m___IPHONE_14_4 = 140400
  1436. const m___IPHONE_14_5 = 140500
  1437. const m___IPHONE_14_6 = 140600
  1438. const m___IPHONE_14_7 = 140700
  1439. const m___IPHONE_14_8 = 140800
  1440. const m___IPHONE_15_0 = 150000
  1441. const m___IPHONE_15_1 = 150100
  1442. const m___IPHONE_15_2 = 150200
  1443. const m___IPHONE_15_3 = 150300
  1444. const m___IPHONE_15_4 = 150400
  1445. const m___IPHONE_15_5 = 150500
  1446. const m___IPHONE_15_6 = 150600
  1447. const m___IPHONE_15_7 = 150700
  1448. const m___IPHONE_15_8 = 150800
  1449. const m___IPHONE_16_0 = 160000
  1450. const m___IPHONE_16_1 = 160100
  1451. const m___IPHONE_16_2 = 160200
  1452. const m___IPHONE_16_3 = 160300
  1453. const m___IPHONE_16_4 = 160400
  1454. const m___IPHONE_16_5 = 160500
  1455. const m___IPHONE_16_6 = 160600
  1456. const m___IPHONE_16_7 = 160700
  1457. const m___IPHONE_17_0 = 170000
  1458. const m___IPHONE_17_1 = 170100
  1459. const m___IPHONE_17_2 = 170200
  1460. const m___IPHONE_17_3 = 170300
  1461. const m___IPHONE_17_4 = 170400
  1462. const m___IPHONE_17_5 = 170500
  1463. const m___IPHONE_18_0 = 180000
  1464. const m___IPHONE_18_1 = 180100
  1465. const m___IPHONE_18_2 = 180200
  1466. const m___IPHONE_2_0 = 20000
  1467. const m___IPHONE_2_1 = 20100
  1468. const m___IPHONE_2_2 = 20200
  1469. const m___IPHONE_3_0 = 30000
  1470. const m___IPHONE_3_1 = 30100
  1471. const m___IPHONE_3_2 = 30200
  1472. const m___IPHONE_4_0 = 40000
  1473. const m___IPHONE_4_1 = 40100
  1474. const m___IPHONE_4_2 = 40200
  1475. const m___IPHONE_4_3 = 40300
  1476. const m___IPHONE_5_0 = 50000
  1477. const m___IPHONE_5_1 = 50100
  1478. const m___IPHONE_6_0 = 60000
  1479. const m___IPHONE_6_1 = 60100
  1480. const m___IPHONE_7_0 = 70000
  1481. const m___IPHONE_7_1 = 70100
  1482. const m___IPHONE_8_0 = 80000
  1483. const m___IPHONE_8_1 = 80100
  1484. const m___IPHONE_8_2 = 80200
  1485. const m___IPHONE_8_3 = 80300
  1486. const m___IPHONE_8_4 = 80400
  1487. const m___IPHONE_9_0 = 90000
  1488. const m___IPHONE_9_1 = 90100
  1489. const m___IPHONE_9_2 = 90200
  1490. const m___IPHONE_9_3 = 90300
  1491. const m___LDBL_DECIMAL_DIG__ = 17
  1492. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1493. const m___LDBL_DIG__ = 15
  1494. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1495. const m___LDBL_HAS_DENORM__ = 1
  1496. const m___LDBL_HAS_INFINITY__ = 1
  1497. const m___LDBL_HAS_QUIET_NAN__ = 1
  1498. const m___LDBL_MANT_DIG__ = 53
  1499. const m___LDBL_MAX_10_EXP__ = 308
  1500. const m___LDBL_MAX_EXP__ = 1024
  1501. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1502. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1503. const m___LITTLE_ENDIAN__ = 1
  1504. const m___LLONG_WIDTH__ = 64
  1505. const m___LONG_LONG_MAX__ = 9223372036854775807
  1506. const m___LONG_MAX__ = 9223372036854775807
  1507. const m___LONG_WIDTH__ = 64
  1508. const m___LP64_OFF64 = 1
  1509. const m___LP64__ = 1
  1510. const m___LPBIG_OFFBIG = 1
  1511. const m___MACH__ = 1
  1512. const m___MAC_10_0 = 1000
  1513. const m___MAC_10_1 = 1010
  1514. const m___MAC_10_10 = 101000
  1515. const m___MAC_10_10_2 = 101002
  1516. const m___MAC_10_10_3 = 101003
  1517. const m___MAC_10_11 = 101100
  1518. const m___MAC_10_11_2 = 101102
  1519. const m___MAC_10_11_3 = 101103
  1520. const m___MAC_10_11_4 = 101104
  1521. const m___MAC_10_12 = 101200
  1522. const m___MAC_10_12_1 = 101201
  1523. const m___MAC_10_12_2 = 101202
  1524. const m___MAC_10_12_4 = 101204
  1525. const m___MAC_10_13 = 101300
  1526. const m___MAC_10_13_1 = 101301
  1527. const m___MAC_10_13_2 = 101302
  1528. const m___MAC_10_13_4 = 101304
  1529. const m___MAC_10_14 = 101400
  1530. const m___MAC_10_14_1 = 101401
  1531. const m___MAC_10_14_4 = 101404
  1532. const m___MAC_10_14_5 = 101405
  1533. const m___MAC_10_14_6 = 101406
  1534. const m___MAC_10_15 = 101500
  1535. const m___MAC_10_15_1 = 101501
  1536. const m___MAC_10_15_4 = 101504
  1537. const m___MAC_10_16 = 101600
  1538. const m___MAC_10_2 = 1020
  1539. const m___MAC_10_3 = 1030
  1540. const m___MAC_10_4 = 1040
  1541. const m___MAC_10_5 = 1050
  1542. const m___MAC_10_6 = 1060
  1543. const m___MAC_10_7 = 1070
  1544. const m___MAC_10_8 = 1080
  1545. const m___MAC_10_9 = 1090
  1546. const m___MAC_11_0 = 110000
  1547. const m___MAC_11_1 = 110100
  1548. const m___MAC_11_3 = 110300
  1549. const m___MAC_11_4 = 110400
  1550. const m___MAC_11_5 = 110500
  1551. const m___MAC_11_6 = 110600
  1552. const m___MAC_12_0 = 120000
  1553. const m___MAC_12_1 = 120100
  1554. const m___MAC_12_2 = 120200
  1555. const m___MAC_12_3 = 120300
  1556. const m___MAC_12_4 = 120400
  1557. const m___MAC_12_5 = 120500
  1558. const m___MAC_12_6 = 120600
  1559. const m___MAC_12_7 = 120700
  1560. const m___MAC_13_0 = 130000
  1561. const m___MAC_13_1 = 130100
  1562. const m___MAC_13_2 = 130200
  1563. const m___MAC_13_3 = 130300
  1564. const m___MAC_13_4 = 130400
  1565. const m___MAC_13_5 = 130500
  1566. const m___MAC_13_6 = 130600
  1567. const m___MAC_14_0 = 140000
  1568. const m___MAC_14_1 = 140100
  1569. const m___MAC_14_2 = 140200
  1570. const m___MAC_14_3 = 140300
  1571. const m___MAC_14_4 = 140400
  1572. const m___MAC_14_5 = 140500
  1573. const m___MAC_15_0 = 150000
  1574. const m___MAC_15_1 = 150100
  1575. const m___MAC_15_2 = 150200
  1576. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_15_2"
  1577. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  1578. const m___NO_INLINE__ = 1
  1579. const m___NO_MATH_ERRNO__ = 1
  1580. const m___OBJC_BOOL_IS_BOOL = 1
  1581. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  1582. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  1583. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  1584. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  1585. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  1586. const m___ORDER_BIG_ENDIAN__ = 4321
  1587. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1588. const m___ORDER_PDP_ENDIAN__ = 3412
  1589. const m___PIC__ = 2
  1590. const m___POINTER_WIDTH__ = 64
  1591. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1592. const m___PRETTY_FUNCTION__ = "__func__"
  1593. const m___PTHREAD_ATTR_SIZE__ = 56
  1594. const m___PTHREAD_CONDATTR_SIZE__ = 8
  1595. const m___PTHREAD_COND_SIZE__ = 40
  1596. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  1597. const m___PTHREAD_MUTEX_SIZE__ = 56
  1598. const m___PTHREAD_ONCE_SIZE__ = 8
  1599. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  1600. const m___PTHREAD_RWLOCK_SIZE__ = 192
  1601. const m___PTHREAD_SIZE__ = 8176
  1602. const m___PTRDIFF_FMTd__ = "ld"
  1603. const m___PTRDIFF_FMTi__ = "li"
  1604. const m___PTRDIFF_MAX__ = 9223372036854775807
  1605. const m___PTRDIFF_WIDTH__ = 64
  1606. const m___SALC = 0x4000
  1607. const m___SAPP = 0x0100
  1608. const m___SCHAR_MAX__ = 127
  1609. const m___SEOF = 0x0020
  1610. const m___SERR = 0x0040
  1611. const m___SHRT_MAX__ = 32767
  1612. const m___SHRT_WIDTH__ = 16
  1613. const m___SIGN = 0x8000
  1614. const m___SIG_ATOMIC_MAX__ = 2147483647
  1615. const m___SIG_ATOMIC_WIDTH__ = 32
  1616. const m___SIZEOF_DOUBLE__ = 8
  1617. const m___SIZEOF_FLOAT__ = 4
  1618. const m___SIZEOF_INT128__ = 16
  1619. const m___SIZEOF_INT__ = 4
  1620. const m___SIZEOF_LONG_DOUBLE__ = 8
  1621. const m___SIZEOF_LONG_LONG__ = 8
  1622. const m___SIZEOF_LONG__ = 8
  1623. const m___SIZEOF_POINTER__ = 8
  1624. const m___SIZEOF_PTRDIFF_T__ = 8
  1625. const m___SIZEOF_SHORT__ = 2
  1626. const m___SIZEOF_SIZE_T__ = 8
  1627. const m___SIZEOF_WCHAR_T__ = 4
  1628. const m___SIZEOF_WINT_T__ = 4
  1629. const m___SIZE_FMTX__ = "lX"
  1630. const m___SIZE_FMTo__ = "lo"
  1631. const m___SIZE_FMTu__ = "lu"
  1632. const m___SIZE_FMTx__ = "lx"
  1633. const m___SIZE_MAX__ = 18446744073709551615
  1634. const m___SIZE_WIDTH__ = 64
  1635. const m___SLBF = 0x0001
  1636. const m___SMBF = 0x0080
  1637. const m___SMOD = 0x2000
  1638. const m___SNBF = 0x0002
  1639. const m___SNPT = 0x0800
  1640. const m___SOFF = 0x1000
  1641. const m___SOPT = 0x0400
  1642. const m___SRD = 0x0004
  1643. const m___SRW = 0x0010
  1644. const m___SSP__ = 1
  1645. const m___SSTR = 0x0200
  1646. const m___STDC_HOSTED__ = 1
  1647. const m___STDC_NO_THREADS__ = 1
  1648. const m___STDC_UTF_16__ = 1
  1649. const m___STDC_UTF_32__ = 1
  1650. const m___STDC_VERSION__ = 201710
  1651. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1652. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1653. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1654. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1655. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1656. const m___STDC_WANT_LIB_EXT1__ = 1
  1657. const m___STDC_WANT_LIB_EXT2__ = 1
  1658. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1659. const m___STDC__ = 1
  1660. const m___SWR = 0x0008
  1661. const m___TVOS_10_0 = 100000
  1662. const m___TVOS_10_0_1 = 100001
  1663. const m___TVOS_10_1 = 100100
  1664. const m___TVOS_10_2 = 100200
  1665. const m___TVOS_11_0 = 110000
  1666. const m___TVOS_11_1 = 110100
  1667. const m___TVOS_11_2 = 110200
  1668. const m___TVOS_11_3 = 110300
  1669. const m___TVOS_11_4 = 110400
  1670. const m___TVOS_12_0 = 120000
  1671. const m___TVOS_12_1 = 120100
  1672. const m___TVOS_12_2 = 120200
  1673. const m___TVOS_12_3 = 120300
  1674. const m___TVOS_12_4 = 120400
  1675. const m___TVOS_13_0 = 130000
  1676. const m___TVOS_13_2 = 130200
  1677. const m___TVOS_13_3 = 130300
  1678. const m___TVOS_13_4 = 130400
  1679. const m___TVOS_14_0 = 140000
  1680. const m___TVOS_14_1 = 140100
  1681. const m___TVOS_14_2 = 140200
  1682. const m___TVOS_14_3 = 140300
  1683. const m___TVOS_14_5 = 140500
  1684. const m___TVOS_14_6 = 140600
  1685. const m___TVOS_14_7 = 140700
  1686. const m___TVOS_15_0 = 150000
  1687. const m___TVOS_15_1 = 150100
  1688. const m___TVOS_15_2 = 150200
  1689. const m___TVOS_15_3 = 150300
  1690. const m___TVOS_15_4 = 150400
  1691. const m___TVOS_15_5 = 150500
  1692. const m___TVOS_15_6 = 150600
  1693. const m___TVOS_16_0 = 160000
  1694. const m___TVOS_16_1 = 160100
  1695. const m___TVOS_16_2 = 160200
  1696. const m___TVOS_16_3 = 160300
  1697. const m___TVOS_16_4 = 160400
  1698. const m___TVOS_16_5 = 160500
  1699. const m___TVOS_16_6 = 160600
  1700. const m___TVOS_17_0 = 170000
  1701. const m___TVOS_17_1 = 170100
  1702. const m___TVOS_17_2 = 170200
  1703. const m___TVOS_17_3 = 170300
  1704. const m___TVOS_17_4 = 170400
  1705. const m___TVOS_17_5 = 170500
  1706. const m___TVOS_18_0 = 180000
  1707. const m___TVOS_18_1 = 180100
  1708. const m___TVOS_18_2 = 180200
  1709. const m___TVOS_9_0 = 90000
  1710. const m___TVOS_9_1 = 90100
  1711. const m___TVOS_9_2 = 90200
  1712. const m___UINT16_FMTX__ = "hX"
  1713. const m___UINT16_FMTo__ = "ho"
  1714. const m___UINT16_FMTu__ = "hu"
  1715. const m___UINT16_FMTx__ = "hx"
  1716. const m___UINT16_MAX__ = 65535
  1717. const m___UINT32_C_SUFFIX__ = "U"
  1718. const m___UINT32_FMTX__ = "X"
  1719. const m___UINT32_FMTo__ = "o"
  1720. const m___UINT32_FMTu__ = "u"
  1721. const m___UINT32_FMTx__ = "x"
  1722. const m___UINT32_MAX__ = 4294967295
  1723. const m___UINT64_C_SUFFIX__ = "ULL"
  1724. const m___UINT64_FMTX__ = "llX"
  1725. const m___UINT64_FMTo__ = "llo"
  1726. const m___UINT64_FMTu__ = "llu"
  1727. const m___UINT64_FMTx__ = "llx"
  1728. const m___UINT64_MAX__ = "18446744073709551615U"
  1729. const m___UINT8_FMTX__ = "hhX"
  1730. const m___UINT8_FMTo__ = "hho"
  1731. const m___UINT8_FMTu__ = "hhu"
  1732. const m___UINT8_FMTx__ = "hhx"
  1733. const m___UINT8_MAX__ = 255
  1734. const m___UINTMAX_C_SUFFIX__ = "UL"
  1735. const m___UINTMAX_FMTX__ = "lX"
  1736. const m___UINTMAX_FMTo__ = "lo"
  1737. const m___UINTMAX_FMTu__ = "lu"
  1738. const m___UINTMAX_FMTx__ = "lx"
  1739. const m___UINTMAX_MAX__ = 18446744073709551615
  1740. const m___UINTMAX_WIDTH__ = 64
  1741. const m___UINTPTR_FMTX__ = "lX"
  1742. const m___UINTPTR_FMTo__ = "lo"
  1743. const m___UINTPTR_FMTu__ = "lu"
  1744. const m___UINTPTR_FMTx__ = "lx"
  1745. const m___UINTPTR_MAX__ = 18446744073709551615
  1746. const m___UINTPTR_WIDTH__ = 64
  1747. const m___UINT_FAST16_FMTX__ = "hX"
  1748. const m___UINT_FAST16_FMTo__ = "ho"
  1749. const m___UINT_FAST16_FMTu__ = "hu"
  1750. const m___UINT_FAST16_FMTx__ = "hx"
  1751. const m___UINT_FAST16_MAX__ = 65535
  1752. const m___UINT_FAST32_FMTX__ = "X"
  1753. const m___UINT_FAST32_FMTo__ = "o"
  1754. const m___UINT_FAST32_FMTu__ = "u"
  1755. const m___UINT_FAST32_FMTx__ = "x"
  1756. const m___UINT_FAST32_MAX__ = 4294967295
  1757. const m___UINT_FAST64_FMTX__ = "llX"
  1758. const m___UINT_FAST64_FMTo__ = "llo"
  1759. const m___UINT_FAST64_FMTu__ = "llu"
  1760. const m___UINT_FAST64_FMTx__ = "llx"
  1761. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  1762. const m___UINT_FAST8_FMTX__ = "hhX"
  1763. const m___UINT_FAST8_FMTo__ = "hho"
  1764. const m___UINT_FAST8_FMTu__ = "hhu"
  1765. const m___UINT_FAST8_FMTx__ = "hhx"
  1766. const m___UINT_FAST8_MAX__ = 255
  1767. const m___UINT_LEAST16_FMTX__ = "hX"
  1768. const m___UINT_LEAST16_FMTo__ = "ho"
  1769. const m___UINT_LEAST16_FMTu__ = "hu"
  1770. const m___UINT_LEAST16_FMTx__ = "hx"
  1771. const m___UINT_LEAST16_MAX__ = 65535
  1772. const m___UINT_LEAST32_FMTX__ = "X"
  1773. const m___UINT_LEAST32_FMTo__ = "o"
  1774. const m___UINT_LEAST32_FMTu__ = "u"
  1775. const m___UINT_LEAST32_FMTx__ = "x"
  1776. const m___UINT_LEAST32_MAX__ = 4294967295
  1777. const m___UINT_LEAST64_FMTX__ = "llX"
  1778. const m___UINT_LEAST64_FMTo__ = "llo"
  1779. const m___UINT_LEAST64_FMTu__ = "llu"
  1780. const m___UINT_LEAST64_FMTx__ = "llx"
  1781. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  1782. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  1783. const m___UINT_LEAST8_FMTX__ = "hhX"
  1784. const m___UINT_LEAST8_FMTo__ = "hho"
  1785. const m___UINT_LEAST8_FMTu__ = "hhu"
  1786. const m___UINT_LEAST8_FMTx__ = "hhx"
  1787. const m___UINT_LEAST8_MAX__ = 255
  1788. const m___USER_LABEL_PREFIX__ = "_"
  1789. const m___VERSION__ = "Apple LLVM 16.0.0 (clang-1600.0.26.6)"
  1790. const m___VISIONOS_1_0 = 10000
  1791. const m___VISIONOS_1_1 = 10100
  1792. const m___VISIONOS_1_2 = 10200
  1793. const m___VISIONOS_2_0 = 20000
  1794. const m___VISIONOS_2_1 = 20100
  1795. const m___VISIONOS_2_2 = 20200
  1796. const m___WATCHOS_10_0 = 100000
  1797. const m___WATCHOS_10_1 = 100100
  1798. const m___WATCHOS_10_2 = 100200
  1799. const m___WATCHOS_10_3 = 100300
  1800. const m___WATCHOS_10_4 = 100400
  1801. const m___WATCHOS_10_5 = 100500
  1802. const m___WATCHOS_11_0 = 110000
  1803. const m___WATCHOS_11_1 = 110100
  1804. const m___WATCHOS_11_2 = 110200
  1805. const m___WATCHOS_1_0 = 10000
  1806. const m___WATCHOS_2_0 = 20000
  1807. const m___WATCHOS_2_1 = 20100
  1808. const m___WATCHOS_2_2 = 20200
  1809. const m___WATCHOS_3_0 = 30000
  1810. const m___WATCHOS_3_1 = 30100
  1811. const m___WATCHOS_3_1_1 = 30101
  1812. const m___WATCHOS_3_2 = 30200
  1813. const m___WATCHOS_4_0 = 40000
  1814. const m___WATCHOS_4_1 = 40100
  1815. const m___WATCHOS_4_2 = 40200
  1816. const m___WATCHOS_4_3 = 40300
  1817. const m___WATCHOS_5_0 = 50000
  1818. const m___WATCHOS_5_1 = 50100
  1819. const m___WATCHOS_5_2 = 50200
  1820. const m___WATCHOS_5_3 = 50300
  1821. const m___WATCHOS_6_0 = 60000
  1822. const m___WATCHOS_6_1 = 60100
  1823. const m___WATCHOS_6_2 = 60200
  1824. const m___WATCHOS_7_0 = 70000
  1825. const m___WATCHOS_7_1 = 70100
  1826. const m___WATCHOS_7_2 = 70200
  1827. const m___WATCHOS_7_3 = 70300
  1828. const m___WATCHOS_7_4 = 70400
  1829. const m___WATCHOS_7_5 = 70500
  1830. const m___WATCHOS_7_6 = 70600
  1831. const m___WATCHOS_8_0 = 80000
  1832. const m___WATCHOS_8_1 = 80100
  1833. const m___WATCHOS_8_3 = 80300
  1834. const m___WATCHOS_8_4 = 80400
  1835. const m___WATCHOS_8_5 = 80500
  1836. const m___WATCHOS_8_6 = 80600
  1837. const m___WATCHOS_8_7 = 80700
  1838. const m___WATCHOS_8_8 = 80800
  1839. const m___WATCHOS_9_0 = 90000
  1840. const m___WATCHOS_9_1 = 90100
  1841. const m___WATCHOS_9_2 = 90200
  1842. const m___WATCHOS_9_3 = 90300
  1843. const m___WATCHOS_9_4 = 90400
  1844. const m___WATCHOS_9_5 = 90500
  1845. const m___WATCHOS_9_6 = 90600
  1846. const m___WCHAR_MAX__ = 2147483647
  1847. const m___WCHAR_TYPE__ = "int"
  1848. const m___WCHAR_WIDTH__ = 32
  1849. const m___WINT_MAX__ = 2147483647
  1850. const m___WINT_TYPE__ = "int"
  1851. const m___WINT_WIDTH__ = 32
  1852. const m___aarch64__ = 1
  1853. const m___apple_build_version__ = 16000026
  1854. const m___arm64 = 1
  1855. const m___arm64__ = 1
  1856. const m___clang__ = 1
  1857. const m___clang_literal_encoding__ = "UTF-8"
  1858. const m___clang_major__ = 16
  1859. const m___clang_minor__ = 0
  1860. const m___clang_patchlevel__ = 0
  1861. const m___clang_version__ = "16.0.0 (clang-1600.0.26.6)"
  1862. const m___clang_wide_literal_encoding__ = "UTF-32"
  1863. const m___const = "const"
  1864. const m___has_ptrcheck = 0
  1865. const m___has_safe_buffers = 0
  1866. const m___header_inline = "inline"
  1867. const m___llvm__ = 1
  1868. const m___nonnull = "_Nonnull"
  1869. const m___null_unspecified = "_Null_unspecified"
  1870. const m___nullable = "_Nullable"
  1871. const m___pic__ = 2
  1872. const m___restrict = "restrict"
  1873. const m___restrict_arr = "restrict"
  1874. const m___signed = "signed"
  1875. const m___volatile = "volatile"
  1876. const m_ru_first = "ru_ixrss"
  1877. const m_ru_last = "ru_nivcsw"
  1878. const m_static_assert = "_Static_assert"
  1879. const m_stderr = "__stderrp"
  1880. const m_stdin = "__stdinp"
  1881. const m_stdout = "__stdoutp"
  1882. const m_sv_onstack = "sv_flags"
  1883. type t__builtin_va_list = uintptr
  1884. type t__predefined_size_t = uint64
  1885. type t__predefined_wchar_t = int32
  1886. type t__predefined_ptrdiff_t = int64
  1887. type t__int8_t = int8
  1888. type t__uint8_t = uint8
  1889. type t__int16_t = int16
  1890. type t__uint16_t = uint16
  1891. type t__int32_t = int32
  1892. type t__uint32_t = uint32
  1893. type t__int64_t = int64
  1894. type t__uint64_t = uint64
  1895. type t__darwin_intptr_t = int64
  1896. type t__darwin_natural_t = uint32
  1897. type t__darwin_ct_rune_t = int32
  1898. type t__mbstate_t = struct {
  1899. F_mbstateL [0]int64
  1900. F__mbstate8 [128]int8
  1901. }
  1902. type t__darwin_mbstate_t = struct {
  1903. F_mbstateL [0]int64
  1904. F__mbstate8 [128]int8
  1905. }
  1906. type t__darwin_ptrdiff_t = int64
  1907. type t__darwin_size_t = uint64
  1908. type t__darwin_va_list = uintptr
  1909. type t__darwin_wchar_t = int32
  1910. type t__darwin_rune_t = int32
  1911. type t__darwin_wint_t = int32
  1912. type t__darwin_clock_t = uint64
  1913. type t__darwin_socklen_t = uint32
  1914. type t__darwin_ssize_t = int64
  1915. type t__darwin_time_t = int64
  1916. type t__darwin_blkcnt_t = int64
  1917. type t__darwin_blksize_t = int32
  1918. type t__darwin_dev_t = int32
  1919. type t__darwin_fsblkcnt_t = uint32
  1920. type t__darwin_fsfilcnt_t = uint32
  1921. type t__darwin_gid_t = uint32
  1922. type t__darwin_id_t = uint32
  1923. type t__darwin_ino64_t = uint64
  1924. type t__darwin_ino_t = uint64
  1925. type t__darwin_mach_port_name_t = uint32
  1926. type t__darwin_mach_port_t = uint32
  1927. type t__darwin_mode_t = uint16
  1928. type t__darwin_off_t = int64
  1929. type t__darwin_pid_t = int32
  1930. type t__darwin_sigset_t = uint32
  1931. type t__darwin_suseconds_t = int32
  1932. type t__darwin_uid_t = uint32
  1933. type t__darwin_useconds_t = uint32
  1934. type t__darwin_uuid_t = [16]uint8
  1935. type t__darwin_uuid_string_t = [37]int8
  1936. type t__darwin_pthread_handler_rec = struct {
  1937. F__routine uintptr
  1938. F__arg uintptr
  1939. F__next uintptr
  1940. }
  1941. type T_opaque_pthread_attr_t = struct {
  1942. F__sig int64
  1943. F__opaque [56]int8
  1944. }
  1945. type T_opaque_pthread_cond_t = struct {
  1946. F__sig int64
  1947. F__opaque [40]int8
  1948. }
  1949. type T_opaque_pthread_condattr_t = struct {
  1950. F__sig int64
  1951. F__opaque [8]int8
  1952. }
  1953. type T_opaque_pthread_mutex_t = struct {
  1954. F__sig int64
  1955. F__opaque [56]int8
  1956. }
  1957. type T_opaque_pthread_mutexattr_t = struct {
  1958. F__sig int64
  1959. F__opaque [8]int8
  1960. }
  1961. type T_opaque_pthread_once_t = struct {
  1962. F__sig int64
  1963. F__opaque [8]int8
  1964. }
  1965. type T_opaque_pthread_rwlock_t = struct {
  1966. F__sig int64
  1967. F__opaque [192]int8
  1968. }
  1969. type T_opaque_pthread_rwlockattr_t = struct {
  1970. F__sig int64
  1971. F__opaque [16]int8
  1972. }
  1973. type T_opaque_pthread_t = struct {
  1974. F__sig int64
  1975. F__cleanup_stack uintptr
  1976. F__opaque [8176]int8
  1977. }
  1978. type t__darwin_pthread_attr_t = struct {
  1979. F__sig int64
  1980. F__opaque [56]int8
  1981. }
  1982. type t__darwin_pthread_cond_t = struct {
  1983. F__sig int64
  1984. F__opaque [40]int8
  1985. }
  1986. type t__darwin_pthread_condattr_t = struct {
  1987. F__sig int64
  1988. F__opaque [8]int8
  1989. }
  1990. type t__darwin_pthread_key_t = uint64
  1991. type t__darwin_pthread_mutex_t = struct {
  1992. F__sig int64
  1993. F__opaque [56]int8
  1994. }
  1995. type t__darwin_pthread_mutexattr_t = struct {
  1996. F__sig int64
  1997. F__opaque [8]int8
  1998. }
  1999. type t__darwin_pthread_once_t = struct {
  2000. F__sig int64
  2001. F__opaque [8]int8
  2002. }
  2003. type t__darwin_pthread_rwlock_t = struct {
  2004. F__sig int64
  2005. F__opaque [192]int8
  2006. }
  2007. type t__darwin_pthread_rwlockattr_t = struct {
  2008. F__sig int64
  2009. F__opaque [16]int8
  2010. }
  2011. type t__darwin_pthread_t = uintptr
  2012. type Tint64_t = int64
  2013. type Tuint64_t = uint64
  2014. type Tint_least64_t = int64
  2015. type Tuint_least64_t = uint64
  2016. type Tint_fast64_t = int64
  2017. type Tuint_fast64_t = uint64
  2018. type Tint32_t = int32
  2019. type Tuint32_t = uint32
  2020. type Tint_least32_t = int32
  2021. type Tuint_least32_t = uint32
  2022. type Tint_fast32_t = int32
  2023. type Tuint_fast32_t = uint32
  2024. type Tint16_t = int16
  2025. type Tuint16_t = uint16
  2026. type Tint_least16_t = int16
  2027. type Tuint_least16_t = uint16
  2028. type Tint_fast16_t = int16
  2029. type Tuint_fast16_t = uint16
  2030. type Tint8_t = int8
  2031. type Tuint8_t = uint8
  2032. type Tint_least8_t = int8
  2033. type Tuint_least8_t = uint8
  2034. type Tint_fast8_t = int8
  2035. type Tuint_fast8_t = uint8
  2036. type Tintptr_t = int64
  2037. type Tuintptr_t = uint64
  2038. type Tintmax_t = int64
  2039. type Tuintmax_t = uint64
  2040. type t__darwin_nl_item = int32
  2041. type t__darwin_wctrans_t = int32
  2042. type t__darwin_wctype_t = uint32
  2043. type Tidtype_t = int32
  2044. const _P_ALL = 0
  2045. const _P_PID = 1
  2046. const _P_PGID = 2
  2047. type Tpid_t = int32
  2048. type Tid_t = uint32
  2049. type Tsig_atomic_t = int32
  2050. type Tu_int8_t = uint8
  2051. type Tu_int16_t = uint16
  2052. type Tu_int32_t = uint32
  2053. type Tu_int64_t = uint64
  2054. type Tregister_t = int64
  2055. type Tuser_addr_t = uint64
  2056. type Tuser_size_t = uint64
  2057. type Tuser_ssize_t = int64
  2058. type Tuser_long_t = int64
  2059. type Tuser_ulong_t = uint64
  2060. type Tuser_time_t = int64
  2061. type Tuser_off_t = int64
  2062. type Tsyscall_arg_t = uint64
  2063. type t__darwin_arm_exception_state = struct {
  2064. F__exception t__uint32_t
  2065. F__fsr t__uint32_t
  2066. F__far t__uint32_t
  2067. }
  2068. type t__darwin_arm_exception_state64 = struct {
  2069. F__far t__uint64_t
  2070. F__esr t__uint32_t
  2071. F__exception t__uint32_t
  2072. }
  2073. type t__darwin_arm_exception_state64_v2 = struct {
  2074. F__far t__uint64_t
  2075. F__esr t__uint64_t
  2076. }
  2077. type t__darwin_arm_thread_state = struct {
  2078. F__r [13]t__uint32_t
  2079. F__sp t__uint32_t
  2080. F__lr t__uint32_t
  2081. F__pc t__uint32_t
  2082. F__cpsr t__uint32_t
  2083. }
  2084. type t__darwin_arm_thread_state64 = struct {
  2085. F__x [29]t__uint64_t
  2086. F__fp t__uint64_t
  2087. F__lr t__uint64_t
  2088. F__sp t__uint64_t
  2089. F__pc t__uint64_t
  2090. F__cpsr t__uint32_t
  2091. F__pad t__uint32_t
  2092. }
  2093. type t__darwin_arm_vfp_state = struct {
  2094. F__r [64]t__uint32_t
  2095. F__fpscr t__uint32_t
  2096. }
  2097. type t__darwin_arm_neon_state64 = struct {
  2098. F__ccgo_align [0]uint64
  2099. F__v [32][2]uint64
  2100. F__fpsr t__uint32_t
  2101. F__fpcr t__uint32_t
  2102. F__ccgo_pad3 [8]byte
  2103. }
  2104. type t__darwin_arm_neon_state = struct {
  2105. F__ccgo_align [0]uint64
  2106. F__v [16][2]uint64
  2107. F__fpsr t__uint32_t
  2108. F__fpcr t__uint32_t
  2109. F__ccgo_pad3 [8]byte
  2110. }
  2111. type t__arm_pagein_state = struct {
  2112. F__pagein_error int32
  2113. }
  2114. type t__arm_legacy_debug_state = struct {
  2115. F__bvr [16]t__uint32_t
  2116. F__bcr [16]t__uint32_t
  2117. F__wvr [16]t__uint32_t
  2118. F__wcr [16]t__uint32_t
  2119. }
  2120. type t__darwin_arm_debug_state32 = struct {
  2121. F__bvr [16]t__uint32_t
  2122. F__bcr [16]t__uint32_t
  2123. F__wvr [16]t__uint32_t
  2124. F__wcr [16]t__uint32_t
  2125. F__mdscr_el1 t__uint64_t
  2126. }
  2127. type t__darwin_arm_debug_state64 = struct {
  2128. F__bvr [16]t__uint64_t
  2129. F__bcr [16]t__uint64_t
  2130. F__wvr [16]t__uint64_t
  2131. F__wcr [16]t__uint64_t
  2132. F__mdscr_el1 t__uint64_t
  2133. }
  2134. type t__darwin_arm_cpmu_state64 = struct {
  2135. F__ctrs [16]t__uint64_t
  2136. }
  2137. type t__darwin_mcontext32 = struct {
  2138. F__es t__darwin_arm_exception_state
  2139. F__ss t__darwin_arm_thread_state
  2140. F__fs t__darwin_arm_vfp_state
  2141. }
  2142. type t__darwin_mcontext64 = struct {
  2143. F__ccgo_align [0]uint64
  2144. F__es t__darwin_arm_exception_state64
  2145. F__ss t__darwin_arm_thread_state64
  2146. F__ns t__darwin_arm_neon_state64
  2147. }
  2148. type Tmcontext_t = uintptr
  2149. type Tpthread_attr_t = struct {
  2150. F__sig int64
  2151. F__opaque [56]int8
  2152. }
  2153. type t__darwin_sigaltstack = struct {
  2154. Fss_sp uintptr
  2155. Fss_size t__darwin_size_t
  2156. Fss_flags int32
  2157. }
  2158. type Tstack_t = struct {
  2159. Fss_sp uintptr
  2160. Fss_size t__darwin_size_t
  2161. Fss_flags int32
  2162. }
  2163. type t__darwin_ucontext = struct {
  2164. Fuc_onstack int32
  2165. Fuc_sigmask t__darwin_sigset_t
  2166. Fuc_stack t__darwin_sigaltstack
  2167. Fuc_link uintptr
  2168. Fuc_mcsize t__darwin_size_t
  2169. Fuc_mcontext uintptr
  2170. }
  2171. type Tucontext_t = struct {
  2172. Fuc_onstack int32
  2173. Fuc_sigmask t__darwin_sigset_t
  2174. Fuc_stack t__darwin_sigaltstack
  2175. Fuc_link uintptr
  2176. Fuc_mcsize t__darwin_size_t
  2177. Fuc_mcontext uintptr
  2178. }
  2179. type Tsigset_t = uint32
  2180. type Tsize_t = uint64
  2181. type Tuid_t = uint32
  2182. type Tsigval = struct {
  2183. Fsival_ptr [0]uintptr
  2184. Fsival_int int32
  2185. F__ccgo_pad2 [4]byte
  2186. }
  2187. type Tsigevent = struct {
  2188. Fsigev_notify int32
  2189. Fsigev_signo int32
  2190. Fsigev_value Tsigval
  2191. Fsigev_notify_function uintptr
  2192. Fsigev_notify_attributes uintptr
  2193. }
  2194. type Tsiginfo_t = struct {
  2195. Fsi_signo int32
  2196. Fsi_errno int32
  2197. Fsi_code int32
  2198. Fsi_pid Tpid_t
  2199. Fsi_uid Tuid_t
  2200. Fsi_status int32
  2201. Fsi_addr uintptr
  2202. Fsi_value Tsigval
  2203. Fsi_band int64
  2204. F__pad [7]uint64
  2205. }
  2206. type t__siginfo = Tsiginfo_t
  2207. type t__sigaction_u = struct {
  2208. F__sa_sigaction [0]uintptr
  2209. F__sa_handler uintptr
  2210. }
  2211. type t__sigaction = struct {
  2212. F__sigaction_u t__sigaction_u
  2213. Fsa_tramp uintptr
  2214. Fsa_mask Tsigset_t
  2215. Fsa_flags int32
  2216. }
  2217. type Tsigaction = struct {
  2218. F__sigaction_u t__sigaction_u
  2219. Fsa_mask Tsigset_t
  2220. Fsa_flags int32
  2221. }
  2222. type Tsig_t = uintptr
  2223. type Tsigvec = struct {
  2224. Fsv_handler uintptr
  2225. Fsv_mask int32
  2226. Fsv_flags int32
  2227. }
  2228. type Tsigstack = struct {
  2229. Fss_sp uintptr
  2230. Fss_onstack int32
  2231. }
  2232. type Ttimeval = struct {
  2233. Ftv_sec t__darwin_time_t
  2234. Ftv_usec t__darwin_suseconds_t
  2235. }
  2236. type Trlim_t = uint64
  2237. type Trusage = struct {
  2238. Fru_utime Ttimeval
  2239. Fru_stime Ttimeval
  2240. Fru_maxrss int64
  2241. Fru_ixrss int64
  2242. Fru_idrss int64
  2243. Fru_isrss int64
  2244. Fru_minflt int64
  2245. Fru_majflt int64
  2246. Fru_nswap int64
  2247. Fru_inblock int64
  2248. Fru_oublock int64
  2249. Fru_msgsnd int64
  2250. Fru_msgrcv int64
  2251. Fru_nsignals int64
  2252. Fru_nvcsw int64
  2253. Fru_nivcsw int64
  2254. }
  2255. type Trusage_info_t = uintptr
  2256. type Trusage_info_v0 = struct {
  2257. Fri_uuid [16]Tuint8_t
  2258. Fri_user_time Tuint64_t
  2259. Fri_system_time Tuint64_t
  2260. Fri_pkg_idle_wkups Tuint64_t
  2261. Fri_interrupt_wkups Tuint64_t
  2262. Fri_pageins Tuint64_t
  2263. Fri_wired_size Tuint64_t
  2264. Fri_resident_size Tuint64_t
  2265. Fri_phys_footprint Tuint64_t
  2266. Fri_proc_start_abstime Tuint64_t
  2267. Fri_proc_exit_abstime Tuint64_t
  2268. }
  2269. type Trusage_info_v1 = struct {
  2270. Fri_uuid [16]Tuint8_t
  2271. Fri_user_time Tuint64_t
  2272. Fri_system_time Tuint64_t
  2273. Fri_pkg_idle_wkups Tuint64_t
  2274. Fri_interrupt_wkups Tuint64_t
  2275. Fri_pageins Tuint64_t
  2276. Fri_wired_size Tuint64_t
  2277. Fri_resident_size Tuint64_t
  2278. Fri_phys_footprint Tuint64_t
  2279. Fri_proc_start_abstime Tuint64_t
  2280. Fri_proc_exit_abstime Tuint64_t
  2281. Fri_child_user_time Tuint64_t
  2282. Fri_child_system_time Tuint64_t
  2283. Fri_child_pkg_idle_wkups Tuint64_t
  2284. Fri_child_interrupt_wkups Tuint64_t
  2285. Fri_child_pageins Tuint64_t
  2286. Fri_child_elapsed_abstime Tuint64_t
  2287. }
  2288. type Trusage_info_v2 = struct {
  2289. Fri_uuid [16]Tuint8_t
  2290. Fri_user_time Tuint64_t
  2291. Fri_system_time Tuint64_t
  2292. Fri_pkg_idle_wkups Tuint64_t
  2293. Fri_interrupt_wkups Tuint64_t
  2294. Fri_pageins Tuint64_t
  2295. Fri_wired_size Tuint64_t
  2296. Fri_resident_size Tuint64_t
  2297. Fri_phys_footprint Tuint64_t
  2298. Fri_proc_start_abstime Tuint64_t
  2299. Fri_proc_exit_abstime Tuint64_t
  2300. Fri_child_user_time Tuint64_t
  2301. Fri_child_system_time Tuint64_t
  2302. Fri_child_pkg_idle_wkups Tuint64_t
  2303. Fri_child_interrupt_wkups Tuint64_t
  2304. Fri_child_pageins Tuint64_t
  2305. Fri_child_elapsed_abstime Tuint64_t
  2306. Fri_diskio_bytesread Tuint64_t
  2307. Fri_diskio_byteswritten Tuint64_t
  2308. }
  2309. type Trusage_info_v3 = struct {
  2310. Fri_uuid [16]Tuint8_t
  2311. Fri_user_time Tuint64_t
  2312. Fri_system_time Tuint64_t
  2313. Fri_pkg_idle_wkups Tuint64_t
  2314. Fri_interrupt_wkups Tuint64_t
  2315. Fri_pageins Tuint64_t
  2316. Fri_wired_size Tuint64_t
  2317. Fri_resident_size Tuint64_t
  2318. Fri_phys_footprint Tuint64_t
  2319. Fri_proc_start_abstime Tuint64_t
  2320. Fri_proc_exit_abstime Tuint64_t
  2321. Fri_child_user_time Tuint64_t
  2322. Fri_child_system_time Tuint64_t
  2323. Fri_child_pkg_idle_wkups Tuint64_t
  2324. Fri_child_interrupt_wkups Tuint64_t
  2325. Fri_child_pageins Tuint64_t
  2326. Fri_child_elapsed_abstime Tuint64_t
  2327. Fri_diskio_bytesread Tuint64_t
  2328. Fri_diskio_byteswritten Tuint64_t
  2329. Fri_cpu_time_qos_default Tuint64_t
  2330. Fri_cpu_time_qos_maintenance Tuint64_t
  2331. Fri_cpu_time_qos_background Tuint64_t
  2332. Fri_cpu_time_qos_utility Tuint64_t
  2333. Fri_cpu_time_qos_legacy Tuint64_t
  2334. Fri_cpu_time_qos_user_initiated Tuint64_t
  2335. Fri_cpu_time_qos_user_interactive Tuint64_t
  2336. Fri_billed_system_time Tuint64_t
  2337. Fri_serviced_system_time Tuint64_t
  2338. }
  2339. type Trusage_info_v4 = struct {
  2340. Fri_uuid [16]Tuint8_t
  2341. Fri_user_time Tuint64_t
  2342. Fri_system_time Tuint64_t
  2343. Fri_pkg_idle_wkups Tuint64_t
  2344. Fri_interrupt_wkups Tuint64_t
  2345. Fri_pageins Tuint64_t
  2346. Fri_wired_size Tuint64_t
  2347. Fri_resident_size Tuint64_t
  2348. Fri_phys_footprint Tuint64_t
  2349. Fri_proc_start_abstime Tuint64_t
  2350. Fri_proc_exit_abstime Tuint64_t
  2351. Fri_child_user_time Tuint64_t
  2352. Fri_child_system_time Tuint64_t
  2353. Fri_child_pkg_idle_wkups Tuint64_t
  2354. Fri_child_interrupt_wkups Tuint64_t
  2355. Fri_child_pageins Tuint64_t
  2356. Fri_child_elapsed_abstime Tuint64_t
  2357. Fri_diskio_bytesread Tuint64_t
  2358. Fri_diskio_byteswritten Tuint64_t
  2359. Fri_cpu_time_qos_default Tuint64_t
  2360. Fri_cpu_time_qos_maintenance Tuint64_t
  2361. Fri_cpu_time_qos_background Tuint64_t
  2362. Fri_cpu_time_qos_utility Tuint64_t
  2363. Fri_cpu_time_qos_legacy Tuint64_t
  2364. Fri_cpu_time_qos_user_initiated Tuint64_t
  2365. Fri_cpu_time_qos_user_interactive Tuint64_t
  2366. Fri_billed_system_time Tuint64_t
  2367. Fri_serviced_system_time Tuint64_t
  2368. Fri_logical_writes Tuint64_t
  2369. Fri_lifetime_max_phys_footprint Tuint64_t
  2370. Fri_instructions Tuint64_t
  2371. Fri_cycles Tuint64_t
  2372. Fri_billed_energy Tuint64_t
  2373. Fri_serviced_energy Tuint64_t
  2374. Fri_interval_max_phys_footprint Tuint64_t
  2375. Fri_runnable_time Tuint64_t
  2376. }
  2377. type Trusage_info_v5 = struct {
  2378. Fri_uuid [16]Tuint8_t
  2379. Fri_user_time Tuint64_t
  2380. Fri_system_time Tuint64_t
  2381. Fri_pkg_idle_wkups Tuint64_t
  2382. Fri_interrupt_wkups Tuint64_t
  2383. Fri_pageins Tuint64_t
  2384. Fri_wired_size Tuint64_t
  2385. Fri_resident_size Tuint64_t
  2386. Fri_phys_footprint Tuint64_t
  2387. Fri_proc_start_abstime Tuint64_t
  2388. Fri_proc_exit_abstime Tuint64_t
  2389. Fri_child_user_time Tuint64_t
  2390. Fri_child_system_time Tuint64_t
  2391. Fri_child_pkg_idle_wkups Tuint64_t
  2392. Fri_child_interrupt_wkups Tuint64_t
  2393. Fri_child_pageins Tuint64_t
  2394. Fri_child_elapsed_abstime Tuint64_t
  2395. Fri_diskio_bytesread Tuint64_t
  2396. Fri_diskio_byteswritten Tuint64_t
  2397. Fri_cpu_time_qos_default Tuint64_t
  2398. Fri_cpu_time_qos_maintenance Tuint64_t
  2399. Fri_cpu_time_qos_background Tuint64_t
  2400. Fri_cpu_time_qos_utility Tuint64_t
  2401. Fri_cpu_time_qos_legacy Tuint64_t
  2402. Fri_cpu_time_qos_user_initiated Tuint64_t
  2403. Fri_cpu_time_qos_user_interactive Tuint64_t
  2404. Fri_billed_system_time Tuint64_t
  2405. Fri_serviced_system_time Tuint64_t
  2406. Fri_logical_writes Tuint64_t
  2407. Fri_lifetime_max_phys_footprint Tuint64_t
  2408. Fri_instructions Tuint64_t
  2409. Fri_cycles Tuint64_t
  2410. Fri_billed_energy Tuint64_t
  2411. Fri_serviced_energy Tuint64_t
  2412. Fri_interval_max_phys_footprint Tuint64_t
  2413. Fri_runnable_time Tuint64_t
  2414. Fri_flags Tuint64_t
  2415. }
  2416. type Trusage_info_v6 = struct {
  2417. Fri_uuid [16]Tuint8_t
  2418. Fri_user_time Tuint64_t
  2419. Fri_system_time Tuint64_t
  2420. Fri_pkg_idle_wkups Tuint64_t
  2421. Fri_interrupt_wkups Tuint64_t
  2422. Fri_pageins Tuint64_t
  2423. Fri_wired_size Tuint64_t
  2424. Fri_resident_size Tuint64_t
  2425. Fri_phys_footprint Tuint64_t
  2426. Fri_proc_start_abstime Tuint64_t
  2427. Fri_proc_exit_abstime Tuint64_t
  2428. Fri_child_user_time Tuint64_t
  2429. Fri_child_system_time Tuint64_t
  2430. Fri_child_pkg_idle_wkups Tuint64_t
  2431. Fri_child_interrupt_wkups Tuint64_t
  2432. Fri_child_pageins Tuint64_t
  2433. Fri_child_elapsed_abstime Tuint64_t
  2434. Fri_diskio_bytesread Tuint64_t
  2435. Fri_diskio_byteswritten Tuint64_t
  2436. Fri_cpu_time_qos_default Tuint64_t
  2437. Fri_cpu_time_qos_maintenance Tuint64_t
  2438. Fri_cpu_time_qos_background Tuint64_t
  2439. Fri_cpu_time_qos_utility Tuint64_t
  2440. Fri_cpu_time_qos_legacy Tuint64_t
  2441. Fri_cpu_time_qos_user_initiated Tuint64_t
  2442. Fri_cpu_time_qos_user_interactive Tuint64_t
  2443. Fri_billed_system_time Tuint64_t
  2444. Fri_serviced_system_time Tuint64_t
  2445. Fri_logical_writes Tuint64_t
  2446. Fri_lifetime_max_phys_footprint Tuint64_t
  2447. Fri_instructions Tuint64_t
  2448. Fri_cycles Tuint64_t
  2449. Fri_billed_energy Tuint64_t
  2450. Fri_serviced_energy Tuint64_t
  2451. Fri_interval_max_phys_footprint Tuint64_t
  2452. Fri_runnable_time Tuint64_t
  2453. Fri_flags Tuint64_t
  2454. Fri_user_ptime Tuint64_t
  2455. Fri_system_ptime Tuint64_t
  2456. Fri_pinstructions Tuint64_t
  2457. Fri_pcycles Tuint64_t
  2458. Fri_energy_nj Tuint64_t
  2459. Fri_penergy_nj Tuint64_t
  2460. Fri_secure_time_in_system Tuint64_t
  2461. Fri_secure_ptime_in_system Tuint64_t
  2462. Fri_neural_footprint Tuint64_t
  2463. Fri_lifetime_max_neural_footprint Tuint64_t
  2464. Fri_interval_max_neural_footprint Tuint64_t
  2465. Fri_reserved [9]Tuint64_t
  2466. }
  2467. type Trusage_info_current = struct {
  2468. Fri_uuid [16]Tuint8_t
  2469. Fri_user_time Tuint64_t
  2470. Fri_system_time Tuint64_t
  2471. Fri_pkg_idle_wkups Tuint64_t
  2472. Fri_interrupt_wkups Tuint64_t
  2473. Fri_pageins Tuint64_t
  2474. Fri_wired_size Tuint64_t
  2475. Fri_resident_size Tuint64_t
  2476. Fri_phys_footprint Tuint64_t
  2477. Fri_proc_start_abstime Tuint64_t
  2478. Fri_proc_exit_abstime Tuint64_t
  2479. Fri_child_user_time Tuint64_t
  2480. Fri_child_system_time Tuint64_t
  2481. Fri_child_pkg_idle_wkups Tuint64_t
  2482. Fri_child_interrupt_wkups Tuint64_t
  2483. Fri_child_pageins Tuint64_t
  2484. Fri_child_elapsed_abstime Tuint64_t
  2485. Fri_diskio_bytesread Tuint64_t
  2486. Fri_diskio_byteswritten Tuint64_t
  2487. Fri_cpu_time_qos_default Tuint64_t
  2488. Fri_cpu_time_qos_maintenance Tuint64_t
  2489. Fri_cpu_time_qos_background Tuint64_t
  2490. Fri_cpu_time_qos_utility Tuint64_t
  2491. Fri_cpu_time_qos_legacy Tuint64_t
  2492. Fri_cpu_time_qos_user_initiated Tuint64_t
  2493. Fri_cpu_time_qos_user_interactive Tuint64_t
  2494. Fri_billed_system_time Tuint64_t
  2495. Fri_serviced_system_time Tuint64_t
  2496. Fri_logical_writes Tuint64_t
  2497. Fri_lifetime_max_phys_footprint Tuint64_t
  2498. Fri_instructions Tuint64_t
  2499. Fri_cycles Tuint64_t
  2500. Fri_billed_energy Tuint64_t
  2501. Fri_serviced_energy Tuint64_t
  2502. Fri_interval_max_phys_footprint Tuint64_t
  2503. Fri_runnable_time Tuint64_t
  2504. Fri_flags Tuint64_t
  2505. Fri_user_ptime Tuint64_t
  2506. Fri_system_ptime Tuint64_t
  2507. Fri_pinstructions Tuint64_t
  2508. Fri_pcycles Tuint64_t
  2509. Fri_energy_nj Tuint64_t
  2510. Fri_penergy_nj Tuint64_t
  2511. Fri_secure_time_in_system Tuint64_t
  2512. Fri_secure_ptime_in_system Tuint64_t
  2513. Fri_neural_footprint Tuint64_t
  2514. Fri_lifetime_max_neural_footprint Tuint64_t
  2515. Fri_interval_max_neural_footprint Tuint64_t
  2516. Fri_reserved [9]Tuint64_t
  2517. }
  2518. type Trlimit = struct {
  2519. Frlim_cur Trlim_t
  2520. Frlim_max Trlim_t
  2521. }
  2522. type Tproc_rlimit_control_wakeupmon = struct {
  2523. Fwm_flags Tuint32_t
  2524. Fwm_rate Tint32_t
  2525. }
  2526. type Twait = struct {
  2527. Fw_T [0]struct {
  2528. F__ccgo0 uint32
  2529. }
  2530. Fw_S [0]struct {
  2531. F__ccgo0 uint32
  2532. }
  2533. Fw_status int32
  2534. }
  2535. type Tct_rune_t = int32
  2536. type Trune_t = int32
  2537. type Twchar_t = int32
  2538. type Tdiv_t = struct {
  2539. Fquot int32
  2540. Frem int32
  2541. }
  2542. type Tldiv_t = struct {
  2543. Fquot int64
  2544. Frem int64
  2545. }
  2546. type Tlldiv_t = struct {
  2547. Fquot int64
  2548. Frem int64
  2549. }
  2550. type Tmalloc_type_id_t = uint64
  2551. type Tdev_t = int32
  2552. type Tmode_t = uint16
  2553. type Tva_list = uintptr
  2554. type Tfpos_t = int64
  2555. type t__sbuf = struct {
  2556. F_base uintptr
  2557. F_size int32
  2558. }
  2559. type TFILE = struct {
  2560. F_p uintptr
  2561. F_r int32
  2562. F_w int32
  2563. F_flags int16
  2564. F_file int16
  2565. F_bf t__sbuf
  2566. F_lbfsize int32
  2567. F_cookie uintptr
  2568. F_close uintptr
  2569. F_read uintptr
  2570. F_seek uintptr
  2571. F_write uintptr
  2572. F_ub t__sbuf
  2573. F_extra uintptr
  2574. F_ur int32
  2575. F_ubuf [3]uint8
  2576. F_nbuf [1]uint8
  2577. F_lb t__sbuf
  2578. F_blksize int32
  2579. F_offset Tfpos_t
  2580. }
  2581. type t__sFILE = TFILE
  2582. type Toff_t = int64
  2583. type Tssize_t = int64
  2584. type Trsize_t = uint64
  2585. type Terrno_t = int32
  2586. type Twint_t = int32
  2587. type T_RuneEntry = struct {
  2588. F__min t__darwin_rune_t
  2589. F__max t__darwin_rune_t
  2590. F__map t__darwin_rune_t
  2591. F__types uintptr
  2592. }
  2593. type T_RuneRange = struct {
  2594. F__nranges int32
  2595. F__ranges uintptr
  2596. }
  2597. type T_RuneCharClass = struct {
  2598. F__name [14]int8
  2599. F__mask t__uint32_t
  2600. }
  2601. type T_RuneLocale = struct {
  2602. F__magic [8]int8
  2603. F__encoding [32]int8
  2604. F__sgetrune uintptr
  2605. F__sputrune uintptr
  2606. F__invalid_rune t__darwin_rune_t
  2607. F__runetype [256]t__uint32_t
  2608. F__maplower [256]t__darwin_rune_t
  2609. F__mapupper [256]t__darwin_rune_t
  2610. F__runetype_ext T_RuneRange
  2611. F__maplower_ext T_RuneRange
  2612. F__mapupper_ext T_RuneRange
  2613. F__variable uintptr
  2614. F__variable_len int32
  2615. F__ncharclasses int32
  2616. F__charclasses uintptr
  2617. }
  2618. type Tfloat_t = float32
  2619. type Tdouble_t = float64
  2620. type t__float2 = struct {
  2621. F__sinval float32
  2622. F__cosval float32
  2623. }
  2624. type t__double2 = struct {
  2625. F__sinval float64
  2626. F__cosval float64
  2627. }
  2628. type Texception = struct {
  2629. Ftype1 int32
  2630. Fname uintptr
  2631. Farg1 float64
  2632. Farg2 float64
  2633. Fretval float64
  2634. }
  2635. type Taccessx_descriptor = struct {
  2636. Fad_name_offset uint32
  2637. Fad_flags int32
  2638. Fad_pad [2]int32
  2639. }
  2640. type Tgid_t = uint32
  2641. type Tuseconds_t = uint32
  2642. type Tfd_set = struct {
  2643. Ffds_bits [32]t__int32_t
  2644. }
  2645. type Ttimespec = struct {
  2646. Ftv_sec t__darwin_time_t
  2647. Ftv_nsec int64
  2648. }
  2649. type Ttime_t = int64
  2650. type Tsuseconds_t = int32
  2651. type Tuuid_t = [16]uint8
  2652. type Tptrdiff_t = int64
  2653. type Tmax_align_t = float64
  2654. type Tu_char = uint8
  2655. type Tu_short = uint16
  2656. type Tu_int = uint32
  2657. type Tu_long = uint64
  2658. type Tushort = uint16
  2659. type Tuint = uint32
  2660. type Tu_quad_t = uint64
  2661. type Tquad_t = int64
  2662. type Tqaddr_t = uintptr
  2663. type Tcaddr_t = uintptr
  2664. type Tdaddr_t = int32
  2665. type Tfixpt_t = uint32
  2666. type Tblkcnt_t = int64
  2667. type Tblksize_t = int32
  2668. type Tin_addr_t = uint32
  2669. type Tin_port_t = uint16
  2670. type Tino_t = uint64
  2671. type Tino64_t = uint64
  2672. type Tkey_t = int32
  2673. type Tnlink_t = uint16
  2674. type Tsegsz_t = int32
  2675. type Tswblk_t = int32
  2676. type Tclock_t = uint64
  2677. type Tfd_mask = int32
  2678. type Tpthread_cond_t = struct {
  2679. F__sig int64
  2680. F__opaque [40]int8
  2681. }
  2682. type Tpthread_condattr_t = struct {
  2683. F__sig int64
  2684. F__opaque [8]int8
  2685. }
  2686. type Tpthread_mutex_t = struct {
  2687. F__sig int64
  2688. F__opaque [56]int8
  2689. }
  2690. type Tpthread_mutexattr_t = struct {
  2691. F__sig int64
  2692. F__opaque [8]int8
  2693. }
  2694. type Tpthread_once_t = struct {
  2695. F__sig int64
  2696. F__opaque [8]int8
  2697. }
  2698. type Tpthread_rwlock_t = struct {
  2699. F__sig int64
  2700. F__opaque [192]int8
  2701. }
  2702. type Tpthread_rwlockattr_t = struct {
  2703. F__sig int64
  2704. F__opaque [16]int8
  2705. }
  2706. type Tpthread_t = uintptr
  2707. type Tpthread_key_t = uint64
  2708. type Tfsblkcnt_t = uint32
  2709. type Tfsfilcnt_t = uint32
  2710. type Tostat = struct {
  2711. Fst_dev t__uint16_t
  2712. Fst_ino Tino_t
  2713. Fst_mode Tmode_t
  2714. Fst_nlink Tnlink_t
  2715. Fst_uid t__uint16_t
  2716. Fst_gid t__uint16_t
  2717. Fst_rdev t__uint16_t
  2718. Fst_size t__int32_t
  2719. Fst_atimespec Ttimespec
  2720. Fst_mtimespec Ttimespec
  2721. Fst_ctimespec Ttimespec
  2722. Fst_blksize t__int32_t
  2723. Fst_blocks t__int32_t
  2724. Fst_flags t__uint32_t
  2725. Fst_gen t__uint32_t
  2726. }
  2727. type Tstat = struct {
  2728. Fst_dev Tdev_t
  2729. Fst_mode Tmode_t
  2730. Fst_nlink Tnlink_t
  2731. Fst_ino t__darwin_ino64_t
  2732. Fst_uid Tuid_t
  2733. Fst_gid Tgid_t
  2734. Fst_rdev Tdev_t
  2735. Fst_atimespec Ttimespec
  2736. Fst_mtimespec Ttimespec
  2737. Fst_ctimespec Ttimespec
  2738. Fst_birthtimespec Ttimespec
  2739. Fst_size Toff_t
  2740. Fst_blocks Tblkcnt_t
  2741. Fst_blksize Tblksize_t
  2742. Fst_flags t__uint32_t
  2743. Fst_gen t__uint32_t
  2744. Fst_lspare t__int32_t
  2745. Fst_qspare [2]t__int64_t
  2746. }
  2747. type Tfilesec_t = uintptr
  2748. type Ttm = struct {
  2749. Ftm_sec int32
  2750. Ftm_min int32
  2751. Ftm_hour int32
  2752. Ftm_mday int32
  2753. Ftm_mon int32
  2754. Ftm_year int32
  2755. Ftm_wday int32
  2756. Ftm_yday int32
  2757. Ftm_isdst int32
  2758. Ftm_gmtoff int64
  2759. Ftm_zone uintptr
  2760. } //TODO "timezone" // _time.h:103:13:
  2761. type Tclockid_t = int32
  2762. const __CLOCK_REALTIME = 0
  2763. const __CLOCK_MONOTONIC = 6
  2764. const __CLOCK_MONOTONIC_RAW = 4
  2765. const __CLOCK_MONOTONIC_RAW_APPROX = 5
  2766. const __CLOCK_UPTIME_RAW = 8
  2767. const __CLOCK_UPTIME_RAW_APPROX = 9
  2768. const __CLOCK_PROCESS_CPUTIME_ID = 12
  2769. const __CLOCK_THREAD_CPUTIME_ID = 16
  2770. type t__gnuc_va_list = uintptr
  2771. type TFcChar8 = uint8
  2772. type TFcChar16 = uint16
  2773. type TFcChar32 = uint32
  2774. type TFcBool = int32
  2775. type TFcType = int32
  2776. type __FcType = int32
  2777. const _FcTypeUnknown = -1
  2778. const _FcTypeVoid = 0
  2779. const _FcTypeInteger = 1
  2780. const _FcTypeDouble = 2
  2781. const _FcTypeString = 3
  2782. const _FcTypeBool = 4
  2783. const _FcTypeMatrix = 5
  2784. const _FcTypeCharSet = 6
  2785. const _FcTypeFTFace = 7
  2786. const _FcTypeLangSet = 8
  2787. const _FcTypeRange = 9
  2788. type TFcMatrix = struct {
  2789. Fxx float64
  2790. Fxy float64
  2791. Fyx float64
  2792. Fyy float64
  2793. }
  2794. type T_FcMatrix = TFcMatrix
  2795. type TFcCharSet = struct {
  2796. Fref TFcRef
  2797. Fnum int32
  2798. Fleaves_offset Tintptr_t
  2799. Fnumbers_offset Tintptr_t
  2800. }
  2801. type T_FcCharSet = TFcCharSet
  2802. type TFcObjectType = struct {
  2803. Fobject uintptr
  2804. Ftype1 TFcType
  2805. }
  2806. type T_FcObjectType = TFcObjectType
  2807. type TFcConstant = struct {
  2808. Fname uintptr
  2809. Fobject uintptr
  2810. Fvalue int32
  2811. }
  2812. type T_FcConstant = TFcConstant
  2813. type TFcResult = int32
  2814. type __FcResult = int32
  2815. const _FcResultMatch = 0
  2816. const _FcResultNoMatch = 1
  2817. const _FcResultTypeMismatch = 2
  2818. const _FcResultNoId = 3
  2819. const _FcResultOutOfMemory = 4
  2820. type TFcValueBinding = int32
  2821. type __FcValueBinding = int32
  2822. const _FcValueBindingWeak = 0
  2823. const _FcValueBindingStrong = 1
  2824. const _FcValueBindingSame = 2
  2825. const _FcValueBindingEnd = 2147483647
  2826. type TFcPattern = struct {
  2827. Fnum int32
  2828. Fsize int32
  2829. Felts_offset Tintptr_t
  2830. Fref TFcRef
  2831. }
  2832. type T_FcPattern = TFcPattern
  2833. type TFcPatternIter = struct {
  2834. Fdummy1 uintptr
  2835. Fdummy2 uintptr
  2836. }
  2837. type T_FcPatternIter = TFcPatternIter
  2838. type TFcRange = struct {
  2839. Fbegin float64
  2840. Fend float64
  2841. }
  2842. type T_FcRange = TFcRange
  2843. type TFcValue = struct {
  2844. Ftype1 TFcType
  2845. Fu struct {
  2846. Fi [0]int32
  2847. Fb [0]TFcBool
  2848. Fd [0]float64
  2849. Fm [0]uintptr
  2850. Fc [0]uintptr
  2851. Ff [0]uintptr
  2852. Fl [0]uintptr
  2853. Fr [0]uintptr
  2854. Fs uintptr
  2855. }
  2856. }
  2857. type T_FcValue = TFcValue
  2858. type TFcFontSet = struct {
  2859. Fnfont int32
  2860. Fsfont int32
  2861. Ffonts uintptr
  2862. }
  2863. type T_FcFontSet = TFcFontSet
  2864. type TFcObjectSet = struct {
  2865. Fnobject int32
  2866. Fsobject int32
  2867. Fobjects uintptr
  2868. }
  2869. type T_FcObjectSet = TFcObjectSet
  2870. type TFcMatchKind = int32
  2871. type __FcMatchKind = int32
  2872. const _FcMatchPattern = 0
  2873. const _FcMatchFont = 1
  2874. const _FcMatchScan = 2
  2875. const _FcMatchKindEnd = 3
  2876. const _FcMatchKindBegin = 0
  2877. type TFcLangResult = int32
  2878. type __FcLangResult = int32
  2879. const _FcLangEqual = 0
  2880. const _FcLangDifferentCountry = 1
  2881. const _FcLangDifferentTerritory = 1
  2882. const _FcLangDifferentLang = 2
  2883. type TFcSetName = int32
  2884. type __FcSetName = int32
  2885. const _FcSetSystem = 0
  2886. const _FcSetApplication = 1
  2887. type TFcConfigFileInfoIter = struct {
  2888. Fdummy1 uintptr
  2889. Fdummy2 uintptr
  2890. Fdummy3 uintptr
  2891. }
  2892. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  2893. type TFcAtomic = struct {
  2894. Ffile uintptr
  2895. Fnew1 uintptr
  2896. Flck uintptr
  2897. Ftmp uintptr
  2898. }
  2899. type T_FcAtomic = TFcAtomic
  2900. type TFcEndian = int32
  2901. const _FcEndianBig = 0
  2902. const _FcEndianLittle = 1
  2903. type TFcConfig = struct {
  2904. FconfigDirs uintptr
  2905. FconfigMapDirs uintptr
  2906. FfontDirs uintptr
  2907. FcacheDirs uintptr
  2908. FconfigFiles uintptr
  2909. Fsubst [3]uintptr
  2910. FmaxObjects int32
  2911. FacceptGlobs uintptr
  2912. FrejectGlobs uintptr
  2913. FacceptPatterns uintptr
  2914. FrejectPatterns uintptr
  2915. Ffonts [2]uintptr
  2916. FrescanTime Ttime_t
  2917. FrescanInterval int32
  2918. Fref TFcRef
  2919. Fexpr_pool uintptr
  2920. FsysRoot uintptr
  2921. FavailConfigFiles uintptr
  2922. FrulesetList uintptr
  2923. }
  2924. type T_FcConfig = TFcConfig
  2925. type TFcStrList = struct {
  2926. Fset uintptr
  2927. Fn int32
  2928. }
  2929. type T_FcStrList = TFcStrList
  2930. type TFcStrSet = struct {
  2931. Fref TFcRef
  2932. Fnum int32
  2933. Fsize int32
  2934. Fstrs uintptr
  2935. Fcontrol uint32
  2936. }
  2937. type T_FcStrSet = TFcStrSet
  2938. type TFcCache = struct {
  2939. Fmagic uint32
  2940. Fversion int32
  2941. Fsize Tintptr_t
  2942. Fdir Tintptr_t
  2943. Fdirs Tintptr_t
  2944. Fdirs_count int32
  2945. Fset Tintptr_t
  2946. Fchecksum int32
  2947. Fchecksum_nano Tint64_t
  2948. }
  2949. type T_FcCache = TFcCache
  2950. type Tfc_mutex_impl_t = int32
  2951. type TFcMutex = int32
  2952. type Tfc_atomic_int_t = int32
  2953. type TFcRef = struct {
  2954. Fcount Tfc_atomic_int_t
  2955. }
  2956. type T_FcRef = TFcRef
  2957. type T_static_assert_on_line_141_failed = [1]int32
  2958. type TFcValueListPtr = uintptr
  2959. type T_FcValueList = struct {
  2960. Fnext uintptr
  2961. Fvalue TFcValue
  2962. Fbinding TFcValueBinding
  2963. }
  2964. type TFcValueList = struct {
  2965. Fnext uintptr
  2966. Fvalue TFcValue
  2967. Fbinding TFcValueBinding
  2968. }
  2969. type TFcObject = int32
  2970. type TFcPatternEltPtr = uintptr
  2971. type T_FcPatternElt = struct {
  2972. Fobject TFcObject
  2973. Fvalues uintptr
  2974. }
  2975. type TFcPatternElt = struct {
  2976. Fobject TFcObject
  2977. Fvalues uintptr
  2978. }
  2979. type TFcOp = int32
  2980. type __FcOp = int32
  2981. const _FcOpInteger = 0
  2982. const _FcOpDouble = 1
  2983. const _FcOpString = 2
  2984. const _FcOpMatrix = 3
  2985. const _FcOpRange = 4
  2986. const _FcOpBool = 5
  2987. const _FcOpCharSet = 6
  2988. const _FcOpLangSet = 7
  2989. const _FcOpNil = 8
  2990. const _FcOpField = 9
  2991. const _FcOpConst = 10
  2992. const _FcOpAssign = 11
  2993. const _FcOpAssignReplace = 12
  2994. const _FcOpPrependFirst = 13
  2995. const _FcOpPrepend = 14
  2996. const _FcOpAppend = 15
  2997. const _FcOpAppendLast = 16
  2998. const _FcOpDelete = 17
  2999. const _FcOpDeleteAll = 18
  3000. const _FcOpQuest = 19
  3001. const _FcOpOr = 20
  3002. const _FcOpAnd = 21
  3003. const _FcOpEqual = 22
  3004. const _FcOpNotEqual = 23
  3005. const _FcOpContains = 24
  3006. const _FcOpListing = 25
  3007. const _FcOpNotContains = 26
  3008. const _FcOpLess = 27
  3009. const _FcOpLessEqual = 28
  3010. const _FcOpMore = 29
  3011. const _FcOpMoreEqual = 30
  3012. const _FcOpPlus = 31
  3013. const _FcOpMinus = 32
  3014. const _FcOpTimes = 33
  3015. const _FcOpDivide = 34
  3016. const _FcOpNot = 35
  3017. const _FcOpComma = 36
  3018. const _FcOpFloor = 37
  3019. const _FcOpCeil = 38
  3020. const _FcOpRound = 39
  3021. const _FcOpTrunc = 40
  3022. const _FcOpInvalid = 41
  3023. type TFcOpFlags = int32
  3024. type __FcOpFlags = int32
  3025. const _FcOpFlagIgnoreBlanks = 1
  3026. type TFcExprMatrix = struct {
  3027. Fxx uintptr
  3028. Fxy uintptr
  3029. Fyx uintptr
  3030. Fyy uintptr
  3031. }
  3032. type T_FcExprMatrix = TFcExprMatrix
  3033. type TFcExprName = struct {
  3034. Fobject TFcObject
  3035. Fkind TFcMatchKind
  3036. }
  3037. type T_FcExprName = TFcExprName
  3038. type TFcExpr = struct {
  3039. Fop TFcOp
  3040. Fu struct {
  3041. Fdval [0]float64
  3042. Fsval [0]uintptr
  3043. Fmexpr [0]uintptr
  3044. Fbval [0]TFcBool
  3045. Fcval [0]uintptr
  3046. Flval [0]uintptr
  3047. Frval [0]uintptr
  3048. Fname [0]TFcExprName
  3049. Fconstant [0]uintptr
  3050. Ftree [0]struct {
  3051. Fleft uintptr
  3052. Fright uintptr
  3053. }
  3054. Fival int32
  3055. F__ccgo_pad11 [12]byte
  3056. }
  3057. }
  3058. type T_FcExpr = TFcExpr
  3059. type TFcExprPage = struct {
  3060. Fnext_page uintptr
  3061. Fnext uintptr
  3062. Fexprs [340]TFcExpr
  3063. }
  3064. type T_FcExprPage = TFcExprPage
  3065. type TFcQual = int32
  3066. type __FcQual = int32
  3067. const _FcQualAny = 0
  3068. const _FcQualAll = 1
  3069. const _FcQualFirst = 2
  3070. const _FcQualNotFirst = 3
  3071. type TFcTest = struct {
  3072. Fkind TFcMatchKind
  3073. Fqual TFcQual
  3074. Fobject TFcObject
  3075. Fop TFcOp
  3076. Fexpr uintptr
  3077. }
  3078. type T_FcTest = TFcTest
  3079. type TFcEdit = struct {
  3080. Fobject TFcObject
  3081. Fop TFcOp
  3082. Fexpr uintptr
  3083. Fbinding TFcValueBinding
  3084. }
  3085. type T_FcEdit = TFcEdit
  3086. type TFcDestroyFunc = uintptr
  3087. type TFcPtrListIter = struct {
  3088. Fdummy1 uintptr
  3089. Fdummy2 uintptr
  3090. Fdummy3 uintptr
  3091. }
  3092. type T_FcPtrListIter = TFcPtrListIter
  3093. type TFcRuleType = int32
  3094. type __FcRuleType = int32
  3095. const _FcRuleUnknown = 0
  3096. const _FcRuleTest = 1
  3097. const _FcRuleEdit = 2
  3098. type TFcRule = struct {
  3099. Fnext uintptr
  3100. Ftype1 TFcRuleType
  3101. Fu struct {
  3102. Fedit [0]uintptr
  3103. Ftest uintptr
  3104. }
  3105. }
  3106. type T_FcRule = TFcRule
  3107. type TFcRuleSet = struct {
  3108. Fref TFcRef
  3109. Fname uintptr
  3110. Fdescription uintptr
  3111. Fdomain uintptr
  3112. Fenabled TFcBool
  3113. Fsubst [3]uintptr
  3114. }
  3115. type T_FcRuleSet = TFcRuleSet
  3116. type TFcCharLeaf = struct {
  3117. Fmap1 [8]TFcChar32
  3118. }
  3119. type T_FcCharLeaf = TFcCharLeaf
  3120. type TFcStrBuf = struct {
  3121. Fbuf uintptr
  3122. Fallocated TFcBool
  3123. Ffailed TFcBool
  3124. Flen1 int32
  3125. Fsize int32
  3126. Fbuf_static [128]TFcChar8
  3127. }
  3128. type T_FcStrBuf = TFcStrBuf
  3129. type TFcHashFunc = uintptr
  3130. type TFcCompareFunc = uintptr
  3131. type TFcCopyFunc = uintptr
  3132. type TFcAlign = struct {
  3133. Fi [0]int32
  3134. Fip [0]Tintptr_t
  3135. Fb [0]TFcBool
  3136. Fp [0]uintptr
  3137. Fd float64
  3138. }
  3139. type T_FcAlign = TFcAlign
  3140. type TFcSerializeBucket = struct {
  3141. Fobject uintptr
  3142. Fhash Tuintptr_t
  3143. Foffset Tintptr_t
  3144. }
  3145. type T_FcSerializeBucket = TFcSerializeBucket
  3146. type TFcSerialize = struct {
  3147. Fsize Tintptr_t
  3148. Fcs_freezer uintptr
  3149. Flinear uintptr
  3150. Fbuckets uintptr
  3151. Fbuckets_count Tsize_t
  3152. Fbuckets_used Tsize_t
  3153. Fbuckets_used_max Tsize_t
  3154. }
  3155. type T_FcSerialize = TFcSerialize
  3156. type TFcGlyphName = struct {
  3157. Fucs TFcChar32
  3158. Fname [1]TFcChar8
  3159. }
  3160. type T_FcGlyphName = TFcGlyphName
  3161. type TFcCaseFold = struct {
  3162. Fupper TFcChar32
  3163. F__ccgo4 uint16
  3164. Foffset int16
  3165. }
  3166. type T_FcCaseFold = TFcCaseFold
  3167. type TFcFileTime = struct {
  3168. Ftime Ttime_t
  3169. Fset TFcBool
  3170. }
  3171. type T_FcFileTime = TFcFileTime
  3172. type TFcStatFS = struct {
  3173. Fis_remote_fs TFcBool
  3174. Fis_mtime_broken TFcBool
  3175. }
  3176. type T_FcStatFS = TFcStatFS
  3177. type TFcValuePromotionBuffer = struct {
  3178. Fu struct {
  3179. Fi [0]int32
  3180. Fl [0]int64
  3181. Fc [0][256]int8
  3182. Fd float64
  3183. F__ccgo_pad4 [248]byte
  3184. }
  3185. }
  3186. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  3187. const _FC_INVALID_OBJECT = 0
  3188. const _FC_FAMILY_OBJECT = 1
  3189. const _FC_FAMILYLANG_OBJECT = 2
  3190. const _FC_STYLE_OBJECT = 3
  3191. const _FC_STYLELANG_OBJECT = 4
  3192. const _FC_FULLNAME_OBJECT = 5
  3193. const _FC_FULLNAMELANG_OBJECT = 6
  3194. const _FC_SLANT_OBJECT = 7
  3195. const _FC_WEIGHT_OBJECT = 8
  3196. const _FC_WIDTH_OBJECT = 9
  3197. const _FC_SIZE_OBJECT = 10
  3198. const _FC_ASPECT_OBJECT = 11
  3199. const _FC_PIXEL_SIZE_OBJECT = 12
  3200. const _FC_SPACING_OBJECT = 13
  3201. const _FC_FOUNDRY_OBJECT = 14
  3202. const _FC_ANTIALIAS_OBJECT = 15
  3203. const _FC_HINT_STYLE_OBJECT = 16
  3204. const _FC_HINTING_OBJECT = 17
  3205. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  3206. const _FC_AUTOHINT_OBJECT = 19
  3207. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  3208. const _FC_FILE_OBJECT = 21
  3209. const _FC_INDEX_OBJECT = 22
  3210. const _FC_RASTERIZER_OBJECT = 23
  3211. const _FC_OUTLINE_OBJECT = 24
  3212. const _FC_SCALABLE_OBJECT = 25
  3213. const _FC_DPI_OBJECT = 26
  3214. const _FC_RGBA_OBJECT = 27
  3215. const _FC_SCALE_OBJECT = 28
  3216. const _FC_MINSPACE_OBJECT = 29
  3217. const _FC_CHARWIDTH_OBJECT = 30
  3218. const _FC_CHAR_HEIGHT_OBJECT = 31
  3219. const _FC_MATRIX_OBJECT = 32
  3220. const _FC_CHARSET_OBJECT = 33
  3221. const _FC_LANG_OBJECT = 34
  3222. const _FC_FONTVERSION_OBJECT = 35
  3223. const _FC_CAPABILITY_OBJECT = 36
  3224. const _FC_FONTFORMAT_OBJECT = 37
  3225. const _FC_EMBOLDEN_OBJECT = 38
  3226. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  3227. const _FC_DECORATIVE_OBJECT = 40
  3228. const _FC_LCD_FILTER_OBJECT = 41
  3229. const _FC_NAMELANG_OBJECT = 42
  3230. const _FC_FONT_FEATURES_OBJECT = 43
  3231. const _FC_PRGNAME_OBJECT = 44
  3232. const _FC_HASH_OBJECT = 45
  3233. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  3234. const _FC_COLOR_OBJECT = 47
  3235. const _FC_SYMBOL_OBJECT = 48
  3236. const _FC_FONT_VARIATIONS_OBJECT = 49
  3237. const _FC_VARIABLE_OBJECT = 50
  3238. const _FC_FONT_HAS_HINT_OBJECT = 51
  3239. const _FC_ORDER_OBJECT = 52
  3240. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  3241. /*
  3242. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  3243. *
  3244. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3245. *
  3246. * This file contains Original Code and/or Modifications of Original Code
  3247. * as defined in and that are subject to the Apple Public Source License
  3248. * Version 2.0 (the 'License'). You may not use this file except in
  3249. * compliance with the License. The rights granted to you under the License
  3250. * may not be used to create, or enable the creation or redistribution of,
  3251. * unlawful or unlicensed copies of an Apple operating system, or to
  3252. * circumvent, violate, or enable the circumvention or violation of, any
  3253. * terms of an Apple operating system software license agreement.
  3254. *
  3255. * Please obtain a copy of the License at
  3256. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3257. *
  3258. * The Original Code and all software distributed under the License are
  3259. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3260. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3261. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3262. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3263. * Please see the License for the specific language governing rights and
  3264. * limitations under the License.
  3265. *
  3266. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3267. */
  3268. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3269. /*
  3270. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  3271. * The Regents of the University of California. All rights reserved.
  3272. * (c) UNIX System Laboratories, Inc.
  3273. * All or some portions of this file are derived from material licensed
  3274. * to the University of California by American Telephone and Telegraph
  3275. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3276. * the permission of UNIX System Laboratories, Inc.
  3277. *
  3278. * Redistribution and use in source and binary forms, with or without
  3279. * modification, are permitted provided that the following conditions
  3280. * are met:
  3281. * 1. Redistributions of source code must retain the above copyright
  3282. * notice, this list of conditions and the following disclaimer.
  3283. * 2. Redistributions in binary form must reproduce the above copyright
  3284. * notice, this list of conditions and the following disclaimer in the
  3285. * documentation and/or other materials provided with the distribution.
  3286. * 3. All advertising materials mentioning features or use of this software
  3287. * must display the following acknowledgement:
  3288. * This product includes software developed by the University of
  3289. * California, Berkeley and its contributors.
  3290. * 4. Neither the name of the University nor the names of its contributors
  3291. * may be used to endorse or promote products derived from this software
  3292. * without specific prior written permission.
  3293. *
  3294. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3295. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3296. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3297. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3298. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3299. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3300. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3301. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3302. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3303. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3304. * SUCH DAMAGE.
  3305. *
  3306. * @(#)types.h 8.4 (Berkeley) 1/21/94
  3307. */
  3308. /*
  3309. * Copyright (c) 2000-2014 Apple Inc. All rights reserved.
  3310. *
  3311. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3312. *
  3313. * This file contains Original Code and/or Modifications of Original Code
  3314. * as defined in and that are subject to the Apple Public Source License
  3315. * Version 2.0 (the 'License'). You may not use this file except in
  3316. * compliance with the License. The rights granted to you under the License
  3317. * may not be used to create, or enable the creation or redistribution of,
  3318. * unlawful or unlicensed copies of an Apple operating system, or to
  3319. * circumvent, violate, or enable the circumvention or violation of, any
  3320. * terms of an Apple operating system software license agreement.
  3321. *
  3322. * Please obtain a copy of the License at
  3323. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3324. *
  3325. * The Original Code and all software distributed under the License are
  3326. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3327. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3328. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3329. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3330. * Please see the License for the specific language governing rights and
  3331. * limitations under the License.
  3332. *
  3333. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3334. */
  3335. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3336. /*-
  3337. * Copyright (c) 1982, 1986, 1989, 1993
  3338. * The Regents of the University of California. All rights reserved.
  3339. * (c) UNIX System Laboratories, Inc.
  3340. * All or some portions of this file are derived from material licensed
  3341. * to the University of California by American Telephone and Telegraph
  3342. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3343. * the permission of UNIX System Laboratories, Inc.
  3344. *
  3345. * Redistribution and use in source and binary forms, with or without
  3346. * modification, are permitted provided that the following conditions
  3347. * are met:
  3348. * 1. Redistributions of source code must retain the above copyright
  3349. * notice, this list of conditions and the following disclaimer.
  3350. * 2. Redistributions in binary form must reproduce the above copyright
  3351. * notice, this list of conditions and the following disclaimer in the
  3352. * documentation and/or other materials provided with the distribution.
  3353. * 3. All advertising materials mentioning features or use of this software
  3354. * must display the following acknowledgement:
  3355. * This product includes software developed by the University of
  3356. * California, Berkeley and its contributors.
  3357. * 4. Neither the name of the University nor the names of its contributors
  3358. * may be used to endorse or promote products derived from this software
  3359. * without specific prior written permission.
  3360. *
  3361. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3362. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3363. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3364. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3365. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3366. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3367. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3368. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3369. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3370. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3371. * SUCH DAMAGE.
  3372. *
  3373. * @(#)stat.h 8.9 (Berkeley) 8/17/94
  3374. */
  3375. /*
  3376. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  3377. *
  3378. * @APPLE_LICENSE_HEADER_START@
  3379. *
  3380. * This file contains Original Code and/or Modifications of Original Code
  3381. * as defined in and that are subject to the Apple Public Source License
  3382. * Version 2.0 (the 'License'). You may not use this file except in
  3383. * compliance with the License. Please obtain a copy of the License at
  3384. * http://www.opensource.apple.com/apsl/ and read it before using this
  3385. * file.
  3386. *
  3387. * The Original Code and all software distributed under the License are
  3388. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3389. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3390. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3391. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3392. * Please see the License for the specific language governing rights and
  3393. * limitations under the License.
  3394. *
  3395. * @APPLE_LICENSE_HEADER_END@
  3396. */
  3397. /*-
  3398. * Copyright (c) 1990, 1993
  3399. * The Regents of the University of California. All rights reserved.
  3400. *
  3401. * Redistribution and use in source and binary forms, with or without
  3402. * modification, are permitted provided that the following conditions
  3403. * are met:
  3404. * 1. Redistributions of source code must retain the above copyright
  3405. * notice, this list of conditions and the following disclaimer.
  3406. * 2. Redistributions in binary form must reproduce the above copyright
  3407. * notice, this list of conditions and the following disclaimer in the
  3408. * documentation and/or other materials provided with the distribution.
  3409. * 3. All advertising materials mentioning features or use of this software
  3410. * must display the following acknowledgement:
  3411. * This product includes software developed by the University of
  3412. * California, Berkeley and its contributors.
  3413. * 4. Neither the name of the University nor the names of its contributors
  3414. * may be used to endorse or promote products derived from this software
  3415. * without specific prior written permission.
  3416. *
  3417. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3418. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3419. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3420. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3421. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3422. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3423. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3424. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3425. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3426. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3427. * SUCH DAMAGE.
  3428. *
  3429. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  3430. */
  3431. /*
  3432. * Copyright (c) 2023 Apple Inc. All rights reserved.
  3433. *
  3434. * @APPLE_LICENSE_HEADER_START@
  3435. *
  3436. * This file contains Original Code and/or Modifications of Original Code
  3437. * as defined in and that are subject to the Apple Public Source License
  3438. * Version 2.0 (the 'License'). You may not use this file except in
  3439. * compliance with the License. Please obtain a copy of the License at
  3440. * http://www.opensource.apple.com/apsl/ and read it before using this
  3441. * file.
  3442. *
  3443. * The Original Code and all software distributed under the License are
  3444. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3445. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3446. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3447. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3448. * Please see the License for the specific language governing rights and
  3449. * limitations under the License.
  3450. *
  3451. * @APPLE_LICENSE_HEADER_END@
  3452. */
  3453. /*-
  3454. * Copyright (c) 1990, 1993
  3455. * The Regents of the University of California. All rights reserved.
  3456. *
  3457. * Redistribution and use in source and binary forms, with or without
  3458. * modification, are permitted provided that the following conditions
  3459. * are met:
  3460. * 1. Redistributions of source code must retain the above copyright
  3461. * notice, this list of conditions and the following disclaimer.
  3462. * 2. Redistributions in binary form must reproduce the above copyright
  3463. * notice, this list of conditions and the following disclaimer in the
  3464. * documentation and/or other materials provided with the distribution.
  3465. * 3. All advertising materials mentioning features or use of this software
  3466. * must display the following acknowledgement:
  3467. * This product includes software developed by the University of
  3468. * California, Berkeley and its contributors.
  3469. * 4. Neither the name of the University nor the names of its contributors
  3470. * may be used to endorse or promote products derived from this software
  3471. * without specific prior written permission.
  3472. *
  3473. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3474. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3475. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3476. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3477. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3478. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3479. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3480. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3481. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3482. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3483. * SUCH DAMAGE.
  3484. *
  3485. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  3486. */
  3487. /*
  3488. * Copyright (c) 2000, 2023 Apple Computer, Inc. All rights reserved.
  3489. *
  3490. * @APPLE_LICENSE_HEADER_START@
  3491. *
  3492. * This file contains Original Code and/or Modifications of Original Code
  3493. * as defined in and that are subject to the Apple Public Source License
  3494. * Version 2.0 (the 'License'). You may not use this file except in
  3495. * compliance with the License. Please obtain a copy of the License at
  3496. * http://www.opensource.apple.com/apsl/ and read it before using this
  3497. * file.
  3498. *
  3499. * The Original Code and all software distributed under the License are
  3500. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3501. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3502. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3503. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3504. * Please see the License for the specific language governing rights and
  3505. * limitations under the License.
  3506. *
  3507. * @APPLE_LICENSE_HEADER_END@
  3508. */
  3509. /*
  3510. * Copyright (c) 1989, 1993
  3511. * The Regents of the University of California. All rights reserved.
  3512. * (c) UNIX System Laboratories, Inc.
  3513. * All or some portions of this file are derived from material licensed
  3514. * to the University of California by American Telephone and Telegraph
  3515. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3516. * the permission of UNIX System Laboratories, Inc.
  3517. *
  3518. * Redistribution and use in source and binary forms, with or without
  3519. * modification, are permitted provided that the following conditions
  3520. * are met:
  3521. * 1. Redistributions of source code must retain the above copyright
  3522. * notice, this list of conditions and the following disclaimer.
  3523. * 2. Redistributions in binary form must reproduce the above copyright
  3524. * notice, this list of conditions and the following disclaimer in the
  3525. * documentation and/or other materials provided with the distribution.
  3526. * 3. All advertising materials mentioning features or use of this software
  3527. * must display the following acknowledgement:
  3528. * This product includes software developed by the University of
  3529. * California, Berkeley and its contributors.
  3530. * 4. Neither the name of the University nor the names of its contributors
  3531. * may be used to endorse or promote products derived from this software
  3532. * without specific prior written permission.
  3533. *
  3534. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3535. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3536. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3537. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3538. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3539. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3540. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3541. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3542. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3543. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3544. * SUCH DAMAGE.
  3545. *
  3546. * @(#)time.h 8.3 (Berkeley) 1/21/94
  3547. */
  3548. /*
  3549. * Copyright (c) 2023 Apple Computer, Inc. All rights reserved.
  3550. *
  3551. * @APPLE_LICENSE_HEADER_START@
  3552. *
  3553. * This file contains Original Code and/or Modifications of Original Code
  3554. * as defined in and that are subject to the Apple Public Source License
  3555. * Version 2.0 (the 'License'). You may not use this file except in
  3556. * compliance with the License. Please obtain a copy of the License at
  3557. * http://www.opensource.apple.com/apsl/ and read it before using this
  3558. * file.
  3559. *
  3560. * The Original Code and all software distributed under the License are
  3561. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3562. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3563. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3564. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3565. * Please see the License for the specific language governing rights and
  3566. * limitations under the License.
  3567. *
  3568. * @APPLE_LICENSE_HEADER_END@
  3569. */
  3570. /*
  3571. * Copyright (c) 1989, 1993
  3572. * The Regents of the University of California. All rights reserved.
  3573. * (c) UNIX System Laboratories, Inc.
  3574. * All or some portions of this file are derived from material licensed
  3575. * to the University of California by American Telephone and Telegraph
  3576. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3577. * the permission of UNIX System Laboratories, Inc.
  3578. *
  3579. * Redistribution and use in source and binary forms, with or without
  3580. * modification, are permitted provided that the following conditions
  3581. * are met:
  3582. * 1. Redistributions of source code must retain the above copyright
  3583. * notice, this list of conditions and the following disclaimer.
  3584. * 2. Redistributions in binary form must reproduce the above copyright
  3585. * notice, this list of conditions and the following disclaimer in the
  3586. * documentation and/or other materials provided with the distribution.
  3587. * 3. All advertising materials mentioning features or use of this software
  3588. * must display the following acknowledgement:
  3589. * This product includes software developed by the University of
  3590. * California, Berkeley and its contributors.
  3591. * 4. Neither the name of the University nor the names of its contributors
  3592. * may be used to endorse or promote products derived from this software
  3593. * without specific prior written permission.
  3594. *
  3595. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3596. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3597. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3598. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3599. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3600. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3601. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3602. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3603. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3604. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3605. * SUCH DAMAGE.
  3606. *
  3607. * @(#)time.h 8.3 (Berkeley) 1/21/94
  3608. */
  3609. /*
  3610. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  3611. *
  3612. * @APPLE_LICENSE_HEADER_START@
  3613. *
  3614. * This file contains Original Code and/or Modifications of Original Code
  3615. * as defined in and that are subject to the Apple Public Source License
  3616. * Version 2.0 (the 'License'). You may not use this file except in
  3617. * compliance with the License. Please obtain a copy of the License at
  3618. * http://www.opensource.apple.com/apsl/ and read it before using this
  3619. * file.
  3620. *
  3621. * The Original Code and all software distributed under the License are
  3622. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3623. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3624. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3625. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3626. * Please see the License for the specific language governing rights and
  3627. * limitations under the License.
  3628. *
  3629. * @APPLE_LICENSE_HEADER_END@
  3630. */
  3631. /*-
  3632. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  3633. * Copyright (c) 1991, 1993, 1994
  3634. * The Regents of the University of California. All rights reserved.
  3635. *
  3636. * Redistribution and use in source and binary forms, with or without
  3637. * modification, are permitted provided that the following conditions
  3638. * are met:
  3639. * 1. Redistributions of source code must retain the above copyright
  3640. * notice, this list of conditions and the following disclaimer.
  3641. * 2. Redistributions in binary form must reproduce the above copyright
  3642. * notice, this list of conditions and the following disclaimer in the
  3643. * documentation and/or other materials provided with the distribution.
  3644. * 3. All advertising materials mentioning features or use of this software
  3645. * must display the following acknowledgement:
  3646. * This product includes software developed by the University of
  3647. * California, Berkeley and its contributors.
  3648. * 4. Neither the name of the University nor the names of its contributors
  3649. * may be used to endorse or promote products derived from this software
  3650. * without specific prior written permission.
  3651. *
  3652. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3653. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3654. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3655. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3656. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3657. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3658. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3659. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3660. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3661. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3662. * SUCH DAMAGE.
  3663. *
  3664. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  3665. *
  3666. * Copyright (c) 1998 Apple Compter, Inc.
  3667. * All Rights Reserved
  3668. */
  3669. /* History:
  3670. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  3671. 3/26/98 CHW at Apple added real interface to searchfs call
  3672. 3/5/98 CHW at Apple added hfs semantic system calls headers
  3673. */
  3674. func XFcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  3675. var atomic uintptr
  3676. var file_len, lck_len, new_len, tmp_len, total_len int32
  3677. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  3678. file_len = libc.Int32FromUint64(libc.Xstrlen(tls, file))
  3679. new_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  3680. lck_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  3681. tmp_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(12))
  3682. total_len = libc.Int32FromUint64(libc.Uint64FromInt64(32) + libc.Uint64FromInt32(file_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(new_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(lck_len) + libc.Uint64FromInt32(1) + libc.Uint64FromInt32(tmp_len) + libc.Uint64FromInt32(1))
  3683. atomic = libc.Xmalloc(tls, libc.Uint64FromInt32(total_len))
  3684. if !(atomic != 0) {
  3685. return uintptr(0)
  3686. }
  3687. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  3688. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file, ^t__predefined_size_t(0))
  3689. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  3690. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file, ^t__predefined_size_t(0))
  3691. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts, ^t__predefined_size_t(0))
  3692. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  3693. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file, ^t__predefined_size_t(0))
  3694. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5, ^t__predefined_size_t(0))
  3695. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  3696. return atomic
  3697. }
  3698. func XFcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  3699. bp := tls.Alloc(160)
  3700. defer tls.Free(160)
  3701. var f uintptr
  3702. var fd, ret int32
  3703. var no_link TFcBool
  3704. var now Ttime_t
  3705. var _ /* lck_stat at bp+0 */ Tstat
  3706. _, _, _, _, _ = f, fd, no_link, now, ret
  3707. fd = -int32(1)
  3708. f = uintptr(0)
  3709. no_link = m_FcFalse
  3710. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, ^t__predefined_size_t(0))
  3711. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10, ^t__predefined_size_t(0))
  3712. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3713. if fd < 0 {
  3714. return m_FcFalse
  3715. }
  3716. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  3717. if !(f != 0) {
  3718. libc.Xclose(tls, fd)
  3719. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3720. return m_FcFalse
  3721. }
  3722. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, int64(libc.Xgetpid(tls))))
  3723. if ret <= 0 {
  3724. libc.Xfclose(tls, f)
  3725. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3726. return m_FcFalse
  3727. }
  3728. if libc.Xfclose(tls, f) == -int32(1) {
  3729. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3730. return m_FcFalse
  3731. }
  3732. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  3733. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ENOTSUP) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EACCES)) {
  3734. /* the filesystem where atomic->lck points to may not supports
  3735. * the hard link. so better try to fallback
  3736. */
  3737. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint16(0600))
  3738. no_link = int32(m_FcTrue)
  3739. }
  3740. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3741. if ret < 0 {
  3742. /*
  3743. * If the file is around and old (> 10 minutes),
  3744. * assume the lock is stale. This assumes that any
  3745. * machines sharing the same filesystem will have clocks
  3746. * reasonably close to each other.
  3747. */
  3748. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  3749. now = libc.Xtime(tls, uintptr(0))
  3750. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  3751. if no_link != 0 {
  3752. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  3753. return XFcAtomicLock(tls, atomic)
  3754. }
  3755. } else {
  3756. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  3757. return XFcAtomicLock(tls, atomic)
  3758. }
  3759. }
  3760. }
  3761. }
  3762. return m_FcFalse
  3763. }
  3764. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  3765. return int32(m_FcTrue)
  3766. }
  3767. func XFcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  3768. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  3769. }
  3770. func XFcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  3771. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  3772. }
  3773. func XFcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  3774. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  3775. return m_FcFalse
  3776. }
  3777. return int32(m_FcTrue)
  3778. }
  3779. func XFcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  3780. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  3781. }
  3782. func XFcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  3783. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  3784. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  3785. }
  3786. }
  3787. func XFcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  3788. libc.Xfree(tls, atomic)
  3789. }
  3790. const m_ATTRIBUTION_NAME_MAX = 255
  3791. const m_AT_EACCESS = 0x0010
  3792. const m_AT_FDONLY = 0x0400
  3793. const m_AT_REALDEV = 0x0200
  3794. const m_AT_REMOVEDIR = 0x0080
  3795. const m_AT_SYMLINK_FOLLOW = 0x0040
  3796. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  3797. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  3798. const m_CPF_IGNORE_MODE = 0x0002
  3799. const m_CPF_OVERWRITE = 0x0001
  3800. const m_DIRBLKSIZ = 1024
  3801. const m_DST_AUST = 2
  3802. const m_DST_CAN = 6
  3803. const m_DST_EET = 5
  3804. const m_DST_MET = 4
  3805. const m_DST_NONE = 0
  3806. const m_DST_USA = 1
  3807. const m_DST_WET = 3
  3808. const m_DTF_HIDEW = 0x0001
  3809. const m_DTF_NODUP = 0x0002
  3810. const m_DTF_REWIND = 0x0004
  3811. const m_DT_BLK = 6
  3812. const m_DT_CHR = 2
  3813. const m_DT_DIR = 4
  3814. const m_DT_FIFO = 1
  3815. const m_DT_LNK = 10
  3816. const m_DT_REG = 8
  3817. const m_DT_SOCK = 12
  3818. const m_DT_UNKNOWN = 0
  3819. const m_DT_WHT = 14
  3820. const m_FAPPEND = "O_APPEND"
  3821. const m_FASYNC = "O_ASYNC"
  3822. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  3823. const m_FC_ARCH_ENDIAN = "le64"
  3824. const m_FC_ARCH_SIZE_ALIGN = "64"
  3825. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  3826. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  3827. const m_FC_CACHE_MAX_LEVEL = 16
  3828. const m_FC_CACHE_MIN_MMAP = 1024
  3829. const m_FD_CLOEXEC = 1
  3830. const m_FFDSYNC = "O_DSYNC"
  3831. const m_FFSYNC = "O_FSYNC"
  3832. const m_FILESEC_GUID = "FILESEC_UUID"
  3833. const m_FNDELAY = "O_NONBLOCK"
  3834. const m_FNONBLOCK = "O_NONBLOCK"
  3835. const m_FREAD = 0x00000001
  3836. const m_FWRITE = 0x00000002
  3837. const m_F_ADDFILESIGS = 61
  3838. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  3839. const m_F_ADDFILESIGS_INFO = 103
  3840. const m_F_ADDFILESIGS_RETURN = 97
  3841. const m_F_ADDFILESUPPL = 104
  3842. const m_F_ADDSIGS = 59
  3843. const m_F_ADDSIGS_MAIN_BINARY = 113
  3844. const m_F_ALLOCATEALL = 0x00000004
  3845. const m_F_ALLOCATECONTIG = 0x00000002
  3846. const m_F_ALLOCATEPERSIST = 0x00000008
  3847. const m_F_ATTRIBUTION_TAG = 111
  3848. const m_F_BARRIERFSYNC = 85
  3849. const m_F_CHECK_LV = 98
  3850. const m_F_CHKCLEAN = 41
  3851. const m_F_CREATE_TAG = 0x00000001
  3852. const m_F_DELETE_TAG = 0x00000002
  3853. const m_F_DUPFD = 0
  3854. const m_F_DUPFD_CLOEXEC = 67
  3855. const m_F_FINDSIGS = 78
  3856. const m_F_FLUSH_DATA = 40
  3857. const m_F_FREEZE_FS = 53
  3858. const m_F_FULLFSYNC = 51
  3859. const m_F_GETCODEDIR = 72
  3860. const m_F_GETFD = 1
  3861. const m_F_GETFL = 3
  3862. const m_F_GETLEASE = 107
  3863. const m_F_GETLK = 7
  3864. const m_F_GETLKPID = 66
  3865. const m_F_GETNOSIGPIPE = 74
  3866. const m_F_GETOWN = 5
  3867. const m_F_GETPATH = 50
  3868. const m_F_GETPATH_MTMINFO = 71
  3869. const m_F_GETPATH_NOFIRMLINK = 102
  3870. const m_F_GETPROTECTIONCLASS = 63
  3871. const m_F_GETPROTECTIONLEVEL = 77
  3872. const m_F_GETSIGSINFO = 105
  3873. const m_F_GLOBAL_NOCACHE = 55
  3874. const m_F_LOG2PHYS = 49
  3875. const m_F_LOG2PHYS_EXT = 65
  3876. const m_F_NOCACHE = 48
  3877. const m_F_NODIRECT = 62
  3878. const m_F_OFD_GETLK = 92
  3879. const m_F_OFD_SETLK = 90
  3880. const m_F_OFD_SETLKW = 91
  3881. const m_F_OFD_SETLKWTIMEOUT = 93
  3882. const m_F_PATHPKG_CHECK = 52
  3883. const m_F_PEOFPOSMODE = 3
  3884. const m_F_PREALLOCATE = 42
  3885. const m_F_PUNCHHOLE = 99
  3886. const m_F_QUERY_TAG = 0x00000004
  3887. const m_F_RDADVISE = 44
  3888. const m_F_RDAHEAD = 45
  3889. const m_F_RDLCK = 1
  3890. const m_F_SETBACKINGSTORE = 70
  3891. const m_F_SETFD = 2
  3892. const m_F_SETFL = 4
  3893. const m_F_SETLEASE = 106
  3894. const m_F_SETLK = 8
  3895. const m_F_SETLKW = 9
  3896. const m_F_SETLKWTIMEOUT = 10
  3897. const m_F_SETNOSIGPIPE = 73
  3898. const m_F_SETOWN = 6
  3899. const m_F_SETPROTECTIONCLASS = 64
  3900. const m_F_SETSIZE = 43
  3901. const m_F_SINGLE_WRITER = 76
  3902. const m_F_SPECULATIVE_READ = 101
  3903. const m_F_THAW_FS = 54
  3904. const m_F_TRANSCODEKEY = 75
  3905. const m_F_TRANSFEREXTENTS = 110
  3906. const m_F_TRIM_ACTIVE_FILE = 100
  3907. const m_F_UNLCK = 2
  3908. const m_F_VOLPOSMODE = 4
  3909. const m_F_WRLCK = 3
  3910. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  3911. const m_ITIMER_PROF = 2
  3912. const m_ITIMER_REAL = 0
  3913. const m_ITIMER_VIRTUAL = 1
  3914. const m_LOCK_EX = 0x02
  3915. const m_LOCK_NB = 0x04
  3916. const m_LOCK_SH = 0x01
  3917. const m_LOCK_UN = 0x08
  3918. const m_MADV_CAN_REUSE = 9
  3919. const m_MADV_DONTNEED = "POSIX_MADV_DONTNEED"
  3920. const m_MADV_FREE = 5
  3921. const m_MADV_FREE_REUSABLE = 7
  3922. const m_MADV_FREE_REUSE = 8
  3923. const m_MADV_NORMAL = "POSIX_MADV_NORMAL"
  3924. const m_MADV_PAGEOUT = 10
  3925. const m_MADV_RANDOM = "POSIX_MADV_RANDOM"
  3926. const m_MADV_SEQUENTIAL = "POSIX_MADV_SEQUENTIAL"
  3927. const m_MADV_WILLNEED = "POSIX_MADV_WILLNEED"
  3928. const m_MADV_ZERO = 11
  3929. const m_MADV_ZERO_WIRED_PAGES = 6
  3930. const m_MAP_32BIT = 0x8000
  3931. const m_MAP_ANON = 0x1000
  3932. const m_MAP_ANONYMOUS = "MAP_ANON"
  3933. const m_MAP_COPY = "MAP_PRIVATE"
  3934. const m_MAP_FILE = 0x0000
  3935. const m_MAP_FIXED = 0x0010
  3936. const m_MAP_HASSEMAPHORE = 0x0200
  3937. const m_MAP_JIT = 0x0800
  3938. const m_MAP_NOCACHE = 0x0400
  3939. const m_MAP_NOEXTEND = 0x0100
  3940. const m_MAP_NORESERVE = 0x0040
  3941. const m_MAP_PRIVATE = 0x0002
  3942. const m_MAP_RENAME = 0x0020
  3943. const m_MAP_RESERVED0080 = 0x0080
  3944. const m_MAP_RESILIENT_CODESIGN = 0x2000
  3945. const m_MAP_RESILIENT_MEDIA = 0x4000
  3946. const m_MAP_SHARED = 1
  3947. const m_MAP_TPRO = 0x80000
  3948. const m_MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
  3949. const m_MAP_UNIX03 = 0x40000
  3950. const m_MAXNAMLEN = "__DARWIN_MAXNAMLEN"
  3951. const m_MCL_CURRENT = 0x0001
  3952. const m_MCL_FUTURE = 0x0002
  3953. const m_MINCORE_ANONYMOUS = 0x80
  3954. const m_MINCORE_COPIED = 0x40
  3955. const m_MINCORE_INCORE = 0x1
  3956. const m_MINCORE_MODIFIED = 0x4
  3957. const m_MINCORE_MODIFIED_OTHER = 0x10
  3958. const m_MINCORE_PAGED_OUT = 0x20
  3959. const m_MINCORE_REFERENCED = 0x2
  3960. const m_MINCORE_REFERENCED_OTHER = 0x8
  3961. const m_MS_ASYNC = 0x0001
  3962. const m_MS_DEACTIVATE = 0x0008
  3963. const m_MS_INVALIDATE = 0x0002
  3964. const m_MS_KILLPAGES = 0x0004
  3965. const m_MS_SYNC = 0x0010
  3966. const m_O_ACCMODE = 0x0003
  3967. const m_O_ALERT = 0x20000000
  3968. const m_O_APPEND = 0x00000008
  3969. const m_O_ASYNC = 0x00000040
  3970. const m_O_BINARY = 0
  3971. const m_O_CLOEXEC = 0x01000000
  3972. const m_O_CREAT = 512
  3973. const m_O_DIRECTORY = 0x00100000
  3974. const m_O_DP_AUTHENTICATE = 0x0004
  3975. const m_O_DP_GETRAWENCRYPTED = 0x0001
  3976. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  3977. const m_O_DSYNC = 0x400000
  3978. const m_O_EVTONLY = 0x00008000
  3979. const m_O_EXCL = 0x00000800
  3980. const m_O_EXEC = 0x40000000
  3981. const m_O_EXLOCK = 0x00000020
  3982. const m_O_FSYNC = "O_SYNC"
  3983. const m_O_NDELAY = "O_NONBLOCK"
  3984. const m_O_NOCTTY = 0x00020000
  3985. const m_O_NOFOLLOW = 0x00000100
  3986. const m_O_NOFOLLOW_ANY = 0x20000000
  3987. const m_O_NONBLOCK = 0x00000004
  3988. const m_O_POPUP = 0x80000000
  3989. const m_O_RDONLY = 0
  3990. const m_O_RDWR = 2
  3991. const m_O_SHLOCK = 0x00000010
  3992. const m_O_SYMLINK = 0x00200000
  3993. const m_O_SYNC = 0x0080
  3994. const m_O_TRUNC = 0x00000400
  3995. const m_O_WRONLY = 0x0001
  3996. const m_POSIX_MADV_DONTNEED = 4
  3997. const m_POSIX_MADV_NORMAL = 0
  3998. const m_POSIX_MADV_RANDOM = 1
  3999. const m_POSIX_MADV_SEQUENTIAL = 2
  4000. const m_POSIX_MADV_WILLNEED = 3
  4001. const m_PROT_EXEC = 0x04
  4002. const m_PROT_NONE = 0x00
  4003. const m_PROT_READ = 1
  4004. const m_PROT_WRITE = 0x02
  4005. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  4006. const m___DARWIN_MAXNAMLEN = 255
  4007. const m___DARWIN_MAXPATHLEN = 1024
  4008. const m___DTF_ATEND = 0x0020
  4009. const m___DTF_READALL = 0x0008
  4010. const m___DTF_SKIPREAD = 0x0010
  4011. const m_d_fileno = "d_ino"
  4012. type TMD5Context = struct {
  4013. Fbuf [4]TFcChar32
  4014. Fbits [2]TFcChar32
  4015. Fin [64]uint8
  4016. }
  4017. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  4018. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  4019. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  4020. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  4021. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  4022. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  4023. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  4024. }
  4025. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  4026. var p uintptr
  4027. var t, v1 TFcChar32
  4028. _, _, _ = p, t, v1
  4029. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4030. v1 = t + len1<<libc.Int32FromInt32(3)
  4031. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  4032. if v1 < t {
  4033. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  4034. }
  4035. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  4036. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  4037. if t != 0 {
  4038. p = ctx + 24 + uintptr(t)
  4039. t = uint32(64) - t
  4040. if len1 < t {
  4041. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(len1), ^t__predefined_size_t(0))
  4042. return
  4043. }
  4044. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(t), ^t__predefined_size_t(0))
  4045. _MD5Transform(tls, ctx, ctx+24)
  4046. buf += uintptr(t)
  4047. len1 -= t
  4048. }
  4049. for len1 >= uint32(64) {
  4050. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(64), ^t__predefined_size_t(0))
  4051. _MD5Transform(tls, ctx, ctx+24)
  4052. buf += uintptr(64)
  4053. len1 -= uint32(64)
  4054. }
  4055. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(len1), ^t__predefined_size_t(0))
  4056. }
  4057. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  4058. var count uint32
  4059. var p, v1 uintptr
  4060. _, _, _ = count, p, v1
  4061. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  4062. p = ctx + 24 + uintptr(count)
  4063. v1 = p
  4064. p++
  4065. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  4066. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  4067. if count < uint32(8) {
  4068. libc.X__builtin___memset_chk(tls, p, 0, uint64(count), ^t__predefined_size_t(0))
  4069. _MD5Transform(tls, ctx, ctx+24)
  4070. libc.X__builtin___memset_chk(tls, ctx+24, 0, uint64(56), ^t__predefined_size_t(0))
  4071. } else {
  4072. libc.X__builtin___memset_chk(tls, p, 0, uint64(count-uint32(8)), ^t__predefined_size_t(0))
  4073. }
  4074. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4075. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  4076. _MD5Transform(tls, ctx, ctx+24)
  4077. libc.X__builtin___memcpy_chk(tls, digest, ctx, uint64(16), ^t__predefined_size_t(0))
  4078. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(88), ^t__predefined_size_t(0))
  4079. }
  4080. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  4081. var a, b, c, d TFcChar32
  4082. _, _, _, _ = a, b, c, d
  4083. a = *(*TFcChar32)(unsafe.Pointer(buf))
  4084. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  4085. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  4086. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  4087. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  4088. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4089. a += b
  4090. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  4091. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4092. d += a
  4093. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  4094. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4095. c += d
  4096. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  4097. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4098. b += c
  4099. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  4100. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4101. a += b
  4102. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  4103. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4104. d += a
  4105. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  4106. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4107. c += d
  4108. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  4109. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4110. b += c
  4111. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  4112. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4113. a += b
  4114. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  4115. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4116. d += a
  4117. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  4118. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4119. c += d
  4120. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  4121. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4122. b += c
  4123. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  4124. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4125. a += b
  4126. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  4127. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4128. d += a
  4129. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  4130. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4131. c += d
  4132. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  4133. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4134. b += c
  4135. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  4136. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4137. a += b
  4138. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  4139. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4140. d += a
  4141. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  4142. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4143. c += d
  4144. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  4145. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4146. b += c
  4147. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  4148. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4149. a += b
  4150. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  4151. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4152. d += a
  4153. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  4154. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4155. c += d
  4156. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  4157. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4158. b += c
  4159. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  4160. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4161. a += b
  4162. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  4163. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4164. d += a
  4165. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  4166. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4167. c += d
  4168. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  4169. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4170. b += c
  4171. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  4172. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4173. a += b
  4174. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  4175. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4176. d += a
  4177. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  4178. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4179. c += d
  4180. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  4181. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4182. b += c
  4183. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  4184. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4185. a += b
  4186. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  4187. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4188. d += a
  4189. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  4190. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4191. c += d
  4192. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  4193. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4194. b += c
  4195. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  4196. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4197. a += b
  4198. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  4199. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4200. d += a
  4201. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  4202. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4203. c += d
  4204. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  4205. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4206. b += c
  4207. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  4208. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4209. a += b
  4210. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  4211. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4212. d += a
  4213. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  4214. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4215. c += d
  4216. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  4217. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4218. b += c
  4219. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  4220. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4221. a += b
  4222. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  4223. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4224. d += a
  4225. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  4226. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4227. c += d
  4228. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  4229. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4230. b += c
  4231. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  4232. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4233. a += b
  4234. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  4235. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4236. d += a
  4237. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  4238. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4239. c += d
  4240. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  4241. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4242. b += c
  4243. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  4244. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4245. a += b
  4246. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  4247. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4248. d += a
  4249. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  4250. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4251. c += d
  4252. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  4253. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4254. b += c
  4255. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  4256. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4257. a += b
  4258. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  4259. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4260. d += a
  4261. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  4262. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4263. c += d
  4264. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  4265. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4266. b += c
  4267. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  4268. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4269. a += b
  4270. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  4271. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4272. d += a
  4273. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  4274. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4275. c += d
  4276. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  4277. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4278. b += c
  4279. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  4280. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  4281. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  4282. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  4283. }
  4284. type Tflock = struct {
  4285. Fl_start Toff_t
  4286. Fl_len Toff_t
  4287. Fl_pid Tpid_t
  4288. Fl_type int16
  4289. Fl_whence int16
  4290. }
  4291. type Tflocktimeout = struct {
  4292. Ffl Tflock
  4293. Ftimeout Ttimespec
  4294. }
  4295. type Tradvisory = struct {
  4296. Fra_offset Toff_t
  4297. Fra_count int32
  4298. }
  4299. type Tfsignatures_t = struct {
  4300. Ffs_file_start Toff_t
  4301. Ffs_blob_start uintptr
  4302. Ffs_blob_size Tsize_t
  4303. Ffs_fsignatures_size Tsize_t
  4304. Ffs_cdhash [20]int8
  4305. Ffs_hash_type int32
  4306. }
  4307. type Tfsignatures = Tfsignatures_t
  4308. type Tfsupplement_t = struct {
  4309. Ffs_file_start Toff_t
  4310. Ffs_blob_start Toff_t
  4311. Ffs_blob_size Tsize_t
  4312. Ffs_orig_fd int32
  4313. }
  4314. type Tfsupplement = Tfsupplement_t
  4315. type Tfchecklv_t = struct {
  4316. Flv_file_start Toff_t
  4317. Flv_error_message_size Tsize_t
  4318. Flv_error_message uintptr
  4319. }
  4320. type Tfchecklv = Tfchecklv_t
  4321. type Tfgetsigsinfo_t = struct {
  4322. Ffg_file_start Toff_t
  4323. Ffg_info_request int32
  4324. Ffg_sig_is_platform int32
  4325. }
  4326. type Tfgetsigsinfo = Tfgetsigsinfo_t
  4327. type Tfstore_t = struct {
  4328. Ffst_flags uint32
  4329. Ffst_posmode int32
  4330. Ffst_offset Toff_t
  4331. Ffst_length Toff_t
  4332. Ffst_bytesalloc Toff_t
  4333. }
  4334. type Tfstore = Tfstore_t
  4335. type Tfpunchhole_t = struct {
  4336. Ffp_flags uint32
  4337. Freserved uint32
  4338. Ffp_offset Toff_t
  4339. Ffp_length Toff_t
  4340. }
  4341. type Tfpunchhole = Tfpunchhole_t
  4342. type Tftrimactivefile_t = struct {
  4343. Ffta_offset Toff_t
  4344. Ffta_length Toff_t
  4345. }
  4346. type Tftrimactivefile = Tftrimactivefile_t
  4347. type Tfspecread_t = struct {
  4348. Ffsr_flags uint32
  4349. Freserved uint32
  4350. Ffsr_offset Toff_t
  4351. Ffsr_length Toff_t
  4352. }
  4353. type Tfspecread = Tfspecread_t
  4354. type Tfattributiontag_t = struct {
  4355. Fft_flags uint32
  4356. Fft_hash uint64
  4357. Fft_attribution_name [255]int8
  4358. }
  4359. type Tfattributiontag = Tfattributiontag_t
  4360. type Tlog2phys = struct {
  4361. Fl2p_flags uint32
  4362. Fl2p_contigbytes Toff_t
  4363. Fl2p_devoffset Toff_t
  4364. }
  4365. type Tfilesec_property_t = int32
  4366. const _FILESEC_OWNER = 1
  4367. const _FILESEC_GROUP = 2
  4368. const _FILESEC_UUID = 3
  4369. const _FILESEC_MODE = 4
  4370. const _FILESEC_ACL = 5
  4371. const _FILESEC_GRPUUID = 6
  4372. const _FILESEC_ACL_RAW = 100
  4373. const _FILESEC_ACL_ALLOCSIZE = 101
  4374. type Tdirent = struct {
  4375. Fd_ino t__uint64_t
  4376. Fd_seekoff t__uint64_t
  4377. Fd_reclen t__uint16_t
  4378. Fd_namlen t__uint16_t
  4379. Fd_type t__uint8_t
  4380. Fd_name [1024]int8
  4381. }
  4382. type TDIR = struct {
  4383. F__dd_fd int32
  4384. F__dd_loc int64
  4385. F__dd_size int64
  4386. F__dd_buf uintptr
  4387. F__dd_len int32
  4388. F__dd_seek int64
  4389. F__padding int64
  4390. F__dd_flags int32
  4391. F__dd_lock t__darwin_pthread_mutex_t
  4392. F__dd_td uintptr
  4393. }
  4394. type Ttimeval64 = struct {
  4395. Ftv_sec t__int64_t
  4396. Ftv_usec t__int64_t
  4397. }
  4398. type Titimerval = struct {
  4399. Fit_interval Ttimeval
  4400. Fit_value Ttimeval
  4401. }
  4402. type Ttimezone = struct {
  4403. Ftz_minuteswest int32
  4404. Ftz_dsttime int32
  4405. }
  4406. type Tclockinfo = struct {
  4407. Fhz int32
  4408. Ftick int32
  4409. Ftickadj int32
  4410. Fstathz int32
  4411. Fprofhz int32
  4412. }
  4413. func XFcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  4414. return int32(m_FcTrue)
  4415. }
  4416. func XFcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4417. bp := tls.Alloc(208)
  4418. defer tls.Free(208)
  4419. var d, sysroot, target uintptr
  4420. var ret TFcBool
  4421. var _ /* statb at bp+0 */ Tstat
  4422. var _ /* times at bp+144 */ [2]Ttimeval
  4423. _, _, _, _ = d, ret, sysroot, target
  4424. ret = int32(m_FcTrue)
  4425. config = XFcConfigReference(tls, config)
  4426. if !(config != 0) {
  4427. return m_FcFalse
  4428. }
  4429. sysroot = XFcConfigGetSysRoot(tls, config)
  4430. if sysroot != 0 {
  4431. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+184, dir, libc.UintptrFromInt32(0)))
  4432. } else {
  4433. d = XFcStrBuildFilename(tls, dir, libc.VaList(bp+184, libc.UintptrFromInt32(0)))
  4434. }
  4435. if XFcStat(tls, d, bp) != 0 {
  4436. ret = m_FcFalse
  4437. goto bail
  4438. }
  4439. target = XFcStrBuildFilename(tls, d, libc.VaList(bp+184, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  4440. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  4441. if ret != 0 {
  4442. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atimespec.Ftv_sec
  4443. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  4444. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_usec = 0
  4445. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_usec = 0
  4446. if libc.Xutimes(tls, d, bp+144) != 0 {
  4447. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+35, libc.VaList(bp+184, d))
  4448. }
  4449. }
  4450. XFcStrFree(tls, target)
  4451. goto bail
  4452. bail:
  4453. ;
  4454. XFcStrFree(tls, d)
  4455. XFcConfigDestroy(tls, config)
  4456. return ret
  4457. }
  4458. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  4459. bp := tls.Alloc(16)
  4460. defer tls.Free(16)
  4461. var env uintptr
  4462. var status, v1 int32
  4463. var _ /* use at bp+0 */ TFcBool
  4464. _, _, _ = env, status, v1
  4465. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  4466. if status == 0 {
  4467. env = libc.Xgetenv(tls, __ccgo_ts+63)
  4468. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  4469. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  4470. v1 = 1
  4471. } else {
  4472. v1 = 2
  4473. }
  4474. status = v1
  4475. } else {
  4476. status = 3
  4477. }
  4478. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  4479. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(int64(status))
  4480. _ = libc.Int32FromInt32(m_FcTrue)
  4481. }
  4482. }
  4483. if status == 3 {
  4484. return XFcIsFsMmapSafe(tls, fd)
  4485. } else {
  4486. return libc.BoolInt32(status == 1)
  4487. }
  4488. return r
  4489. }
  4490. var _static_status uintptr
  4491. var _bin2hex = [16]int8{
  4492. 0: int8('0'),
  4493. 1: int8('1'),
  4494. 2: int8('2'),
  4495. 3: int8('3'),
  4496. 4: int8('4'),
  4497. 5: int8('5'),
  4498. 6: int8('6'),
  4499. 7: int8('7'),
  4500. 8: int8('8'),
  4501. 9: int8('9'),
  4502. 10: int8('a'),
  4503. 11: int8('b'),
  4504. 12: int8('c'),
  4505. 13: int8('d'),
  4506. 14: int8('e'),
  4507. 15: int8('f'),
  4508. }
  4509. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  4510. bp := tls.Alloc(176)
  4511. defer tls.Free(176)
  4512. var cnt int32
  4513. var dl, sl Tsize_t
  4514. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  4515. var _ /* ctx at bp+16 */ TMD5Context
  4516. var _ /* hash at bp+0 */ [16]uint8
  4517. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  4518. mapped_dir = libc.UintptrFromInt32(0)
  4519. key = libc.UintptrFromInt32(0)
  4520. orig_dir = libc.UintptrFromInt32(0)
  4521. salt = XFcConfigMapSalt(tls, config, dir)
  4522. /* Obtain a path where "dir" is mapped to.
  4523. * In case:
  4524. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  4525. *
  4526. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  4527. */
  4528. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  4529. if mapped_dir != 0 {
  4530. orig_dir = dir
  4531. dir = mapped_dir
  4532. }
  4533. if salt != 0 {
  4534. dl = libc.Xstrlen(tls, dir)
  4535. sl = libc.Xstrlen(tls, salt)
  4536. key = libc.Xmalloc(tls, dl+sl+uint64(1))
  4537. libc.X__builtin___memcpy_chk(tls, key, dir, dl, ^t__predefined_size_t(0))
  4538. libc.X__builtin___memcpy_chk(tls, key+uintptr(dl), salt, sl+uint64(1), ^t__predefined_size_t(0))
  4539. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  4540. if !(orig_dir != 0) {
  4541. orig_dir = dir
  4542. }
  4543. dir = key
  4544. }
  4545. _MD5Init(tls, bp+16)
  4546. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  4547. _MD5Final(tls, bp, bp+16)
  4548. if key != 0 {
  4549. XFcStrFree(tls, key)
  4550. }
  4551. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  4552. hex_hash = cache_base + uintptr(1)
  4553. cnt = 0
  4554. for {
  4555. if !(cnt < int32(16)) {
  4556. break
  4557. }
  4558. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)])
  4559. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = libc.Uint8FromInt8(_bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)])
  4560. goto _1
  4561. _1:
  4562. ;
  4563. cnt++
  4564. }
  4565. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  4566. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, ^t__predefined_size_t(0))
  4567. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4568. if orig_dir != 0 {
  4569. v2 = orig_dir
  4570. } else {
  4571. v2 = dir
  4572. }
  4573. if mapped_dir != 0 {
  4574. v3 = __ccgo_ts + 97
  4575. } else {
  4576. v3 = __ccgo_ts + 110
  4577. }
  4578. if mapped_dir != 0 {
  4579. v4 = mapped_dir
  4580. } else {
  4581. v4 = __ccgo_ts + 110
  4582. }
  4583. if mapped_dir != 0 {
  4584. v5 = __ccgo_ts + 111
  4585. } else {
  4586. v5 = __ccgo_ts + 110
  4587. }
  4588. if salt != 0 {
  4589. v6 = __ccgo_ts + 113
  4590. } else {
  4591. v6 = __ccgo_ts + 110
  4592. }
  4593. if salt != 0 {
  4594. v7 = salt
  4595. } else {
  4596. v7 = __ccgo_ts + 110
  4597. }
  4598. libc.Xprintf(tls, __ccgo_ts+122, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  4599. }
  4600. if mapped_dir != 0 {
  4601. XFcStrFree(tls, mapped_dir)
  4602. }
  4603. return cache_base
  4604. }
  4605. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  4606. bp := tls.Alloc(64)
  4607. defer tls.Free(64)
  4608. var fd, v1 int32
  4609. var fuuid, sysroot, target uintptr
  4610. var len1 Tssize_t
  4611. var _ /* suuid at bp+0 */ [37]int8
  4612. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  4613. sysroot = XFcConfigGetSysRoot(tls, config)
  4614. /* We don't need to apply remapping here. because .uuid was created at that very directory
  4615. * to determine the cache name no matter where it was mapped to.
  4616. */
  4617. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  4618. if sysroot != 0 {
  4619. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  4620. } else {
  4621. target = libc.Xstrdup(tls, dir)
  4622. }
  4623. fuuid = XFcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  4624. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  4625. fd = v1
  4626. if v1 != -int32(1) {
  4627. libc.X__builtin___memset_chk(tls, bp, 0, uint64(37), ^t__predefined_size_t(0))
  4628. len1 = libc.Xread(tls, fd, bp, uint64(36))
  4629. (*(*[37]int8)(unsafe.Pointer(bp)))[int32(36)] = 0
  4630. libc.Xclose(tls, fd)
  4631. if len1 < 0 {
  4632. goto bail
  4633. }
  4634. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  4635. libc.X__builtin___strcpy_chk(tls, cache_base+1, bp, ^t__predefined_size_t(0))
  4636. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, ^t__predefined_size_t(0))
  4637. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4638. libc.Xprintf(tls, __ccgo_ts+153, libc.VaList(bp+48, cache_base, dir))
  4639. }
  4640. }
  4641. goto bail
  4642. bail:
  4643. ;
  4644. XFcStrFree(tls, fuuid)
  4645. XFcStrFree(tls, target)
  4646. return cache_base
  4647. }
  4648. func XFcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4649. bp := tls.Alloc(144)
  4650. defer tls.Free(144)
  4651. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4652. var ret TFcBool
  4653. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4654. var _ /* uuid_cache_base at bp+52 */ [52]TFcChar8
  4655. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  4656. cache_hashed = libc.UintptrFromInt32(0)
  4657. ret = int32(m_FcTrue)
  4658. config = XFcConfigReference(tls, config)
  4659. if !(config != 0) {
  4660. return m_FcFalse
  4661. }
  4662. sysroot = XFcConfigGetSysRoot(tls, config)
  4663. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4664. _FcDirCacheBasenameUUID(tls, config, dir, bp+52)
  4665. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4666. if !(list != 0) {
  4667. ret = m_FcFalse
  4668. goto bail
  4669. }
  4670. for {
  4671. v1 = XFcStrListNext(tls, list)
  4672. cache_dir = v1
  4673. if !(v1 != 0) {
  4674. break
  4675. }
  4676. if sysroot != 0 {
  4677. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp, libc.UintptrFromInt32(0)))
  4678. } else {
  4679. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp, libc.UintptrFromInt32(0)))
  4680. }
  4681. if !(cache_hashed != 0) {
  4682. break
  4683. }
  4684. libc.Xunlink(tls, cache_hashed)
  4685. XFcStrFree(tls, cache_hashed)
  4686. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 52)))[0]) != 0 {
  4687. if sysroot != 0 {
  4688. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp+52, libc.UintptrFromInt32(0)))
  4689. } else {
  4690. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp+52, libc.UintptrFromInt32(0)))
  4691. }
  4692. if !(cache_hashed != 0) {
  4693. break
  4694. }
  4695. libc.Xunlink(tls, cache_hashed)
  4696. XFcStrFree(tls, cache_hashed)
  4697. }
  4698. }
  4699. XFcStrListDone(tls, list)
  4700. XFcDirCacheDeleteUUID(tls, dir, config)
  4701. /* return FcFalse if something went wrong */
  4702. if cache_dir != 0 {
  4703. ret = m_FcFalse
  4704. }
  4705. goto bail
  4706. bail:
  4707. ;
  4708. XFcConfigDestroy(tls, config)
  4709. return ret
  4710. }
  4711. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  4712. var fd int32
  4713. _ = fd
  4714. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  4715. if fd < 0 {
  4716. return fd
  4717. }
  4718. if libc.Xfstat(tls, fd, file_stat) < 0 {
  4719. libc.Xclose(tls, fd)
  4720. return -int32(1)
  4721. }
  4722. return fd
  4723. }
  4724. // C documentation
  4725. //
  4726. // /*
  4727. // * Look for a cache file for the specified dir. Attempt
  4728. // * to use each one we find, stopping when the callback
  4729. // * indicates success
  4730. // */
  4731. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  4732. bp := tls.Alloc(448)
  4733. defer tls.Free(448)
  4734. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  4735. var fd int32
  4736. var ret, retried TFcBool
  4737. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4738. var _ /* dir_stat at bp+200 */ Tstat
  4739. var _ /* file_stat at bp+56 */ Tstat
  4740. var _ /* latest_mtime at bp+344 */ Ttimeval
  4741. var _ /* uuid_cache_base at bp+360 */ [52]TFcChar8
  4742. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  4743. fd = -int32(1)
  4744. ret = m_FcFalse
  4745. sysroot = XFcConfigGetSysRoot(tls, config)
  4746. *(*Ttimeval)(unsafe.Pointer(bp + 344)) = Ttimeval{}
  4747. if sysroot != 0 {
  4748. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, dir, libc.UintptrFromInt32(0)))
  4749. } else {
  4750. d = libc.Xstrdup(tls, dir)
  4751. }
  4752. if XFcStatChecksum(tls, d, bp+200) < 0 {
  4753. XFcStrFree(tls, d)
  4754. return m_FcFalse
  4755. }
  4756. XFcStrFree(tls, d)
  4757. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4758. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4759. if !(list != 0) {
  4760. return m_FcFalse
  4761. }
  4762. for {
  4763. v1 = XFcStrListNext(tls, list)
  4764. cache_dir = v1
  4765. if !(v1 != 0) {
  4766. break
  4767. }
  4768. retried = m_FcFalse
  4769. if sysroot != 0 {
  4770. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp, libc.UintptrFromInt32(0)))
  4771. } else {
  4772. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp, libc.UintptrFromInt32(0)))
  4773. }
  4774. if !(cache_hashed != 0) {
  4775. break
  4776. }
  4777. goto retry
  4778. retry:
  4779. ;
  4780. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  4781. if fd >= 0 {
  4782. 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)
  4783. libc.Xclose(tls, fd)
  4784. if ret != 0 {
  4785. if cache_file_ret != 0 {
  4786. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  4787. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  4788. }
  4789. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  4790. } else {
  4791. XFcStrFree(tls, cache_hashed)
  4792. }
  4793. } else {
  4794. XFcStrFree(tls, cache_hashed)
  4795. }
  4796. } else {
  4797. if !(retried != 0) {
  4798. retried = int32(m_FcTrue)
  4799. _FcDirCacheBasenameUUID(tls, config, dir, bp+360)
  4800. if libc.Int32FromUint8((*(*[52]TFcChar8)(unsafe.Pointer(bp + 360)))[0]) != 0 {
  4801. XFcStrFree(tls, cache_hashed)
  4802. if sysroot != 0 {
  4803. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp+360, libc.UintptrFromInt32(0)))
  4804. } else {
  4805. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp+360, libc.UintptrFromInt32(0)))
  4806. }
  4807. if !(cache_hashed != 0) {
  4808. break
  4809. }
  4810. goto retry
  4811. } else {
  4812. XFcStrFree(tls, cache_hashed)
  4813. }
  4814. } else {
  4815. XFcStrFree(tls, cache_hashed)
  4816. }
  4817. }
  4818. }
  4819. XFcStrListDone(tls, list)
  4820. if closure != 0 {
  4821. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  4822. }
  4823. return ret
  4824. }
  4825. /*
  4826. * Skip list element, make sure the 'next' pointer is the last thing
  4827. * in the structure, it will be allocated large enough to hold all
  4828. * of the necessary pointers
  4829. */
  4830. type TFcCacheSkip = struct {
  4831. Fcache uintptr
  4832. Fref TFcRef
  4833. Fsize Tintptr_t
  4834. Fallocated uintptr
  4835. Fcache_dev Tdev_t
  4836. Fcache_ino Tino_t
  4837. Fcache_mtime Ttime_t
  4838. Fcache_mtime_nano int64
  4839. Fnext [1]uintptr
  4840. }
  4841. /*
  4842. * Skip list element, make sure the 'next' pointer is the last thing
  4843. * in the structure, it will be allocated large enough to hold all
  4844. * of the necessary pointers
  4845. */
  4846. type T_FcCacheSkip = TFcCacheSkip
  4847. /*
  4848. * The head of the skip list; pointers for every possible level
  4849. * in the skip list, plus the largest level in the list
  4850. */
  4851. // C documentation
  4852. //
  4853. // /* Protected by cache_lock below */
  4854. var _fcCacheChains [16]uintptr
  4855. var _fcCacheMaxLevel int32
  4856. var _cache_lock uintptr
  4857. func _lock_cache(tls *libc.TLS) {
  4858. var lock uintptr
  4859. var v1 int32
  4860. _, _ = lock, v1
  4861. goto retry
  4862. retry:
  4863. ;
  4864. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  4865. if !(lock != 0) {
  4866. lock = libc.Xmalloc(tls, uint64(4))
  4867. _ = lock
  4868. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  4869. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  4870. v1 = libc.Int32FromInt32(m_FcTrue)
  4871. } else {
  4872. v1 = m_FcFalse
  4873. }
  4874. if !(v1 != 0) {
  4875. _ = lock
  4876. libc.Xfree(tls, lock)
  4877. goto retry
  4878. }
  4879. _ = lock
  4880. /* Initialize random state */
  4881. XFcRandom(tls)
  4882. return
  4883. }
  4884. _ = lock
  4885. }
  4886. func _unlock_cache(tls *libc.TLS) {
  4887. var lock uintptr
  4888. _ = lock
  4889. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  4890. _ = lock
  4891. }
  4892. func _free_lock(tls *libc.TLS) {
  4893. var lock uintptr
  4894. var v1 int32
  4895. var v2 bool
  4896. _, _, _ = lock, v1, v2
  4897. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  4898. if v2 = lock != 0; v2 {
  4899. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  4900. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  4901. v1 = libc.Int32FromInt32(m_FcTrue)
  4902. } else {
  4903. v1 = m_FcFalse
  4904. }
  4905. }
  4906. if v2 && v1 != 0 {
  4907. _ = lock
  4908. libc.Xfree(tls, lock)
  4909. }
  4910. }
  4911. // C documentation
  4912. //
  4913. // /*
  4914. // * Generate a random level number, distributed
  4915. // * so that each level is 1/4 as likely as the one before
  4916. // *
  4917. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  4918. // */
  4919. func _random_level(tls *libc.TLS) (r int32) {
  4920. var bits int64
  4921. var level, v1 int32
  4922. _, _, _ = bits, level, v1
  4923. /* tricky bit -- each bit is '1' 75% of the time */
  4924. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  4925. level = 0
  4926. for {
  4927. level++
  4928. v1 = level
  4929. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  4930. break
  4931. }
  4932. if bits&int64(1) != 0 {
  4933. break
  4934. }
  4935. bits >>= int64(1)
  4936. }
  4937. return level
  4938. }
  4939. // C documentation
  4940. //
  4941. // /*
  4942. // * Insert cache into the list
  4943. // */
  4944. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  4945. var i, level, v2 int32
  4946. var next, s, v4 uintptr
  4947. var update [16]uintptr
  4948. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  4949. _lock_cache(tls)
  4950. /*
  4951. * Find links along each chain
  4952. */
  4953. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  4954. i = _fcCacheMaxLevel
  4955. for {
  4956. i--
  4957. v2 = i
  4958. if !(v2 >= 0) {
  4959. break
  4960. }
  4961. for {
  4962. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  4963. s = v4
  4964. if !(v4 != 0) {
  4965. break
  4966. }
  4967. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  4968. break
  4969. }
  4970. goto _3
  4971. _3:
  4972. ;
  4973. next = s + 64
  4974. }
  4975. update[i] = next + uintptr(i)*8
  4976. goto _1
  4977. _1:
  4978. }
  4979. /*
  4980. * Create new list element
  4981. */
  4982. level = _random_level(tls)
  4983. if level > _fcCacheMaxLevel {
  4984. level = _fcCacheMaxLevel + int32(1)
  4985. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  4986. _fcCacheMaxLevel = level
  4987. }
  4988. s = libc.Xmalloc(tls, uint64(72)+libc.Uint64FromInt32(level-libc.Int32FromInt32(1))*uint64(8))
  4989. if !(s != 0) {
  4990. return m_FcFalse
  4991. }
  4992. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  4993. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  4994. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  4995. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  4996. if cache_stat != 0 {
  4997. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  4998. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  4999. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtimespec.Ftv_sec
  5000. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5001. } else {
  5002. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = 0
  5003. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  5004. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  5005. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5006. }
  5007. /*
  5008. * Insert into all fcCacheChains
  5009. */
  5010. i = 0
  5011. for {
  5012. if !(i < level) {
  5013. break
  5014. }
  5015. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  5016. *(*uintptr)(unsafe.Pointer(update[i])) = s
  5017. goto _5
  5018. _5:
  5019. ;
  5020. i++
  5021. }
  5022. _unlock_cache(tls)
  5023. return int32(m_FcTrue)
  5024. }
  5025. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  5026. var i, v2 int32
  5027. var next, s uintptr
  5028. _, _, _, _ = i, next, s, v2
  5029. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5030. if !(object != 0) {
  5031. return libc.UintptrFromInt32(0)
  5032. }
  5033. /*
  5034. * Walk chain pointers one level at a time
  5035. */
  5036. i = _fcCacheMaxLevel
  5037. for {
  5038. i--
  5039. v2 = i
  5040. if !(v2 >= 0) {
  5041. break
  5042. }
  5043. for *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) != 0 && object >= (*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)))).Fsize) {
  5044. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  5045. }
  5046. goto _1
  5047. _1:
  5048. }
  5049. /*
  5050. * Here we are
  5051. */
  5052. s = *(*uintptr)(unsafe.Pointer(next))
  5053. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  5054. return s
  5055. }
  5056. return libc.UintptrFromInt32(0)
  5057. }
  5058. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  5059. var ret uintptr
  5060. _ = ret
  5061. _lock_cache(tls)
  5062. ret = _FcCacheFindByAddrUnlocked(tls, object)
  5063. _unlock_cache(tls)
  5064. return ret
  5065. }
  5066. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  5067. var allocated, next, s, v4 uintptr
  5068. var i, v2 int32
  5069. var update [16]uintptr
  5070. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  5071. /*
  5072. * Find links along each chain
  5073. */
  5074. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5075. i = _fcCacheMaxLevel
  5076. for {
  5077. i--
  5078. v2 = i
  5079. if !(v2 >= 0) {
  5080. break
  5081. }
  5082. for {
  5083. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  5084. s = v4
  5085. if !(v4 != 0) {
  5086. break
  5087. }
  5088. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  5089. break
  5090. }
  5091. goto _3
  5092. _3:
  5093. ;
  5094. next = s + 64
  5095. }
  5096. update[i] = next + uintptr(i)*8
  5097. goto _1
  5098. _1:
  5099. }
  5100. s = *(*uintptr)(unsafe.Pointer(next))
  5101. i = 0
  5102. for {
  5103. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  5104. break
  5105. }
  5106. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  5107. goto _5
  5108. _5:
  5109. ;
  5110. i++
  5111. }
  5112. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  5113. _fcCacheMaxLevel--
  5114. }
  5115. if s != 0 {
  5116. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  5117. for allocated != 0 {
  5118. /* First element in allocated chunk is the free list */
  5119. next = *(*uintptr)(unsafe.Pointer(allocated))
  5120. libc.Xfree(tls, allocated)
  5121. allocated = next
  5122. }
  5123. libc.Xfree(tls, s)
  5124. }
  5125. }
  5126. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  5127. var s, p3 uintptr
  5128. _, _ = s, p3
  5129. _lock_cache(tls)
  5130. s = _fcCacheChains[0]
  5131. for {
  5132. if !(s != 0) {
  5133. break
  5134. }
  5135. 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_mtimespec.Ftv_sec {
  5136. p3 = s + 8
  5137. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5138. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5139. goto _2
  5140. _2:
  5141. ;
  5142. _unlock_cache(tls)
  5143. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  5144. }
  5145. goto _1
  5146. _1:
  5147. ;
  5148. s = *(*uintptr)(unsafe.Pointer(s + 64))
  5149. }
  5150. _unlock_cache(tls)
  5151. return libc.UintptrFromInt32(0)
  5152. }
  5153. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  5154. _FcCacheRemoveUnlocked(tls, cache)
  5155. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  5156. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  5157. libc.Xfree(tls, cache)
  5158. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  5159. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  5160. break
  5161. }
  5162. }
  5163. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  5164. var skip, p2 uintptr
  5165. _, _ = skip, p2
  5166. skip = _FcCacheFindByAddr(tls, object)
  5167. if skip != 0 {
  5168. p2 = skip + 8
  5169. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5170. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5171. goto _1
  5172. _1:
  5173. }
  5174. }
  5175. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  5176. var skip, p3 uintptr
  5177. var v1 int32
  5178. _, _, _ = skip, v1, p3
  5179. _lock_cache(tls)
  5180. skip = _FcCacheFindByAddrUnlocked(tls, object)
  5181. if skip != 0 {
  5182. p3 = skip + 8
  5183. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5184. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5185. goto _2
  5186. _2:
  5187. if v1 == int32(1) {
  5188. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  5189. }
  5190. }
  5191. _unlock_cache(tls)
  5192. }
  5193. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  5194. var allocated, chunk, skip uintptr
  5195. _, _, _ = allocated, chunk, skip
  5196. allocated = libc.UintptrFromInt32(0)
  5197. _lock_cache(tls)
  5198. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  5199. if skip != 0 {
  5200. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  5201. if chunk != 0 {
  5202. /* First element in allocated chunk is the free list */
  5203. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  5204. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  5205. /* Return the rest */
  5206. allocated = chunk + uintptr(8)
  5207. }
  5208. }
  5209. _unlock_cache(tls)
  5210. return allocated
  5211. }
  5212. func XFcCacheFini(tls *libc.TLS) {
  5213. bp := tls.Alloc(32)
  5214. defer tls.Free(32)
  5215. var i int32
  5216. var s uintptr
  5217. _, _ = i, s
  5218. i = 0
  5219. for {
  5220. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  5221. break
  5222. }
  5223. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5224. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  5225. s = _fcCacheChains[i]
  5226. libc.Xprintf(tls, __ccgo_ts+187, libc.VaList(bp+8, (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache, uintptr(int64((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)+(*TFcCache)(unsafe.Pointer((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)).Fdir), (*TFcCacheSkip)(unsafe.Pointer(s)).Fref.Fcount))
  5227. }
  5228. } else {
  5229. }
  5230. goto _1
  5231. _1:
  5232. ;
  5233. i++
  5234. }
  5235. _free_lock(tls)
  5236. }
  5237. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  5238. bp := tls.Alloc(176)
  5239. defer tls.Free(176)
  5240. var d, sysroot uintptr
  5241. var fnano TFcBool
  5242. var _ /* dir_static at bp+0 */ Tstat
  5243. _, _, _ = d, fnano, sysroot
  5244. fnano = int32(m_FcTrue)
  5245. if !(dir_stat != 0) {
  5246. sysroot = XFcConfigGetSysRoot(tls, config)
  5247. if sysroot != 0 {
  5248. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  5249. } else {
  5250. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  5251. }
  5252. if XFcStatChecksum(tls, d, bp) < 0 {
  5253. XFcStrFree(tls, d)
  5254. return m_FcFalse
  5255. }
  5256. XFcStrFree(tls, d)
  5257. dir_stat = bp
  5258. }
  5259. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5260. libc.Xprintf(tls, __ccgo_ts+242, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec)))
  5261. }
  5262. return libc.BoolInt32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec == 0 || (*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec) && fnano != 0)
  5263. }
  5264. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  5265. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  5266. var i, j int32
  5267. var l TFcValueListPtr
  5268. var v5 TFcBool
  5269. var v7 bool
  5270. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  5271. base = cache
  5272. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  5273. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fdir) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(8) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  5274. return m_FcFalse
  5275. }
  5276. 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.Uint64FromInt32((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint64(8) {
  5277. return m_FcFalse
  5278. }
  5279. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5280. if dirs != 0 {
  5281. i = 0
  5282. for {
  5283. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5284. break
  5285. }
  5286. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)) < 0 || libc.Uint64FromInt64(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8))) > libc.Uint64FromInt64(int64(end)-int64(dirs))-uint64(8) {
  5287. return m_FcFalse
  5288. }
  5289. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  5290. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint64FromInt64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  5291. return m_FcFalse
  5292. }
  5293. goto _1
  5294. _1:
  5295. ;
  5296. i++
  5297. }
  5298. }
  5299. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  5300. return m_FcFalse
  5301. }
  5302. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5303. if fs != 0 {
  5304. if libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint64FromInt64(int64(end)-int64(fs))/uint64(24) {
  5305. return m_FcFalse
  5306. }
  5307. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5308. return m_FcFalse
  5309. }
  5310. i = 0
  5311. for {
  5312. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5313. break
  5314. }
  5315. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5316. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5317. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  5318. } else {
  5319. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5320. }
  5321. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  5322. } else {
  5323. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  5324. }
  5325. font = v3
  5326. if v7 = font < base || font > end-uintptr(16) || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset < 0 || (*TFcPattern)(unsafe.Pointer(font)).Felts_offset > int64(end)-int64(font) || libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(font)).Fnum) > libc.Uint64FromInt64(int64(end)-int64(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint64(16); !v7 {
  5327. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  5328. goto _6
  5329. _6:
  5330. }
  5331. if v7 || !(v5 != 0) {
  5332. return m_FcFalse
  5333. }
  5334. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5335. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5336. return m_FcFalse
  5337. }
  5338. j = 0
  5339. for {
  5340. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  5341. break
  5342. }
  5343. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5344. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  5345. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  5346. } else {
  5347. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  5348. }
  5349. l = v10
  5350. for {
  5351. if !(l != 0) {
  5352. break
  5353. }
  5354. if l < last_offset || l > end-uintptr(32) || (*T_FcValueList)(unsafe.Pointer(l)).Fnext != libc.UintptrFromInt32(0) && !(int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5355. return m_FcFalse
  5356. }
  5357. last_offset = l + uintptr(1)
  5358. goto _9
  5359. _9:
  5360. ;
  5361. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  5362. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5363. } else {
  5364. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  5365. }
  5366. l = v11
  5367. }
  5368. goto _8
  5369. _8:
  5370. ;
  5371. j++
  5372. }
  5373. goto _2
  5374. _2:
  5375. ;
  5376. i++
  5377. }
  5378. }
  5379. return int32(m_FcTrue)
  5380. }
  5381. // C documentation
  5382. //
  5383. // /*
  5384. // * Map a cache file into memory
  5385. // */
  5386. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  5387. var allocated TFcBool
  5388. var cache uintptr
  5389. _, _ = allocated, cache
  5390. allocated = m_FcFalse
  5391. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(9223372036854775807) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  5392. return libc.UintptrFromInt32(0)
  5393. }
  5394. cache = _FcCacheFindByStat(tls, fd_stat)
  5395. if cache != 0 {
  5396. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  5397. return cache
  5398. }
  5399. XFcDirCacheUnload(tls, cache)
  5400. cache = libc.UintptrFromInt32(0)
  5401. }
  5402. /*
  5403. * Large cache files are mmap'ed, smaller cache files are read. This
  5404. * balances the system cost of mmap against per-process memory usage.
  5405. */
  5406. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  5407. cache = libc.Xmmap(tls, uintptr(0), libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  5408. if cache == uintptr(-libc.Int32FromInt32(1)) {
  5409. cache = libc.UintptrFromInt32(0)
  5410. }
  5411. }
  5412. if !(cache != 0) {
  5413. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5414. if !(cache != 0) {
  5415. return libc.UintptrFromInt32(0)
  5416. }
  5417. if libc.Xread(tls, fd, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size)) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  5418. libc.Xfree(tls, cache)
  5419. return libc.UintptrFromInt32(0)
  5420. }
  5421. allocated = int32(m_FcTrue)
  5422. }
  5423. 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 != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size || !(_FcCacheOffsetsValid(tls, cache) != 0) || !(_FcCacheTimeValid(tls, config, cache, dir_stat) != 0) || !(_FcCacheInsert(tls, cache, fd_stat) != 0) {
  5424. if allocated != 0 {
  5425. libc.Xfree(tls, cache)
  5426. } else {
  5427. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5428. }
  5429. return libc.UintptrFromInt32(0)
  5430. }
  5431. /* Mark allocated caches so they're freed rather than unmapped */
  5432. if allocated != 0 {
  5433. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  5434. }
  5435. return cache
  5436. }
  5437. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  5438. var skip, p3 uintptr
  5439. var v1 int32
  5440. _, _, _ = skip, v1, p3
  5441. skip = _FcCacheFindByAddr(tls, cache)
  5442. if skip != 0 {
  5443. v1 = nref
  5444. p3 = skip + 8
  5445. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  5446. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  5447. goto _2
  5448. _2:
  5449. }
  5450. }
  5451. func XFcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  5452. XFcCacheObjectDereference(tls, cache)
  5453. }
  5454. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  5455. bp := tls.Alloc(48)
  5456. defer tls.Free(48)
  5457. var cache uintptr
  5458. var v1, v2, v3, v5, v6 int32
  5459. var v4 bool
  5460. var _ /* cache_mtime at bp+0 */ Ttimeval
  5461. var _ /* dir_mtime at bp+32 */ Ttimeval
  5462. var _ /* zero_mtime at bp+16 */ Ttimeval
  5463. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  5464. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  5465. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  5466. if !(cache != 0) {
  5467. return m_FcFalse
  5468. }
  5469. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtimespec.Ftv_sec
  5470. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec
  5471. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = 0
  5472. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = 0
  5473. /* special take care of OSTree */
  5474. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  5475. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  5476. } else {
  5477. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  5478. }
  5479. if !(v1 != 0) {
  5480. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5481. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5482. } else {
  5483. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5484. }
  5485. if !(v2 != 0) {
  5486. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5487. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5488. }
  5489. } else {
  5490. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  5491. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  5492. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  5493. } else {
  5494. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  5495. }
  5496. }
  5497. if v4 && !(v3 != 0) {
  5498. XFcDirCacheUnload(tls, cache)
  5499. return m_FcFalse
  5500. } else {
  5501. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5502. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5503. } else {
  5504. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5505. }
  5506. if v5 != 0 {
  5507. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5508. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5509. }
  5510. }
  5511. }
  5512. }
  5513. } else {
  5514. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5515. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5516. } else {
  5517. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5518. }
  5519. if v6 != 0 {
  5520. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5521. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5522. }
  5523. } else {
  5524. XFcDirCacheUnload(tls, cache)
  5525. return m_FcFalse
  5526. }
  5527. }
  5528. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  5529. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  5530. *(*uintptr)(unsafe.Pointer(closure)) = cache
  5531. return int32(m_FcTrue)
  5532. }
  5533. func XFcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  5534. bp := tls.Alloc(16)
  5535. defer tls.Free(16)
  5536. var _ /* cache at bp+0 */ uintptr
  5537. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5538. config = XFcConfigReference(tls, config)
  5539. if !(config != 0) {
  5540. return libc.UintptrFromInt32(0)
  5541. }
  5542. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  5543. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5544. }
  5545. XFcConfigDestroy(tls, config)
  5546. return *(*uintptr)(unsafe.Pointer(bp))
  5547. }
  5548. func XFcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  5549. bp := tls.Alloc(144)
  5550. defer tls.Free(144)
  5551. var cache, config uintptr
  5552. var fd int32
  5553. var _ /* my_file_stat at bp+0 */ Tstat
  5554. _, _, _ = cache, config, fd
  5555. cache = libc.UintptrFromInt32(0)
  5556. if !(file_stat != 0) {
  5557. file_stat = bp
  5558. }
  5559. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5560. if !(config != 0) {
  5561. return libc.UintptrFromInt32(0)
  5562. }
  5563. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  5564. if fd >= 0 {
  5565. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  5566. libc.Xclose(tls, fd)
  5567. }
  5568. XFcConfigDestroy(tls, config)
  5569. return cache
  5570. }
  5571. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  5572. bp := tls.Alloc(32)
  5573. defer tls.Free(32)
  5574. var epoch uint64
  5575. var ret int32
  5576. var source_date_epoch uintptr
  5577. var _ /* endptr at bp+0 */ uintptr
  5578. _, _, _ = epoch, ret, source_date_epoch
  5579. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtimespec.Ftv_sec)
  5580. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+303)
  5581. if source_date_epoch != 0 {
  5582. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  5583. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  5584. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  5585. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+321, 0)
  5586. } else {
  5587. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 && epoch == uint64(0) {
  5588. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+360, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))), epoch))
  5589. } else {
  5590. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  5591. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+411, 0)
  5592. } else {
  5593. if epoch > libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1) {
  5594. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+463, libc.VaList(bp+16, libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1), epoch))
  5595. } else {
  5596. if epoch < libc.Uint64FromInt32(ret) {
  5597. /* Only override if directory is newer */
  5598. ret = libc.Int32FromUint64(epoch)
  5599. }
  5600. }
  5601. }
  5602. }
  5603. }
  5604. }
  5605. return ret
  5606. }
  5607. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  5608. return 0
  5609. }
  5610. // C documentation
  5611. //
  5612. // /*
  5613. // * Validate a cache file by reading the header and checking
  5614. // * the magic number and the size field
  5615. // */
  5616. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  5617. bp := tls.Alloc(64)
  5618. defer tls.Free(64)
  5619. var ret TFcBool
  5620. var _ /* c at bp+0 */ TFcCache
  5621. _ = ret
  5622. ret = int32(m_FcTrue)
  5623. if libc.Uint64FromInt64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  5624. ret = m_FcFalse
  5625. } else {
  5626. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  5627. ret = m_FcFalse
  5628. } else {
  5629. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  5630. ret = m_FcFalse
  5631. } else {
  5632. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  5633. ret = m_FcFalse
  5634. } else {
  5635. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  5636. ret = m_FcFalse
  5637. }
  5638. }
  5639. }
  5640. }
  5641. }
  5642. return ret
  5643. }
  5644. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  5645. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  5646. }
  5647. func XFcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  5648. var config uintptr
  5649. var ret TFcBool
  5650. _, _ = config, ret
  5651. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5652. if !(config != 0) {
  5653. return m_FcFalse
  5654. }
  5655. ret = _FcDirCacheValidConfig(tls, dir, config)
  5656. XFcConfigDestroy(tls, config)
  5657. return ret
  5658. }
  5659. // C documentation
  5660. //
  5661. // /*
  5662. // * Build a cache structure from the given contents
  5663. // */
  5664. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  5665. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  5666. var i int32
  5667. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  5668. serialize = XFcSerializeCreate(tls)
  5669. if !(serialize != 0) {
  5670. return libc.UintptrFromInt32(0)
  5671. }
  5672. /*
  5673. * Space for cache structure
  5674. */
  5675. XFcSerializeReserve(tls, serialize, int32(64))
  5676. /*
  5677. * Directory name
  5678. */
  5679. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  5680. goto bail1
  5681. }
  5682. /*
  5683. * Subdirs
  5684. */
  5685. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  5686. i = 0
  5687. for {
  5688. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  5689. break
  5690. }
  5691. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  5692. goto bail1
  5693. }
  5694. goto _1
  5695. _1:
  5696. ;
  5697. i++
  5698. }
  5699. /*
  5700. * Patterns
  5701. */
  5702. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  5703. goto bail1
  5704. }
  5705. /* Serialize layout complete. Now allocate space and fill it */
  5706. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  5707. if !(cache != 0) {
  5708. goto bail1
  5709. }
  5710. /* shut up valgrind */
  5711. libc.X__builtin___memset_chk(tls, cache, 0, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize), ^t__predefined_size_t(0))
  5712. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  5713. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  5714. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  5715. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  5716. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  5717. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  5718. /*
  5719. * Serialize directory name
  5720. */
  5721. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  5722. if !(dir_serialize != 0) {
  5723. goto bail2
  5724. }
  5725. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  5726. /*
  5727. * Serialize sub dirs
  5728. */
  5729. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  5730. if !(dirs_serialize != 0) {
  5731. goto bail2
  5732. }
  5733. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  5734. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  5735. i = 0
  5736. for {
  5737. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  5738. break
  5739. }
  5740. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  5741. if !(d_serialize != 0) {
  5742. goto bail2
  5743. }
  5744. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  5745. goto _2
  5746. _2:
  5747. ;
  5748. i++
  5749. }
  5750. /*
  5751. * Serialize font set
  5752. */
  5753. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  5754. if !(set_serialize != 0) {
  5755. goto bail2
  5756. }
  5757. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  5758. XFcSerializeDestroy(tls, serialize)
  5759. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  5760. return cache
  5761. goto bail2
  5762. bail2:
  5763. ;
  5764. libc.Xfree(tls, cache)
  5765. goto bail1
  5766. bail1:
  5767. ;
  5768. XFcSerializeDestroy(tls, serialize)
  5769. return libc.UintptrFromInt32(0)
  5770. }
  5771. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  5772. var dir, new1, set uintptr
  5773. _, _, _ = dir, new1, set
  5774. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  5775. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  5776. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  5777. XFcFontSetDestroy(tls, set)
  5778. return new1
  5779. }
  5780. // C documentation
  5781. //
  5782. // /* write serialized state to the cache file */
  5783. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  5784. bp := tls.Alloc(224)
  5785. defer tls.Free(224)
  5786. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  5787. var fd, written int32
  5788. var magic uint32
  5789. var _ /* cache_base at bp+0 */ [52]TFcChar8
  5790. var _ /* cache_stat at bp+56 */ Tstat
  5791. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  5792. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  5793. cache_dir = libc.UintptrFromInt32(0)
  5794. d = libc.UintptrFromInt32(0)
  5795. sysroot = XFcConfigGetSysRoot(tls, config)
  5796. /*
  5797. * Write it to the first directory in the list which is writable
  5798. */
  5799. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5800. if !(list != 0) {
  5801. return m_FcFalse
  5802. }
  5803. for {
  5804. v1 = XFcStrListNext(tls, list)
  5805. test_dir = v1
  5806. if !(v1 != 0) {
  5807. break
  5808. }
  5809. if d != 0 {
  5810. XFcStrFree(tls, d)
  5811. }
  5812. if sysroot != 0 {
  5813. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  5814. } else {
  5815. d = XFcStrCopyFilename(tls, test_dir)
  5816. }
  5817. if libc.Xaccess(tls, d, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  5818. cache_dir = XFcStrCopyFilename(tls, d)
  5819. break
  5820. } else {
  5821. /*
  5822. * If the directory doesn't exist, try to create it
  5823. */
  5824. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  5825. if XFcMakeDirectory(tls, d) != 0 {
  5826. cache_dir = XFcStrCopyFilename(tls, d)
  5827. /* Create CACHEDIR.TAG */
  5828. XFcDirCacheCreateTagFile(tls, d)
  5829. break
  5830. }
  5831. } else {
  5832. if libc.Xchmod(tls, d, uint16(0755)) == 0 {
  5833. cache_dir = XFcStrCopyFilename(tls, d)
  5834. /* Try to create CACHEDIR.TAG too */
  5835. XFcDirCacheCreateTagFile(tls, d)
  5836. break
  5837. }
  5838. }
  5839. }
  5840. }
  5841. if !(test_dir != 0) {
  5842. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+523, 0)
  5843. }
  5844. if d != 0 {
  5845. XFcStrFree(tls, d)
  5846. }
  5847. XFcStrListDone(tls, list)
  5848. if !(cache_dir != 0) {
  5849. return m_FcFalse
  5850. }
  5851. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  5852. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  5853. XFcStrFree(tls, cache_dir)
  5854. if !(cache_hashed != 0) {
  5855. return m_FcFalse
  5856. }
  5857. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5858. libc.Xprintf(tls, __ccgo_ts+572, libc.VaList(bp+208, dir, cache_hashed))
  5859. }
  5860. atomic = XFcAtomicCreate(tls, cache_hashed)
  5861. if !(atomic != 0) {
  5862. goto bail1
  5863. }
  5864. if !(XFcAtomicLock(tls, atomic) != 0) {
  5865. goto bail3
  5866. }
  5867. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+208, int32(0666)))
  5868. if fd == -int32(1) {
  5869. goto bail4
  5870. }
  5871. /* Temporarily switch magic to MMAP while writing to file */
  5872. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  5873. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  5874. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  5875. }
  5876. /*
  5877. * Write cache contents to file
  5878. */
  5879. written = int32(libc.Xwrite(tls, fd, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  5880. /* Switch magic back */
  5881. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  5882. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  5883. }
  5884. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  5885. libc.Xperror(tls, __ccgo_ts+611)
  5886. goto bail5
  5887. }
  5888. libc.Xclose(tls, fd)
  5889. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  5890. goto bail4
  5891. }
  5892. /* If the file is small, update the cache chain entry such that the
  5893. * new cache file is not read again. If it's large, we don't do that
  5894. * such that we reload it, using mmap, which is shared across processes.
  5895. */
  5896. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  5897. _lock_cache(tls)
  5898. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  5899. skip = v2
  5900. if v2 != 0 {
  5901. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  5902. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  5903. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtimespec.Ftv_sec
  5904. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = 0
  5905. }
  5906. _unlock_cache(tls)
  5907. }
  5908. XFcStrFree(tls, cache_hashed)
  5909. XFcAtomicUnlock(tls, atomic)
  5910. XFcAtomicDestroy(tls, atomic)
  5911. return int32(m_FcTrue)
  5912. goto bail5
  5913. bail5:
  5914. ;
  5915. libc.Xclose(tls, fd)
  5916. goto bail4
  5917. bail4:
  5918. ;
  5919. XFcAtomicUnlock(tls, atomic)
  5920. goto bail3
  5921. bail3:
  5922. ;
  5923. XFcAtomicDestroy(tls, atomic)
  5924. goto bail1
  5925. bail1:
  5926. ;
  5927. XFcStrFree(tls, cache_hashed)
  5928. return m_FcFalse
  5929. }
  5930. func XFcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  5931. bp := tls.Alloc(176)
  5932. defer tls.Free(176)
  5933. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  5934. var remove, ret TFcBool
  5935. var _ /* target_stat at bp+0 */ Tstat
  5936. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  5937. ret = int32(m_FcTrue)
  5938. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5939. if !(config != 0) {
  5940. return m_FcFalse
  5941. }
  5942. /* FIXME: this API needs to support non-current FcConfig */
  5943. sysroot = XFcConfigGetSysRoot(tls, config)
  5944. if sysroot != 0 {
  5945. dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  5946. } else {
  5947. dir = XFcStrCopyFilename(tls, cache_dir)
  5948. }
  5949. if !(dir != 0) {
  5950. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+623, libc.VaList(bp+152, cache_dir))
  5951. ret = m_FcFalse
  5952. goto bail
  5953. }
  5954. if libc.Xaccess(tls, dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  5955. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5956. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  5957. v1 = __ccgo_ts + 660
  5958. } else {
  5959. v1 = __ccgo_ts + 671
  5960. }
  5961. libc.Xprintf(tls, __ccgo_ts+684, libc.VaList(bp+152, dir, v1))
  5962. }
  5963. goto bail0
  5964. }
  5965. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5966. libc.Xprintf(tls, __ccgo_ts+721, libc.VaList(bp+152, dir))
  5967. }
  5968. d = libc.Xopendir(tls, dir)
  5969. if !(d != 0) {
  5970. libc.Xperror(tls, dir)
  5971. ret = m_FcFalse
  5972. goto bail0
  5973. }
  5974. for {
  5975. v2 = libc.Xreaddir(tls, d)
  5976. ent = v2
  5977. if !(v2 != 0) {
  5978. break
  5979. }
  5980. if int32(*(*int8)(unsafe.Pointer(ent + 21))) == int32('.') {
  5981. continue
  5982. }
  5983. /* skip cache files for different architectures and */
  5984. /* files which are not cache files at all */
  5985. if libc.Xstrlen(tls, ent+21) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+83) || libc.Xstrcmp(tls, ent+21+uintptr(32), __ccgo_ts+83) != 0 {
  5986. continue
  5987. }
  5988. file_name = XFcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+21, libc.UintptrFromInt32(0)))
  5989. if !(file_name != 0) {
  5990. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+751, libc.VaList(bp+152, dir))
  5991. ret = m_FcFalse
  5992. break
  5993. }
  5994. remove = m_FcFalse
  5995. cache = XFcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  5996. if !(cache != 0) {
  5997. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5998. libc.Xprintf(tls, __ccgo_ts+793, libc.VaList(bp+152, dir, ent+21))
  5999. }
  6000. remove = int32(m_FcTrue)
  6001. } else {
  6002. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6003. if sysroot != 0 {
  6004. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  6005. } else {
  6006. s = libc.Xstrdup(tls, target_dir)
  6007. }
  6008. if libc.Xstat(tls, s, bp) < 0 {
  6009. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6010. libc.Xprintf(tls, __ccgo_ts+821, libc.VaList(bp+152, dir, ent+21, s))
  6011. }
  6012. remove = int32(m_FcTrue)
  6013. }
  6014. XFcDirCacheUnload(tls, cache)
  6015. XFcStrFree(tls, s)
  6016. }
  6017. if remove != 0 {
  6018. if libc.Xunlink(tls, file_name) < 0 {
  6019. libc.Xperror(tls, file_name)
  6020. ret = m_FcFalse
  6021. }
  6022. }
  6023. XFcStrFree(tls, file_name)
  6024. }
  6025. libc.Xclosedir(tls, d)
  6026. goto bail0
  6027. bail0:
  6028. ;
  6029. XFcStrFree(tls, dir)
  6030. goto bail
  6031. bail:
  6032. ;
  6033. XFcConfigDestroy(tls, config)
  6034. return ret
  6035. }
  6036. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  6037. bp := tls.Alloc(112)
  6038. defer tls.Free(112)
  6039. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  6040. var fd int32
  6041. var _ /* cache_base at bp+0 */ [52]TFcChar8
  6042. var _ /* fl at bp+56 */ Tflock
  6043. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  6044. cache_hashed = libc.UintptrFromInt32(0)
  6045. sysroot = XFcConfigGetSysRoot(tls, config)
  6046. fd = -int32(1)
  6047. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  6048. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6049. if !(list != 0) {
  6050. return -int32(1)
  6051. }
  6052. for {
  6053. v1 = XFcStrListNext(tls, list)
  6054. cache_dir = v1
  6055. if !(v1 != 0) {
  6056. break
  6057. }
  6058. if sysroot != 0 {
  6059. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+88, cache_dir, bp, libc.UintptrFromInt32(0)))
  6060. } else {
  6061. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+88, bp, libc.UintptrFromInt32(0)))
  6062. }
  6063. if !(cache_hashed != 0) {
  6064. break
  6065. }
  6066. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  6067. XFcStrFree(tls, cache_hashed)
  6068. /* No caches in that directory. simply retry with another one */
  6069. if fd != -int32(1) {
  6070. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  6071. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = m_SEEK_SET
  6072. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  6073. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  6074. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  6075. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+88, bp+56)) == -int32(1) {
  6076. goto bail
  6077. }
  6078. break
  6079. }
  6080. }
  6081. XFcStrListDone(tls, list)
  6082. return fd
  6083. goto bail
  6084. bail:
  6085. ;
  6086. XFcStrListDone(tls, list)
  6087. if fd != -int32(1) {
  6088. libc.Xclose(tls, fd)
  6089. }
  6090. return -int32(1)
  6091. }
  6092. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  6093. bp := tls.Alloc(48)
  6094. defer tls.Free(48)
  6095. var _ /* fl at bp+0 */ Tflock
  6096. if fd != -int32(1) {
  6097. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  6098. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = m_SEEK_SET
  6099. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  6100. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  6101. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  6102. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+32, bp))
  6103. libc.Xclose(tls, fd)
  6104. }
  6105. }
  6106. /*
  6107. * Hokey little macro trick to permit the definitions of C functions
  6108. * with the same name as CPP macros
  6109. */
  6110. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  6111. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  6112. }
  6113. func XFcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  6114. var font, new1, old, v2, v3 uintptr
  6115. var i int32
  6116. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  6117. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  6118. new1 = XFcFontSetCreate(tls)
  6119. if !(new1 != 0) {
  6120. return libc.UintptrFromInt32(0)
  6121. }
  6122. i = 0
  6123. for {
  6124. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  6125. break
  6126. }
  6127. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6128. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6129. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  6130. } else {
  6131. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  6132. }
  6133. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  6134. } else {
  6135. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  6136. }
  6137. font = v2
  6138. XFcPatternReference(tls, font)
  6139. if !(XFcFontSetAdd(tls, new1, font) != 0) {
  6140. XFcFontSetDestroy(tls, new1)
  6141. return libc.UintptrFromInt32(0)
  6142. }
  6143. goto _1
  6144. _1:
  6145. ;
  6146. i++
  6147. }
  6148. return new1
  6149. }
  6150. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  6151. return uintptr(int64(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(c)+(*TFcCache)(unsafe.Pointer(c)).Fdirs) + uintptr(i)*8)))
  6152. }
  6153. func XFcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  6154. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  6155. }
  6156. func XFcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  6157. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  6158. }
  6159. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  6160. bp := tls.Alloc(32)
  6161. defer tls.Free(32)
  6162. var atomic, cache_tag, fp uintptr
  6163. var fd int32
  6164. var ret TFcBool
  6165. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  6166. ret = m_FcFalse
  6167. if !(cache_dir != 0) {
  6168. return m_FcFalse
  6169. }
  6170. if libc.Xaccess(tls, cache_dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  6171. /* Create CACHEDIR.TAG */
  6172. cache_tag = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+853, libc.UintptrFromInt32(0)))
  6173. if !(cache_tag != 0) {
  6174. return m_FcFalse
  6175. }
  6176. atomic = XFcAtomicCreate(tls, cache_tag)
  6177. if !(atomic != 0) {
  6178. goto bail1
  6179. }
  6180. if !(XFcAtomicLock(tls, atomic) != 0) {
  6181. goto bail2
  6182. }
  6183. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  6184. if fd == -int32(1) {
  6185. goto bail3
  6186. }
  6187. fp = libc.Xfdopen(tls, fd, __ccgo_ts+866)
  6188. if fp == libc.UintptrFromInt32(0) {
  6189. goto bail3
  6190. }
  6191. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  6192. libc.Xfclose(tls, fp)
  6193. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  6194. goto bail3
  6195. }
  6196. ret = int32(m_FcTrue)
  6197. goto bail3
  6198. bail3:
  6199. ;
  6200. XFcAtomicUnlock(tls, atomic)
  6201. goto bail2
  6202. bail2:
  6203. ;
  6204. XFcAtomicDestroy(tls, atomic)
  6205. goto bail1
  6206. bail1:
  6207. ;
  6208. XFcStrFree(tls, cache_tag)
  6209. }
  6210. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6211. if ret != 0 {
  6212. libc.Xprintf(tls, __ccgo_ts+869, libc.VaList(bp+8, cache_dir))
  6213. } else {
  6214. libc.Xprintf(tls, __ccgo_ts+897, libc.VaList(bp+8, cache_dir))
  6215. }
  6216. }
  6217. return ret
  6218. }
  6219. 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}
  6220. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  6221. func XFcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  6222. bp := tls.Alloc(32)
  6223. defer tls.Free(32)
  6224. var cache_dir, d, list, sysroot, v1 uintptr
  6225. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  6226. cache_dir = libc.UintptrFromInt32(0)
  6227. d = libc.UintptrFromInt32(0)
  6228. config = XFcConfigReference(tls, config)
  6229. if !(config != 0) {
  6230. return
  6231. }
  6232. sysroot = XFcConfigGetSysRoot(tls, config)
  6233. list = XFcConfigGetCacheDirs(tls, config)
  6234. if !(list != 0) {
  6235. goto bail
  6236. }
  6237. for {
  6238. v1 = XFcStrListNext(tls, list)
  6239. cache_dir = v1
  6240. if !(v1 != 0) {
  6241. break
  6242. }
  6243. if d != 0 {
  6244. XFcStrFree(tls, d)
  6245. }
  6246. if sysroot != 0 {
  6247. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  6248. } else {
  6249. d = XFcStrCopyFilename(tls, cache_dir)
  6250. }
  6251. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  6252. break
  6253. }
  6254. }
  6255. if d != 0 {
  6256. XFcStrFree(tls, d)
  6257. }
  6258. XFcStrListDone(tls, list)
  6259. goto bail
  6260. bail:
  6261. ;
  6262. XFcConfigDestroy(tls, config)
  6263. }
  6264. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  6265. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  6266. const m_FC_DIR_SEPARATOR1 = 47
  6267. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  6268. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  6269. const m_FONTCONFIG_FILE = "fonts.conf"
  6270. const m_S_IFIFO1 = 4096
  6271. const m_S_IFMT1 = 61440
  6272. /*
  6273. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  6274. *
  6275. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6276. *
  6277. * This file contains Original Code and/or Modifications of Original Code
  6278. * as defined in and that are subject to the Apple Public Source License
  6279. * Version 2.0 (the 'License'). You may not use this file except in
  6280. * compliance with the License. The rights granted to you under the License
  6281. * may not be used to create, or enable the creation or redistribution of,
  6282. * unlawful or unlicensed copies of an Apple operating system, or to
  6283. * circumvent, violate, or enable the circumvention or violation of, any
  6284. * terms of an Apple operating system software license agreement.
  6285. *
  6286. * Please obtain a copy of the License at
  6287. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  6288. *
  6289. * The Original Code and all software distributed under the License are
  6290. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6291. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6292. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6293. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6294. * Please see the License for the specific language governing rights and
  6295. * limitations under the License.
  6296. *
  6297. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6298. */
  6299. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  6300. /*
  6301. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  6302. * The Regents of the University of California. All rights reserved.
  6303. * (c) UNIX System Laboratories, Inc.
  6304. * All or some portions of this file are derived from material licensed
  6305. * to the University of California by American Telephone and Telegraph
  6306. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  6307. * the permission of UNIX System Laboratories, Inc.
  6308. *
  6309. * Redistribution and use in source and binary forms, with or without
  6310. * modification, are permitted provided that the following conditions
  6311. * are met:
  6312. * 1. Redistributions of source code must retain the above copyright
  6313. * notice, this list of conditions and the following disclaimer.
  6314. * 2. Redistributions in binary form must reproduce the above copyright
  6315. * notice, this list of conditions and the following disclaimer in the
  6316. * documentation and/or other materials provided with the distribution.
  6317. * 3. All advertising materials mentioning features or use of this software
  6318. * must display the following acknowledgement:
  6319. * This product includes software developed by the University of
  6320. * California, Berkeley and its contributors.
  6321. * 4. Neither the name of the University nor the names of its contributors
  6322. * may be used to endorse or promote products derived from this software
  6323. * without specific prior written permission.
  6324. *
  6325. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  6326. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6327. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6328. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  6329. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  6330. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  6331. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  6332. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  6333. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  6334. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  6335. * SUCH DAMAGE.
  6336. *
  6337. * @(#)types.h 8.4 (Berkeley) 1/21/94
  6338. */
  6339. var __fcConfig uintptr /* MT-safe */
  6340. var __lock uintptr
  6341. func _lock_config(tls *libc.TLS) {
  6342. var lock uintptr
  6343. var v1 int32
  6344. _, _ = lock, v1
  6345. goto retry
  6346. retry:
  6347. ;
  6348. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6349. if !(lock != 0) {
  6350. lock = libc.Xmalloc(tls, uint64(4))
  6351. _ = lock
  6352. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  6353. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  6354. v1 = libc.Int32FromInt32(m_FcTrue)
  6355. } else {
  6356. v1 = m_FcFalse
  6357. }
  6358. if !(v1 != 0) {
  6359. _ = lock
  6360. libc.Xfree(tls, lock)
  6361. goto retry
  6362. }
  6363. _ = lock
  6364. /* Initialize random state */
  6365. XFcRandom(tls)
  6366. return
  6367. }
  6368. _ = lock
  6369. }
  6370. func _unlock_config(tls *libc.TLS) {
  6371. var lock uintptr
  6372. _ = lock
  6373. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6374. _ = lock
  6375. }
  6376. func _free_lock1(tls *libc.TLS) {
  6377. var lock uintptr
  6378. var v1 int32
  6379. var v2 bool
  6380. _, _, _ = lock, v1, v2
  6381. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6382. if v2 = lock != 0; v2 {
  6383. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  6384. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  6385. v1 = libc.Int32FromInt32(m_FcTrue)
  6386. } else {
  6387. v1 = m_FcFalse
  6388. }
  6389. }
  6390. if v2 && v1 != 0 {
  6391. _ = lock
  6392. libc.Xfree(tls, lock)
  6393. }
  6394. }
  6395. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  6396. var config uintptr
  6397. var v1 int32
  6398. var v2 bool
  6399. _, _, _ = config, v1, v2
  6400. goto retry
  6401. retry:
  6402. ;
  6403. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6404. if !(config != 0) {
  6405. config = XFcInitLoadConfigAndFonts(tls)
  6406. if v2 = !(config != 0); !v2 {
  6407. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  6408. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6409. v1 = libc.Int32FromInt32(m_FcTrue)
  6410. } else {
  6411. v1 = m_FcFalse
  6412. }
  6413. }
  6414. if v2 || !(v1 != 0) {
  6415. if config != 0 {
  6416. XFcConfigDestroy(tls, config)
  6417. }
  6418. goto retry
  6419. }
  6420. }
  6421. return config
  6422. }
  6423. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  6424. XFcRuleDestroy(tls, data)
  6425. }
  6426. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  6427. XFcRuleSetDestroy(tls, data)
  6428. }
  6429. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  6430. var v1 int32
  6431. _ = v1
  6432. if _FcConfigEnsure(tls) != 0 {
  6433. v1 = int32(m_FcTrue)
  6434. } else {
  6435. v1 = m_FcFalse
  6436. }
  6437. return v1
  6438. }
  6439. func XFcConfigFini(tls *libc.TLS) {
  6440. var cfg uintptr
  6441. var v1 int32
  6442. var v2 bool
  6443. _, _, _ = cfg, v1, v2
  6444. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6445. if v2 = cfg != 0; v2 {
  6446. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  6447. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  6448. v1 = libc.Int32FromInt32(m_FcTrue)
  6449. } else {
  6450. v1 = m_FcFalse
  6451. }
  6452. }
  6453. if v2 && v1 != 0 {
  6454. XFcConfigDestroy(tls, cfg)
  6455. }
  6456. _free_lock1(tls)
  6457. }
  6458. func XFcConfigCreate(tls *libc.TLS) (r uintptr) {
  6459. var config uintptr
  6460. var err TFcBool
  6461. var k TFcMatchKind
  6462. var set TFcSetName
  6463. _, _, _, _ = config, err, k, set
  6464. err = m_FcFalse
  6465. config = libc.Xmalloc(tls, uint64(168))
  6466. if !(config != 0) {
  6467. goto bail0
  6468. }
  6469. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XFcStrSetCreate(tls)
  6470. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  6471. goto bail1
  6472. }
  6473. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XFcStrSetCreate(tls)
  6474. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  6475. goto bail1_5
  6476. }
  6477. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XFcStrSetCreate(tls)
  6478. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  6479. goto bail2
  6480. }
  6481. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XFcStrSetCreate(tls)
  6482. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  6483. goto bail3
  6484. }
  6485. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XFcStrSetCreate(tls)
  6486. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  6487. goto bail4
  6488. }
  6489. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XFcStrSetCreate(tls)
  6490. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  6491. goto bail5
  6492. }
  6493. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XFcFontSetCreate(tls)
  6494. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  6495. goto bail6
  6496. }
  6497. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XFcFontSetCreate(tls)
  6498. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  6499. goto bail7
  6500. }
  6501. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XFcStrSetCreate(tls)
  6502. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  6503. goto bail8
  6504. }
  6505. k = int32(_FcMatchKindBegin)
  6506. for {
  6507. if !(k < int32(_FcMatchKindEnd)) {
  6508. break
  6509. }
  6510. *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6511. if !(*(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0) {
  6512. err = int32(m_FcTrue)
  6513. }
  6514. goto _1
  6515. _1:
  6516. ;
  6517. k++
  6518. }
  6519. if err != 0 {
  6520. goto bail9
  6521. }
  6522. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  6523. set = int32(_FcSetSystem)
  6524. for {
  6525. if !(set <= int32(_FcSetApplication)) {
  6526. break
  6527. }
  6528. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = uintptr(0)
  6529. goto _2
  6530. _2:
  6531. ;
  6532. set++
  6533. }
  6534. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  6535. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  6536. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  6537. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+934))
  6538. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6539. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  6540. goto bail9
  6541. }
  6542. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XFcStrSetCreate(tls)
  6543. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  6544. goto bail10
  6545. }
  6546. (*TFcRef)(unsafe.Pointer(config + 132)).Fcount = int32(1)
  6547. return config
  6548. goto bail10
  6549. bail10:
  6550. ;
  6551. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  6552. goto bail9
  6553. bail9:
  6554. ;
  6555. k = int32(_FcMatchKindBegin)
  6556. for {
  6557. if !(k < int32(_FcMatchKindEnd)) {
  6558. break
  6559. }
  6560. if *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0 {
  6561. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  6562. }
  6563. goto _3
  6564. _3:
  6565. ;
  6566. k++
  6567. }
  6568. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6569. goto bail8
  6570. bail8:
  6571. ;
  6572. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  6573. goto bail7
  6574. bail7:
  6575. ;
  6576. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  6577. goto bail6
  6578. bail6:
  6579. ;
  6580. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  6581. goto bail5
  6582. bail5:
  6583. ;
  6584. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  6585. goto bail4
  6586. bail4:
  6587. ;
  6588. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  6589. goto bail3
  6590. bail3:
  6591. ;
  6592. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  6593. goto bail2
  6594. bail2:
  6595. ;
  6596. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  6597. goto bail1_5
  6598. bail1_5:
  6599. ;
  6600. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  6601. goto bail1
  6602. bail1:
  6603. ;
  6604. libc.Xfree(tls, config)
  6605. goto bail0
  6606. bail0:
  6607. ;
  6608. return uintptr(0)
  6609. return r
  6610. }
  6611. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  6612. bp := tls.Alloc(144)
  6613. defer tls.Free(144)
  6614. var file, list, v1 uintptr
  6615. var newest TFcFileTime
  6616. var _ /* statb at bp+0 */ Tstat
  6617. _, _, _, _ = file, list, newest, v1
  6618. list = XFcStrListCreate(tls, files)
  6619. newest = TFcFileTime{}
  6620. if list != 0 {
  6621. for {
  6622. v1 = XFcStrListNext(tls, list)
  6623. file = v1
  6624. if !(v1 != 0) {
  6625. break
  6626. }
  6627. if XFcStat(tls, file, bp) == 0 {
  6628. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec-newest.Ftime > 0 {
  6629. newest.Fset = int32(m_FcTrue)
  6630. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  6631. }
  6632. }
  6633. }
  6634. XFcStrListDone(tls, list)
  6635. }
  6636. return newest
  6637. }
  6638. func XFcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  6639. var config_dir_time, config_time, font_time TFcFileTime
  6640. var now Ttime_t
  6641. var ret TFcBool
  6642. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  6643. now = libc.Xtime(tls, uintptr(0))
  6644. ret = int32(m_FcTrue)
  6645. config = XFcConfigReference(tls, config)
  6646. if !(config != 0) {
  6647. return m_FcFalse
  6648. }
  6649. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  6650. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  6651. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  6652. 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 {
  6653. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  6654. 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 {
  6655. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+953, 0)
  6656. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  6657. goto bail
  6658. } else {
  6659. ret = m_FcFalse
  6660. goto bail
  6661. }
  6662. }
  6663. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  6664. goto bail
  6665. bail:
  6666. ;
  6667. XFcConfigDestroy(tls, config)
  6668. return ret
  6669. }
  6670. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  6671. var new_page, v1, v2 uintptr
  6672. _, _, _ = new_page, v1, v2
  6673. if !((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool != 0) || (*TFcExprPage)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool)).Fnext == (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool+8176 {
  6674. new_page = libc.Xmalloc(tls, uint64(8176))
  6675. if !(new_page != 0) {
  6676. return uintptr(0)
  6677. }
  6678. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  6679. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  6680. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  6681. }
  6682. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  6683. v1 = *(*uintptr)(unsafe.Pointer(v2))
  6684. *(*uintptr)(unsafe.Pointer(v2)) += 24
  6685. return v1
  6686. }
  6687. func XFcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  6688. var v1 int32
  6689. var p3, p5 uintptr
  6690. _, _, _ = v1, p3, p5
  6691. if !(config != 0) {
  6692. /* lock during obtaining the value from _fcConfig and count up refcount there,
  6693. * there are the race between them.
  6694. */
  6695. _lock_config(tls)
  6696. goto retry
  6697. retry:
  6698. ;
  6699. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6700. if !(config != 0) {
  6701. _unlock_config(tls)
  6702. config = XFcInitLoadConfigAndFonts(tls)
  6703. if !(config != 0) {
  6704. goto retry
  6705. }
  6706. _lock_config(tls)
  6707. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  6708. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6709. v1 = libc.Int32FromInt32(m_FcTrue)
  6710. } else {
  6711. v1 = m_FcFalse
  6712. }
  6713. if !(v1 != 0) {
  6714. XFcConfigDestroy(tls, config)
  6715. goto retry
  6716. }
  6717. }
  6718. p3 = config + 132
  6719. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  6720. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  6721. goto _2
  6722. _2:
  6723. ;
  6724. _unlock_config(tls)
  6725. } else {
  6726. p5 = config + 132
  6727. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  6728. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  6729. goto _4
  6730. _4:
  6731. }
  6732. return config
  6733. }
  6734. func XFcConfigDestroy(tls *libc.TLS, config uintptr) {
  6735. var k TFcMatchKind
  6736. var next, page, p3 uintptr
  6737. var set TFcSetName
  6738. var v1 int32
  6739. _, _, _, _, _, _ = k, next, page, set, v1, p3
  6740. p3 = config + 132
  6741. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  6742. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  6743. goto _2
  6744. _2:
  6745. if v1 != int32(1) {
  6746. return
  6747. }
  6748. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  6749. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  6750. _ = libc.Int32FromInt32(m_FcTrue)
  6751. }
  6752. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  6753. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  6754. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  6755. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6756. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  6757. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  6758. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  6759. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  6760. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  6761. k = int32(_FcMatchKindBegin)
  6762. for {
  6763. if !(k < int32(_FcMatchKindEnd)) {
  6764. break
  6765. }
  6766. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  6767. goto _5
  6768. _5:
  6769. ;
  6770. k++
  6771. }
  6772. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  6773. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  6774. set = int32(_FcSetSystem)
  6775. for {
  6776. if !(set <= int32(_FcSetApplication)) {
  6777. break
  6778. }
  6779. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  6780. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  6781. }
  6782. goto _6
  6783. _6:
  6784. ;
  6785. set++
  6786. }
  6787. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  6788. for page != 0 {
  6789. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  6790. libc.Xfree(tls, page)
  6791. page = next
  6792. }
  6793. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  6794. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  6795. }
  6796. libc.Xfree(tls, config)
  6797. }
  6798. /*
  6799. * Add cache to configuration, adding fonts and directories
  6800. */
  6801. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  6802. bp := tls.Alloc(32)
  6803. defer tls.Free(32)
  6804. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  6805. var i, nref int32
  6806. var relocated TFcBool
  6807. var _ /* font_file at bp+0 */ uintptr
  6808. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  6809. relocated = m_FcFalse
  6810. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  6811. relocated = int32(m_FcTrue)
  6812. }
  6813. /*
  6814. * Add fonts
  6815. */
  6816. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  6817. if fs != 0 {
  6818. nref = 0
  6819. i = 0
  6820. for {
  6821. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  6822. break
  6823. }
  6824. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  6825. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  6826. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  6827. } else {
  6828. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  6829. }
  6830. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  6831. } else {
  6832. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  6833. }
  6834. font = v2
  6835. relocated_font_file = libc.UintptrFromInt32(0)
  6836. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  6837. if relocated != 0 {
  6838. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  6839. relocated_font_file = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  6840. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  6841. }
  6842. /*
  6843. * Check to see if font is banned by filename
  6844. */
  6845. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  6846. libc.Xfree(tls, relocated_font_file)
  6847. goto _1
  6848. }
  6849. }
  6850. /*
  6851. * Check to see if font is banned by pattern
  6852. */
  6853. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  6854. libc.Xfree(tls, relocated_font_file)
  6855. goto _1
  6856. }
  6857. if relocated_font_file != 0 {
  6858. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  6859. libc.Xfree(tls, relocated_font_file)
  6860. }
  6861. if XFcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)), font) != 0 {
  6862. nref++
  6863. }
  6864. goto _1
  6865. _1:
  6866. ;
  6867. i++
  6868. }
  6869. XFcDirCacheReference(tls, cache, nref)
  6870. }
  6871. /*
  6872. * Add directories
  6873. */
  6874. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  6875. if dirs != 0 {
  6876. i = 0
  6877. for {
  6878. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  6879. break
  6880. }
  6881. dir = uintptr(int64(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdirs) + uintptr(i)*8)))
  6882. s = libc.UintptrFromInt32(0)
  6883. if relocated != 0 {
  6884. base = XFcStrBasename(tls, dir)
  6885. v5 = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  6886. s = v5
  6887. dir = v5
  6888. XFcStrFree(tls, base)
  6889. }
  6890. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  6891. XFcStrSetAddFilename(tls, dirSet, dir)
  6892. }
  6893. if s != 0 {
  6894. XFcStrFree(tls, s)
  6895. }
  6896. goto _4
  6897. _4:
  6898. ;
  6899. i++
  6900. }
  6901. }
  6902. return int32(m_FcTrue)
  6903. }
  6904. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  6905. bp := tls.Alloc(16)
  6906. defer tls.Free(16)
  6907. var cache, dir, dirlist, v1 uintptr
  6908. _, _, _, _ = cache, dir, dirlist, v1
  6909. dirlist = XFcStrListCreate(tls, dirSet)
  6910. if !(dirlist != 0) {
  6911. return m_FcFalse
  6912. }
  6913. for {
  6914. v1 = XFcStrListNext(tls, dirlist)
  6915. dir = v1
  6916. if !(v1 != 0) {
  6917. break
  6918. }
  6919. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  6920. libc.Xprintf(tls, __ccgo_ts+1041, libc.VaList(bp+8, dir))
  6921. }
  6922. cache = XFcDirCacheRead(tls, dir, m_FcFalse, config)
  6923. if !(cache != 0) {
  6924. continue
  6925. }
  6926. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  6927. XFcDirCacheUnload(tls, cache)
  6928. }
  6929. XFcStrListDone(tls, dirlist)
  6930. return int32(m_FcTrue)
  6931. }
  6932. /*
  6933. * Scan the current list of directories in the configuration
  6934. * and build the set of available fonts.
  6935. */
  6936. func XFcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  6937. var fonts uintptr
  6938. var ret TFcBool
  6939. _, _ = fonts, ret
  6940. ret = int32(m_FcTrue)
  6941. config = XFcConfigReference(tls, config)
  6942. if !(config != 0) {
  6943. return m_FcFalse
  6944. }
  6945. fonts = XFcFontSetCreate(tls)
  6946. if !(fonts != 0) {
  6947. ret = m_FcFalse
  6948. goto bail
  6949. }
  6950. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  6951. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  6952. ret = m_FcFalse
  6953. goto bail
  6954. }
  6955. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  6956. XFcFontSetPrint(tls, fonts)
  6957. }
  6958. goto bail
  6959. bail:
  6960. ;
  6961. XFcConfigDestroy(tls, config)
  6962. return ret
  6963. }
  6964. func XFcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  6965. var cfg, p2 uintptr
  6966. var v3 int32
  6967. _, _, _ = cfg, v3, p2
  6968. if config != 0 {
  6969. if !(*(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0) {
  6970. if !(XFcConfigBuildFonts(tls, config) != 0) {
  6971. return m_FcFalse
  6972. }
  6973. }
  6974. p2 = config + 132
  6975. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  6976. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  6977. goto _1
  6978. _1:
  6979. }
  6980. _lock_config(tls)
  6981. goto retry
  6982. retry:
  6983. ;
  6984. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6985. if config == cfg {
  6986. _unlock_config(tls)
  6987. if config != 0 {
  6988. XFcConfigDestroy(tls, config)
  6989. }
  6990. return int32(m_FcTrue)
  6991. }
  6992. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  6993. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6994. v3 = libc.Int32FromInt32(m_FcTrue)
  6995. } else {
  6996. v3 = m_FcFalse
  6997. }
  6998. if !(v3 != 0) {
  6999. goto retry
  7000. }
  7001. _unlock_config(tls)
  7002. if cfg != 0 {
  7003. XFcConfigDestroy(tls, cfg)
  7004. }
  7005. return int32(m_FcTrue)
  7006. }
  7007. func XFcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  7008. return _FcConfigEnsure(tls)
  7009. }
  7010. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7011. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  7012. }
  7013. func XFcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7014. var ret uintptr
  7015. _ = ret
  7016. config = XFcConfigReference(tls, config)
  7017. if !(config != 0) {
  7018. return libc.UintptrFromInt32(0)
  7019. }
  7020. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7021. XFcConfigDestroy(tls, config)
  7022. return ret
  7023. }
  7024. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  7025. bp := tls.Alloc(48)
  7026. defer tls.Free(48)
  7027. var v1, v2, v3, v4, v5, v6 uintptr
  7028. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  7029. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7030. if m != 0 {
  7031. if salt != 0 {
  7032. v1 = __ccgo_ts + 1063
  7033. } else {
  7034. v1 = __ccgo_ts + 110
  7035. }
  7036. if salt != 0 {
  7037. v2 = salt
  7038. } else {
  7039. v2 = __ccgo_ts + 110
  7040. }
  7041. if salt != 0 {
  7042. v3 = __ccgo_ts + 111
  7043. } else {
  7044. v3 = __ccgo_ts + 110
  7045. }
  7046. libc.Xprintf(tls, __ccgo_ts+1072, libc.VaList(bp+8, d, m, v1, v2, v3))
  7047. } else {
  7048. if salt != 0 {
  7049. if salt != 0 {
  7050. v4 = __ccgo_ts + 1063
  7051. } else {
  7052. v4 = __ccgo_ts + 110
  7053. }
  7054. if salt != 0 {
  7055. v5 = salt
  7056. } else {
  7057. v5 = __ccgo_ts + 110
  7058. }
  7059. if salt != 0 {
  7060. v6 = __ccgo_ts + 111
  7061. } else {
  7062. v6 = __ccgo_ts + 110
  7063. }
  7064. libc.Xprintf(tls, __ccgo_ts+1088, libc.VaList(bp+8, d, v4, v5, v6))
  7065. }
  7066. }
  7067. }
  7068. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  7069. }
  7070. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  7071. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7072. libc.Xprintf(tls, __ccgo_ts+1098, 0)
  7073. }
  7074. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7075. }
  7076. func XFcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7077. var ret uintptr
  7078. _ = ret
  7079. config = XFcConfigReference(tls, config)
  7080. if !(config != 0) {
  7081. return libc.UintptrFromInt32(0)
  7082. }
  7083. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7084. XFcConfigDestroy(tls, config)
  7085. return ret
  7086. }
  7087. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  7088. var len1 int32
  7089. _ = len1
  7090. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, start))
  7091. if libc.Xstrncmp(tls, path, start, libc.Uint64FromInt32(len1)) != 0 {
  7092. return m_FcFalse
  7093. }
  7094. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  7095. case int32('\000'):
  7096. fallthrough
  7097. case int32('/'):
  7098. return int32(m_FcTrue)
  7099. default:
  7100. return m_FcFalse
  7101. }
  7102. return r
  7103. }
  7104. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7105. bp := tls.Alloc(32)
  7106. defer tls.Free(32)
  7107. var dir, list, map1, retval, rpath, v1 uintptr
  7108. var len1 Tsize_t
  7109. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  7110. list = XFcConfigGetFontDirs(tls, config)
  7111. if !(list != 0) {
  7112. return uintptr(0)
  7113. }
  7114. for {
  7115. v1 = XFcStrListNext(tls, list)
  7116. dir = v1
  7117. if !(v1 != 0) {
  7118. break
  7119. }
  7120. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7121. break
  7122. }
  7123. }
  7124. XFcStrListDone(tls, list)
  7125. if !(dir != 0) {
  7126. return uintptr(0)
  7127. }
  7128. map1 = XFcStrTripleSecond(tls, dir)
  7129. if !(map1 != 0) {
  7130. return uintptr(0)
  7131. }
  7132. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  7133. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  7134. rpath++
  7135. }
  7136. retval = XFcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  7137. if retval != 0 {
  7138. len1 = libc.Xstrlen(tls, retval)
  7139. for len1 > uint64(0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint64(1))))) == int32('/') {
  7140. len1--
  7141. }
  7142. /* trim the last slash */
  7143. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  7144. }
  7145. return retval
  7146. }
  7147. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7148. var dir, list, v1 uintptr
  7149. _, _, _ = dir, list, v1
  7150. list = XFcConfigGetFontDirs(tls, config)
  7151. if !(list != 0) {
  7152. return libc.UintptrFromInt32(0)
  7153. }
  7154. for {
  7155. v1 = XFcStrListNext(tls, list)
  7156. dir = v1
  7157. if !(v1 != 0) {
  7158. break
  7159. }
  7160. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7161. break
  7162. }
  7163. }
  7164. XFcStrListDone(tls, list)
  7165. if !(dir != 0) {
  7166. return libc.UintptrFromInt32(0)
  7167. }
  7168. return XFcStrTripleThird(tls, dir)
  7169. }
  7170. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7171. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  7172. }
  7173. func XFcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7174. var ret uintptr
  7175. _ = ret
  7176. config = XFcConfigReference(tls, config)
  7177. if !(config != 0) {
  7178. return libc.UintptrFromInt32(0)
  7179. }
  7180. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  7181. XFcConfigDestroy(tls, config)
  7182. return ret
  7183. }
  7184. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  7185. var file uintptr
  7186. var ret TFcBool
  7187. _, _ = file, ret
  7188. file = XFcConfigGetFilename(tls, config, f)
  7189. if !(file != 0) {
  7190. return m_FcFalse
  7191. }
  7192. ret = XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  7193. XFcStrFree(tls, file)
  7194. return ret
  7195. }
  7196. func XFcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  7197. var ret uintptr
  7198. _ = ret
  7199. config = XFcConfigReference(tls, config)
  7200. if !(config != 0) {
  7201. return libc.UintptrFromInt32(0)
  7202. }
  7203. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7204. XFcConfigDestroy(tls, config)
  7205. return ret
  7206. }
  7207. func XFcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  7208. return libc.UintptrFromInt32(0)
  7209. }
  7210. func XFcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  7211. if !(config != 0) {
  7212. config = XFcConfigGetCurrent(tls)
  7213. if !(config != 0) {
  7214. return uintptr(0)
  7215. }
  7216. }
  7217. return *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8))
  7218. }
  7219. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  7220. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  7221. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  7222. }
  7223. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = fonts
  7224. }
  7225. func XFcBlanksCreate(tls *libc.TLS) (r uintptr) {
  7226. /* Deprecated. */
  7227. return libc.UintptrFromInt32(0)
  7228. }
  7229. func XFcBlanksDestroy(tls *libc.TLS, b uintptr) {
  7230. /* Deprecated. */
  7231. }
  7232. func XFcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7233. /* Deprecated. */
  7234. return m_FcFalse
  7235. }
  7236. func XFcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7237. /* Deprecated. */
  7238. return m_FcFalse
  7239. }
  7240. func XFcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  7241. /* Deprecated. */
  7242. return libc.UintptrFromInt32(0)
  7243. }
  7244. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  7245. /* Deprecated. */
  7246. return m_FcFalse
  7247. }
  7248. func XFcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  7249. var ret int32
  7250. _ = ret
  7251. config = XFcConfigReference(tls, config)
  7252. if !(config != 0) {
  7253. return 0
  7254. }
  7255. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  7256. XFcConfigDestroy(tls, config)
  7257. return ret
  7258. }
  7259. func XFcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7260. config = XFcConfigReference(tls, config)
  7261. if !(config != 0) {
  7262. return m_FcFalse
  7263. }
  7264. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  7265. XFcConfigDestroy(tls, config)
  7266. return int32(m_FcTrue)
  7267. }
  7268. // C documentation
  7269. //
  7270. // /*
  7271. // * A couple of typos escaped into the library
  7272. // */
  7273. func XFcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  7274. return XFcConfigGetRescanInterval(tls, config)
  7275. }
  7276. func XFcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7277. return XFcConfigSetRescanInterval(tls, config, rescanInterval)
  7278. }
  7279. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  7280. /* deprecated */
  7281. return m_FcFalse
  7282. }
  7283. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  7284. bp := tls.Alloc(16)
  7285. defer tls.Free(16)
  7286. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  7287. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  7288. case int32(_FcTypeInteger):
  7289. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7290. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  7291. /* Fallthrough */
  7292. fallthrough
  7293. case int32(_FcTypeDouble):
  7294. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  7295. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  7296. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  7297. }
  7298. case int32(_FcTypeVoid):
  7299. if u.Ftype1 == int32(_FcTypeMatrix) {
  7300. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  7301. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7302. } else {
  7303. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7304. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  7305. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7306. } else {
  7307. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  7308. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  7309. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7310. }
  7311. }
  7312. }
  7313. case int32(_FcTypeString):
  7314. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7315. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  7316. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7317. }
  7318. default:
  7319. break
  7320. }
  7321. return *(*TFcValue)(unsafe.Pointer(bp))
  7322. }
  7323. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  7324. bp := tls.Alloc(544)
  7325. defer tls.Free(544)
  7326. var flags, l, r int32
  7327. var l1, r1 float64
  7328. var l2, r2, ret TFcBool
  7329. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  7330. var op TFcOp
  7331. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  7332. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  7333. var _ /* left at bp+0 */ TFcValue
  7334. var _ /* right at bp+16 */ TFcValue
  7335. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  7336. ret = m_FcFalse
  7337. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  7338. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  7339. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7340. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  7341. *(*TFcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  7342. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  7343. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  7344. left_o = bp
  7345. right_o = bp + 16
  7346. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7347. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  7348. ret = int32(m_FcTrue)
  7349. }
  7350. return ret
  7351. }
  7352. }
  7353. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  7354. case int32(_FcTypeUnknown):
  7355. case int32(_FcTypeInteger):
  7356. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7357. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7358. switch op {
  7359. case int32(_FcOpEqual):
  7360. fallthrough
  7361. case int32(_FcOpContains):
  7362. fallthrough
  7363. case int32(_FcOpListing):
  7364. ret = libc.BoolInt32(l == r)
  7365. case int32(_FcOpNotEqual):
  7366. fallthrough
  7367. case int32(_FcOpNotContains):
  7368. ret = libc.BoolInt32(l != r)
  7369. case int32(_FcOpLess):
  7370. ret = libc.BoolInt32(l < r)
  7371. case int32(_FcOpLessEqual):
  7372. ret = libc.BoolInt32(l <= r)
  7373. case int32(_FcOpMore):
  7374. ret = libc.BoolInt32(l > r)
  7375. case int32(_FcOpMoreEqual):
  7376. ret = libc.BoolInt32(l >= r)
  7377. default:
  7378. break
  7379. }
  7380. case int32(_FcTypeDouble):
  7381. l1 = *(*float64)(unsafe.Pointer(left_o + 8))
  7382. r1 = *(*float64)(unsafe.Pointer(right_o + 8))
  7383. switch op {
  7384. case int32(_FcOpEqual):
  7385. fallthrough
  7386. case int32(_FcOpContains):
  7387. fallthrough
  7388. case int32(_FcOpListing):
  7389. ret = libc.BoolInt32(l1 == r1)
  7390. case int32(_FcOpNotEqual):
  7391. fallthrough
  7392. case int32(_FcOpNotContains):
  7393. ret = libc.BoolInt32(l1 != r1)
  7394. case int32(_FcOpLess):
  7395. ret = libc.BoolInt32(l1 < r1)
  7396. case int32(_FcOpLessEqual):
  7397. ret = libc.BoolInt32(l1 <= r1)
  7398. case int32(_FcOpMore):
  7399. ret = libc.BoolInt32(l1 > r1)
  7400. case int32(_FcOpMoreEqual):
  7401. ret = libc.BoolInt32(l1 >= r1)
  7402. default:
  7403. break
  7404. }
  7405. case int32(_FcTypeBool):
  7406. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7407. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7408. switch op {
  7409. case int32(_FcOpEqual):
  7410. ret = libc.BoolInt32(l2 == r2)
  7411. case int32(_FcOpContains):
  7412. fallthrough
  7413. case int32(_FcOpListing):
  7414. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7415. case int32(_FcOpNotEqual):
  7416. ret = libc.BoolInt32(l2 != r2)
  7417. case int32(_FcOpNotContains):
  7418. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  7419. case int32(_FcOpLess):
  7420. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  7421. case int32(_FcOpLessEqual):
  7422. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  7423. case int32(_FcOpMore):
  7424. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  7425. case int32(_FcOpMoreEqual):
  7426. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7427. default:
  7428. break
  7429. }
  7430. case int32(_FcTypeString):
  7431. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7432. v1 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7433. } else {
  7434. v1 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7435. }
  7436. l3 = v1
  7437. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7438. v2 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7439. } else {
  7440. v2 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7441. }
  7442. r3 = v2
  7443. switch op {
  7444. case int32(_FcOpEqual):
  7445. fallthrough
  7446. case int32(_FcOpListing):
  7447. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7448. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  7449. } else {
  7450. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) == 0)
  7451. }
  7452. case int32(_FcOpContains):
  7453. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  7454. case int32(_FcOpNotEqual):
  7455. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7456. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  7457. } else {
  7458. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) != 0)
  7459. }
  7460. case int32(_FcOpNotContains):
  7461. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  7462. default:
  7463. break
  7464. }
  7465. case int32(_FcTypeMatrix):
  7466. switch op {
  7467. case int32(_FcOpEqual):
  7468. fallthrough
  7469. case int32(_FcOpContains):
  7470. fallthrough
  7471. case int32(_FcOpListing):
  7472. ret = XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7473. case int32(_FcOpNotEqual):
  7474. fallthrough
  7475. case int32(_FcOpNotContains):
  7476. ret = libc.BoolInt32(!(XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8))) != 0))
  7477. default:
  7478. break
  7479. }
  7480. case int32(_FcTypeCharSet):
  7481. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7482. v3 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7483. } else {
  7484. v3 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7485. }
  7486. l4 = v3
  7487. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7488. v4 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7489. } else {
  7490. v4 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7491. }
  7492. r4 = v4
  7493. switch op {
  7494. case int32(_FcOpContains):
  7495. fallthrough
  7496. case int32(_FcOpListing):
  7497. /* left contains right if right is a subset of left */
  7498. ret = XFcCharSetIsSubset(tls, r4, l4)
  7499. case int32(_FcOpNotContains):
  7500. /* left contains right if right is a subset of left */
  7501. ret = libc.BoolInt32(!(XFcCharSetIsSubset(tls, r4, l4) != 0))
  7502. case int32(_FcOpEqual):
  7503. ret = XFcCharSetEqual(tls, l4, r4)
  7504. case int32(_FcOpNotEqual):
  7505. ret = libc.BoolInt32(!(XFcCharSetEqual(tls, l4, r4) != 0))
  7506. default:
  7507. break
  7508. }
  7509. case int32(_FcTypeLangSet):
  7510. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7511. v5 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7512. } else {
  7513. v5 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7514. }
  7515. l5 = v5
  7516. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7517. v6 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7518. } else {
  7519. v6 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7520. }
  7521. r5 = v6
  7522. switch op {
  7523. case int32(_FcOpContains):
  7524. fallthrough
  7525. case int32(_FcOpListing):
  7526. ret = XFcLangSetContains(tls, l5, r5)
  7527. case int32(_FcOpNotContains):
  7528. ret = libc.BoolInt32(!(XFcLangSetContains(tls, l5, r5) != 0))
  7529. case int32(_FcOpEqual):
  7530. ret = XFcLangSetEqual(tls, l5, r5)
  7531. case int32(_FcOpNotEqual):
  7532. ret = libc.BoolInt32(!(XFcLangSetEqual(tls, l5, r5) != 0))
  7533. default:
  7534. break
  7535. }
  7536. case int32(_FcTypeVoid):
  7537. switch op {
  7538. case int32(_FcOpEqual):
  7539. fallthrough
  7540. case int32(_FcOpContains):
  7541. fallthrough
  7542. case int32(_FcOpListing):
  7543. ret = int32(m_FcTrue)
  7544. default:
  7545. break
  7546. }
  7547. case int32(_FcTypeFTFace):
  7548. switch op {
  7549. case int32(_FcOpEqual):
  7550. fallthrough
  7551. case int32(_FcOpContains):
  7552. fallthrough
  7553. case int32(_FcOpListing):
  7554. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) == *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7555. case int32(_FcOpNotEqual):
  7556. fallthrough
  7557. case int32(_FcOpNotContains):
  7558. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) != *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7559. default:
  7560. break
  7561. }
  7562. case int32(_FcTypeRange):
  7563. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7564. v7 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7565. } else {
  7566. v7 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7567. }
  7568. l6 = v7
  7569. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7570. v8 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7571. } else {
  7572. v8 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7573. }
  7574. r6 = v8
  7575. ret = XFcRangeCompare(tls, op, l6, r6)
  7576. break
  7577. }
  7578. return ret
  7579. }
  7580. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  7581. bp := tls.Alloc(688)
  7582. defer tls.Free(688)
  7583. var m, str uintptr
  7584. var op TFcOp
  7585. var v1, v2, v3, v4, v5, v6, v7 int32
  7586. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  7587. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  7588. var _ /* m at bp+592 */ TFcMatrix
  7589. var _ /* v at bp+0 */ TFcValue
  7590. var _ /* vl at bp+16 */ TFcValue
  7591. var _ /* vle at bp+48 */ TFcValue
  7592. var _ /* vr at bp+32 */ TFcValue
  7593. var _ /* vre at bp+64 */ TFcValue
  7594. var _ /* xx at bp+624 */ TFcValue
  7595. var _ /* xy at bp+640 */ TFcValue
  7596. var _ /* yx at bp+656 */ TFcValue
  7597. var _ /* yy at bp+672 */ TFcValue
  7598. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  7599. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  7600. switch op {
  7601. case int32(_FcOpInteger):
  7602. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7603. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  7604. case int32(_FcOpDouble):
  7605. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7606. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7607. case int32(_FcOpString):
  7608. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  7609. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7610. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7611. case int32(_FcOpMatrix):
  7612. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7613. *(*TFcValue)(unsafe.Pointer(bp + 624)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  7614. *(*TFcValue)(unsafe.Pointer(bp + 640)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fxy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  7615. *(*TFcValue)(unsafe.Pointer(bp + 656)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyx), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  7616. *(*TFcValue)(unsafe.Pointer(bp + 672)) = _FcConfigPromote(tls, _FcConfigEvaluate(tls, p, p_pat, kind, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))).Fyy), *(*TFcValue)(unsafe.Pointer(bp)), libc.UintptrFromInt32(0))
  7617. if (*(*TFcValue)(unsafe.Pointer(bp + 624))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 640))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 656))).Ftype1 == int32(_FcTypeDouble) && (*(*TFcValue)(unsafe.Pointer(bp + 672))).Ftype1 == int32(_FcTypeDouble) {
  7618. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  7619. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  7620. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  7621. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  7622. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  7623. } else {
  7624. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7625. }
  7626. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7627. case int32(_FcOpCharSet):
  7628. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7629. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7630. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7631. case int32(_FcOpLangSet):
  7632. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7633. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7634. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7635. case int32(_FcOpRange):
  7636. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  7637. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7638. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7639. case int32(_FcOpBool):
  7640. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7641. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7642. case int32(_FcOpField):
  7643. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  7644. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  7645. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7646. }
  7647. } else {
  7648. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  7649. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1123, 0)
  7650. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7651. } else {
  7652. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  7653. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7654. }
  7655. }
  7656. }
  7657. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7658. case int32(_FcOpConst):
  7659. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  7660. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7661. } else {
  7662. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7663. }
  7664. case int32(_FcOpQuest):
  7665. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7666. Fleft uintptr
  7667. Fright uintptr
  7668. })(unsafe.Pointer(e + 8))).Fleft)
  7669. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  7670. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  7671. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7672. Fleft uintptr
  7673. Fright uintptr
  7674. })(unsafe.Pointer((*(*struct {
  7675. Fleft uintptr
  7676. Fright uintptr
  7677. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  7678. } else {
  7679. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7680. Fleft uintptr
  7681. Fright uintptr
  7682. })(unsafe.Pointer((*(*struct {
  7683. Fleft uintptr
  7684. Fright uintptr
  7685. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  7686. }
  7687. } else {
  7688. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7689. }
  7690. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7691. case int32(_FcOpEqual):
  7692. fallthrough
  7693. case int32(_FcOpNotEqual):
  7694. fallthrough
  7695. case int32(_FcOpLess):
  7696. fallthrough
  7697. case int32(_FcOpLessEqual):
  7698. fallthrough
  7699. case int32(_FcOpMore):
  7700. fallthrough
  7701. case int32(_FcOpMoreEqual):
  7702. fallthrough
  7703. case int32(_FcOpContains):
  7704. fallthrough
  7705. case int32(_FcOpNotContains):
  7706. fallthrough
  7707. case int32(_FcOpListing):
  7708. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7709. Fleft uintptr
  7710. Fright uintptr
  7711. })(unsafe.Pointer(e + 8))).Fleft)
  7712. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7713. Fleft uintptr
  7714. Fright uintptr
  7715. })(unsafe.Pointer(e + 8))).Fright)
  7716. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7717. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  7718. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7719. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  7720. case int32(_FcOpOr):
  7721. fallthrough
  7722. case int32(_FcOpAnd):
  7723. fallthrough
  7724. case int32(_FcOpPlus):
  7725. fallthrough
  7726. case int32(_FcOpMinus):
  7727. fallthrough
  7728. case int32(_FcOpTimes):
  7729. fallthrough
  7730. case int32(_FcOpDivide):
  7731. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7732. Fleft uintptr
  7733. Fright uintptr
  7734. })(unsafe.Pointer(e + 8))).Fleft)
  7735. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7736. Fleft uintptr
  7737. Fright uintptr
  7738. })(unsafe.Pointer(e + 8))).Fright)
  7739. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  7740. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  7741. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  7742. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  7743. case int32(_FcTypeDouble):
  7744. switch op {
  7745. case int32(_FcOpPlus):
  7746. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7747. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  7748. case int32(_FcOpMinus):
  7749. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7750. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  7751. case int32(_FcOpTimes):
  7752. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7753. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  7754. case int32(_FcOpDivide):
  7755. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7756. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  7757. default:
  7758. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7759. break
  7760. }
  7761. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  7762. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7763. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  7764. }
  7765. case int32(_FcTypeBool):
  7766. switch op {
  7767. case int32(_FcOpOr):
  7768. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7769. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  7770. case int32(_FcOpAnd):
  7771. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7772. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  7773. default:
  7774. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7775. break
  7776. }
  7777. case int32(_FcTypeString):
  7778. switch op {
  7779. case int32(_FcOpPlus):
  7780. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  7781. str = XFcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7782. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  7783. XFcStrFree(tls, str)
  7784. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  7785. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7786. }
  7787. default:
  7788. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7789. break
  7790. }
  7791. case int32(_FcTypeMatrix):
  7792. switch op {
  7793. case int32(_FcOpTimes):
  7794. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7795. m = libc.Xmalloc(tls, uint64(32))
  7796. if m != 0 {
  7797. XFcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7798. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  7799. } else {
  7800. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7801. }
  7802. default:
  7803. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7804. break
  7805. }
  7806. case int32(_FcTypeCharSet):
  7807. switch op {
  7808. case int32(_FcOpPlus):
  7809. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7810. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7811. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  7812. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7813. }
  7814. case int32(_FcOpMinus):
  7815. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7816. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7817. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  7818. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7819. }
  7820. default:
  7821. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7822. break
  7823. }
  7824. case int32(_FcTypeLangSet):
  7825. switch op {
  7826. case int32(_FcOpPlus):
  7827. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7828. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7829. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  7830. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7831. }
  7832. case int32(_FcOpMinus):
  7833. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7834. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  7835. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  7836. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7837. }
  7838. default:
  7839. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7840. break
  7841. }
  7842. default:
  7843. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7844. break
  7845. }
  7846. } else {
  7847. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7848. }
  7849. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7850. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  7851. case int32(_FcOpNot):
  7852. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7853. Fleft uintptr
  7854. Fright uintptr
  7855. })(unsafe.Pointer(e + 8))).Fleft)
  7856. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  7857. case int32(_FcTypeBool):
  7858. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7859. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  7860. default:
  7861. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7862. break
  7863. }
  7864. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7865. case int32(_FcOpFloor):
  7866. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7867. Fleft uintptr
  7868. Fright uintptr
  7869. })(unsafe.Pointer(e + 8))).Fleft)
  7870. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  7871. case int32(_FcTypeInteger):
  7872. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  7873. case int32(_FcTypeDouble):
  7874. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7875. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  7876. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7877. } else {
  7878. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  7879. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7880. } else {
  7881. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  7882. }
  7883. v1 = -v2
  7884. }
  7885. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  7886. default:
  7887. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7888. break
  7889. }
  7890. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7891. case int32(_FcOpCeil):
  7892. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7893. Fleft uintptr
  7894. Fright uintptr
  7895. })(unsafe.Pointer(e + 8))).Fleft)
  7896. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  7897. case int32(_FcTypeInteger):
  7898. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  7899. case int32(_FcTypeDouble):
  7900. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7901. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  7902. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  7903. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7904. } else {
  7905. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  7906. }
  7907. v3 = v4
  7908. } else {
  7909. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7910. }
  7911. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  7912. default:
  7913. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7914. break
  7915. }
  7916. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7917. case int32(_FcOpRound):
  7918. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7919. Fleft uintptr
  7920. Fright uintptr
  7921. })(unsafe.Pointer(e + 8))).Fleft)
  7922. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  7923. case int32(_FcTypeInteger):
  7924. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  7925. case int32(_FcTypeDouble):
  7926. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7927. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  7928. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  7929. } else {
  7930. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  7931. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  7932. } else {
  7933. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  7934. }
  7935. v5 = -v6
  7936. }
  7937. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  7938. default:
  7939. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7940. break
  7941. }
  7942. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7943. case int32(_FcOpTrunc):
  7944. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7945. Fleft uintptr
  7946. Fright uintptr
  7947. })(unsafe.Pointer(e + 8))).Fleft)
  7948. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  7949. case int32(_FcTypeInteger):
  7950. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  7951. case int32(_FcTypeDouble):
  7952. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7953. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  7954. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7955. } else {
  7956. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  7957. }
  7958. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  7959. default:
  7960. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7961. break
  7962. }
  7963. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7964. default:
  7965. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7966. break
  7967. }
  7968. return *(*TFcValue)(unsafe.Pointer(bp))
  7969. }
  7970. // C documentation
  7971. //
  7972. // /* The bulk of the time in FcConfigSubstitute is spent walking
  7973. // * lists of family names. We speed this up with a hash table.
  7974. // * Since we need to take the ignore-blanks option into account,
  7975. // * we use two separate hash tables.
  7976. // */
  7977. type TFamilyTableEntry = struct {
  7978. Fcount int32
  7979. }
  7980. type TFamilyTable = struct {
  7981. Ffamily_blank_hash uintptr
  7982. Ffamily_hash uintptr
  7983. }
  7984. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  7985. bp := tls.Alloc(16)
  7986. defer tls.Free(16)
  7987. var flags int32
  7988. var hash uintptr
  7989. var _ /* fe at bp+0 */ uintptr
  7990. _, _ = flags, hash
  7991. flags = libc.Int32FromUint32(libc.Uint32FromInt32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  7992. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7993. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  7994. } else {
  7995. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  7996. }
  7997. return XFcHashTableFind(tls, hash, s, bp)
  7998. }
  7999. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  8000. bp := tls.Alloc(16)
  8001. defer tls.Free(16)
  8002. var ll TFcValueListPtr
  8003. var s, v2, v3 uintptr
  8004. var _ /* fe at bp+0 */ uintptr
  8005. _, _, _, _ = ll, s, v2, v3
  8006. ll = values
  8007. for {
  8008. if !(ll != 0) {
  8009. break
  8010. }
  8011. if int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(1) != 0 {
  8012. v2 = uintptr(Tintptr_t(ll+8) + int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8013. } else {
  8014. v2 = *(*uintptr)(unsafe.Pointer(ll + 8 + 8))
  8015. }
  8016. s = v2
  8017. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  8018. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8019. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8020. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8021. }
  8022. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8023. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  8024. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8025. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8026. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8027. }
  8028. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8029. goto _1
  8030. _1:
  8031. ;
  8032. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8033. v3 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8034. } else {
  8035. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8036. }
  8037. ll = v3
  8038. }
  8039. }
  8040. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  8041. bp := tls.Alloc(16)
  8042. defer tls.Free(16)
  8043. var _ /* fe at bp+0 */ uintptr
  8044. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  8045. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8046. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8047. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  8048. }
  8049. }
  8050. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  8051. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8052. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8053. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  8054. }
  8055. }
  8056. }
  8057. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  8058. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  8059. return int32(m_FcTrue)
  8060. }
  8061. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  8062. var e, v1 uintptr
  8063. _, _ = e, v1
  8064. (*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))
  8065. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreCase), __ccgo_fp(XFcStrCmpIgnoreCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  8066. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  8067. if e != 0 {
  8068. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  8069. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8070. } else {
  8071. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  8072. }
  8073. _FamilyTableAdd(tls, table, v1)
  8074. }
  8075. }
  8076. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  8077. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  8078. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  8079. }
  8080. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  8081. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  8082. }
  8083. }
  8084. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  8085. bp := tls.Alloc(16)
  8086. defer tls.Free(16)
  8087. var e, ret, v, v1, v2, v4 uintptr
  8088. var op TFcOp
  8089. var _ /* value at bp+0 */ TFcValue
  8090. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  8091. ret = uintptr(0)
  8092. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  8093. for e != 0 {
  8094. /* Compute the value of the match expression */
  8095. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8096. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8097. Fleft uintptr
  8098. Fright uintptr
  8099. })(unsafe.Pointer(e + 8))).Fleft)
  8100. e = (*(*struct {
  8101. Fleft uintptr
  8102. Fright uintptr
  8103. })(unsafe.Pointer(e + 8))).Fright
  8104. } else {
  8105. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8106. e = uintptr(0)
  8107. }
  8108. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8109. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  8110. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  8111. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8112. v1 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8113. } else {
  8114. v1 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8115. }
  8116. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  8117. ret = uintptr(0)
  8118. goto done
  8119. }
  8120. }
  8121. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8122. ret = uintptr(0)
  8123. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8124. v2 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8125. } else {
  8126. v2 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8127. }
  8128. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  8129. ret = values
  8130. }
  8131. goto done
  8132. }
  8133. }
  8134. v = values
  8135. for {
  8136. if !(v != 0) {
  8137. break
  8138. }
  8139. /* Compare the pattern value to the match expression value */
  8140. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  8141. if !(ret != 0) {
  8142. ret = v
  8143. }
  8144. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  8145. break
  8146. }
  8147. } else {
  8148. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8149. ret = uintptr(0)
  8150. break
  8151. }
  8152. }
  8153. goto _3
  8154. _3:
  8155. ;
  8156. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8157. v4 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8158. } else {
  8159. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  8160. }
  8161. v = v4
  8162. }
  8163. goto done
  8164. done:
  8165. ;
  8166. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8167. }
  8168. return ret
  8169. }
  8170. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  8171. var l, next, v1 uintptr
  8172. _, _, _ = l, next, v1
  8173. if !(e != 0) {
  8174. return uintptr(0)
  8175. }
  8176. l = libc.Xmalloc(tls, uint64(32))
  8177. if !(l != 0) {
  8178. return uintptr(0)
  8179. }
  8180. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8181. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8182. Fleft uintptr
  8183. Fright uintptr
  8184. })(unsafe.Pointer(e + 8))).Fleft)
  8185. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  8186. Fleft uintptr
  8187. Fright uintptr
  8188. })(unsafe.Pointer(e + 8))).Fright, binding)
  8189. } else {
  8190. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8191. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  8192. }
  8193. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  8194. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  8195. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8196. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8197. } else {
  8198. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  8199. }
  8200. next = v1
  8201. libc.Xfree(tls, l)
  8202. l = next
  8203. }
  8204. return l
  8205. }
  8206. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  8207. bp := tls.Alloc(16)
  8208. defer tls.Free(16)
  8209. var l, last, v TFcValueListPtr
  8210. var prev, v2, v4, v7, v8 uintptr
  8211. var sameBinding TFcValueBinding
  8212. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  8213. /*
  8214. * Make sure the stored type is valid for built-in objects
  8215. */
  8216. l = new1
  8217. for {
  8218. if !(l != libc.UintptrFromInt32(0)) {
  8219. break
  8220. }
  8221. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  8222. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  8223. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  8224. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  8225. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8226. libc.Xprintf(tls, __ccgo_ts+1268, 0)
  8227. }
  8228. return m_FcFalse
  8229. }
  8230. goto _1
  8231. _1:
  8232. ;
  8233. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8234. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8235. } else {
  8236. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  8237. }
  8238. l = v2
  8239. }
  8240. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8241. _FamilyTableAdd(tls, table, new1)
  8242. }
  8243. if position != 0 {
  8244. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  8245. } else {
  8246. sameBinding = int32(_FcValueBindingWeak)
  8247. }
  8248. v = new1
  8249. for {
  8250. if !(v != libc.UintptrFromInt32(0)) {
  8251. break
  8252. }
  8253. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  8254. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  8255. }
  8256. goto _3
  8257. _3:
  8258. ;
  8259. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8260. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8261. } else {
  8262. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  8263. }
  8264. v = v4
  8265. }
  8266. if append1 != 0 {
  8267. if position != 0 {
  8268. prev = position
  8269. } else {
  8270. prev = head
  8271. for {
  8272. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8273. break
  8274. }
  8275. goto _5
  8276. _5:
  8277. ;
  8278. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8279. }
  8280. }
  8281. } else {
  8282. if position != 0 {
  8283. prev = head
  8284. for {
  8285. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8286. break
  8287. }
  8288. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8289. break
  8290. }
  8291. goto _6
  8292. _6:
  8293. ;
  8294. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8295. }
  8296. } else {
  8297. prev = head
  8298. }
  8299. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8300. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  8301. libc.Xprintf(tls, __ccgo_ts+1280, 0)
  8302. }
  8303. }
  8304. }
  8305. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8306. if append1 != 0 {
  8307. v7 = __ccgo_ts + 1302
  8308. } else {
  8309. v7 = __ccgo_ts + 1309
  8310. }
  8311. libc.Xprintf(tls, __ccgo_ts+1317, libc.VaList(bp+8, v7))
  8312. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  8313. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8314. }
  8315. if new1 != 0 {
  8316. last = new1
  8317. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  8318. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  8319. }
  8320. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8321. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  8322. }
  8323. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8324. if append1 != 0 {
  8325. v8 = __ccgo_ts + 1302
  8326. } else {
  8327. v8 = __ccgo_ts + 1309
  8328. }
  8329. libc.Xprintf(tls, __ccgo_ts+1333, libc.VaList(bp+8, v8))
  8330. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  8331. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8332. }
  8333. return int32(m_FcTrue)
  8334. }
  8335. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  8336. var prev, v1 uintptr
  8337. _, _ = prev, v1
  8338. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8339. if int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(1) != 0 {
  8340. v1 = uintptr(Tintptr_t(position+8) + int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8341. } else {
  8342. v1 = *(*uintptr)(unsafe.Pointer(position + 8 + 8))
  8343. }
  8344. _FamilyTableDel(tls, table, v1)
  8345. }
  8346. prev = head
  8347. for {
  8348. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8349. break
  8350. }
  8351. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8352. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  8353. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  8354. XFcValueListDestroy(tls, position)
  8355. break
  8356. }
  8357. goto _2
  8358. _2:
  8359. ;
  8360. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8361. }
  8362. }
  8363. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  8364. var e uintptr
  8365. _ = e
  8366. if list != 0 {
  8367. e = XFcPatternObjectInsertElt(tls, p, object)
  8368. if !(e != 0) {
  8369. return
  8370. }
  8371. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object, table)
  8372. }
  8373. }
  8374. // C documentation
  8375. //
  8376. // /*
  8377. // * Delete all values associated with a field
  8378. // */
  8379. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  8380. var e uintptr
  8381. _ = e
  8382. e = XFcPatternObjectFindElt(tls, p, object)
  8383. if !(e != 0) {
  8384. return
  8385. }
  8386. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  8387. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  8388. }
  8389. }
  8390. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  8391. var e uintptr
  8392. _ = e
  8393. e = XFcPatternObjectFindElt(tls, p, object)
  8394. if !(e != 0) {
  8395. return
  8396. }
  8397. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  8398. XFcPatternObjectDel(tls, p, object)
  8399. }
  8400. }
  8401. func XFcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  8402. bp := tls.Alloc(128)
  8403. defer tls.Free(128)
  8404. var b, retval TFcBool
  8405. 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
  8406. var i, nobjs int32
  8407. var ll TFcValueListPtr
  8408. var object TFcObject
  8409. var v2 bool
  8410. var _ /* data at bp+64 */ TFamilyTable
  8411. var _ /* iter at bp+16 */ TFcPtrListIter
  8412. var _ /* iter2 at bp+40 */ TFcPtrListIter
  8413. var _ /* v at bp+0 */ TFcValue
  8414. var _ /* v at bp+80 */ TFcValue
  8415. var _ /* vv at bp+96 */ TFcValue
  8416. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  8417. value = libc.UintptrFromInt32(0)
  8418. object = int32(_FC_INVALID_OBJECT)
  8419. elt = libc.UintptrFromInt32(0)
  8420. retval = int32(m_FcTrue)
  8421. tst = libc.UintptrFromInt32(0)
  8422. table = bp + 64
  8423. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  8424. return m_FcFalse
  8425. }
  8426. config = XFcConfigReference(tls, config)
  8427. if !(config != 0) {
  8428. return m_FcFalse
  8429. }
  8430. s = *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(kind)*8))
  8431. if kind == int32(_FcMatchPattern) {
  8432. strs = XFcGetDefaultLangs(tls)
  8433. if strs != 0 {
  8434. l1 = XFcStrListCreate(tls, strs)
  8435. lsund = XFcLangSetCreate(tls)
  8436. XFcLangSetAdd(tls, lsund, __ccgo_ts+1348)
  8437. XFcStrSetDestroy(tls, strs)
  8438. for {
  8439. if v2 = l1 != 0; v2 {
  8440. v1 = XFcStrListNext(tls, l1)
  8441. lang = v1
  8442. }
  8443. if !(v2 && v1 != 0) {
  8444. break
  8445. }
  8446. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  8447. if e1 != 0 {
  8448. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  8449. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8450. } else {
  8451. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  8452. }
  8453. ll = v4
  8454. for {
  8455. if !(ll != 0) {
  8456. break
  8457. }
  8458. *(*TFcValue)(unsafe.Pointer(bp + 96)) = TFcValue{}
  8459. *(*T_FcValue)(unsafe.Pointer(bp + 96)) = XFcValueCanonicalize(tls, ll+8)
  8460. if (*(*TFcValue)(unsafe.Pointer(bp + 96))).Ftype1 == int32(_FcTypeLangSet) {
  8461. ls = XFcLangSetCreate(tls)
  8462. XFcLangSetAdd(tls, ls, lang)
  8463. b = XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), ls)
  8464. XFcLangSetDestroy(tls, ls)
  8465. if b != 0 {
  8466. goto bail_lang
  8467. }
  8468. if XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lsund) != 0 {
  8469. goto bail_lang
  8470. }
  8471. } else {
  8472. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lang) == 0 {
  8473. goto bail_lang
  8474. }
  8475. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), __ccgo_ts+1348) == 0 {
  8476. goto bail_lang
  8477. }
  8478. }
  8479. goto _3
  8480. _3:
  8481. ;
  8482. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8483. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8484. } else {
  8485. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8486. }
  8487. ll = v5
  8488. }
  8489. }
  8490. (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 = int32(_FcTypeString)
  8491. *(*uintptr)(unsafe.Pointer(bp + 80 + 8)) = lang
  8492. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 80)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  8493. }
  8494. goto bail_lang
  8495. bail_lang:
  8496. ;
  8497. XFcStrListDone(tls, l1)
  8498. XFcLangSetDestroy(tls, lsund)
  8499. }
  8500. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  8501. prgname = XFcGetPrgname(tls)
  8502. if prgname != 0 {
  8503. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  8504. }
  8505. }
  8506. }
  8507. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  8508. value = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8509. if !(value != 0) {
  8510. retval = m_FcFalse
  8511. goto bail1
  8512. }
  8513. elt = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8514. if !(elt != 0) {
  8515. retval = m_FcFalse
  8516. goto bail1
  8517. }
  8518. tst = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(8)*nobjs))
  8519. if !(tst != 0) {
  8520. retval = m_FcFalse
  8521. goto bail1
  8522. }
  8523. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8524. libc.Xprintf(tls, __ccgo_ts+1352, 0)
  8525. XFcPatternPrint(tls, p)
  8526. }
  8527. _FamilyTableInit(tls, bp+64, p)
  8528. XFcPtrListIterInit(tls, s, bp+16)
  8529. for {
  8530. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  8531. break
  8532. }
  8533. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  8534. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8535. libc.Xprintf(tls, __ccgo_ts+1372, libc.VaList(bp+120, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  8536. }
  8537. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8538. for {
  8539. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  8540. break
  8541. }
  8542. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8543. i = 0
  8544. for {
  8545. if !(i < nobjs) {
  8546. break
  8547. }
  8548. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8549. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8550. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8551. goto _8
  8552. _8:
  8553. ;
  8554. i++
  8555. }
  8556. for {
  8557. if !(r != 0) {
  8558. break
  8559. }
  8560. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  8561. case int32(_FcRuleUnknown):
  8562. /* shouldn't be reached */
  8563. case int32(_FcRuleTest):
  8564. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  8565. /*
  8566. * Check the tests to see if
  8567. * they all match the pattern
  8568. */
  8569. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8570. libc.Xprintf(tls, __ccgo_ts+1387, 0)
  8571. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  8572. }
  8573. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  8574. m = p_pat
  8575. table = libc.UintptrFromInt32(0)
  8576. } else {
  8577. m = p
  8578. table = bp + 64
  8579. }
  8580. if m != 0 {
  8581. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  8582. } else {
  8583. e = libc.UintptrFromInt32(0)
  8584. }
  8585. /* different 'kind' won't be the target of edit */
  8586. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  8587. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  8588. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  8589. }
  8590. /*
  8591. * If there's no such field in the font,
  8592. * then FcQualAll matches while FcQualAny does not
  8593. */
  8594. if !(e != 0) {
  8595. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  8596. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  8597. goto _9
  8598. } else {
  8599. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8600. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  8601. }
  8602. goto bail
  8603. }
  8604. }
  8605. /*
  8606. * Check to see if there is a match, mark the location
  8607. * to apply match-relative edits
  8608. */
  8609. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  8610. /* different 'kind' won't be the target of edit */
  8611. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  8612. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  8613. }
  8614. if !(vl != 0) || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualFirst) && vl != (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues || (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualNotFirst) && vl == (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues {
  8615. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8616. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  8617. }
  8618. goto bail
  8619. }
  8620. case int32(_FcRuleEdit):
  8621. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  8622. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8623. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  8624. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  8625. libc.Xprintf(tls, __ccgo_ts+1434, 0)
  8626. }
  8627. /*
  8628. * Evaluate the list of expressions
  8629. */
  8630. l = _FcConfigValues(tls, p, p_pat, kind, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fexpr, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fbinding)
  8631. if *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) != 0 && ((*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fkind == int32(_FcMatchFont) || kind == int32(_FcMatchPattern)) {
  8632. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  8633. }
  8634. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  8635. case int32(_FcOpAssign):
  8636. /*
  8637. * If there was a test, then replace the matched
  8638. * value with the new list of values
  8639. */
  8640. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8641. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  8642. nextValue = l
  8643. /*
  8644. * Append the new list of values after the current value
  8645. */
  8646. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8647. /*
  8648. * Delete the marked value
  8649. */
  8650. if thisValue != 0 {
  8651. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, object, table)
  8652. }
  8653. /*
  8654. * Adjust a pointer into the value list to ensure
  8655. * future edits occur at the same place
  8656. */
  8657. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  8658. break
  8659. }
  8660. /* fall through ... */
  8661. fallthrough
  8662. case int32(_FcOpAssignReplace):
  8663. /*
  8664. * Delete all of the values and insert
  8665. * the new set
  8666. */
  8667. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8668. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  8669. /*
  8670. * Adjust a pointer into the value list as they no
  8671. * longer point to anything valid
  8672. */
  8673. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  8674. case int32(_FcOpPrepend):
  8675. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8676. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8677. break
  8678. }
  8679. /* fall through ... */
  8680. fallthrough
  8681. case int32(_FcOpPrependFirst):
  8682. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse, table)
  8683. case int32(_FcOpAppend):
  8684. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8685. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8686. break
  8687. }
  8688. /* fall through ... */
  8689. fallthrough
  8690. case int32(_FcOpAppendLast):
  8691. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  8692. case int32(_FcOpDelete):
  8693. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8694. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), object, table)
  8695. XFcValueListDestroy(tls, l)
  8696. break
  8697. }
  8698. /* fall through ... */
  8699. fallthrough
  8700. case int32(_FcOpDeleteAll):
  8701. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8702. XFcValueListDestroy(tls, l)
  8703. default:
  8704. XFcValueListDestroy(tls, l)
  8705. break
  8706. }
  8707. /*
  8708. * Now go through the pattern and eliminate
  8709. * any properties without data
  8710. */
  8711. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  8712. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8713. libc.Xprintf(tls, __ccgo_ts+1437, 0)
  8714. XFcPatternPrint(tls, p)
  8715. }
  8716. break
  8717. }
  8718. goto _9
  8719. _9:
  8720. ;
  8721. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  8722. }
  8723. goto bail
  8724. bail:
  8725. ;
  8726. goto _7
  8727. _7:
  8728. ;
  8729. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8730. }
  8731. goto _6
  8732. _6:
  8733. ;
  8734. XFcPtrListIterNext(tls, s, bp+16)
  8735. }
  8736. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8737. libc.Xprintf(tls, __ccgo_ts+1461, 0)
  8738. XFcPatternPrint(tls, p)
  8739. }
  8740. goto bail1
  8741. bail1:
  8742. ;
  8743. _FamilyTableClear(tls, bp+64)
  8744. if elt != 0 {
  8745. libc.Xfree(tls, elt)
  8746. }
  8747. if value != 0 {
  8748. libc.Xfree(tls, value)
  8749. }
  8750. if tst != 0 {
  8751. libc.Xfree(tls, tst)
  8752. }
  8753. XFcConfigDestroy(tls, config)
  8754. return retval
  8755. }
  8756. func XFcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  8757. return XFcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  8758. }
  8759. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  8760. var osize, size int32
  8761. var path uintptr
  8762. _, _, _ = osize, path, size
  8763. if !(dir != 0) {
  8764. dir = __ccgo_ts + 110
  8765. }
  8766. osize = libc.Int32FromUint64(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  8767. /*
  8768. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  8769. * allocated to implement strlen by reading in groups of 4
  8770. */
  8771. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  8772. path = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  8773. if !(path != 0) {
  8774. return uintptr(0)
  8775. }
  8776. libc.X__builtin___strcpy_chk(tls, path, dir, ^t__predefined_size_t(0))
  8777. /* make sure there's a single separator */
  8778. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint64(1))))) != int32('/')) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  8779. libc.X__builtin___strcat_chk(tls, path, __ccgo_ts+1485, ^t__predefined_size_t(0))
  8780. } else {
  8781. osize--
  8782. }
  8783. libc.X__builtin___strcat_chk(tls, path, file, ^t__predefined_size_t(0))
  8784. if libc.Xaccess(tls, path, libc.Int32FromInt32(1)<<libc.Int32FromInt32(2)) == 0 {
  8785. return path
  8786. }
  8787. XFcStrFree(tls, path)
  8788. return uintptr(0)
  8789. }
  8790. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  8791. var colon, dir, e, env, path, v1 uintptr
  8792. var i, npath int32
  8793. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  8794. npath = int32(2) /* default dir + null */
  8795. env = libc.Xgetenv(tls, __ccgo_ts+1487)
  8796. if env != 0 {
  8797. e = env
  8798. npath++
  8799. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  8800. v1 = e
  8801. e++
  8802. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  8803. npath++
  8804. }
  8805. }
  8806. }
  8807. path = libc.Xcalloc(tls, libc.Uint64FromInt32(npath), uint64(8))
  8808. if !(path != 0) {
  8809. goto bail0
  8810. }
  8811. i = 0
  8812. if env != 0 {
  8813. e = env
  8814. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  8815. colon = libc.Xstrchr(tls, e, int32(':'))
  8816. if !(colon != 0) {
  8817. colon = e + uintptr(libc.Xstrlen(tls, e))
  8818. }
  8819. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(colon)-int64(e)+int64(1)))
  8820. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  8821. goto bail1
  8822. }
  8823. libc.X__builtin___strncpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, libc.Uint64FromInt64(int64(colon)-int64(e)), ^t__predefined_size_t(0))
  8824. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  8825. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  8826. e = colon + uintptr(1)
  8827. } else {
  8828. e = colon
  8829. }
  8830. i++
  8831. }
  8832. }
  8833. dir = __ccgo_ts + 1503
  8834. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  8835. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  8836. goto bail1
  8837. }
  8838. libc.X__builtin___strcpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir, ^t__predefined_size_t(0))
  8839. return path
  8840. goto bail1
  8841. bail1:
  8842. ;
  8843. i = 0
  8844. for {
  8845. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  8846. break
  8847. }
  8848. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  8849. goto _2
  8850. _2:
  8851. ;
  8852. i++
  8853. }
  8854. libc.Xfree(tls, path)
  8855. goto bail0
  8856. bail0:
  8857. ;
  8858. return uintptr(0)
  8859. return r
  8860. }
  8861. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  8862. var p uintptr
  8863. _ = p
  8864. p = path
  8865. for {
  8866. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  8867. break
  8868. }
  8869. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  8870. goto _1
  8871. _1:
  8872. ;
  8873. p += 8
  8874. }
  8875. libc.Xfree(tls, path)
  8876. }
  8877. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  8878. func XFcConfigHome(tls *libc.TLS) (r uintptr) {
  8879. var home uintptr
  8880. _ = home
  8881. if __FcConfigHomeEnabled != 0 {
  8882. home = libc.Xgetenv(tls, __ccgo_ts+1514)
  8883. return home
  8884. }
  8885. return uintptr(0)
  8886. }
  8887. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  8888. var env, home, ret uintptr
  8889. var len1 Tsize_t
  8890. var v1 uint64
  8891. _, _, _, _, _ = env, home, len1, ret, v1
  8892. env = libc.Xgetenv(tls, __ccgo_ts+1519)
  8893. ret = libc.UintptrFromInt32(0)
  8894. if !(__FcConfigHomeEnabled != 0) {
  8895. return libc.UintptrFromInt32(0)
  8896. }
  8897. if env != 0 && *(*int8)(unsafe.Pointer(env)) != 0 {
  8898. ret = XFcStrCopy(tls, env)
  8899. } else {
  8900. home = XFcConfigHome(tls)
  8901. if home != 0 {
  8902. v1 = libc.Xstrlen(tls, home)
  8903. } else {
  8904. v1 = uint64(0)
  8905. }
  8906. len1 = v1
  8907. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  8908. if ret != 0 {
  8909. if home != 0 {
  8910. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  8911. }
  8912. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1534, uint64(7), ^t__predefined_size_t(0))
  8913. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  8914. }
  8915. }
  8916. return ret
  8917. }
  8918. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  8919. var env, home, ret uintptr
  8920. var len1 Tsize_t
  8921. var v1 uint64
  8922. _, _, _, _, _ = env, home, len1, ret, v1
  8923. env = libc.Xgetenv(tls, __ccgo_ts+1542)
  8924. ret = libc.UintptrFromInt32(0)
  8925. if !(__FcConfigHomeEnabled != 0) {
  8926. return libc.UintptrFromInt32(0)
  8927. }
  8928. if env != 0 {
  8929. ret = XFcStrCopy(tls, env)
  8930. } else {
  8931. home = XFcConfigHome(tls)
  8932. if home != 0 {
  8933. v1 = libc.Xstrlen(tls, home)
  8934. } else {
  8935. v1 = uint64(0)
  8936. }
  8937. len1 = v1
  8938. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  8939. if ret != 0 {
  8940. if home != 0 {
  8941. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  8942. }
  8943. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1558, uint64(8), ^t__predefined_size_t(0))
  8944. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  8945. }
  8946. }
  8947. return ret
  8948. }
  8949. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  8950. var env, home, ret uintptr
  8951. var len1 Tsize_t
  8952. var v1 uint64
  8953. _, _, _, _, _ = env, home, len1, ret, v1
  8954. env = libc.Xgetenv(tls, __ccgo_ts+1567)
  8955. ret = libc.UintptrFromInt32(0)
  8956. if !(__FcConfigHomeEnabled != 0) {
  8957. return libc.UintptrFromInt32(0)
  8958. }
  8959. if env != 0 {
  8960. ret = XFcStrCopy(tls, env)
  8961. } else {
  8962. home = XFcConfigHome(tls)
  8963. if home != 0 {
  8964. v1 = libc.Xstrlen(tls, home)
  8965. } else {
  8966. v1 = uint64(0)
  8967. }
  8968. len1 = v1
  8969. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  8970. if ret != 0 {
  8971. if home != 0 {
  8972. libc.X__builtin___memcpy_chk(tls, ret, home, len1, ^t__predefined_size_t(0))
  8973. }
  8974. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1581, uint64(13), ^t__predefined_size_t(0))
  8975. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  8976. }
  8977. }
  8978. return ret
  8979. }
  8980. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  8981. var e, ee, env, p, ret, s, v1 uintptr
  8982. var len1 Tsize_t
  8983. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  8984. env = libc.Xgetenv(tls, __ccgo_ts+1595)
  8985. ret = XFcStrSetCreate(tls)
  8986. if env != 0 {
  8987. v1 = XFcStrCopy(tls, env)
  8988. ee = v1
  8989. e = v1
  8990. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  8991. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  8992. * in doc.
  8993. */
  8994. for e != 0 {
  8995. p = libc.Xstrchr(tls, e, int32(':'))
  8996. if !(p != 0) {
  8997. s = XFcStrCopy(tls, e)
  8998. e = libc.UintptrFromInt32(0)
  8999. } else {
  9000. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  9001. s = XFcStrCopy(tls, e)
  9002. e = p + uintptr(1)
  9003. }
  9004. len1 = libc.Xstrlen(tls, s)
  9005. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9006. for cond := true; cond; cond = len1 > uint64(1) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9007. len1--
  9008. }
  9009. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  9010. }
  9011. XFcStrSetAdd(tls, ret, s)
  9012. XFcStrFree(tls, s)
  9013. }
  9014. XFcStrFree(tls, ee)
  9015. } else {
  9016. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  9017. *
  9018. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  9019. */
  9020. XFcStrSetAdd(tls, ret, __ccgo_ts+1609)
  9021. XFcStrSetAdd(tls, ret, __ccgo_ts+1626)
  9022. }
  9023. return ret
  9024. }
  9025. func XFcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  9026. var prev TFcBool
  9027. _ = prev
  9028. prev = __FcConfigHomeEnabled
  9029. __FcConfigHomeEnabled = enable
  9030. return prev
  9031. }
  9032. func XFcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9033. bp := tls.Alloc(32)
  9034. defer tls.Free(32)
  9035. var dir, file, p, path, s, s1, sysroot uintptr
  9036. var len1 Tsize_t
  9037. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  9038. config = XFcConfigReference(tls, config)
  9039. if !(config != 0) {
  9040. return libc.UintptrFromInt32(0)
  9041. }
  9042. sysroot = XFcConfigGetSysRoot(tls, config)
  9043. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  9044. url = libc.Xgetenv(tls, __ccgo_ts+1637)
  9045. if !(url != 0) {
  9046. url = __ccgo_ts + 1653
  9047. }
  9048. }
  9049. file = uintptr(0)
  9050. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  9051. if sysroot != 0 {
  9052. len1 = libc.Xstrlen(tls, sysroot)
  9053. /* Workaround to avoid adding sysroot repeatedly */
  9054. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  9055. sysroot = libc.UintptrFromInt32(0)
  9056. }
  9057. }
  9058. file = _FcConfigFileExists(tls, sysroot, url)
  9059. goto bail
  9060. }
  9061. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  9062. dir = XFcConfigHome(tls)
  9063. if dir != 0 {
  9064. if sysroot != 0 {
  9065. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  9066. } else {
  9067. s = dir
  9068. }
  9069. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  9070. if sysroot != 0 {
  9071. XFcStrFree(tls, s)
  9072. }
  9073. } else {
  9074. file = uintptr(0)
  9075. }
  9076. } else {
  9077. path = _FcConfigGetPath(tls)
  9078. if !(path != 0) {
  9079. file = libc.UintptrFromInt32(0)
  9080. goto bail
  9081. }
  9082. p = path
  9083. for {
  9084. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  9085. break
  9086. }
  9087. if sysroot != 0 {
  9088. s1 = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  9089. } else {
  9090. s1 = *(*uintptr)(unsafe.Pointer(p))
  9091. }
  9092. file = _FcConfigFileExists(tls, s1, url)
  9093. if sysroot != 0 {
  9094. XFcStrFree(tls, s1)
  9095. }
  9096. if file != 0 {
  9097. break
  9098. }
  9099. goto _1
  9100. _1:
  9101. ;
  9102. p += 8
  9103. }
  9104. _FcConfigFreePath(tls, path)
  9105. }
  9106. goto bail
  9107. bail:
  9108. ;
  9109. XFcConfigDestroy(tls, config)
  9110. return file
  9111. }
  9112. func XFcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  9113. return XFcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  9114. }
  9115. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9116. bp := tls.Alloc(304)
  9117. defer tls.Free(304)
  9118. var dirname, n, path uintptr
  9119. var len1, v1 Tssize_t
  9120. var _ /* buf at bp+0 */ [128]TFcChar8
  9121. var _ /* sb at bp+128 */ Tstat
  9122. _, _, _, _, _ = dirname, len1, n, path, v1
  9123. n = XFcConfigGetFilename(tls, config, url)
  9124. if n != 0 {
  9125. v1 = XFcReadLink(tls, n, bp, libc.Uint64FromInt64(128)-libc.Uint64FromInt32(1))
  9126. len1 = v1
  9127. if v1 != int64(-int32(1)) {
  9128. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  9129. /* We try to pick up a config from FONTCONFIG_FILE
  9130. * when url is null. don't try to address the real filename
  9131. * if it is a named pipe.
  9132. */
  9133. if !(url != 0) && XFcStat(tls, n, bp+128) == 0 && libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 128))).Fst_mode)&int32(m_S_IFMT1) == int32(m_S_IFIFO1) {
  9134. return n
  9135. } else {
  9136. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  9137. dirname = XFcStrDirname(tls, n)
  9138. XFcStrFree(tls, n)
  9139. if !(dirname != 0) {
  9140. return libc.UintptrFromInt32(0)
  9141. }
  9142. path = XFcStrBuildFilename(tls, dirname, libc.VaList(bp+280, bp, libc.UintptrFromInt32(0)))
  9143. XFcStrFree(tls, dirname)
  9144. if !(path != 0) {
  9145. return libc.UintptrFromInt32(0)
  9146. }
  9147. n = XFcStrCanonFilename(tls, path)
  9148. XFcStrFree(tls, path)
  9149. } else {
  9150. XFcStrFree(tls, n)
  9151. n = libc.Xstrdup(tls, bp)
  9152. }
  9153. }
  9154. }
  9155. }
  9156. return n
  9157. }
  9158. /*
  9159. * Manage the application-specific fonts
  9160. */
  9161. func XFcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  9162. var ret TFcBool
  9163. var set, subdir, subdirs, sublist, v1, v2 uintptr
  9164. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  9165. ret = int32(m_FcTrue)
  9166. config = XFcConfigReference(tls, config)
  9167. if !(config != 0) {
  9168. return m_FcFalse
  9169. }
  9170. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9171. if !(subdirs != 0) {
  9172. ret = m_FcFalse
  9173. goto bail
  9174. }
  9175. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9176. if !(set != 0) {
  9177. set = XFcFontSetCreate(tls)
  9178. if !(set != 0) {
  9179. XFcStrSetDestroy(tls, subdirs)
  9180. ret = m_FcFalse
  9181. goto bail
  9182. }
  9183. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9184. }
  9185. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  9186. XFcStrSetDestroy(tls, subdirs)
  9187. ret = m_FcFalse
  9188. goto bail
  9189. }
  9190. v1 = XFcStrListCreate(tls, subdirs)
  9191. sublist = v1
  9192. if v1 != 0 {
  9193. for {
  9194. v2 = XFcStrListNext(tls, sublist)
  9195. subdir = v2
  9196. if !(v2 != 0) {
  9197. break
  9198. }
  9199. XFcConfigAppFontAddDir(tls, config, subdir)
  9200. }
  9201. XFcStrListDone(tls, sublist)
  9202. }
  9203. XFcStrSetDestroy(tls, subdirs)
  9204. goto bail
  9205. bail:
  9206. ;
  9207. XFcConfigDestroy(tls, config)
  9208. return ret
  9209. }
  9210. func XFcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  9211. var dirs, set uintptr
  9212. var ret TFcBool
  9213. _, _, _ = dirs, ret, set
  9214. ret = int32(m_FcTrue)
  9215. config = XFcConfigReference(tls, config)
  9216. if !(config != 0) {
  9217. return m_FcFalse
  9218. }
  9219. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9220. if !(dirs != 0) {
  9221. ret = m_FcFalse
  9222. goto bail
  9223. }
  9224. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9225. if !(set != 0) {
  9226. set = XFcFontSetCreate(tls)
  9227. if !(set != 0) {
  9228. XFcStrSetDestroy(tls, dirs)
  9229. ret = m_FcFalse
  9230. goto bail
  9231. }
  9232. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9233. }
  9234. XFcStrSetAddFilename(tls, dirs, dir)
  9235. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  9236. XFcStrSetDestroy(tls, dirs)
  9237. ret = m_FcFalse
  9238. goto bail
  9239. }
  9240. XFcStrSetDestroy(tls, dirs)
  9241. goto bail
  9242. bail:
  9243. ;
  9244. XFcConfigDestroy(tls, config)
  9245. return ret
  9246. }
  9247. func XFcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  9248. config = XFcConfigReference(tls, config)
  9249. if !(config != 0) {
  9250. return
  9251. }
  9252. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  9253. XFcConfigDestroy(tls, config)
  9254. }
  9255. /*
  9256. * Manage filename-based font source selectors
  9257. */
  9258. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  9259. var set, v1 uintptr
  9260. _, _ = set, v1
  9261. if accept != 0 {
  9262. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  9263. } else {
  9264. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  9265. }
  9266. set = v1
  9267. return XFcStrSetAdd(tls, set, glob)
  9268. }
  9269. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  9270. var i int32
  9271. _ = i
  9272. i = 0
  9273. for {
  9274. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  9275. break
  9276. }
  9277. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  9278. return int32(m_FcTrue)
  9279. }
  9280. goto _1
  9281. _1:
  9282. ;
  9283. i++
  9284. }
  9285. return m_FcFalse
  9286. }
  9287. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  9288. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  9289. return int32(m_FcTrue)
  9290. }
  9291. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  9292. return m_FcFalse
  9293. }
  9294. return int32(m_FcTrue)
  9295. }
  9296. /*
  9297. * Manage font-pattern based font source selectors
  9298. */
  9299. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  9300. var set, v1 uintptr
  9301. _, _ = set, v1
  9302. if accept != 0 {
  9303. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  9304. } else {
  9305. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  9306. }
  9307. set = v1
  9308. return XFcFontSetAdd(tls, set, pattern)
  9309. }
  9310. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  9311. var i int32
  9312. _ = i
  9313. i = 0
  9314. for {
  9315. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  9316. break
  9317. }
  9318. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  9319. return int32(m_FcTrue)
  9320. }
  9321. goto _1
  9322. _1:
  9323. ;
  9324. i++
  9325. }
  9326. return m_FcFalse
  9327. }
  9328. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  9329. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  9330. return int32(m_FcTrue)
  9331. }
  9332. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  9333. return m_FcFalse
  9334. }
  9335. return int32(m_FcTrue)
  9336. }
  9337. func XFcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  9338. if !(config != 0) {
  9339. config = XFcConfigGetCurrent(tls)
  9340. if !(config != 0) {
  9341. return libc.UintptrFromInt32(0)
  9342. }
  9343. }
  9344. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  9345. }
  9346. func XFcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  9347. var init1 TFcBool
  9348. var nretry, v1 int32
  9349. var s uintptr
  9350. _, _, _, _ = init1, nretry, s, v1
  9351. s = libc.UintptrFromInt32(0)
  9352. init1 = m_FcFalse
  9353. nretry = int32(3)
  9354. goto retry
  9355. retry:
  9356. ;
  9357. if !(config != 0) {
  9358. /* We can't use FcConfigGetCurrent() here to ensure
  9359. * the sysroot is set prior to initialize FcConfig,
  9360. * to avoid loading caches from non-sysroot dirs.
  9361. * So postpone the initialization later.
  9362. */
  9363. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  9364. if !(config != 0) {
  9365. config = XFcConfigCreate(tls)
  9366. if !(config != 0) {
  9367. return
  9368. }
  9369. init1 = int32(m_FcTrue)
  9370. }
  9371. }
  9372. if sysroot != 0 {
  9373. s = XFcStrRealPath(tls, sysroot)
  9374. if !(s != 0) {
  9375. return
  9376. }
  9377. }
  9378. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  9379. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  9380. }
  9381. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  9382. if init1 != 0 {
  9383. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  9384. if !(config != 0) {
  9385. /* Something failed. this is usually unlikely. so retrying */
  9386. init1 = m_FcFalse
  9387. nretry--
  9388. v1 = nretry
  9389. if v1 == 0 {
  9390. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1664, 0)
  9391. return
  9392. }
  9393. goto retry
  9394. }
  9395. XFcConfigSetCurrent(tls, config)
  9396. /* FcConfigSetCurrent() increases the refcount.
  9397. * decrease it here to avoid the memory leak.
  9398. */
  9399. XFcConfigDestroy(tls, config)
  9400. }
  9401. }
  9402. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  9403. var k TFcMatchKind
  9404. var p, ret uintptr
  9405. _, _, _ = k, p, ret
  9406. ret = libc.Xmalloc(tls, uint64(64))
  9407. if !(name != 0) {
  9408. p = __ccgo_ts + 110
  9409. } else {
  9410. p = name
  9411. }
  9412. if ret != 0 {
  9413. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  9414. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  9415. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  9416. k = int32(_FcMatchKindBegin)
  9417. for {
  9418. if !(k < int32(_FcMatchKindEnd)) {
  9419. break
  9420. }
  9421. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  9422. goto _1
  9423. _1:
  9424. ;
  9425. k++
  9426. }
  9427. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  9428. }
  9429. return ret
  9430. }
  9431. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  9432. var k TFcMatchKind
  9433. var v1 int32
  9434. var p3 uintptr
  9435. _, _, _ = k, v1, p3
  9436. if !(rs != 0) {
  9437. return
  9438. }
  9439. p3 = rs
  9440. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  9441. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  9442. goto _2
  9443. _2:
  9444. if v1 != int32(1) {
  9445. return
  9446. }
  9447. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  9448. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  9449. }
  9450. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9451. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9452. }
  9453. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9454. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9455. }
  9456. k = int32(_FcMatchKindBegin)
  9457. for {
  9458. if !(k < int32(_FcMatchKindEnd)) {
  9459. break
  9460. }
  9461. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  9462. goto _4
  9463. _4:
  9464. ;
  9465. k++
  9466. }
  9467. libc.Xfree(tls, rs)
  9468. }
  9469. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  9470. var v1 TFcBool
  9471. var p4 uintptr
  9472. _, _ = v1, p4
  9473. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  9474. goto _2
  9475. _2:
  9476. if !(v1 != 0) {
  9477. p4 = rs
  9478. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  9479. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  9480. goto _3
  9481. _3:
  9482. }
  9483. }
  9484. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  9485. if rs != 0 {
  9486. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  9487. /* XXX: we may want to provide a feature
  9488. * to enable/disable rulesets through API
  9489. * in the future?
  9490. */
  9491. }
  9492. }
  9493. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  9494. var v1, v2 uintptr
  9495. _, _ = v1, v2
  9496. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9497. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9498. }
  9499. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9500. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9501. }
  9502. if domain != 0 {
  9503. v1 = libc.Xstrdup(tls, domain)
  9504. } else {
  9505. v1 = libc.UintptrFromInt32(0)
  9506. }
  9507. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  9508. if description != 0 {
  9509. v2 = libc.Xstrdup(tls, description)
  9510. } else {
  9511. v2 = libc.UintptrFromInt32(0)
  9512. }
  9513. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  9514. }
  9515. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  9516. bp := tls.Alloc(48)
  9517. defer tls.Free(48)
  9518. var n, ret, v2 int32
  9519. var r uintptr
  9520. var _ /* iter at bp+0 */ TFcPtrListIter
  9521. _, _, _, _ = n, r, ret, v2
  9522. n = 0
  9523. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  9524. return -int32(1)
  9525. }
  9526. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  9527. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  9528. return -int32(1)
  9529. }
  9530. r = rule
  9531. for {
  9532. if !(r != 0) {
  9533. break
  9534. }
  9535. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9536. case int32(_FcRuleTest):
  9537. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  9538. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  9539. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  9540. }
  9541. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9542. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9543. }
  9544. }
  9545. case int32(_FcRuleEdit):
  9546. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9547. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9548. }
  9549. default:
  9550. break
  9551. }
  9552. goto _1
  9553. _1:
  9554. ;
  9555. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9556. }
  9557. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9558. libc.Xprintf(tls, __ccgo_ts+1787, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  9559. XFcRulePrint(tls, rule)
  9560. }
  9561. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  9562. if ret < 0 {
  9563. v2 = 0
  9564. } else {
  9565. v2 = ret
  9566. }
  9567. return v2
  9568. }
  9569. func XFcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  9570. var c, i uintptr
  9571. _, _ = c, i
  9572. i = iter
  9573. if !(config != 0) {
  9574. c = XFcConfigGetCurrent(tls)
  9575. } else {
  9576. c = config
  9577. }
  9578. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9579. }
  9580. func XFcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  9581. var c, i uintptr
  9582. _, _ = c, i
  9583. i = iter
  9584. if !(config != 0) {
  9585. c = XFcConfigGetCurrent(tls)
  9586. } else {
  9587. c = config
  9588. }
  9589. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  9590. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9591. } else {
  9592. return m_FcFalse
  9593. }
  9594. return int32(m_FcTrue)
  9595. }
  9596. func XFcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  9597. var c, i, r, v1, v2 uintptr
  9598. _, _, _, _, _ = c, i, r, v1, v2
  9599. i = iter
  9600. if !(config != 0) {
  9601. c = XFcConfigGetCurrent(tls)
  9602. } else {
  9603. c = config
  9604. }
  9605. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  9606. return m_FcFalse
  9607. }
  9608. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9609. if name != 0 {
  9610. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  9611. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  9612. } else {
  9613. v1 = __ccgo_ts + 1653
  9614. }
  9615. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  9616. }
  9617. if description != 0 {
  9618. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  9619. v2 = __ccgo_ts + 1816
  9620. } else {
  9621. v2 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription
  9622. }
  9623. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  9624. }
  9625. if enabled != 0 {
  9626. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  9627. }
  9628. return int32(m_FcTrue)
  9629. }
  9630. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  9631. const m_FC_CHAR_SET_HASH_SIZE = 67
  9632. const m_FC_DIR_SEPARATOR2 = '/'
  9633. const m_FC_DIR_SEPARATOR_S2 = "/"
  9634. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  9635. const m_S_IFIFO2 = 0010000
  9636. const m_S_IFMT2 = 0170000
  9637. type TFcCharSetFreezer = struct {
  9638. Fleaf_hash_table [257]uintptr
  9639. Fleaf_blocks uintptr
  9640. Fleaf_block_count int32
  9641. Fset_hash_table [67]uintptr
  9642. Forig_hash_table [67]uintptr
  9643. Fcurrent_block uintptr
  9644. Fleaf_remain int32
  9645. Fleaves_seen int32
  9646. Fcharsets_seen int32
  9647. Fleaves_allocated int32
  9648. Fcharsets_allocated int32
  9649. }
  9650. type T_FcCharSetFreezer = TFcCharSetFreezer
  9651. /*
  9652. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  9653. *
  9654. * @APPLE_LICENSE_HEADER_START@
  9655. *
  9656. * This file contains Original Code and/or Modifications of Original Code
  9657. * as defined in and that are subject to the Apple Public Source License
  9658. * Version 2.0 (the 'License'). You may not use this file except in
  9659. * compliance with the License. Please obtain a copy of the License at
  9660. * http://www.opensource.apple.com/apsl/ and read it before using this
  9661. * file.
  9662. *
  9663. * The Original Code and all software distributed under the License are
  9664. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9665. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9666. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9667. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9668. * Please see the License for the specific language governing rights and
  9669. * limitations under the License.
  9670. *
  9671. * @APPLE_LICENSE_HEADER_END@
  9672. */
  9673. /*-
  9674. * Copyright (c) 1990, 1993
  9675. * The Regents of the University of California. All rights reserved.
  9676. *
  9677. * Redistribution and use in source and binary forms, with or without
  9678. * modification, are permitted provided that the following conditions
  9679. * are met:
  9680. * 1. Redistributions of source code must retain the above copyright
  9681. * notice, this list of conditions and the following disclaimer.
  9682. * 2. Redistributions in binary form must reproduce the above copyright
  9683. * notice, this list of conditions and the following disclaimer in the
  9684. * documentation and/or other materials provided with the distribution.
  9685. * 3. All advertising materials mentioning features or use of this software
  9686. * must display the following acknowledgement:
  9687. * This product includes software developed by the University of
  9688. * California, Berkeley and its contributors.
  9689. * 4. Neither the name of the University nor the names of its contributors
  9690. * may be used to endorse or promote products derived from this software
  9691. * without specific prior written permission.
  9692. *
  9693. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9694. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9695. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9696. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9697. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9698. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9699. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9700. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9701. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9702. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9703. * SUCH DAMAGE.
  9704. *
  9705. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  9706. */
  9707. /*
  9708. * Copyright (c) 2023 Apple Inc. All rights reserved.
  9709. *
  9710. * @APPLE_LICENSE_HEADER_START@
  9711. *
  9712. * This file contains Original Code and/or Modifications of Original Code
  9713. * as defined in and that are subject to the Apple Public Source License
  9714. * Version 2.0 (the 'License'). You may not use this file except in
  9715. * compliance with the License. Please obtain a copy of the License at
  9716. * http://www.opensource.apple.com/apsl/ and read it before using this
  9717. * file.
  9718. *
  9719. * The Original Code and all software distributed under the License are
  9720. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9721. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9722. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9723. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9724. * Please see the License for the specific language governing rights and
  9725. * limitations under the License.
  9726. *
  9727. * @APPLE_LICENSE_HEADER_END@
  9728. */
  9729. /*-
  9730. * Copyright (c) 1990, 1993
  9731. * The Regents of the University of California. All rights reserved.
  9732. *
  9733. * Redistribution and use in source and binary forms, with or without
  9734. * modification, are permitted provided that the following conditions
  9735. * are met:
  9736. * 1. Redistributions of source code must retain the above copyright
  9737. * notice, this list of conditions and the following disclaimer.
  9738. * 2. Redistributions in binary form must reproduce the above copyright
  9739. * notice, this list of conditions and the following disclaimer in the
  9740. * documentation and/or other materials provided with the distribution.
  9741. * 3. All advertising materials mentioning features or use of this software
  9742. * must display the following acknowledgement:
  9743. * This product includes software developed by the University of
  9744. * California, Berkeley and its contributors.
  9745. * 4. Neither the name of the University nor the names of its contributors
  9746. * may be used to endorse or promote products derived from this software
  9747. * without specific prior written permission.
  9748. *
  9749. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9750. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9751. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9752. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9753. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9754. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9755. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9756. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9757. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9758. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9759. * SUCH DAMAGE.
  9760. *
  9761. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  9762. */
  9763. /* #define CHECK */
  9764. func XFcCharSetCreate(tls *libc.TLS) (r uintptr) {
  9765. var fcs uintptr
  9766. _ = fcs
  9767. fcs = libc.Xmalloc(tls, uint64(24))
  9768. if !(fcs != 0) {
  9769. return uintptr(0)
  9770. }
  9771. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  9772. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  9773. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  9774. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  9775. return fcs
  9776. }
  9777. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  9778. var fcs uintptr
  9779. _ = fcs
  9780. fcs = vbuf
  9781. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  9782. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  9783. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  9784. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  9785. return fcs
  9786. }
  9787. func XFcCharSetNew(tls *libc.TLS) (r uintptr) {
  9788. return XFcCharSetCreate(tls)
  9789. }
  9790. func XFcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  9791. var i, v3 int32
  9792. var v1 TFcBool
  9793. var p5 uintptr
  9794. _, _, _, _ = i, v1, v3, p5
  9795. if fcs != 0 {
  9796. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  9797. goto _2
  9798. _2:
  9799. if v1 != 0 {
  9800. XFcCacheObjectDereference(tls, fcs)
  9801. return
  9802. }
  9803. p5 = fcs
  9804. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  9805. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  9806. goto _4
  9807. _4:
  9808. if v3 != int32(1) {
  9809. return
  9810. }
  9811. i = 0
  9812. for {
  9813. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9814. break
  9815. }
  9816. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  9817. goto _6
  9818. _6:
  9819. ;
  9820. i++
  9821. }
  9822. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  9823. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  9824. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  9825. }
  9826. libc.Xfree(tls, fcs)
  9827. }
  9828. }
  9829. /*
  9830. * Search for the leaf containing with the specified num.
  9831. * Return its index if it exists, otherwise return negative of
  9832. * the (position + 1) where it should be inserted
  9833. */
  9834. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  9835. var high, low, mid int32
  9836. var numbers uintptr
  9837. var page TFcChar16
  9838. _, _, _, _, _ = high, low, mid, numbers, page
  9839. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  9840. low = start
  9841. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  9842. if !(numbers != 0) {
  9843. return -int32(1)
  9844. }
  9845. for low <= high {
  9846. mid = (low + high) >> int32(1)
  9847. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  9848. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  9849. return mid
  9850. }
  9851. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  9852. low = mid + int32(1)
  9853. } else {
  9854. high = mid - int32(1)
  9855. }
  9856. }
  9857. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  9858. high++
  9859. }
  9860. return -(high + int32(1))
  9861. }
  9862. /*
  9863. * Locate the leaf containing the specified char, return
  9864. * its index if it exists, otherwise return negative of
  9865. * the (position + 1) where it should be inserted
  9866. */
  9867. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  9868. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  9869. }
  9870. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  9871. var pos int32
  9872. _ = pos
  9873. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  9874. if pos >= 0 {
  9875. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  9876. }
  9877. return uintptr(0)
  9878. }
  9879. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  9880. var alloced, alloced1 uint32
  9881. var distance Tptrdiff_t
  9882. var i int32
  9883. var leaves, new_leaves, numbers uintptr
  9884. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  9885. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  9886. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  9887. ucs4 >>= uint32(8)
  9888. if ucs4 >= uint32(0x10000) {
  9889. return m_FcFalse
  9890. }
  9891. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  9892. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  9893. alloced = uint32(8)
  9894. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  9895. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  9896. if !(leaves != 0) || !(numbers != 0) {
  9897. if leaves != 0 {
  9898. libc.Xfree(tls, leaves)
  9899. }
  9900. if numbers != 0 {
  9901. libc.Xfree(tls, numbers)
  9902. }
  9903. return m_FcFalse
  9904. }
  9905. } else {
  9906. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  9907. alloced1 *= uint32(2)
  9908. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  9909. if !(numbers != 0) {
  9910. return m_FcFalse
  9911. }
  9912. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  9913. if !(new_leaves != 0) {
  9914. /*
  9915. * Revert the reallocation of numbers. We update numbers_offset
  9916. * first in case realloc() fails.
  9917. */
  9918. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  9919. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(2))
  9920. /* unlikely to fail though */
  9921. if !(numbers != 0) {
  9922. return m_FcFalse
  9923. }
  9924. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  9925. return m_FcFalse
  9926. }
  9927. distance = int64(new_leaves) - int64(leaves)
  9928. i = 0
  9929. for {
  9930. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  9931. break
  9932. }
  9933. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  9934. goto _1
  9935. _1:
  9936. ;
  9937. i++
  9938. }
  9939. leaves = new_leaves
  9940. }
  9941. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  9942. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  9943. }
  9944. libc.X__builtin___memmove_chk(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8), ^t__predefined_size_t(0))
  9945. libc.X__builtin___memmove_chk(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2), ^t__predefined_size_t(0))
  9946. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  9947. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  9948. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  9949. return int32(m_FcTrue)
  9950. }
  9951. /*
  9952. * Locate the leaf containing the specified char, creating it
  9953. * if desired
  9954. */
  9955. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  9956. var leaf uintptr
  9957. var pos int32
  9958. _, _ = leaf, pos
  9959. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  9960. if pos >= 0 {
  9961. return uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  9962. }
  9963. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  9964. if !(leaf != 0) {
  9965. return uintptr(0)
  9966. }
  9967. pos = -pos - int32(1)
  9968. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  9969. libc.Xfree(tls, leaf)
  9970. return uintptr(0)
  9971. }
  9972. return leaf
  9973. }
  9974. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  9975. var pos int32
  9976. _ = pos
  9977. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  9978. if pos >= 0 {
  9979. libc.Xfree(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8))))
  9980. *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)) = int64(leaf) - int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  9981. return int32(m_FcTrue)
  9982. }
  9983. pos = -pos - int32(1)
  9984. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  9985. }
  9986. func XFcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  9987. var b, leaf uintptr
  9988. var v1 TFcBool
  9989. var v3 bool
  9990. _, _, _, _ = b, leaf, v1, v3
  9991. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  9992. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  9993. goto _2
  9994. _2:
  9995. }
  9996. if v3 || v1 != 0 {
  9997. return m_FcFalse
  9998. }
  9999. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10000. if !(leaf != 0) {
  10001. return m_FcFalse
  10002. }
  10003. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10004. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  10005. return int32(m_FcTrue)
  10006. }
  10007. func XFcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10008. var b, leaf uintptr
  10009. var v1 TFcBool
  10010. var v3 bool
  10011. _, _, _, _ = b, leaf, v1, v3
  10012. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  10013. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10014. goto _2
  10015. _2:
  10016. }
  10017. if v3 || v1 != 0 {
  10018. return m_FcFalse
  10019. }
  10020. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10021. if !(leaf != 0) {
  10022. return int32(m_FcTrue)
  10023. }
  10024. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10025. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  10026. /* We don't bother removing the leaf if it's empty */
  10027. return int32(m_FcTrue)
  10028. }
  10029. /*
  10030. * An iterator for the leaves of a charset
  10031. */
  10032. type TFcCharSetIter = struct {
  10033. Fleaf uintptr
  10034. Fucs4 TFcChar32
  10035. Fpos int32
  10036. }
  10037. /*
  10038. * An iterator for the leaves of a charset
  10039. */
  10040. type T_fcCharSetIter = TFcCharSetIter
  10041. /*
  10042. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  10043. */
  10044. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10045. var pos int32
  10046. _ = pos
  10047. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  10048. if pos < 0 {
  10049. pos = -pos - int32(1)
  10050. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10051. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  10052. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10053. return
  10054. }
  10055. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10056. }
  10057. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10058. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10059. }
  10060. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10061. var pos int32
  10062. _ = pos
  10063. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  10064. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10065. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  10066. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10067. } else {
  10068. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10069. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(pos)*8)))
  10070. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10071. }
  10072. }
  10073. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10074. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  10075. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  10076. _FcCharSetIterSet(tls, fcs, iter)
  10077. }
  10078. func XFcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  10079. var v1 TFcBool
  10080. var p4 uintptr
  10081. _, _ = v1, p4
  10082. if src != 0 {
  10083. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  10084. goto _2
  10085. _2:
  10086. if !(v1 != 0) {
  10087. p4 = src
  10088. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  10089. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  10090. goto _3
  10091. _3:
  10092. } else {
  10093. XFcCacheObjectReference(tls, src)
  10094. }
  10095. }
  10096. return src
  10097. }
  10098. func XFcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10099. bp := tls.Alloc(32)
  10100. defer tls.Free(32)
  10101. var i int32
  10102. var _ /* ai at bp+0 */ TFcCharSetIter
  10103. var _ /* bi at bp+16 */ TFcCharSetIter
  10104. _ = i
  10105. if a == b {
  10106. return int32(m_FcTrue)
  10107. }
  10108. if !(a != 0) || !(b != 0) {
  10109. return m_FcFalse
  10110. }
  10111. _FcCharSetIterStart(tls, a, bp)
  10112. _FcCharSetIterStart(tls, b, bp+16)
  10113. for {
  10114. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  10115. break
  10116. }
  10117. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10118. return m_FcFalse
  10119. }
  10120. i = 0
  10121. for {
  10122. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10123. break
  10124. }
  10125. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  10126. return m_FcFalse
  10127. }
  10128. goto _2
  10129. _2:
  10130. ;
  10131. i++
  10132. }
  10133. goto _1
  10134. _1:
  10135. ;
  10136. _FcCharSetIterNext(tls, a, bp)
  10137. _FcCharSetIterNext(tls, b, bp+16)
  10138. }
  10139. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  10140. }
  10141. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  10142. var new1 uintptr
  10143. _ = new1
  10144. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10145. if !(new1 != 0) {
  10146. return m_FcFalse
  10147. }
  10148. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  10149. return int32(m_FcTrue)
  10150. }
  10151. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  10152. bp := tls.Alloc(64)
  10153. defer tls.Free(64)
  10154. var fcs uintptr
  10155. var _ /* ai at bp+0 */ TFcCharSetIter
  10156. var _ /* bi at bp+16 */ TFcCharSetIter
  10157. var _ /* leaf at bp+32 */ TFcCharLeaf
  10158. _ = fcs
  10159. if !(a != 0) || !(b != 0) {
  10160. goto bail0
  10161. }
  10162. fcs = XFcCharSetCreate(tls)
  10163. if !(fcs != 0) {
  10164. goto bail0
  10165. }
  10166. _FcCharSetIterStart(tls, a, bp)
  10167. _FcCharSetIterStart(tls, b, bp+16)
  10168. for ((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 || bonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) && ((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 || aonly != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10169. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10170. if aonly != 0 {
  10171. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  10172. goto bail1
  10173. }
  10174. _FcCharSetIterNext(tls, a, bp)
  10175. } else {
  10176. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10177. _FcCharSetIterSet(tls, a, bp)
  10178. }
  10179. } else {
  10180. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10181. if bonly != 0 {
  10182. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  10183. goto bail1
  10184. }
  10185. _FcCharSetIterNext(tls, b, bp+16)
  10186. } else {
  10187. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10188. _FcCharSetIterSet(tls, b, bp+16)
  10189. }
  10190. } else {
  10191. if (*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{overlap})))(tls, bp+32, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0 {
  10192. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  10193. goto bail1
  10194. }
  10195. }
  10196. _FcCharSetIterNext(tls, a, bp)
  10197. _FcCharSetIterNext(tls, b, bp+16)
  10198. }
  10199. }
  10200. }
  10201. return fcs
  10202. goto bail1
  10203. bail1:
  10204. ;
  10205. XFcCharSetDestroy(tls, fcs)
  10206. goto bail0
  10207. bail0:
  10208. ;
  10209. return uintptr(0)
  10210. return r
  10211. }
  10212. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10213. var i int32
  10214. var nonempty TFcBool
  10215. var v2 TFcChar32
  10216. _, _, _ = i, nonempty, v2
  10217. nonempty = m_FcFalse
  10218. i = 0
  10219. for {
  10220. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10221. break
  10222. }
  10223. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10224. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10225. if v2 != 0 {
  10226. nonempty = int32(m_FcTrue)
  10227. }
  10228. goto _1
  10229. _1:
  10230. ;
  10231. i++
  10232. }
  10233. return nonempty
  10234. }
  10235. func XFcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10236. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  10237. }
  10238. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10239. var i int32
  10240. _ = i
  10241. i = 0
  10242. for {
  10243. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10244. break
  10245. }
  10246. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10247. goto _1
  10248. _1:
  10249. ;
  10250. i++
  10251. }
  10252. return int32(m_FcTrue)
  10253. }
  10254. func XFcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10255. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  10256. }
  10257. func XFcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  10258. var ai, bi, v3 int32
  10259. var al, bl uintptr
  10260. var an, bn TFcChar16
  10261. var v1 TFcBool
  10262. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  10263. ai = 0
  10264. bi = 0
  10265. if !(a != 0) || !(b != 0) {
  10266. return m_FcFalse
  10267. }
  10268. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  10269. goto _2
  10270. _2:
  10271. if v1 != 0 {
  10272. if changed != 0 {
  10273. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  10274. }
  10275. return m_FcFalse
  10276. }
  10277. if changed != 0 {
  10278. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XFcCharSetIsSubset(tls, b, a) != 0))
  10279. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  10280. return int32(m_FcTrue)
  10281. }
  10282. }
  10283. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10284. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  10285. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  10286. } else {
  10287. v3 = ^libc.Int32FromInt32(0)
  10288. }
  10289. an = libc.Uint16FromInt32(v3)
  10290. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10291. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  10292. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  10293. if ai < 0 {
  10294. ai = -ai - int32(1)
  10295. }
  10296. } else {
  10297. bl = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  10298. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  10299. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  10300. return m_FcFalse
  10301. }
  10302. } else {
  10303. al = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  10304. _FcCharSetUnionLeaf(tls, al, al, bl)
  10305. }
  10306. ai++
  10307. bi++
  10308. }
  10309. }
  10310. return int32(m_FcTrue)
  10311. }
  10312. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10313. var i int32
  10314. var nonempty TFcBool
  10315. var v2 TFcChar32
  10316. _, _, _ = i, nonempty, v2
  10317. nonempty = m_FcFalse
  10318. i = 0
  10319. for {
  10320. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10321. break
  10322. }
  10323. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10324. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10325. if v2 != 0 {
  10326. nonempty = int32(m_FcTrue)
  10327. }
  10328. goto _1
  10329. _1:
  10330. ;
  10331. i++
  10332. }
  10333. return nonempty
  10334. }
  10335. func XFcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10336. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  10337. }
  10338. func XFcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10339. var leaf uintptr
  10340. _ = leaf
  10341. if !(fcs != 0) {
  10342. return m_FcFalse
  10343. }
  10344. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10345. if !(leaf != 0) {
  10346. return m_FcFalse
  10347. }
  10348. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  10349. }
  10350. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  10351. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  10352. }
  10353. func XFcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10354. bp := tls.Alloc(32)
  10355. defer tls.Free(32)
  10356. var am, bm, v2, v3 uintptr
  10357. var count TFcChar32
  10358. var i, v1 int32
  10359. var _ /* ai at bp+0 */ TFcCharSetIter
  10360. var _ /* bi at bp+16 */ TFcCharSetIter
  10361. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  10362. count = uint32(0)
  10363. if a != 0 && b != 0 {
  10364. _FcCharSetIterStart(tls, a, bp)
  10365. _FcCharSetIterStart(tls, b, bp+16)
  10366. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10367. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10368. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10369. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10370. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10371. for {
  10372. v1 = i
  10373. i--
  10374. if !(v1 != 0) {
  10375. break
  10376. }
  10377. v2 = am
  10378. am += 4
  10379. v3 = bm
  10380. bm += 4
  10381. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  10382. }
  10383. _FcCharSetIterNext(tls, a, bp)
  10384. } else {
  10385. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10386. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10387. _FcCharSetIterSet(tls, a, bp)
  10388. }
  10389. }
  10390. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10391. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10392. _FcCharSetIterSet(tls, b, bp+16)
  10393. }
  10394. }
  10395. }
  10396. return count
  10397. }
  10398. func XFcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  10399. bp := tls.Alloc(16)
  10400. defer tls.Free(16)
  10401. var am, v3 uintptr
  10402. var count TFcChar32
  10403. var i, v2 int32
  10404. var _ /* ai at bp+0 */ TFcCharSetIter
  10405. _, _, _, _, _ = am, count, i, v2, v3
  10406. count = uint32(0)
  10407. if a != 0 {
  10408. _FcCharSetIterStart(tls, a, bp)
  10409. for {
  10410. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10411. break
  10412. }
  10413. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10414. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10415. for {
  10416. v2 = i
  10417. i--
  10418. if !(v2 != 0) {
  10419. break
  10420. }
  10421. v3 = am
  10422. am += 4
  10423. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  10424. }
  10425. goto _1
  10426. _1:
  10427. ;
  10428. _FcCharSetIterNext(tls, a, bp)
  10429. }
  10430. }
  10431. return count
  10432. }
  10433. func XFcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10434. bp := tls.Alloc(32)
  10435. defer tls.Free(32)
  10436. var am, bm, v2, v3, v5 uintptr
  10437. var count TFcChar32
  10438. var i, v1, v4 int32
  10439. var _ /* ai at bp+0 */ TFcCharSetIter
  10440. var _ /* bi at bp+16 */ TFcCharSetIter
  10441. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  10442. count = uint32(0)
  10443. if a != 0 && b != 0 {
  10444. _FcCharSetIterStart(tls, a, bp)
  10445. _FcCharSetIterStart(tls, b, bp+16)
  10446. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  10447. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10448. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10449. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10450. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10451. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10452. for {
  10453. v1 = i
  10454. i--
  10455. if !(v1 != 0) {
  10456. break
  10457. }
  10458. v2 = am
  10459. am += 4
  10460. v3 = bm
  10461. bm += 4
  10462. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  10463. }
  10464. } else {
  10465. for {
  10466. v4 = i
  10467. i--
  10468. if !(v4 != 0) {
  10469. break
  10470. }
  10471. v5 = am
  10472. am += 4
  10473. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  10474. }
  10475. }
  10476. _FcCharSetIterNext(tls, a, bp)
  10477. } else {
  10478. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10479. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10480. _FcCharSetIterSet(tls, b, bp+16)
  10481. }
  10482. }
  10483. }
  10484. }
  10485. return count
  10486. }
  10487. // C documentation
  10488. //
  10489. // /*
  10490. // * return FcTrue iff a is a subset of b
  10491. // */
  10492. func XFcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10493. var ai, bi, i, v1 int32
  10494. var am, bm, v2, v3 uintptr
  10495. var an, bn TFcChar16
  10496. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  10497. if a == b {
  10498. return int32(m_FcTrue)
  10499. }
  10500. if !(a != 0) || !(b != 0) {
  10501. return m_FcFalse
  10502. }
  10503. bi = 0
  10504. ai = 0
  10505. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10506. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  10507. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10508. /*
  10509. * Check matching pages
  10510. */
  10511. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  10512. am = uintptr(int64(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fleaves_offset) + uintptr(ai)*8)))
  10513. bm = uintptr(int64(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset) + uintptr(bi)*8)))
  10514. if am != bm {
  10515. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10516. /*
  10517. * Does am have any bits not in bm?
  10518. */
  10519. for {
  10520. v1 = i
  10521. i--
  10522. if !(v1 != 0) {
  10523. break
  10524. }
  10525. v2 = am
  10526. am += 4
  10527. v3 = bm
  10528. bm += 4
  10529. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  10530. return m_FcFalse
  10531. }
  10532. }
  10533. }
  10534. ai++
  10535. bi++
  10536. } else {
  10537. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  10538. return m_FcFalse
  10539. } else {
  10540. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  10541. if bi < 0 {
  10542. bi = -bi - int32(1)
  10543. }
  10544. }
  10545. }
  10546. }
  10547. /*
  10548. * did we look at every page?
  10549. */
  10550. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  10551. }
  10552. /*
  10553. * These two functions efficiently walk the entire charmap for
  10554. * other software (like pango) that want their own copy
  10555. */
  10556. func XFcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10557. bp := tls.Alloc(16)
  10558. defer tls.Free(16)
  10559. var page TFcChar32
  10560. var _ /* ai at bp+0 */ TFcCharSetIter
  10561. _ = page
  10562. if !(a != 0) {
  10563. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  10564. }
  10565. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  10566. _FcCharSetIterSet(tls, a, bp)
  10567. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10568. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  10569. }
  10570. /*
  10571. * Save current information
  10572. */
  10573. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10574. libc.X__builtin___memcpy_chk(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), ^t__predefined_size_t(0))
  10575. /*
  10576. * Step to next page
  10577. */
  10578. _FcCharSetIterNext(tls, a, bp)
  10579. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10580. return page
  10581. }
  10582. func XFcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10583. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  10584. return XFcCharSetNextPage(tls, a, map1, next)
  10585. }
  10586. /*
  10587. * old coverage API, rather hard to use correctly
  10588. */
  10589. func XFcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  10590. bp := tls.Alloc(16)
  10591. defer tls.Free(16)
  10592. var _ /* ai at bp+0 */ TFcCharSetIter
  10593. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  10594. _FcCharSetIterSet(tls, a, bp)
  10595. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10596. libc.X__builtin___memset_chk(tls, result, int32('\000'), libc.Uint64FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)), ^t__predefined_size_t(0))
  10597. page = uint32(0)
  10598. } else {
  10599. libc.X__builtin___memcpy_chk(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), ^t__predefined_size_t(0))
  10600. _FcCharSetIterNext(tls, a, bp)
  10601. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10602. }
  10603. return page
  10604. }
  10605. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  10606. bp := tls.Alloc(16)
  10607. defer tls.Free(16)
  10608. var first, last, v10 int64
  10609. var t uintptr
  10610. var v1, v11, v15, v17, v18, v5, v7, v8 int32
  10611. var v13, v3 t__darwin_ct_rune_t
  10612. var v14, v4 uint64
  10613. var _ /* s at bp+0 */ uintptr
  10614. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = first, last, t, v1, v10, v11, v13, v14, v15, v17, v18, v3, v4, v5, v7, v8
  10615. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  10616. for {
  10617. v3 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  10618. v4 = uint64(0x00004000)
  10619. v8 = libc.BoolInt32(v3 & ^libc.Int32FromInt32(0x7F) == 0)
  10620. goto _9
  10621. _9:
  10622. if v8 != 0 {
  10623. v7 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v3)*4)))&v4 != 0))
  10624. } else {
  10625. v7 = libc.BoolInt32(!!(libc.X__maskrune(tls, v3, v4) != 0))
  10626. }
  10627. v5 = v7
  10628. goto _6
  10629. _6:
  10630. v1 = v5
  10631. goto _2
  10632. _2:
  10633. if !(v1 != 0) {
  10634. break
  10635. }
  10636. *(*uintptr)(unsafe.Pointer(bp))++
  10637. }
  10638. t = *(*uintptr)(unsafe.Pointer(bp))
  10639. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  10640. v10 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  10641. last = v10
  10642. first = v10
  10643. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  10644. return m_FcFalse
  10645. }
  10646. for {
  10647. v13 = libc.Int32FromUint8(libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  10648. v14 = uint64(0x00004000)
  10649. v18 = libc.BoolInt32(v13 & ^libc.Int32FromInt32(0x7F) == 0)
  10650. goto _19
  10651. _19:
  10652. if v18 != 0 {
  10653. v17 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v13)*4)))&v14 != 0))
  10654. } else {
  10655. v17 = libc.BoolInt32(!!(libc.X__maskrune(tls, v13, v14) != 0))
  10656. }
  10657. v15 = v17
  10658. goto _16
  10659. _16:
  10660. v11 = v15
  10661. goto _12
  10662. _12:
  10663. if !(v11 != 0) {
  10664. break
  10665. }
  10666. *(*uintptr)(unsafe.Pointer(bp))++
  10667. }
  10668. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  10669. *(*uintptr)(unsafe.Pointer(bp))++
  10670. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  10671. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  10672. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  10673. return m_FcFalse
  10674. }
  10675. }
  10676. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  10677. return m_FcFalse
  10678. }
  10679. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  10680. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt64(first)
  10681. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt64(last)
  10682. return int32(m_FcTrue)
  10683. }
  10684. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  10685. bp := tls.Alloc(16)
  10686. defer tls.Free(16)
  10687. *(*uintptr)(unsafe.Pointer(bp)) = _string
  10688. var c uintptr
  10689. var u TFcChar32
  10690. var _ /* first at bp+8 */ TFcChar32
  10691. var _ /* last at bp+12 */ TFcChar32
  10692. _, _ = c, u
  10693. c = XFcCharSetCreate(tls)
  10694. if !(c != 0) {
  10695. goto bail0
  10696. }
  10697. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  10698. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  10699. goto bail1
  10700. }
  10701. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  10702. for {
  10703. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  10704. break
  10705. }
  10706. XFcCharSetAddChar(tls, c, u)
  10707. goto _1
  10708. _1:
  10709. ;
  10710. u++
  10711. }
  10712. }
  10713. return c
  10714. goto bail1
  10715. bail1:
  10716. ;
  10717. XFcCharSetDestroy(tls, c)
  10718. goto bail0
  10719. bail0:
  10720. ;
  10721. return libc.UintptrFromInt32(0)
  10722. return r
  10723. }
  10724. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  10725. bp := tls.Alloc(80)
  10726. defer tls.Free(80)
  10727. var _ /* buf_static at bp+0 */ [64]TFcChar8
  10728. libc.X__builtin___snprintf_chk(tls, bp, uint64(64), 0, ^t__predefined_size_t(0), __ccgo_ts+1831, libc.VaList(bp+72, u))
  10729. XFcStrBufString(tls, buf, bp)
  10730. }
  10731. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  10732. bp := tls.Alloc(16)
  10733. defer tls.Free(16)
  10734. var bits, first, last, u, v1 TFcChar32
  10735. var i int32
  10736. var _ /* ci at bp+0 */ TFcCharSetIter
  10737. _, _, _, _, _, _ = bits, first, i, last, u, v1
  10738. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  10739. last = v1
  10740. first = v1
  10741. _FcCharSetIterStart(tls, c, bp)
  10742. for {
  10743. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10744. break
  10745. }
  10746. i = 0
  10747. for {
  10748. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10749. break
  10750. }
  10751. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  10752. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  10753. for bits != 0 {
  10754. if bits&uint32(1) != 0 {
  10755. if u != last+uint32(1) {
  10756. if last != first {
  10757. XFcStrBufChar(tls, buf, uint8('-'))
  10758. _FcNameUnparseUnicode(tls, buf, last)
  10759. }
  10760. if last != uint32(0x7FFFFFFF) {
  10761. XFcStrBufChar(tls, buf, uint8(' '))
  10762. }
  10763. /* Start new range. */
  10764. first = u
  10765. _FcNameUnparseUnicode(tls, buf, u)
  10766. }
  10767. last = u
  10768. }
  10769. bits >>= uint32(1)
  10770. u++
  10771. }
  10772. goto _3
  10773. _3:
  10774. ;
  10775. i++
  10776. }
  10777. goto _2
  10778. _2:
  10779. ;
  10780. _FcCharSetIterNext(tls, c, bp)
  10781. }
  10782. if last != first {
  10783. XFcStrBufChar(tls, buf, uint8('-'))
  10784. _FcNameUnparseUnicode(tls, buf, last)
  10785. }
  10786. return int32(m_FcTrue)
  10787. }
  10788. type TFcCharLeafEnt = struct {
  10789. Fnext uintptr
  10790. Fhash TFcChar32
  10791. Fleaf TFcCharLeaf
  10792. }
  10793. type T_FcCharLeafEnt = TFcCharLeafEnt
  10794. type TFcCharSetEnt = struct {
  10795. Fnext uintptr
  10796. Fhash TFcChar32
  10797. Fset TFcCharSet
  10798. }
  10799. type T_FcCharSetEnt = TFcCharSetEnt
  10800. type TFcCharSetOrigEnt = struct {
  10801. Fnext uintptr
  10802. Forig uintptr
  10803. Ffrozen uintptr
  10804. }
  10805. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  10806. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  10807. var newBlocks, v1, v2, v3 uintptr
  10808. _, _, _, _ = newBlocks, v1, v2, v3
  10809. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  10810. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  10811. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint64FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  10812. if !(newBlocks != 0) {
  10813. return uintptr(0)
  10814. }
  10815. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  10816. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  10817. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  10818. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  10819. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  10820. return uintptr(0)
  10821. }
  10822. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint64(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  10823. }
  10824. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  10825. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  10826. v3 = freezer + 3144
  10827. v2 = *(*uintptr)(unsafe.Pointer(v3))
  10828. *(*uintptr)(unsafe.Pointer(v3)) += 48
  10829. return v2
  10830. }
  10831. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  10832. var hash TFcChar32
  10833. var i int32
  10834. _, _ = hash, i
  10835. hash = uint32(0)
  10836. i = 0
  10837. for {
  10838. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10839. break
  10840. }
  10841. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  10842. goto _1
  10843. _1:
  10844. ;
  10845. i++
  10846. }
  10847. return hash
  10848. }
  10849. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  10850. var bucket, ent uintptr
  10851. var hash TFcChar32
  10852. _, _, _ = bucket, ent, hash
  10853. hash = _FcCharLeafHash(tls, leaf)
  10854. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  10855. ent = *(*uintptr)(unsafe.Pointer(bucket))
  10856. for {
  10857. if !(ent != 0) {
  10858. break
  10859. }
  10860. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  10861. return ent + 12
  10862. }
  10863. goto _1
  10864. _1:
  10865. ;
  10866. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  10867. }
  10868. ent = _FcCharLeafEntCreate(tls, freezer)
  10869. if !(ent != 0) {
  10870. return uintptr(0)
  10871. }
  10872. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  10873. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  10874. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  10875. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  10876. return ent + 12
  10877. }
  10878. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  10879. var hash TFcChar32
  10880. var i int32
  10881. _, _ = hash, i
  10882. hash = uint32(0)
  10883. /* hash in leaves */
  10884. i = 0
  10885. for {
  10886. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10887. break
  10888. }
  10889. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcCharLeafHash(tls, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  10890. goto _1
  10891. _1:
  10892. ;
  10893. i++
  10894. }
  10895. /* hash in numbers */
  10896. i = 0
  10897. for {
  10898. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10899. break
  10900. }
  10901. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))
  10902. goto _2
  10903. _2:
  10904. ;
  10905. i++
  10906. }
  10907. return hash
  10908. }
  10909. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  10910. var bucket, ent uintptr
  10911. _, _ = bucket, ent
  10912. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  10913. ent = libc.Xmalloc(tls, uint64(24))
  10914. if !(ent != 0) {
  10915. return m_FcFalse
  10916. }
  10917. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  10918. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  10919. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  10920. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  10921. return int32(m_FcTrue)
  10922. }
  10923. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  10924. var bucket, ent, ent_leaves uintptr
  10925. var hash TFcChar32
  10926. var i, i1, size int32
  10927. var ok TFcBool
  10928. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  10929. hash = _FcCharSetHash(tls, fcs)
  10930. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  10931. ent = *(*uintptr)(unsafe.Pointer(bucket))
  10932. for {
  10933. if !(ent != 0) {
  10934. break
  10935. }
  10936. 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+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2)) != 0) {
  10937. ok = int32(m_FcTrue)
  10938. i1 = 0
  10939. for {
  10940. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10941. break
  10942. }
  10943. if uintptr(int64(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset) + uintptr(i1)*8))) != uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i1)*8))) {
  10944. ok = m_FcFalse
  10945. }
  10946. goto _2
  10947. _2:
  10948. ;
  10949. i1++
  10950. }
  10951. if ok != 0 {
  10952. return ent + 16
  10953. }
  10954. }
  10955. goto _1
  10956. _1:
  10957. ;
  10958. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  10959. }
  10960. size = libc.Int32FromUint64(libc.Uint64FromInt64(40) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(2))
  10961. ent = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  10962. if !(ent != 0) {
  10963. return uintptr(0)
  10964. }
  10965. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  10966. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  10967. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  10968. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  10969. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  10970. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = libc.Int64FromUint64(libc.Uint64FromInt64((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8))
  10971. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  10972. i = 0
  10973. for {
  10974. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10975. break
  10976. }
  10977. *(*Tintptr_t)(unsafe.Pointer(ent_leaves + uintptr(i)*8)) = int64(uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8)))) - int64(ent_leaves)
  10978. goto _3
  10979. _3:
  10980. ;
  10981. i++
  10982. }
  10983. libc.X__builtin___memcpy_chk(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2), ^t__predefined_size_t(0))
  10984. } else {
  10985. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  10986. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  10987. }
  10988. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  10989. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  10990. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  10991. return ent + 16
  10992. }
  10993. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  10994. var bucket, ent uintptr
  10995. _, _ = bucket, ent
  10996. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  10997. ent = *(*uintptr)(unsafe.Pointer(bucket))
  10998. for {
  10999. if !(ent != 0) {
  11000. break
  11001. }
  11002. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  11003. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  11004. }
  11005. goto _1
  11006. _1:
  11007. ;
  11008. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  11009. }
  11010. return libc.UintptrFromInt32(0)
  11011. }
  11012. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  11013. var b, l, n uintptr
  11014. var i int32
  11015. _, _, _, _ = b, i, l, n
  11016. n = uintptr(0)
  11017. b = XFcCharSetCreate(tls)
  11018. if !(b != 0) {
  11019. goto bail0
  11020. }
  11021. i = 0
  11022. for {
  11023. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11024. break
  11025. }
  11026. l = _FcCharSetFreezeLeaf(tls, freezer, uintptr(int64(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset) + uintptr(i)*8))))
  11027. if !(l != 0) {
  11028. goto bail1
  11029. }
  11030. if !(_FcCharSetInsertLeaf(tls, b, libc.Uint32FromInt32(libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  11031. goto bail1
  11032. }
  11033. goto _1
  11034. _1:
  11035. ;
  11036. i++
  11037. }
  11038. n = _FcCharSetFreezeBase(tls, freezer, b)
  11039. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  11040. n = libc.UintptrFromInt32(0)
  11041. goto bail1
  11042. }
  11043. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  11044. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  11045. goto bail1
  11046. bail1:
  11047. ;
  11048. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11049. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  11050. }
  11051. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11052. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  11053. }
  11054. libc.Xfree(tls, b)
  11055. goto bail0
  11056. bail0:
  11057. ;
  11058. return n
  11059. return r
  11060. }
  11061. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  11062. var freezer uintptr
  11063. _ = freezer
  11064. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  11065. return freezer
  11066. }
  11067. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  11068. bp := tls.Alloc(48)
  11069. defer tls.Free(48)
  11070. var ent, ent1, next, next1 uintptr
  11071. var i int32
  11072. _, _, _, _, _ = ent, ent1, i, next, next1
  11073. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  11074. libc.Xprintf(tls, __ccgo_ts+1834, 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))
  11075. }
  11076. i = 0
  11077. for {
  11078. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11079. break
  11080. }
  11081. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  11082. for {
  11083. if !(ent != 0) {
  11084. break
  11085. }
  11086. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  11087. libc.Xfree(tls, ent)
  11088. goto _2
  11089. _2:
  11090. ;
  11091. ent = next
  11092. }
  11093. goto _1
  11094. _1:
  11095. ;
  11096. i++
  11097. }
  11098. i = 0
  11099. for {
  11100. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11101. break
  11102. }
  11103. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  11104. for {
  11105. if !(ent1 != 0) {
  11106. break
  11107. }
  11108. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  11109. libc.Xfree(tls, ent1)
  11110. goto _4
  11111. _4:
  11112. ;
  11113. ent1 = next1
  11114. }
  11115. goto _3
  11116. _3:
  11117. ;
  11118. i++
  11119. }
  11120. i = 0
  11121. for {
  11122. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  11123. break
  11124. }
  11125. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  11126. goto _5
  11127. _5:
  11128. ;
  11129. i++
  11130. }
  11131. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  11132. libc.Xfree(tls, freezer)
  11133. }
  11134. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  11135. var i int32
  11136. var leaves, numbers uintptr
  11137. var v1 TFcBool
  11138. _, _, _, _ = i, leaves, numbers, v1
  11139. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11140. goto _2
  11141. _2:
  11142. if !(v1 != 0) {
  11143. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11144. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  11145. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11146. return m_FcFalse
  11147. }
  11148. }
  11149. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  11150. return int32(m_FcTrue)
  11151. }
  11152. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11153. }
  11154. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11155. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11156. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  11157. return m_FcFalse
  11158. }
  11159. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  11160. return m_FcFalse
  11161. }
  11162. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  11163. return m_FcFalse
  11164. }
  11165. i = 0
  11166. for {
  11167. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11168. break
  11169. }
  11170. if !(XFcSerializeAlloc(tls, serialize, uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8))), int32(32)) != 0) {
  11171. return m_FcFalse
  11172. }
  11173. goto _3
  11174. _3:
  11175. ;
  11176. i++
  11177. }
  11178. return int32(m_FcTrue)
  11179. }
  11180. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  11181. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  11182. var i int32
  11183. var v1 TFcBool
  11184. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  11185. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11186. goto _2
  11187. _2:
  11188. ;
  11189. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  11190. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11191. if !(cs != 0) {
  11192. return libc.UintptrFromInt32(0)
  11193. }
  11194. }
  11195. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  11196. if !(cs_serialized != 0) {
  11197. return libc.UintptrFromInt32(0)
  11198. }
  11199. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  11200. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  11201. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  11202. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11203. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  11204. if !(leaves_serialized != 0) {
  11205. return libc.UintptrFromInt32(0)
  11206. }
  11207. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  11208. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11209. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  11210. if !(numbers != 0) {
  11211. return libc.UintptrFromInt32(0)
  11212. }
  11213. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  11214. i = 0
  11215. for {
  11216. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11217. break
  11218. }
  11219. leaf = uintptr(int64(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)) + *(*Tintptr_t)(unsafe.Pointer(uintptr(int64(cs)+(*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset) + uintptr(i)*8)))
  11220. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  11221. if !(leaf_serialized != 0) {
  11222. return libc.UintptrFromInt32(0)
  11223. }
  11224. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  11225. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  11226. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  11227. goto _3
  11228. _3:
  11229. ;
  11230. i++
  11231. }
  11232. } else {
  11233. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  11234. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  11235. }
  11236. return cs_serialized
  11237. }
  11238. const m_FC_O_BINARY = 0
  11239. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  11240. const m_FC_O_LARGEFILE = 0
  11241. const m_FC_O_NOINHERIT = 0
  11242. const m_FC_O_TEMPORARY = 0
  11243. const m_O_CLOEXEC1 = 16777216
  11244. const m_O_RDONLY1 = 0x0000
  11245. const m_O_RDWR1 = 0x0002
  11246. /*
  11247. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  11248. *
  11249. * @APPLE_LICENSE_HEADER_START@
  11250. *
  11251. * This file contains Original Code and/or Modifications of Original Code
  11252. * as defined in and that are subject to the Apple Public Source License
  11253. * Version 2.0 (the 'License'). You may not use this file except in
  11254. * compliance with the License. Please obtain a copy of the License at
  11255. * http://www.opensource.apple.com/apsl/ and read it before using this
  11256. * file.
  11257. *
  11258. * The Original Code and all software distributed under the License are
  11259. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11260. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11261. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11262. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11263. * Please see the License for the specific language governing rights and
  11264. * limitations under the License.
  11265. *
  11266. * @APPLE_LICENSE_HEADER_END@
  11267. */
  11268. /*-
  11269. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  11270. * Copyright (c) 1991, 1993, 1994
  11271. * The Regents of the University of California. All rights reserved.
  11272. *
  11273. * Redistribution and use in source and binary forms, with or without
  11274. * modification, are permitted provided that the following conditions
  11275. * are met:
  11276. * 1. Redistributions of source code must retain the above copyright
  11277. * notice, this list of conditions and the following disclaimer.
  11278. * 2. Redistributions in binary form must reproduce the above copyright
  11279. * notice, this list of conditions and the following disclaimer in the
  11280. * documentation and/or other materials provided with the distribution.
  11281. * 3. All advertising materials mentioning features or use of this software
  11282. * must display the following acknowledgement:
  11283. * This product includes software developed by the University of
  11284. * California, Berkeley and its contributors.
  11285. * 4. Neither the name of the University nor the names of its contributors
  11286. * may be used to endorse or promote products derived from this software
  11287. * without specific prior written permission.
  11288. *
  11289. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11290. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11291. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11292. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11293. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11294. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11295. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11296. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11297. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11298. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11299. * SUCH DAMAGE.
  11300. *
  11301. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  11302. *
  11303. * Copyright (c) 1998 Apple Compter, Inc.
  11304. * All Rights Reserved
  11305. */
  11306. /* History:
  11307. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  11308. 3/26/98 CHW at Apple added real interface to searchfs call
  11309. 3/5/98 CHW at Apple added hfs semantic system calls headers
  11310. */
  11311. /*===---- stdarg.h - Variable argument handling ----------------------------===
  11312. *
  11313. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11314. * See https://llvm.org/LICENSE.txt for license information.
  11315. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11316. *
  11317. *===-----------------------------------------------------------------------===
  11318. */
  11319. /*
  11320. * This header is designed to be included multiple times. If any of the __need_
  11321. * macros are defined, then only that subset of interfaces are provided. This
  11322. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  11323. * need to use some of its interfaces. Otherwise this header provides all of
  11324. * the expected interfaces.
  11325. *
  11326. * When clang modules are enabled, this header is a textual header to support
  11327. * the multiple include behavior. As such, it doesn't directly declare anything
  11328. * so that it doesn't add duplicate declarations to all of its includers'
  11329. * modules.
  11330. */
  11331. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  11332. * or -ansi is not specified, since it was not part of C90.
  11333. */
  11334. /*===---- __stdarg_header_macro.h ------------------------------------------===
  11335. *
  11336. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11337. * See https://llvm.org/LICENSE.txt for license information.
  11338. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11339. *
  11340. *===-----------------------------------------------------------------------===
  11341. */
  11342. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  11343. *
  11344. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11345. * See https://llvm.org/LICENSE.txt for license information.
  11346. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11347. *
  11348. *===-----------------------------------------------------------------------===
  11349. */
  11350. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  11351. *
  11352. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11353. * See https://llvm.org/LICENSE.txt for license information.
  11354. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11355. *
  11356. *===-----------------------------------------------------------------------===
  11357. */
  11358. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  11359. *
  11360. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11361. * See https://llvm.org/LICENSE.txt for license information.
  11362. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11363. *
  11364. *===-----------------------------------------------------------------------===
  11365. */
  11366. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  11367. *
  11368. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11369. * See https://llvm.org/LICENSE.txt for license information.
  11370. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11371. *
  11372. *===-----------------------------------------------------------------------===
  11373. */
  11374. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  11375. *
  11376. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11377. * See https://llvm.org/LICENSE.txt for license information.
  11378. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11379. *
  11380. *===-----------------------------------------------------------------------===
  11381. */
  11382. /*
  11383. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  11384. *
  11385. * @APPLE_LICENSE_HEADER_START@
  11386. *
  11387. * This file contains Original Code and/or Modifications of Original Code
  11388. * as defined in and that are subject to the Apple Public Source License
  11389. * Version 2.0 (the 'License'). You may not use this file except in
  11390. * compliance with the License. Please obtain a copy of the License at
  11391. * http://www.opensource.apple.com/apsl/ and read it before using this
  11392. * file.
  11393. *
  11394. * The Original Code and all software distributed under the License are
  11395. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11396. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11397. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11398. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11399. * Please see the License for the specific language governing rights and
  11400. * limitations under the License.
  11401. *
  11402. * @APPLE_LICENSE_HEADER_END@
  11403. */
  11404. /*-
  11405. * Copyright (c) 1990, 1993
  11406. * The Regents of the University of California. All rights reserved.
  11407. *
  11408. * Redistribution and use in source and binary forms, with or without
  11409. * modification, are permitted provided that the following conditions
  11410. * are met:
  11411. * 1. Redistributions of source code must retain the above copyright
  11412. * notice, this list of conditions and the following disclaimer.
  11413. * 2. Redistributions in binary form must reproduce the above copyright
  11414. * notice, this list of conditions and the following disclaimer in the
  11415. * documentation and/or other materials provided with the distribution.
  11416. * 3. All advertising materials mentioning features or use of this software
  11417. * must display the following acknowledgement:
  11418. * This product includes software developed by the University of
  11419. * California, Berkeley and its contributors.
  11420. * 4. Neither the name of the University nor the names of its contributors
  11421. * may be used to endorse or promote products derived from this software
  11422. * without specific prior written permission.
  11423. *
  11424. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11425. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11426. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11427. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11428. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11429. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11430. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11431. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11432. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11433. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11434. * SUCH DAMAGE.
  11435. *
  11436. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11437. */
  11438. /*
  11439. * Copyright (c) 2023 Apple Inc. All rights reserved.
  11440. *
  11441. * @APPLE_LICENSE_HEADER_START@
  11442. *
  11443. * This file contains Original Code and/or Modifications of Original Code
  11444. * as defined in and that are subject to the Apple Public Source License
  11445. * Version 2.0 (the 'License'). You may not use this file except in
  11446. * compliance with the License. Please obtain a copy of the License at
  11447. * http://www.opensource.apple.com/apsl/ and read it before using this
  11448. * file.
  11449. *
  11450. * The Original Code and all software distributed under the License are
  11451. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11452. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11453. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11454. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11455. * Please see the License for the specific language governing rights and
  11456. * limitations under the License.
  11457. *
  11458. * @APPLE_LICENSE_HEADER_END@
  11459. */
  11460. /*-
  11461. * Copyright (c) 1990, 1993
  11462. * The Regents of the University of California. All rights reserved.
  11463. *
  11464. * Redistribution and use in source and binary forms, with or without
  11465. * modification, are permitted provided that the following conditions
  11466. * are met:
  11467. * 1. Redistributions of source code must retain the above copyright
  11468. * notice, this list of conditions and the following disclaimer.
  11469. * 2. Redistributions in binary form must reproduce the above copyright
  11470. * notice, this list of conditions and the following disclaimer in the
  11471. * documentation and/or other materials provided with the distribution.
  11472. * 3. All advertising materials mentioning features or use of this software
  11473. * must display the following acknowledgement:
  11474. * This product includes software developed by the University of
  11475. * California, Berkeley and its contributors.
  11476. * 4. Neither the name of the University nor the names of its contributors
  11477. * may be used to endorse or promote products derived from this software
  11478. * without specific prior written permission.
  11479. *
  11480. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11481. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11482. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11483. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11484. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11485. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11486. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11487. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11488. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11489. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11490. * SUCH DAMAGE.
  11491. *
  11492. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11493. */
  11494. /*
  11495. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  11496. *
  11497. * @APPLE_LICENSE_HEADER_START@
  11498. *
  11499. * This file contains Original Code and/or Modifications of Original Code
  11500. * as defined in and that are subject to the Apple Public Source License
  11501. * Version 2.0 (the 'License'). You may not use this file except in
  11502. * compliance with the License. Please obtain a copy of the License at
  11503. * http://www.opensource.apple.com/apsl/ and read it before using this
  11504. * file.
  11505. *
  11506. * The Original Code and all software distributed under the License are
  11507. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11508. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11509. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11510. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11511. * Please see the License for the specific language governing rights and
  11512. * limitations under the License.
  11513. *
  11514. * @APPLE_LICENSE_HEADER_END@
  11515. */
  11516. /*-
  11517. * Copyright (c) 1990, 1993
  11518. * The Regents of the University of California. All rights reserved.
  11519. *
  11520. * Redistribution and use in source and binary forms, with or without
  11521. * modification, are permitted provided that the following conditions
  11522. * are met:
  11523. * 1. Redistributions of source code must retain the above copyright
  11524. * notice, this list of conditions and the following disclaimer.
  11525. * 2. Redistributions in binary form must reproduce the above copyright
  11526. * notice, this list of conditions and the following disclaimer in the
  11527. * documentation and/or other materials provided with the distribution.
  11528. * 3. All advertising materials mentioning features or use of this software
  11529. * must display the following acknowledgement:
  11530. * This product includes software developed by the University of
  11531. * California, Berkeley and its contributors.
  11532. * 4. Neither the name of the University nor the names of its contributors
  11533. * may be used to endorse or promote products derived from this software
  11534. * without specific prior written permission.
  11535. *
  11536. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11537. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11538. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11539. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11540. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11541. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11542. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11543. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11544. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11545. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11546. * SUCH DAMAGE.
  11547. *
  11548. * @(#)string.h 8.1 (Berkeley) 6/2/93
  11549. */
  11550. /*
  11551. * Copyright (c) 2023 Apple Inc. All rights reserved.
  11552. *
  11553. * @APPLE_LICENSE_HEADER_START@
  11554. *
  11555. * This file contains Original Code and/or Modifications of Original Code
  11556. * as defined in and that are subject to the Apple Public Source License
  11557. * Version 2.0 (the 'License'). You may not use this file except in
  11558. * compliance with the License. Please obtain a copy of the License at
  11559. * http://www.opensource.apple.com/apsl/ and read it before using this
  11560. * file.
  11561. *
  11562. * The Original Code and all software distributed under the License are
  11563. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11564. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11565. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11566. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11567. * Please see the License for the specific language governing rights and
  11568. * limitations under the License.
  11569. *
  11570. * @APPLE_LICENSE_HEADER_END@
  11571. */
  11572. /*-
  11573. * Copyright (c) 1990, 1993
  11574. * The Regents of the University of California. All rights reserved.
  11575. *
  11576. * Redistribution and use in source and binary forms, with or without
  11577. * modification, are permitted provided that the following conditions
  11578. * are met:
  11579. * 1. Redistributions of source code must retain the above copyright
  11580. * notice, this list of conditions and the following disclaimer.
  11581. * 2. Redistributions in binary form must reproduce the above copyright
  11582. * notice, this list of conditions and the following disclaimer in the
  11583. * documentation and/or other materials provided with the distribution.
  11584. * 3. All advertising materials mentioning features or use of this software
  11585. * must display the following acknowledgement:
  11586. * This product includes software developed by the University of
  11587. * California, Berkeley and its contributors.
  11588. * 4. Neither the name of the University nor the names of its contributors
  11589. * may be used to endorse or promote products derived from this software
  11590. * without specific prior written permission.
  11591. *
  11592. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11593. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11594. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11595. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11596. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11597. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11598. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11599. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11600. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11601. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11602. * SUCH DAMAGE.
  11603. *
  11604. * @(#)string.h 8.1 (Berkeley) 6/2/93
  11605. */
  11606. /*
  11607. * Copyright (c) 2000, 2023 Apple Computer, Inc. All rights reserved.
  11608. *
  11609. * @APPLE_LICENSE_HEADER_START@
  11610. *
  11611. * This file contains Original Code and/or Modifications of Original Code
  11612. * as defined in and that are subject to the Apple Public Source License
  11613. * Version 2.0 (the 'License'). You may not use this file except in
  11614. * compliance with the License. Please obtain a copy of the License at
  11615. * http://www.opensource.apple.com/apsl/ and read it before using this
  11616. * file.
  11617. *
  11618. * The Original Code and all software distributed under the License are
  11619. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11620. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11621. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11622. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11623. * Please see the License for the specific language governing rights and
  11624. * limitations under the License.
  11625. *
  11626. * @APPLE_LICENSE_HEADER_END@
  11627. */
  11628. /*
  11629. * Copyright (c) 1989, 1993
  11630. * The Regents of the University of California. All rights reserved.
  11631. * (c) UNIX System Laboratories, Inc.
  11632. * All or some portions of this file are derived from material licensed
  11633. * to the University of California by American Telephone and Telegraph
  11634. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  11635. * the permission of UNIX System Laboratories, Inc.
  11636. *
  11637. * Redistribution and use in source and binary forms, with or without
  11638. * modification, are permitted provided that the following conditions
  11639. * are met:
  11640. * 1. Redistributions of source code must retain the above copyright
  11641. * notice, this list of conditions and the following disclaimer.
  11642. * 2. Redistributions in binary form must reproduce the above copyright
  11643. * notice, this list of conditions and the following disclaimer in the
  11644. * documentation and/or other materials provided with the distribution.
  11645. * 3. All advertising materials mentioning features or use of this software
  11646. * must display the following acknowledgement:
  11647. * This product includes software developed by the University of
  11648. * California, Berkeley and its contributors.
  11649. * 4. Neither the name of the University nor the names of its contributors
  11650. * may be used to endorse or promote products derived from this software
  11651. * without specific prior written permission.
  11652. *
  11653. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11654. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11655. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11656. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11657. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11658. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11659. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11660. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11661. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11662. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11663. * SUCH DAMAGE.
  11664. *
  11665. * @(#)time.h 8.3 (Berkeley) 1/21/94
  11666. */
  11667. /*
  11668. * Copyright (c) 2023 Apple Computer, Inc. All rights reserved.
  11669. *
  11670. * @APPLE_LICENSE_HEADER_START@
  11671. *
  11672. * This file contains Original Code and/or Modifications of Original Code
  11673. * as defined in and that are subject to the Apple Public Source License
  11674. * Version 2.0 (the 'License'). You may not use this file except in
  11675. * compliance with the License. Please obtain a copy of the License at
  11676. * http://www.opensource.apple.com/apsl/ and read it before using this
  11677. * file.
  11678. *
  11679. * The Original Code and all software distributed under the License are
  11680. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11681. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11682. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11683. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11684. * Please see the License for the specific language governing rights and
  11685. * limitations under the License.
  11686. *
  11687. * @APPLE_LICENSE_HEADER_END@
  11688. */
  11689. /*
  11690. * Copyright (c) 1989, 1993
  11691. * The Regents of the University of California. All rights reserved.
  11692. * (c) UNIX System Laboratories, Inc.
  11693. * All or some portions of this file are derived from material licensed
  11694. * to the University of California by American Telephone and Telegraph
  11695. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  11696. * the permission of UNIX System Laboratories, Inc.
  11697. *
  11698. * Redistribution and use in source and binary forms, with or without
  11699. * modification, are permitted provided that the following conditions
  11700. * are met:
  11701. * 1. Redistributions of source code must retain the above copyright
  11702. * notice, this list of conditions and the following disclaimer.
  11703. * 2. Redistributions in binary form must reproduce the above copyright
  11704. * notice, this list of conditions and the following disclaimer in the
  11705. * documentation and/or other materials provided with the distribution.
  11706. * 3. All advertising materials mentioning features or use of this software
  11707. * must display the following acknowledgement:
  11708. * This product includes software developed by the University of
  11709. * California, Berkeley and its contributors.
  11710. * 4. Neither the name of the University nor the names of its contributors
  11711. * may be used to endorse or promote products derived from this software
  11712. * without specific prior written permission.
  11713. *
  11714. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11715. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11716. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11717. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11718. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11719. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11720. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11721. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11722. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11723. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11724. * SUCH DAMAGE.
  11725. *
  11726. * @(#)time.h 8.3 (Berkeley) 1/21/94
  11727. */
  11728. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  11729. bp := tls.Alloc(16)
  11730. defer tls.Free(16)
  11731. var ap Tva_list
  11732. var fd int32
  11733. var mode Tmode_t
  11734. _, _, _ = ap, fd, mode
  11735. fd = -int32(1)
  11736. if flags&int32(m_O_CREAT) != 0 {
  11737. ap = va
  11738. mode = libc.Uint16FromInt32(libc.VaInt32(&ap))
  11739. _ = ap
  11740. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, libc.VaList(bp+8, libc.Int32FromUint16(mode)))
  11741. } else {
  11742. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, 0)
  11743. }
  11744. return fd
  11745. }
  11746. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  11747. var fd int32
  11748. _ = fd
  11749. fd = -int32(1)
  11750. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  11751. return fd
  11752. }
  11753. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  11754. var result Tint32_t
  11755. var state uintptr
  11756. _, _ = result, state
  11757. if _initialized != int32(m_FcTrue) {
  11758. state = libc.Xinitstate(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256))
  11759. _initialized = int32(m_FcTrue)
  11760. } else {
  11761. state = libc.Xsetstate(tls, uintptr(unsafe.Pointer(&_statebuf)))
  11762. }
  11763. result = int32(libc.Xrandom(tls))
  11764. libc.Xsetstate(tls, state)
  11765. return result
  11766. }
  11767. var _statebuf [256]int8
  11768. var _initialized TFcBool
  11769. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  11770. var parent uintptr
  11771. var ret TFcBool
  11772. _, _ = parent, ret
  11773. if libc.Xstrlen(tls, dir) == uint64(0) {
  11774. return m_FcFalse
  11775. }
  11776. parent = XFcStrDirname(tls, dir)
  11777. if !(parent != 0) {
  11778. return m_FcFalse
  11779. }
  11780. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  11781. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  11782. } else {
  11783. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  11784. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  11785. } else {
  11786. ret = m_FcFalse
  11787. }
  11788. }
  11789. XFcStrFree(tls, parent)
  11790. return ret
  11791. }
  11792. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  11793. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  11794. }
  11795. /*
  11796. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  11797. *
  11798. * @APPLE_LICENSE_HEADER_START@
  11799. *
  11800. * This file contains Original Code and/or Modifications of Original Code
  11801. * as defined in and that are subject to the Apple Public Source License
  11802. * Version 2.0 (the 'License'). You may not use this file except in
  11803. * compliance with the License. Please obtain a copy of the License at
  11804. * http://www.opensource.apple.com/apsl/ and read it before using this
  11805. * file.
  11806. *
  11807. * The Original Code and all software distributed under the License are
  11808. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11809. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11810. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11811. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11812. * Please see the License for the specific language governing rights and
  11813. * limitations under the License.
  11814. *
  11815. * @APPLE_LICENSE_HEADER_END@
  11816. */
  11817. /*-
  11818. * Copyright (c) 1990, 1993
  11819. * The Regents of the University of California. All rights reserved.
  11820. *
  11821. * This code is derived from software contributed to Berkeley by
  11822. * Chris Torek.
  11823. *
  11824. * Redistribution and use in source and binary forms, with or without
  11825. * modification, are permitted provided that the following conditions
  11826. * are met:
  11827. * 1. Redistributions of source code must retain the above copyright
  11828. * notice, this list of conditions and the following disclaimer.
  11829. * 2. Redistributions in binary form must reproduce the above copyright
  11830. * notice, this list of conditions and the following disclaimer in the
  11831. * documentation and/or other materials provided with the distribution.
  11832. * 3. All advertising materials mentioning features or use of this software
  11833. * must display the following acknowledgement:
  11834. * This product includes software developed by the University of
  11835. * California, Berkeley and its contributors.
  11836. * 4. Neither the name of the University nor the names of its contributors
  11837. * may be used to endorse or promote products derived from this software
  11838. * without specific prior written permission.
  11839. *
  11840. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11841. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11842. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11843. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11844. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11845. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11846. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11847. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11848. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11849. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11850. * SUCH DAMAGE.
  11851. *
  11852. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  11853. */
  11854. /*
  11855. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  11856. *
  11857. * @APPLE_LICENSE_HEADER_START@
  11858. *
  11859. * This file contains Original Code and/or Modifications of Original Code
  11860. * as defined in and that are subject to the Apple Public Source License
  11861. * Version 2.0 (the 'License'). You may not use this file except in
  11862. * compliance with the License. Please obtain a copy of the License at
  11863. * http://www.opensource.apple.com/apsl/ and read it before using this
  11864. * file.
  11865. *
  11866. * The Original Code and all software distributed under the License are
  11867. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11868. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11869. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11870. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11871. * Please see the License for the specific language governing rights and
  11872. * limitations under the License.
  11873. *
  11874. * @APPLE_LICENSE_HEADER_END@
  11875. */
  11876. /*-
  11877. * Copyright (c) 1990, 1993
  11878. * The Regents of the University of California. All rights reserved.
  11879. *
  11880. * This code is derived from software contributed to Berkeley by
  11881. * Chris Torek.
  11882. *
  11883. * Redistribution and use in source and binary forms, with or without
  11884. * modification, are permitted provided that the following conditions
  11885. * are met:
  11886. * 1. Redistributions of source code must retain the above copyright
  11887. * notice, this list of conditions and the following disclaimer.
  11888. * 2. Redistributions in binary form must reproduce the above copyright
  11889. * notice, this list of conditions and the following disclaimer in the
  11890. * documentation and/or other materials provided with the distribution.
  11891. * 3. All advertising materials mentioning features or use of this software
  11892. * must display the following acknowledgement:
  11893. * This product includes software developed by the University of
  11894. * California, Berkeley and its contributors.
  11895. * 4. Neither the name of the University nor the names of its contributors
  11896. * may be used to endorse or promote products derived from this software
  11897. * without specific prior written permission.
  11898. *
  11899. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11900. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11901. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11902. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11903. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11904. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11905. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11906. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11907. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11908. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11909. * SUCH DAMAGE.
  11910. *
  11911. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  11912. */
  11913. /*
  11914. * Common header for stdio.h and xlocale/_stdio.h
  11915. */
  11916. /*
  11917. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  11918. *
  11919. * @APPLE_LICENSE_HEADER_START@
  11920. *
  11921. * This file contains Original Code and/or Modifications of Original Code
  11922. * as defined in and that are subject to the Apple Public Source License
  11923. * Version 2.0 (the 'License'). You may not use this file except in
  11924. * compliance with the License. Please obtain a copy of the License at
  11925. * http://www.opensource.apple.com/apsl/ and read it before using this
  11926. * file.
  11927. *
  11928. * The Original Code and all software distributed under the License are
  11929. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11930. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11931. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11932. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11933. * Please see the License for the specific language governing rights and
  11934. * limitations under the License.
  11935. *
  11936. * @APPLE_LICENSE_HEADER_END@
  11937. */
  11938. /*-
  11939. * Copyright (c) 1990, 1993
  11940. * The Regents of the University of California. All rights reserved.
  11941. *
  11942. * Redistribution and use in source and binary forms, with or without
  11943. * modification, are permitted provided that the following conditions
  11944. * are met:
  11945. * 1. Redistributions of source code must retain the above copyright
  11946. * notice, this list of conditions and the following disclaimer.
  11947. * 2. Redistributions in binary form must reproduce the above copyright
  11948. * notice, this list of conditions and the following disclaimer in the
  11949. * documentation and/or other materials provided with the distribution.
  11950. * 3. All advertising materials mentioning features or use of this software
  11951. * must display the following acknowledgement:
  11952. * This product includes software developed by the University of
  11953. * California, Berkeley and its contributors.
  11954. * 4. Neither the name of the University nor the names of its contributors
  11955. * may be used to endorse or promote products derived from this software
  11956. * without specific prior written permission.
  11957. *
  11958. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11959. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11960. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11961. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11962. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11963. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11964. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11965. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11966. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11967. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11968. * SUCH DAMAGE.
  11969. *
  11970. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11971. */
  11972. /*
  11973. * Copyright (c) 2023 Apple Inc. All rights reserved.
  11974. *
  11975. * @APPLE_LICENSE_HEADER_START@
  11976. *
  11977. * This file contains Original Code and/or Modifications of Original Code
  11978. * as defined in and that are subject to the Apple Public Source License
  11979. * Version 2.0 (the 'License'). You may not use this file except in
  11980. * compliance with the License. Please obtain a copy of the License at
  11981. * http://www.opensource.apple.com/apsl/ and read it before using this
  11982. * file.
  11983. *
  11984. * The Original Code and all software distributed under the License are
  11985. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11986. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11987. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11988. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11989. * Please see the License for the specific language governing rights and
  11990. * limitations under the License.
  11991. *
  11992. * @APPLE_LICENSE_HEADER_END@
  11993. */
  11994. /*-
  11995. * Copyright (c) 1990, 1993
  11996. * The Regents of the University of California. All rights reserved.
  11997. *
  11998. * Redistribution and use in source and binary forms, with or without
  11999. * modification, are permitted provided that the following conditions
  12000. * are met:
  12001. * 1. Redistributions of source code must retain the above copyright
  12002. * notice, this list of conditions and the following disclaimer.
  12003. * 2. Redistributions in binary form must reproduce the above copyright
  12004. * notice, this list of conditions and the following disclaimer in the
  12005. * documentation and/or other materials provided with the distribution.
  12006. * 3. All advertising materials mentioning features or use of this software
  12007. * must display the following acknowledgement:
  12008. * This product includes software developed by the University of
  12009. * California, Berkeley and its contributors.
  12010. * 4. Neither the name of the University nor the names of its contributors
  12011. * may be used to endorse or promote products derived from this software
  12012. * without specific prior written permission.
  12013. *
  12014. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12015. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12016. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12017. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12018. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12019. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12020. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12021. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12022. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12023. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12024. * SUCH DAMAGE.
  12025. *
  12026. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  12027. */
  12028. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  12029. bp := tls.Alloc(64)
  12030. defer tls.Free(64)
  12031. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  12032. var v1, v2 uintptr
  12033. _, _ = v1, v2
  12034. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  12035. case int32(_FcTypeUnknown):
  12036. libc.Xfprintf(tls, f, __ccgo_ts+1870, 0)
  12037. case int32(_FcTypeVoid):
  12038. libc.Xfprintf(tls, f, __ccgo_ts+1880, 0)
  12039. case int32(_FcTypeInteger):
  12040. libc.Xfprintf(tls, f, __ccgo_ts+1887, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  12041. case int32(_FcTypeDouble):
  12042. libc.Xfprintf(tls, f, __ccgo_ts+1893, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  12043. case int32(_FcTypeString):
  12044. libc.Xfprintf(tls, f, __ccgo_ts+1899, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  12045. case int32(_FcTypeBool):
  12046. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  12047. v1 = __ccgo_ts + 1904
  12048. } else {
  12049. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  12050. v2 = __ccgo_ts + 1909
  12051. } else {
  12052. v2 = __ccgo_ts + 1915
  12053. }
  12054. v1 = v2
  12055. }
  12056. libc.Xfprintf(tls, f, v1, 0)
  12057. case int32(_FcTypeMatrix):
  12058. libc.Xfprintf(tls, f, __ccgo_ts+1924, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  12059. case int32(_FcTypeCharSet): /* XXX */
  12060. if f == libc.X__stdoutp {
  12061. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  12062. }
  12063. case int32(_FcTypeLangSet):
  12064. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  12065. case int32(_FcTypeFTFace):
  12066. libc.Xfprintf(tls, f, __ccgo_ts+1939, 0)
  12067. case int32(_FcTypeRange):
  12068. libc.Xfprintf(tls, f, __ccgo_ts+1944, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  12069. break
  12070. }
  12071. }
  12072. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  12073. libc.Xfprintf(tls, f, __ccgo_ts+1952, 0)
  12074. __FcValuePrintFile(tls, f, v)
  12075. }
  12076. func XFcValuePrint(tls *libc.TLS, v TFcValue) {
  12077. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12078. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  12079. }
  12080. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  12081. if show_pos_mark != 0 {
  12082. libc.Xprintf(tls, __ccgo_ts+1954, 0)
  12083. } else {
  12084. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12085. }
  12086. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  12087. }
  12088. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  12089. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  12090. case int32(_FcValueBindingWeak):
  12091. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  12092. case int32(_FcValueBindingStrong):
  12093. libc.Xprintf(tls, __ccgo_ts+1969, 0)
  12094. case int32(_FcValueBindingSame):
  12095. libc.Xprintf(tls, __ccgo_ts+1973, 0)
  12096. default:
  12097. /* shouldn't be reached */
  12098. libc.Xprintf(tls, __ccgo_ts+1977, 0)
  12099. break
  12100. }
  12101. }
  12102. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  12103. var v2 uintptr
  12104. _ = v2
  12105. for {
  12106. if !(l != libc.UintptrFromInt32(0)) {
  12107. break
  12108. }
  12109. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  12110. _FcValueBindingPrint(tls, l)
  12111. goto _1
  12112. _1:
  12113. ;
  12114. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  12115. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  12116. } else {
  12117. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  12118. }
  12119. l = v2
  12120. }
  12121. if !(pos != 0) {
  12122. libc.Xprintf(tls, __ccgo_ts+1981, 0)
  12123. }
  12124. }
  12125. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  12126. var v2 uintptr
  12127. _ = v2
  12128. for {
  12129. if !(l != libc.UintptrFromInt32(0)) {
  12130. break
  12131. }
  12132. XFcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  12133. _FcValueBindingPrint(tls, l)
  12134. goto _1
  12135. _1:
  12136. ;
  12137. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  12138. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  12139. } else {
  12140. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  12141. }
  12142. l = v2
  12143. }
  12144. }
  12145. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  12146. bp := tls.Alloc(1200)
  12147. defer tls.Free(1200)
  12148. var _ /* buf at bp+0 */ TFcStrBuf
  12149. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  12150. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  12151. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  12152. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  12153. } else {
  12154. libc.Xprintf(tls, __ccgo_ts+1994, 0)
  12155. }
  12156. XFcStrBufDestroy(tls, bp)
  12157. }
  12158. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  12159. bp := tls.Alloc(16)
  12160. defer tls.Free(16)
  12161. var i, j int32
  12162. var leaf, leaves, numbers uintptr
  12163. var leaf_offset Tintptr_t
  12164. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  12165. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  12166. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  12167. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12168. i = 0
  12169. for {
  12170. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  12171. break
  12172. }
  12173. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  12174. leaf = uintptr(int64(leaves) + leaf_offset)
  12175. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  12176. libc.Xprintf(tls, __ccgo_ts+2018, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  12177. j = 0
  12178. for {
  12179. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  12180. break
  12181. }
  12182. libc.Xprintf(tls, __ccgo_ts+2024, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  12183. goto _2
  12184. _2:
  12185. ;
  12186. j++
  12187. }
  12188. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12189. goto _1
  12190. _1:
  12191. ;
  12192. i++
  12193. }
  12194. }
  12195. func XFcPatternPrint(tls *libc.TLS, p uintptr) {
  12196. bp := tls.Alloc(48)
  12197. defer tls.Free(48)
  12198. var _ /* iter at bp+0 */ TFcPatternIter
  12199. if !(p != 0) {
  12200. libc.Xprintf(tls, __ccgo_ts+2030, 0)
  12201. return
  12202. }
  12203. libc.Xprintf(tls, __ccgo_ts+2044, libc.VaList(bp+24, XFcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  12204. XFcPatternIterStart(tls, p, bp)
  12205. for cond := true; cond; cond = XFcPatternIterNext(tls, p, bp) != 0 {
  12206. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+24, XFcPatternIterGetObject(tls, p, bp)))
  12207. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  12208. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12209. }
  12210. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12211. }
  12212. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  12213. bp := tls.Alloc(48)
  12214. defer tls.Free(48)
  12215. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  12216. var i, j, k, pos int32
  12217. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  12218. if os != 0 {
  12219. p1 = XFcPatternFilter(tls, pp1, os)
  12220. p2 = XFcPatternFilter(tls, pp2, os)
  12221. } else {
  12222. p1 = pp1
  12223. p2 = pp2
  12224. }
  12225. libc.Xprintf(tls, __ccgo_ts+2080, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  12226. i = 0
  12227. j = libc.Int32FromInt32(0)
  12228. for {
  12229. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  12230. break
  12231. }
  12232. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  12233. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12234. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  12235. goto _2
  12236. }
  12237. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  12238. if pos >= 0 {
  12239. k = j
  12240. for {
  12241. if !(k < pos) {
  12242. break
  12243. }
  12244. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12245. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12246. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12247. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12248. } else {
  12249. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12250. }
  12251. XFcValueListPrint(tls, v5)
  12252. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12253. goto _4
  12254. _4:
  12255. ;
  12256. k++
  12257. }
  12258. j = pos
  12259. goto cont
  12260. } else {
  12261. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12262. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12263. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12264. } else {
  12265. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12266. }
  12267. XFcValueListPrint(tls, v6)
  12268. libc.Xprintf(tls, __ccgo_ts+2146, 0)
  12269. }
  12270. goto _3
  12271. _2:
  12272. ;
  12273. goto cont
  12274. cont:
  12275. ;
  12276. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12277. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12278. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12279. } else {
  12280. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12281. }
  12282. XFcValueListPrint(tls, v7)
  12283. libc.Xprintf(tls, __ccgo_ts+2158, 0)
  12284. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12285. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12286. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12287. } else {
  12288. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12289. }
  12290. XFcValueListPrint(tls, v8)
  12291. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12292. j++
  12293. _3:
  12294. ;
  12295. goto _1
  12296. _1:
  12297. ;
  12298. i++
  12299. }
  12300. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  12301. k = j
  12302. for {
  12303. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  12304. break
  12305. }
  12306. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12307. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  12308. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12309. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12310. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12311. } else {
  12312. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12313. }
  12314. XFcValueListPrint(tls, v10)
  12315. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12316. }
  12317. goto _9
  12318. _9:
  12319. ;
  12320. k++
  12321. }
  12322. }
  12323. if p1 != pp1 {
  12324. XFcPatternDestroy(tls, p1)
  12325. }
  12326. if p2 != pp2 {
  12327. XFcPatternDestroy(tls, p2)
  12328. }
  12329. }
  12330. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  12331. var f, f1, f2 int32
  12332. var op TFcOp
  12333. _, _, _, _ = f, f1, f2, op
  12334. op = op_ & libc.Int32FromInt32(0xffff)
  12335. switch op {
  12336. case int32(_FcOpInteger):
  12337. libc.Xprintf(tls, __ccgo_ts+2163, 0)
  12338. case int32(_FcOpDouble):
  12339. libc.Xprintf(tls, __ccgo_ts+2171, 0)
  12340. case int32(_FcOpString):
  12341. libc.Xprintf(tls, __ccgo_ts+2178, 0)
  12342. case int32(_FcOpMatrix):
  12343. libc.Xprintf(tls, __ccgo_ts+2185, 0)
  12344. case int32(_FcOpRange):
  12345. libc.Xprintf(tls, __ccgo_ts+2192, 0)
  12346. case int32(_FcOpBool):
  12347. libc.Xprintf(tls, __ccgo_ts+2198, 0)
  12348. case int32(_FcOpCharSet):
  12349. libc.Xprintf(tls, __ccgo_ts+2203, 0)
  12350. case int32(_FcOpLangSet):
  12351. libc.Xprintf(tls, __ccgo_ts+2211, 0)
  12352. case int32(_FcOpField):
  12353. libc.Xprintf(tls, __ccgo_ts+2219, 0)
  12354. case int32(_FcOpConst):
  12355. libc.Xprintf(tls, __ccgo_ts+2225, 0)
  12356. case int32(_FcOpAssign):
  12357. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12358. case int32(_FcOpAssignReplace):
  12359. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12360. case int32(_FcOpPrepend):
  12361. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12362. case int32(_FcOpPrependFirst):
  12363. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12364. case int32(_FcOpAppend):
  12365. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12366. case int32(_FcOpAppendLast):
  12367. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12368. case int32(_FcOpDelete):
  12369. libc.Xprintf(tls, __ccgo_ts+2276, 0)
  12370. case int32(_FcOpDeleteAll):
  12371. libc.Xprintf(tls, __ccgo_ts+2283, 0)
  12372. case int32(_FcOpQuest):
  12373. libc.Xprintf(tls, __ccgo_ts+2293, 0)
  12374. case int32(_FcOpOr):
  12375. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12376. case int32(_FcOpAnd):
  12377. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12378. case int32(_FcOpEqual):
  12379. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12380. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12381. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12382. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12383. }
  12384. case int32(_FcOpNotEqual):
  12385. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12386. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12387. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12388. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12389. }
  12390. case int32(_FcOpLess):
  12391. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  12392. case int32(_FcOpLessEqual):
  12393. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  12394. case int32(_FcOpMore):
  12395. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  12396. case int32(_FcOpMoreEqual):
  12397. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  12398. case int32(_FcOpContains):
  12399. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  12400. case int32(_FcOpNotContains):
  12401. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  12402. case int32(_FcOpPlus):
  12403. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  12404. case int32(_FcOpMinus):
  12405. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  12406. case int32(_FcOpTimes):
  12407. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  12408. case int32(_FcOpDivide):
  12409. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  12410. case int32(_FcOpNot):
  12411. libc.Xprintf(tls, __ccgo_ts+2412, 0)
  12412. case int32(_FcOpNil):
  12413. libc.Xprintf(tls, __ccgo_ts+2416, 0)
  12414. case int32(_FcOpComma):
  12415. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  12416. case int32(_FcOpFloor):
  12417. libc.Xprintf(tls, __ccgo_ts+2426, 0)
  12418. case int32(_FcOpCeil):
  12419. libc.Xprintf(tls, __ccgo_ts+2432, 0)
  12420. case int32(_FcOpRound):
  12421. libc.Xprintf(tls, __ccgo_ts+2437, 0)
  12422. case int32(_FcOpTrunc):
  12423. libc.Xprintf(tls, __ccgo_ts+2443, 0)
  12424. case int32(_FcOpListing):
  12425. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  12426. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12427. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12428. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12429. }
  12430. case int32(_FcOpInvalid):
  12431. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  12432. break
  12433. }
  12434. }
  12435. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  12436. bp := tls.Alloc(32)
  12437. defer tls.Free(32)
  12438. var f, f1, f2 int32
  12439. var v1 uintptr
  12440. _, _, _, _ = f, f1, f2, v1
  12441. if !(expr != 0) {
  12442. libc.Xprintf(tls, __ccgo_ts+2465, 0)
  12443. } else {
  12444. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12445. case int32(_FcOpInteger):
  12446. libc.Xprintf(tls, __ccgo_ts+2470, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  12447. case int32(_FcOpDouble):
  12448. libc.Xprintf(tls, __ccgo_ts+2473, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12449. case int32(_FcOpString):
  12450. libc.Xprintf(tls, __ccgo_ts+1899, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12451. case int32(_FcOpMatrix):
  12452. libc.Xprintf(tls, __ccgo_ts+2476, 0)
  12453. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  12454. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12455. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  12456. libc.Xprintf(tls, __ccgo_ts+2478, 0)
  12457. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  12458. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12459. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  12460. libc.Xprintf(tls, __ccgo_ts+2481, 0)
  12461. case int32(_FcOpRange):
  12462. libc.Xprintf(tls, __ccgo_ts+2483, 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))
  12463. case int32(_FcOpBool):
  12464. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  12465. v1 = __ccgo_ts + 2492
  12466. } else {
  12467. v1 = __ccgo_ts + 2497
  12468. }
  12469. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, v1))
  12470. case int32(_FcOpCharSet):
  12471. libc.Xprintf(tls, __ccgo_ts+2503, 0)
  12472. case int32(_FcOpLangSet):
  12473. libc.Xprintf(tls, __ccgo_ts+2512, 0)
  12474. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  12475. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12476. case int32(_FcOpNil):
  12477. libc.Xprintf(tls, __ccgo_ts+2521, 0)
  12478. case int32(_FcOpField):
  12479. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  12480. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  12481. case int32(_FcMatchPattern):
  12482. libc.Xprintf(tls, __ccgo_ts+2530, 0)
  12483. case int32(_FcMatchFont):
  12484. libc.Xprintf(tls, __ccgo_ts+2541, 0)
  12485. break
  12486. }
  12487. case int32(_FcOpConst):
  12488. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12489. case int32(_FcOpQuest):
  12490. XFcExprPrint(tls, (*(*struct {
  12491. Fleft uintptr
  12492. Fright uintptr
  12493. })(unsafe.Pointer(expr + 8))).Fleft)
  12494. libc.Xprintf(tls, __ccgo_ts+2549, 0)
  12495. XFcExprPrint(tls, (*(*struct {
  12496. Fleft uintptr
  12497. Fright uintptr
  12498. })(unsafe.Pointer((*(*struct {
  12499. Fleft uintptr
  12500. Fright uintptr
  12501. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  12502. libc.Xprintf(tls, __ccgo_ts+2557, 0)
  12503. XFcExprPrint(tls, (*(*struct {
  12504. Fleft uintptr
  12505. Fright uintptr
  12506. })(unsafe.Pointer((*(*struct {
  12507. Fleft uintptr
  12508. Fright uintptr
  12509. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  12510. case int32(_FcOpAssign):
  12511. fallthrough
  12512. case int32(_FcOpAssignReplace):
  12513. fallthrough
  12514. case int32(_FcOpPrependFirst):
  12515. fallthrough
  12516. case int32(_FcOpPrepend):
  12517. fallthrough
  12518. case int32(_FcOpAppend):
  12519. fallthrough
  12520. case int32(_FcOpAppendLast):
  12521. fallthrough
  12522. case int32(_FcOpOr):
  12523. fallthrough
  12524. case int32(_FcOpAnd):
  12525. fallthrough
  12526. case int32(_FcOpEqual):
  12527. fallthrough
  12528. case int32(_FcOpNotEqual):
  12529. fallthrough
  12530. case int32(_FcOpLess):
  12531. fallthrough
  12532. case int32(_FcOpLessEqual):
  12533. fallthrough
  12534. case int32(_FcOpMore):
  12535. fallthrough
  12536. case int32(_FcOpMoreEqual):
  12537. fallthrough
  12538. case int32(_FcOpContains):
  12539. fallthrough
  12540. case int32(_FcOpListing):
  12541. fallthrough
  12542. case int32(_FcOpNotContains):
  12543. fallthrough
  12544. case int32(_FcOpPlus):
  12545. fallthrough
  12546. case int32(_FcOpMinus):
  12547. fallthrough
  12548. case int32(_FcOpTimes):
  12549. fallthrough
  12550. case int32(_FcOpDivide):
  12551. fallthrough
  12552. case int32(_FcOpComma):
  12553. XFcExprPrint(tls, (*(*struct {
  12554. Fleft uintptr
  12555. Fright uintptr
  12556. })(unsafe.Pointer(expr + 8))).Fleft)
  12557. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12558. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12559. case int32(_FcOpAssign):
  12560. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12561. case int32(_FcOpAssignReplace):
  12562. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12563. case int32(_FcOpPrependFirst):
  12564. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12565. case int32(_FcOpPrepend):
  12566. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12567. case int32(_FcOpAppend):
  12568. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12569. case int32(_FcOpAppendLast):
  12570. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12571. case int32(_FcOpOr):
  12572. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12573. case int32(_FcOpAnd):
  12574. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12575. case int32(_FcOpEqual):
  12576. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12577. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12578. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12579. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12580. }
  12581. case int32(_FcOpNotEqual):
  12582. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12583. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12584. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12585. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12586. }
  12587. case int32(_FcOpLess):
  12588. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  12589. case int32(_FcOpLessEqual):
  12590. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  12591. case int32(_FcOpMore):
  12592. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  12593. case int32(_FcOpMoreEqual):
  12594. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  12595. case int32(_FcOpContains):
  12596. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  12597. case int32(_FcOpListing):
  12598. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  12599. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12600. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12601. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12602. }
  12603. case int32(_FcOpNotContains):
  12604. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  12605. case int32(_FcOpPlus):
  12606. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  12607. case int32(_FcOpMinus):
  12608. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  12609. case int32(_FcOpTimes):
  12610. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  12611. case int32(_FcOpDivide):
  12612. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  12613. case int32(_FcOpComma):
  12614. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  12615. default:
  12616. break
  12617. }
  12618. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12619. XFcExprPrint(tls, (*(*struct {
  12620. Fleft uintptr
  12621. Fright uintptr
  12622. })(unsafe.Pointer(expr + 8))).Fright)
  12623. case int32(_FcOpNot):
  12624. libc.Xprintf(tls, __ccgo_ts+2565, 0)
  12625. XFcExprPrint(tls, (*(*struct {
  12626. Fleft uintptr
  12627. Fright uintptr
  12628. })(unsafe.Pointer(expr + 8))).Fleft)
  12629. case int32(_FcOpFloor):
  12630. libc.Xprintf(tls, __ccgo_ts+2570, 0)
  12631. XFcExprPrint(tls, (*(*struct {
  12632. Fleft uintptr
  12633. Fright uintptr
  12634. })(unsafe.Pointer(expr + 8))).Fleft)
  12635. case int32(_FcOpCeil):
  12636. libc.Xprintf(tls, __ccgo_ts+2577, 0)
  12637. XFcExprPrint(tls, (*(*struct {
  12638. Fleft uintptr
  12639. Fright uintptr
  12640. })(unsafe.Pointer(expr + 8))).Fleft)
  12641. case int32(_FcOpRound):
  12642. libc.Xprintf(tls, __ccgo_ts+2583, 0)
  12643. XFcExprPrint(tls, (*(*struct {
  12644. Fleft uintptr
  12645. Fright uintptr
  12646. })(unsafe.Pointer(expr + 8))).Fleft)
  12647. case int32(_FcOpTrunc):
  12648. libc.Xprintf(tls, __ccgo_ts+2590, 0)
  12649. XFcExprPrint(tls, (*(*struct {
  12650. Fleft uintptr
  12651. Fright uintptr
  12652. })(unsafe.Pointer(expr + 8))).Fleft)
  12653. case int32(_FcOpInvalid):
  12654. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  12655. break
  12656. }
  12657. }
  12658. }
  12659. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  12660. bp := tls.Alloc(16)
  12661. defer tls.Free(16)
  12662. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  12663. case int32(_FcMatchPattern):
  12664. libc.Xprintf(tls, __ccgo_ts+2597, 0)
  12665. case int32(_FcMatchFont):
  12666. libc.Xprintf(tls, __ccgo_ts+2606, 0)
  12667. case int32(_FcMatchScan):
  12668. libc.Xprintf(tls, __ccgo_ts+2612, 0)
  12669. case int32(_FcMatchKindEnd):
  12670. /* shouldn't be reached */
  12671. return
  12672. }
  12673. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  12674. case int32(_FcQualAny):
  12675. libc.Xprintf(tls, __ccgo_ts+2618, 0)
  12676. case int32(_FcQualAll):
  12677. libc.Xprintf(tls, __ccgo_ts+2623, 0)
  12678. case int32(_FcQualFirst):
  12679. libc.Xprintf(tls, __ccgo_ts+2628, 0)
  12680. case int32(_FcQualNotFirst):
  12681. libc.Xprintf(tls, __ccgo_ts+2635, 0)
  12682. break
  12683. }
  12684. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  12685. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  12686. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12687. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  12688. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12689. }
  12690. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  12691. bp := tls.Alloc(16)
  12692. defer tls.Free(16)
  12693. libc.Xprintf(tls, __ccgo_ts+2646, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  12694. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  12695. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12696. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  12697. }
  12698. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  12699. var last_type TFcRuleType
  12700. var r uintptr
  12701. _, _ = last_type, r
  12702. last_type = int32(_FcRuleUnknown)
  12703. r = rule
  12704. for {
  12705. if !(r != 0) {
  12706. break
  12707. }
  12708. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12709. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12710. case int32(_FcRuleTest):
  12711. libc.Xprintf(tls, __ccgo_ts+2655, 0)
  12712. case int32(_FcRuleEdit):
  12713. libc.Xprintf(tls, __ccgo_ts+2663, 0)
  12714. default:
  12715. break
  12716. }
  12717. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  12718. }
  12719. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  12720. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12721. case int32(_FcRuleTest):
  12722. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  12723. case int32(_FcRuleEdit):
  12724. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  12725. libc.Xprintf(tls, __ccgo_ts+2671, 0)
  12726. default:
  12727. break
  12728. }
  12729. goto _1
  12730. _1:
  12731. ;
  12732. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  12733. }
  12734. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12735. }
  12736. func XFcFontSetPrint(tls *libc.TLS, s uintptr) {
  12737. bp := tls.Alloc(32)
  12738. defer tls.Free(32)
  12739. var i int32
  12740. _ = i
  12741. libc.Xprintf(tls, __ccgo_ts+2674, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  12742. i = 0
  12743. for {
  12744. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  12745. break
  12746. }
  12747. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+8, i))
  12748. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  12749. goto _1
  12750. _1:
  12751. ;
  12752. i++
  12753. }
  12754. }
  12755. func XFcInitDebug(tls *libc.TLS) {
  12756. bp := tls.Alloc(16)
  12757. defer tls.Free(16)
  12758. var e uintptr
  12759. _ = e
  12760. if !(XFcDebugVal != 0) {
  12761. e = libc.Xgetenv(tls, __ccgo_ts+2701)
  12762. if e != 0 {
  12763. libc.Xprintf(tls, __ccgo_ts+2710, libc.VaList(bp+8, e))
  12764. XFcDebugVal = libc.Xatoi(tls, e)
  12765. if XFcDebugVal < 0 {
  12766. XFcDebugVal = 0
  12767. }
  12768. }
  12769. }
  12770. }
  12771. /*===---- limits.h - Standard header for integer sizes --------------------===* *
  12772. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  12773. * See https://llvm.org/LICENSE.txt for license information.
  12774. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  12775. *
  12776. \*===----------------------------------------------------------------------===*/
  12777. /*
  12778. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  12779. *
  12780. * @APPLE_LICENSE_HEADER_START@
  12781. *
  12782. * This file contains Original Code and/or Modifications of Original Code
  12783. * as defined in and that are subject to the Apple Public Source License
  12784. * Version 2.0 (the 'License'). You may not use this file except in
  12785. * compliance with the License. Please obtain a copy of the License at
  12786. * http://www.opensource.apple.com/apsl/ and read it before using this
  12787. * file.
  12788. *
  12789. * The Original Code and all software distributed under the License are
  12790. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12791. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12792. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12793. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12794. * Please see the License for the specific language governing rights and
  12795. * limitations under the License.
  12796. *
  12797. * @APPLE_LICENSE_HEADER_END@
  12798. */
  12799. /*-
  12800. * Copyright (c) 1990, 1993
  12801. * The Regents of the University of California. All rights reserved.
  12802. *
  12803. * Redistribution and use in source and binary forms, with or without
  12804. * modification, are permitted provided that the following conditions
  12805. * are met:
  12806. * 1. Redistributions of source code must retain the above copyright
  12807. * notice, this list of conditions and the following disclaimer.
  12808. * 2. Redistributions in binary form must reproduce the above copyright
  12809. * notice, this list of conditions and the following disclaimer in the
  12810. * documentation and/or other materials provided with the distribution.
  12811. * 3. All advertising materials mentioning features or use of this software
  12812. * must display the following acknowledgement:
  12813. * This product includes software developed by the University of
  12814. * California, Berkeley and its contributors.
  12815. * 4. Neither the name of the University nor the names of its contributors
  12816. * may be used to endorse or promote products derived from this software
  12817. * without specific prior written permission.
  12818. *
  12819. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12820. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12821. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12822. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12823. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12824. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12825. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12826. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12827. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12828. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12829. * SUCH DAMAGE.
  12830. *
  12831. * @(#)string.h 8.1 (Berkeley) 6/2/93
  12832. */
  12833. /*
  12834. * Copyright (c) 2023 Apple Inc. All rights reserved.
  12835. *
  12836. * @APPLE_LICENSE_HEADER_START@
  12837. *
  12838. * This file contains Original Code and/or Modifications of Original Code
  12839. * as defined in and that are subject to the Apple Public Source License
  12840. * Version 2.0 (the 'License'). You may not use this file except in
  12841. * compliance with the License. Please obtain a copy of the License at
  12842. * http://www.opensource.apple.com/apsl/ and read it before using this
  12843. * file.
  12844. *
  12845. * The Original Code and all software distributed under the License are
  12846. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12847. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12848. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12849. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12850. * Please see the License for the specific language governing rights and
  12851. * limitations under the License.
  12852. *
  12853. * @APPLE_LICENSE_HEADER_END@
  12854. */
  12855. /*-
  12856. * Copyright (c) 1990, 1993
  12857. * The Regents of the University of California. All rights reserved.
  12858. *
  12859. * Redistribution and use in source and binary forms, with or without
  12860. * modification, are permitted provided that the following conditions
  12861. * are met:
  12862. * 1. Redistributions of source code must retain the above copyright
  12863. * notice, this list of conditions and the following disclaimer.
  12864. * 2. Redistributions in binary form must reproduce the above copyright
  12865. * notice, this list of conditions and the following disclaimer in the
  12866. * documentation and/or other materials provided with the distribution.
  12867. * 3. All advertising materials mentioning features or use of this software
  12868. * must display the following acknowledgement:
  12869. * This product includes software developed by the University of
  12870. * California, Berkeley and its contributors.
  12871. * 4. Neither the name of the University nor the names of its contributors
  12872. * may be used to endorse or promote products derived from this software
  12873. * without specific prior written permission.
  12874. *
  12875. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12876. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12877. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12878. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12879. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12880. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12881. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12882. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12883. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12884. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12885. * SUCH DAMAGE.
  12886. *
  12887. * @(#)string.h 8.1 (Berkeley) 6/2/93
  12888. */
  12889. /* MT-safe */
  12890. var _FcBoolDefaults = [8]struct {
  12891. Ffield TFcObject
  12892. Fvalue TFcBool
  12893. }{
  12894. 0: {
  12895. Ffield: int32(_FC_HINTING_OBJECT),
  12896. Fvalue: int32(m_FcTrue),
  12897. },
  12898. 1: {
  12899. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  12900. },
  12901. 2: {
  12902. Ffield: int32(_FC_AUTOHINT_OBJECT),
  12903. },
  12904. 3: {
  12905. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  12906. Fvalue: int32(m_FcTrue),
  12907. },
  12908. 4: {
  12909. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  12910. Fvalue: int32(m_FcTrue),
  12911. },
  12912. 5: {
  12913. Ffield: int32(_FC_DECORATIVE_OBJECT),
  12914. },
  12915. 6: {
  12916. Ffield: int32(_FC_SYMBOL_OBJECT),
  12917. },
  12918. 7: {
  12919. Ffield: int32(_FC_VARIABLE_OBJECT),
  12920. },
  12921. }
  12922. func XFcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  12923. var langs, result uintptr
  12924. var v1 int32
  12925. _, _, _ = langs, result, v1
  12926. goto retry
  12927. retry:
  12928. ;
  12929. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  12930. if !(result != 0) {
  12931. result = XFcStrSetCreate(tls)
  12932. langs = libc.Xgetenv(tls, __ccgo_ts+2723)
  12933. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12934. langs = libc.Xgetenv(tls, __ccgo_ts+2731)
  12935. }
  12936. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12937. langs = libc.Xgetenv(tls, __ccgo_ts+2738)
  12938. }
  12939. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12940. langs = libc.Xgetenv(tls, __ccgo_ts+2747)
  12941. }
  12942. if langs != 0 && *(*int8)(unsafe.Pointer(langs)) != 0 {
  12943. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  12944. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  12945. }
  12946. } else {
  12947. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  12948. }
  12949. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  12950. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  12951. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  12952. v1 = libc.Int32FromInt32(m_FcTrue)
  12953. } else {
  12954. v1 = m_FcFalse
  12955. }
  12956. if !(v1 != 0) {
  12957. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  12958. XFcStrSetDestroy(tls, result)
  12959. goto retry
  12960. }
  12961. }
  12962. return result
  12963. }
  12964. var _default_lang uintptr /* MT-safe */
  12965. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  12966. var lang, langs uintptr
  12967. var v1 int32
  12968. _, _, _ = lang, langs, v1
  12969. goto retry
  12970. retry:
  12971. ;
  12972. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  12973. if !(lang != 0) {
  12974. langs = XFcGetDefaultLangs(tls)
  12975. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  12976. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  12977. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  12978. v1 = libc.Int32FromInt32(m_FcTrue)
  12979. } else {
  12980. v1 = m_FcFalse
  12981. }
  12982. if !(v1 != 0) {
  12983. libc.Xfree(tls, lang)
  12984. goto retry
  12985. }
  12986. }
  12987. return lang
  12988. }
  12989. var _default_prgname uintptr
  12990. func XFcGetPrgname(tls *libc.TLS) (r uintptr) {
  12991. var prgname, q uintptr
  12992. var v1 int32
  12993. _, _, _ = prgname, q, v1
  12994. goto retry
  12995. retry:
  12996. ;
  12997. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  12998. if !(prgname != 0) {
  12999. q = libc.Xgetprogname(tls)
  13000. if q != 0 {
  13001. prgname = libc.Xstrdup(tls, q)
  13002. } else {
  13003. prgname = libc.Xstrdup(tls, __ccgo_ts+110)
  13004. }
  13005. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  13006. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  13007. v1 = libc.Int32FromInt32(m_FcTrue)
  13008. } else {
  13009. v1 = m_FcFalse
  13010. }
  13011. if !(v1 != 0) {
  13012. libc.Xfree(tls, prgname)
  13013. goto retry
  13014. }
  13015. }
  13016. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  13017. return libc.UintptrFromInt32(0)
  13018. }
  13019. return prgname
  13020. }
  13021. func XFcDefaultFini(tls *libc.TLS) {
  13022. var lang, langs, prgname uintptr
  13023. var v1, v3, v5 int32
  13024. var v2, v4, v6 bool
  13025. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  13026. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  13027. if v2 = lang != 0; v2 {
  13028. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  13029. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  13030. v1 = libc.Int32FromInt32(m_FcTrue)
  13031. } else {
  13032. v1 = m_FcFalse
  13033. }
  13034. }
  13035. if v2 && v1 != 0 {
  13036. libc.Xfree(tls, lang)
  13037. }
  13038. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  13039. if v4 = langs != 0; v4 {
  13040. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  13041. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  13042. v3 = libc.Int32FromInt32(m_FcTrue)
  13043. } else {
  13044. v3 = m_FcFalse
  13045. }
  13046. }
  13047. if v4 && v3 != 0 {
  13048. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  13049. XFcStrSetDestroy(tls, langs)
  13050. }
  13051. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  13052. if v6 = prgname != 0; v6 {
  13053. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  13054. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  13055. v5 = libc.Int32FromInt32(m_FcTrue)
  13056. } else {
  13057. v5 = m_FcFalse
  13058. }
  13059. }
  13060. if v6 && v5 != 0 {
  13061. libc.Xfree(tls, prgname)
  13062. }
  13063. }
  13064. func XFcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  13065. bp := tls.Alloc(112)
  13066. defer tls.Free(112)
  13067. var i int32
  13068. var pixelsize float64
  13069. var prgname uintptr
  13070. var _ /* b at bp+96 */ float64
  13071. var _ /* dpi at bp+64 */ float64
  13072. var _ /* e at bp+104 */ float64
  13073. var _ /* iter at bp+0 */ TFcPatternIter
  13074. var _ /* namelang at bp+32 */ TFcValue
  13075. var _ /* r at bp+88 */ uintptr
  13076. var _ /* scale at bp+80 */ float64
  13077. var _ /* size at bp+72 */ float64
  13078. var _ /* v at bp+16 */ TFcValue
  13079. var _ /* v2 at bp+48 */ TFcValue
  13080. _, _, _ = i, pixelsize, prgname
  13081. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  13082. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  13083. }
  13084. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  13085. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  13086. }
  13087. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  13088. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  13089. }
  13090. i = 0
  13091. for {
  13092. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  13093. break
  13094. }
  13095. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  13096. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  13097. }
  13098. goto _1
  13099. _1:
  13100. ;
  13101. i++
  13102. }
  13103. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  13104. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XFcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  13105. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  13106. } else {
  13107. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  13108. }
  13109. }
  13110. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  13111. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  13112. }
  13113. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  13114. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  13115. }
  13116. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  13117. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  13118. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  13119. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  13120. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  13121. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  13122. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  13123. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  13124. } else {
  13125. XFcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  13126. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  13127. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  13128. }
  13129. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  13130. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  13131. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  13132. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  13133. }
  13134. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  13135. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  13136. }
  13137. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  13138. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  13139. }
  13140. /* shouldn't be failed. */
  13141. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  13142. /* Add a fallback to ensure the english name when the requested language
  13143. * isn't available. this would helps for the fonts that have non-English
  13144. * name at the beginning.
  13145. */
  13146. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  13147. * This is a hack for the case that the orth is not like ll-cc, because,
  13148. * if no namelang isn't explicitly set, it will has something like ll-cc
  13149. * according to current locale. which may causes FcLangDifferentTerritory
  13150. * at FcLangCompare(). thus, the English name is selected so that
  13151. * exact matched "en" has higher score than ll-cc.
  13152. */
  13153. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  13154. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2755
  13155. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  13156. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13157. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13158. }
  13159. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  13160. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13161. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13162. }
  13163. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  13164. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  13165. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  13166. }
  13167. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  13168. prgname = XFcGetPrgname(tls)
  13169. if prgname != 0 {
  13170. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  13171. }
  13172. }
  13173. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  13174. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  13175. }
  13176. }
  13177. const m_S_IFDIR1 = 16384
  13178. const m_S_IFLNK1 = 40960
  13179. const m_S_IFMT3 = 61440
  13180. const m_S_IFREG1 = 32768
  13181. func XFcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  13182. bp := tls.Alloc(144)
  13183. defer tls.Free(144)
  13184. var _ /* statb at bp+0 */ Tstat
  13185. if XFcStat(tls, file, bp) != 0 {
  13186. return m_FcFalse
  13187. }
  13188. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFDIR1))
  13189. }
  13190. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  13191. bp := tls.Alloc(144)
  13192. defer tls.Free(144)
  13193. var _ /* statb at bp+0 */ Tstat
  13194. if libc.Xlstat(tls, file, bp) != 0 {
  13195. return m_FcFalse
  13196. }
  13197. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFLNK1))
  13198. }
  13199. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  13200. bp := tls.Alloc(144)
  13201. defer tls.Free(144)
  13202. var _ /* statb at bp+0 */ Tstat
  13203. if XFcStat(tls, file, bp) != 0 {
  13204. return m_FcFalse
  13205. }
  13206. return libc.BoolInt32(libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFREG1))
  13207. }
  13208. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  13209. bp := tls.Alloc(32)
  13210. defer tls.Free(32)
  13211. var font, s, sysroot uintptr
  13212. var i, old_nfont int32
  13213. var len1 Tsize_t
  13214. var ret TFcBool
  13215. var _ /* f at bp+0 */ uintptr
  13216. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  13217. ret = int32(m_FcTrue)
  13218. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  13219. sysroot = XFcConfigGetSysRoot(tls, config)
  13220. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13221. libc.Xprintf(tls, __ccgo_ts+2761, libc.VaList(bp+16, file))
  13222. libc.Xfflush(tls, libc.X__stdoutp)
  13223. }
  13224. if !(XFcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  13225. return m_FcFalse
  13226. }
  13227. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13228. libc.Xprintf(tls, __ccgo_ts+2782, 0)
  13229. }
  13230. i = old_nfont
  13231. for {
  13232. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  13233. break
  13234. }
  13235. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  13236. /*
  13237. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  13238. * and they should usually expect without sysroot.
  13239. */
  13240. if sysroot != 0 {
  13241. len1 = libc.Xstrlen(tls, sysroot)
  13242. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  13243. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  13244. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  13245. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  13246. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  13247. len1--
  13248. } else {
  13249. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  13250. len1++
  13251. }
  13252. }
  13253. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  13254. XFcStrFree(tls, s)
  13255. }
  13256. }
  13257. /*
  13258. * Edit pattern with user-defined rules
  13259. */
  13260. if config != 0 && !(XFcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  13261. ret = m_FcFalse
  13262. }
  13263. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  13264. libc.Xprintf(tls, __ccgo_ts+2788, 0)
  13265. XFcPatternPrint(tls, font)
  13266. }
  13267. goto _1
  13268. _1:
  13269. ;
  13270. i++
  13271. }
  13272. return ret
  13273. }
  13274. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  13275. var d, sysroot uintptr
  13276. var len1 Tsize_t
  13277. _, _, _ = d, len1, sysroot
  13278. if XFcFileIsDir(tls, file) != 0 {
  13279. sysroot = XFcConfigGetSysRoot(tls, config)
  13280. d = file
  13281. if sysroot != 0 {
  13282. len1 = libc.Xstrlen(tls, sysroot)
  13283. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  13284. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  13285. len1--
  13286. } else {
  13287. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  13288. len1++
  13289. }
  13290. }
  13291. d = file + uintptr(len1)
  13292. }
  13293. }
  13294. return XFcStrSetAdd(tls, dirs, d)
  13295. } else {
  13296. if set != 0 {
  13297. return _FcFileScanFontConfig(tls, set, file, config)
  13298. } else {
  13299. return int32(m_FcTrue)
  13300. }
  13301. }
  13302. return r
  13303. }
  13304. func XFcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  13305. var config uintptr
  13306. var ret TFcBool
  13307. _, _ = config, ret
  13308. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13309. if !(config != 0) {
  13310. return m_FcFalse
  13311. }
  13312. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  13313. XFcConfigDestroy(tls, config)
  13314. return ret
  13315. }
  13316. // C documentation
  13317. //
  13318. // /*
  13319. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  13320. // */
  13321. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  13322. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  13323. }
  13324. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  13325. bp := tls.Alloc(32)
  13326. defer tls.Free(32)
  13327. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  13328. var i int32
  13329. var ret TFcBool
  13330. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  13331. s_dir = libc.UintptrFromInt32(0)
  13332. sysroot = XFcConfigGetSysRoot(tls, config)
  13333. ret = int32(m_FcTrue)
  13334. if !(force != 0) {
  13335. return m_FcFalse
  13336. }
  13337. if !(set != 0) && !(dirs != 0) {
  13338. return int32(m_FcTrue)
  13339. }
  13340. /* freed below */
  13341. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  13342. if !(file_prefix != 0) {
  13343. ret = m_FcFalse
  13344. goto bail
  13345. }
  13346. libc.X__builtin___strcpy_chk(tls, file_prefix, dir, ^t__predefined_size_t(0))
  13347. libc.X__builtin___strcat_chk(tls, file_prefix, __ccgo_ts+1485, ^t__predefined_size_t(0))
  13348. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  13349. if sysroot != 0 {
  13350. s_dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  13351. } else {
  13352. s_dir = libc.Xstrdup(tls, dir)
  13353. }
  13354. if !(s_dir != 0) {
  13355. ret = m_FcFalse
  13356. goto bail
  13357. }
  13358. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13359. libc.Xprintf(tls, __ccgo_ts+2809, libc.VaList(bp+8, s_dir))
  13360. }
  13361. d = libc.Xopendir(tls, s_dir)
  13362. if !(d != 0) {
  13363. /* Don't complain about missing directories */
  13364. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(m_ENOENT) {
  13365. ret = m_FcFalse
  13366. }
  13367. goto bail
  13368. }
  13369. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  13370. if !(files != 0) {
  13371. ret = m_FcFalse
  13372. goto bail1
  13373. }
  13374. for {
  13375. v1 = libc.Xreaddir(tls, d)
  13376. e = v1
  13377. if !(v1 != 0) {
  13378. break
  13379. }
  13380. if int32(*(*int8)(unsafe.Pointer(e + 21))) != int32('.') && libc.Xstrlen(tls, e+21) < uint64(m_FC_MAX_FILE_LEN) {
  13381. libc.X__builtin___strcpy_chk(tls, base, e+21, ^t__predefined_size_t(0))
  13382. if !(XFcStrSetAdd(tls, files, file_prefix) != 0) {
  13383. ret = m_FcFalse
  13384. goto bail2
  13385. }
  13386. }
  13387. }
  13388. /*
  13389. * Sort files to make things prettier
  13390. */
  13391. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  13392. /*
  13393. * Scan file files to build font patterns
  13394. */
  13395. i = 0
  13396. for {
  13397. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  13398. break
  13399. }
  13400. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  13401. goto _2
  13402. _2:
  13403. ;
  13404. i++
  13405. }
  13406. goto bail2
  13407. bail2:
  13408. ;
  13409. XFcStrSetDestroy(tls, files)
  13410. goto bail1
  13411. bail1:
  13412. ;
  13413. libc.Xclosedir(tls, d)
  13414. goto bail
  13415. bail:
  13416. ;
  13417. if s_dir != 0 {
  13418. libc.Xfree(tls, s_dir)
  13419. }
  13420. if file_prefix != 0 {
  13421. libc.Xfree(tls, file_prefix)
  13422. }
  13423. return ret
  13424. }
  13425. func XFcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  13426. var config uintptr
  13427. var ret TFcBool
  13428. _, _ = config, ret
  13429. if cache != 0 || !(force != 0) {
  13430. return m_FcFalse
  13431. }
  13432. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13433. if !(config != 0) {
  13434. return m_FcFalse
  13435. }
  13436. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  13437. XFcConfigDestroy(tls, config)
  13438. return ret
  13439. }
  13440. // C documentation
  13441. //
  13442. // /*
  13443. // * Scan the specified directory and construct a cache of its contents
  13444. // */
  13445. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13446. bp := tls.Alloc(176)
  13447. defer tls.Free(176)
  13448. var cache, d, dirs, set, sysroot uintptr
  13449. var fd int32
  13450. var _ /* dir_stat at bp+0 */ Tstat
  13451. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  13452. cache = libc.UintptrFromInt32(0)
  13453. sysroot = XFcConfigGetSysRoot(tls, config)
  13454. fd = -int32(1)
  13455. if sysroot != 0 {
  13456. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13457. } else {
  13458. d = libc.Xstrdup(tls, dir)
  13459. }
  13460. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  13461. libc.Xprintf(tls, __ccgo_ts+2827, libc.VaList(bp+152, d))
  13462. }
  13463. if XFcStatChecksum(tls, d, bp) < 0 {
  13464. goto bail
  13465. }
  13466. set = XFcFontSetCreate(tls)
  13467. if !(set != 0) {
  13468. goto bail
  13469. }
  13470. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13471. if !(dirs != 0) {
  13472. goto bail1
  13473. }
  13474. fd = XFcDirCacheLock(tls, dir, config)
  13475. /*
  13476. * Scan the dir
  13477. */
  13478. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13479. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  13480. goto bail2
  13481. }
  13482. /*
  13483. * Build the cache object
  13484. */
  13485. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  13486. if !(cache != 0) {
  13487. goto bail2
  13488. }
  13489. /*
  13490. * Write out the cache file, ignoring any troubles
  13491. */
  13492. XFcDirCacheWrite(tls, cache, config)
  13493. goto bail2
  13494. bail2:
  13495. ;
  13496. XFcDirCacheUnlock(tls, fd)
  13497. XFcStrSetDestroy(tls, dirs)
  13498. goto bail1
  13499. bail1:
  13500. ;
  13501. XFcFontSetDestroy(tls, set)
  13502. goto bail
  13503. bail:
  13504. ;
  13505. XFcStrFree(tls, d)
  13506. return cache
  13507. }
  13508. func XFcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13509. bp := tls.Alloc(176)
  13510. defer tls.Free(176)
  13511. var cache, d, dirs, new1, sysroot uintptr
  13512. var fd int32
  13513. var _ /* dir_stat at bp+0 */ Tstat
  13514. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  13515. new1 = libc.UintptrFromInt32(0)
  13516. d = libc.UintptrFromInt32(0)
  13517. fd = -int32(1)
  13518. config = XFcConfigReference(tls, config)
  13519. if !(config != 0) {
  13520. return libc.UintptrFromInt32(0)
  13521. }
  13522. sysroot = XFcConfigGetSysRoot(tls, config)
  13523. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  13524. if !(cache != 0) {
  13525. goto bail
  13526. }
  13527. if sysroot != 0 {
  13528. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13529. } else {
  13530. d = libc.Xstrdup(tls, dir)
  13531. }
  13532. if XFcStatChecksum(tls, d, bp) < 0 {
  13533. goto bail
  13534. }
  13535. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13536. if !(dirs != 0) {
  13537. goto bail
  13538. }
  13539. fd = XFcDirCacheLock(tls, dir, config)
  13540. /*
  13541. * Scan the dir
  13542. */
  13543. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13544. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  13545. goto bail1
  13546. }
  13547. /*
  13548. * Rebuild the cache object
  13549. */
  13550. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  13551. if !(new1 != 0) {
  13552. goto bail1
  13553. }
  13554. XFcDirCacheUnload(tls, cache)
  13555. /*
  13556. * Write out the cache file, ignoring any troubles
  13557. */
  13558. XFcDirCacheWrite(tls, new1, config)
  13559. goto bail1
  13560. bail1:
  13561. ;
  13562. XFcDirCacheUnlock(tls, fd)
  13563. XFcStrSetDestroy(tls, dirs)
  13564. goto bail
  13565. bail:
  13566. ;
  13567. if d != 0 {
  13568. XFcStrFree(tls, d)
  13569. }
  13570. XFcConfigDestroy(tls, config)
  13571. return new1
  13572. }
  13573. // C documentation
  13574. //
  13575. // /*
  13576. // * Read (or construct) the cache for a directory
  13577. // */
  13578. func XFcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  13579. var cache uintptr
  13580. _ = cache
  13581. cache = libc.UintptrFromInt32(0)
  13582. config = XFcConfigReference(tls, config)
  13583. /* Try to use existing cache file */
  13584. if !(force != 0) {
  13585. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  13586. }
  13587. /* Not using existing cache file, construct new cache */
  13588. if !(cache != 0) {
  13589. cache = XFcDirCacheScan(tls, dir, config)
  13590. }
  13591. XFcConfigDestroy(tls, config)
  13592. return cache
  13593. }
  13594. func XFcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  13595. return m_FcFalse /* XXX deprecated */
  13596. }
  13597. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  13598. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  13599. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  13600. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  13601. const m_S_IFDIR2 = 0040000
  13602. const m_S_IFLNK2 = 0120000
  13603. const m_S_IFMT4 = 0170000
  13604. const m_S_IFREG2 = 0100000
  13605. /*
  13606. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  13607. *
  13608. * @APPLE_LICENSE_HEADER_START@
  13609. *
  13610. * This file contains Original Code and/or Modifications of Original Code
  13611. * as defined in and that are subject to the Apple Public Source License
  13612. * Version 2.0 (the 'License'). You may not use this file except in
  13613. * compliance with the License. Please obtain a copy of the License at
  13614. * http://www.opensource.apple.com/apsl/ and read it before using this
  13615. * file.
  13616. *
  13617. * The Original Code and all software distributed under the License are
  13618. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13619. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13620. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13621. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13622. * Please see the License for the specific language governing rights and
  13623. * limitations under the License.
  13624. *
  13625. * @APPLE_LICENSE_HEADER_END@
  13626. */
  13627. /*-
  13628. * Copyright (c) 1990, 1993
  13629. * The Regents of the University of California. All rights reserved.
  13630. *
  13631. * Redistribution and use in source and binary forms, with or without
  13632. * modification, are permitted provided that the following conditions
  13633. * are met:
  13634. * 1. Redistributions of source code must retain the above copyright
  13635. * notice, this list of conditions and the following disclaimer.
  13636. * 2. Redistributions in binary form must reproduce the above copyright
  13637. * notice, this list of conditions and the following disclaimer in the
  13638. * documentation and/or other materials provided with the distribution.
  13639. * 3. All advertising materials mentioning features or use of this software
  13640. * must display the following acknowledgement:
  13641. * This product includes software developed by the University of
  13642. * California, Berkeley and its contributors.
  13643. * 4. Neither the name of the University nor the names of its contributors
  13644. * may be used to endorse or promote products derived from this software
  13645. * without specific prior written permission.
  13646. *
  13647. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13648. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13649. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13650. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13651. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13652. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13653. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13654. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13655. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13656. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13657. * SUCH DAMAGE.
  13658. *
  13659. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  13660. */
  13661. /*
  13662. * Copyright (c) 2023 Apple Inc. All rights reserved.
  13663. *
  13664. * @APPLE_LICENSE_HEADER_START@
  13665. *
  13666. * This file contains Original Code and/or Modifications of Original Code
  13667. * as defined in and that are subject to the Apple Public Source License
  13668. * Version 2.0 (the 'License'). You may not use this file except in
  13669. * compliance with the License. Please obtain a copy of the License at
  13670. * http://www.opensource.apple.com/apsl/ and read it before using this
  13671. * file.
  13672. *
  13673. * The Original Code and all software distributed under the License are
  13674. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13675. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13676. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13677. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13678. * Please see the License for the specific language governing rights and
  13679. * limitations under the License.
  13680. *
  13681. * @APPLE_LICENSE_HEADER_END@
  13682. */
  13683. /*-
  13684. * Copyright (c) 1990, 1993
  13685. * The Regents of the University of California. All rights reserved.
  13686. *
  13687. * Redistribution and use in source and binary forms, with or without
  13688. * modification, are permitted provided that the following conditions
  13689. * are met:
  13690. * 1. Redistributions of source code must retain the above copyright
  13691. * notice, this list of conditions and the following disclaimer.
  13692. * 2. Redistributions in binary form must reproduce the above copyright
  13693. * notice, this list of conditions and the following disclaimer in the
  13694. * documentation and/or other materials provided with the distribution.
  13695. * 3. All advertising materials mentioning features or use of this software
  13696. * must display the following acknowledgement:
  13697. * This product includes software developed by the University of
  13698. * California, Berkeley and its contributors.
  13699. * 4. Neither the name of the University nor the names of its contributors
  13700. * may be used to endorse or promote products derived from this software
  13701. * without specific prior written permission.
  13702. *
  13703. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13704. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13705. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13706. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13707. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13708. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13709. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13710. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13711. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13712. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13713. * SUCH DAMAGE.
  13714. *
  13715. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  13716. */
  13717. /*
  13718. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  13719. *
  13720. * @APPLE_LICENSE_HEADER_START@
  13721. *
  13722. * This file contains Original Code and/or Modifications of Original Code
  13723. * as defined in and that are subject to the Apple Public Source License
  13724. * Version 2.0 (the 'License'). You may not use this file except in
  13725. * compliance with the License. Please obtain a copy of the License at
  13726. * http://www.opensource.apple.com/apsl/ and read it before using this
  13727. * file.
  13728. *
  13729. * The Original Code and all software distributed under the License are
  13730. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13731. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13732. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13733. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13734. * Please see the License for the specific language governing rights and
  13735. * limitations under the License.
  13736. *
  13737. * @APPLE_LICENSE_HEADER_END@
  13738. */
  13739. /*-
  13740. * Copyright (c) 1990, 1993
  13741. * The Regents of the University of California. All rights reserved.
  13742. *
  13743. * Redistribution and use in source and binary forms, with or without
  13744. * modification, are permitted provided that the following conditions
  13745. * are met:
  13746. * 1. Redistributions of source code must retain the above copyright
  13747. * notice, this list of conditions and the following disclaimer.
  13748. * 2. Redistributions in binary form must reproduce the above copyright
  13749. * notice, this list of conditions and the following disclaimer in the
  13750. * documentation and/or other materials provided with the distribution.
  13751. * 3. All advertising materials mentioning features or use of this software
  13752. * must display the following acknowledgement:
  13753. * This product includes software developed by the University of
  13754. * California, Berkeley and its contributors.
  13755. * 4. Neither the name of the University nor the names of its contributors
  13756. * may be used to endorse or promote products derived from this software
  13757. * without specific prior written permission.
  13758. *
  13759. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13760. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13761. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13762. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13763. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13764. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13765. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13766. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13767. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13768. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13769. * SUCH DAMAGE.
  13770. *
  13771. * @(#)string.h 8.1 (Berkeley) 6/2/93
  13772. */
  13773. /*
  13774. * Copyright (c) 2023 Apple Inc. All rights reserved.
  13775. *
  13776. * @APPLE_LICENSE_HEADER_START@
  13777. *
  13778. * This file contains Original Code and/or Modifications of Original Code
  13779. * as defined in and that are subject to the Apple Public Source License
  13780. * Version 2.0 (the 'License'). You may not use this file except in
  13781. * compliance with the License. Please obtain a copy of the License at
  13782. * http://www.opensource.apple.com/apsl/ and read it before using this
  13783. * file.
  13784. *
  13785. * The Original Code and all software distributed under the License are
  13786. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13787. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13788. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13789. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13790. * Please see the License for the specific language governing rights and
  13791. * limitations under the License.
  13792. *
  13793. * @APPLE_LICENSE_HEADER_END@
  13794. */
  13795. /*-
  13796. * Copyright (c) 1990, 1993
  13797. * The Regents of the University of California. All rights reserved.
  13798. *
  13799. * Redistribution and use in source and binary forms, with or without
  13800. * modification, are permitted provided that the following conditions
  13801. * are met:
  13802. * 1. Redistributions of source code must retain the above copyright
  13803. * notice, this list of conditions and the following disclaimer.
  13804. * 2. Redistributions in binary form must reproduce the above copyright
  13805. * notice, this list of conditions and the following disclaimer in the
  13806. * documentation and/or other materials provided with the distribution.
  13807. * 3. All advertising materials mentioning features or use of this software
  13808. * must display the following acknowledgement:
  13809. * This product includes software developed by the University of
  13810. * California, Berkeley and its contributors.
  13811. * 4. Neither the name of the University nor the names of its contributors
  13812. * may be used to endorse or promote products derived from this software
  13813. * without specific prior written permission.
  13814. *
  13815. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13816. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13817. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13818. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13819. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13820. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13821. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13822. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13823. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13824. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13825. * SUCH DAMAGE.
  13826. *
  13827. * @(#)string.h 8.1 (Berkeley) 6/2/93
  13828. */
  13829. /*===---- stdarg.h - Variable argument handling ----------------------------===
  13830. *
  13831. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13832. * See https://llvm.org/LICENSE.txt for license information.
  13833. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13834. *
  13835. *===-----------------------------------------------------------------------===
  13836. */
  13837. /*
  13838. * This header is designed to be included multiple times. If any of the __need_
  13839. * macros are defined, then only that subset of interfaces are provided. This
  13840. * can be useful for POSIX headers that need to not expose all of stdarg.h, but
  13841. * need to use some of its interfaces. Otherwise this header provides all of
  13842. * the expected interfaces.
  13843. *
  13844. * When clang modules are enabled, this header is a textual header to support
  13845. * the multiple include behavior. As such, it doesn't directly declare anything
  13846. * so that it doesn't add duplicate declarations to all of its includers'
  13847. * modules.
  13848. */
  13849. /* GCC always defines __va_copy, but does not define va_copy unless in c99 mode
  13850. * or -ansi is not specified, since it was not part of C90.
  13851. */
  13852. /*===---- __stdarg_header_macro.h ------------------------------------------===
  13853. *
  13854. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13855. * See https://llvm.org/LICENSE.txt for license information.
  13856. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13857. *
  13858. *===-----------------------------------------------------------------------===
  13859. */
  13860. /*===---- __stdarg___gnuc_va_list.h - Definition of __gnuc_va_list ---------===
  13861. *
  13862. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13863. * See https://llvm.org/LICENSE.txt for license information.
  13864. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13865. *
  13866. *===-----------------------------------------------------------------------===
  13867. */
  13868. /*===---- __stdarg_va_list.h - Definition of va_list -----------------------===
  13869. *
  13870. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13871. * See https://llvm.org/LICENSE.txt for license information.
  13872. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13873. *
  13874. *===-----------------------------------------------------------------------===
  13875. */
  13876. /*===---- __stdarg_va_arg.h - Definitions of va_start, va_arg, va_end-------===
  13877. *
  13878. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13879. * See https://llvm.org/LICENSE.txt for license information.
  13880. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13881. *
  13882. *===-----------------------------------------------------------------------===
  13883. */
  13884. /*===---- __stdarg___va_copy.h - Definition of __va_copy -------------------===
  13885. *
  13886. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13887. * See https://llvm.org/LICENSE.txt for license information.
  13888. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13889. *
  13890. *===-----------------------------------------------------------------------===
  13891. */
  13892. /*===---- __stdarg_va_copy.h - Definition of va_copy------------------------===
  13893. *
  13894. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13895. * See https://llvm.org/LICENSE.txt for license information.
  13896. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13897. *
  13898. *===-----------------------------------------------------------------------===
  13899. */
  13900. /* The language is documented in doc/fcformat.fncs
  13901. * These are the features implemented:
  13902. *
  13903. * simple %{elt}
  13904. * width %width{elt}
  13905. * index %{elt[idx]}
  13906. * name= %{elt=}
  13907. * :name= %{:elt}
  13908. * default %{elt:-word}
  13909. * count %{#elt}
  13910. * subexpr %{{expr}}
  13911. * filter-out %{-elt1,elt2,elt3{expr}}
  13912. * filter-in %{+elt1,elt2,elt3{expr}}
  13913. * conditional %{?elt1,elt2,!elt3{}{}}
  13914. * enumerate %{[]elt1,elt2{expr}}
  13915. * langset langset enumeration using the same syntax
  13916. * builtin %{=blt}
  13917. * convert %{elt|conv1|conv2|conv3}
  13918. *
  13919. * converters:
  13920. * basename FcStrBasename
  13921. * dirname FcStrDirname
  13922. * downcase FcStrDowncase
  13923. * shescape
  13924. * cescape
  13925. * xmlescape
  13926. * delete delete chars
  13927. * escape escape chars
  13928. * translate translate chars
  13929. *
  13930. * builtins:
  13931. * unparse FcNameUnparse
  13932. * fcmatch fc-match default
  13933. * fclist fc-list default
  13934. * fccat fc-cat default
  13935. * pkgkit PackageKit package tag format
  13936. *
  13937. *
  13938. * Some ideas for future syntax extensions:
  13939. *
  13940. * - verbose builtin that is like FcPatternPrint
  13941. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  13942. * - allow indexing in +, -, ? filtering?
  13943. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  13944. */
  13945. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  13946. var args Tva_list
  13947. _ = args
  13948. args = va
  13949. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2846, 0)
  13950. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  13951. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2881, 0)
  13952. _ = args
  13953. }
  13954. type TFcFormatContext = struct {
  13955. Fformat_orig uintptr
  13956. Fformat uintptr
  13957. Fformat_len int32
  13958. Fword uintptr
  13959. Fword_allocated TFcBool
  13960. }
  13961. type T_FcFormatContext = TFcFormatContext
  13962. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  13963. var v1 uintptr
  13964. _ = v1
  13965. v1 = format
  13966. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  13967. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  13968. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint64(libc.Xstrlen(tls, format))
  13969. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  13970. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  13971. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  13972. } else {
  13973. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  13974. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  13975. }
  13976. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  13977. }
  13978. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  13979. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  13980. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  13981. }
  13982. }
  13983. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  13984. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  13985. return m_FcFalse
  13986. }
  13987. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13988. return int32(m_FcTrue)
  13989. }
  13990. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  13991. bp := tls.Alloc(32)
  13992. defer tls.Free(32)
  13993. var res TFcBool
  13994. _ = res
  13995. res = _consume_char(tls, c, term)
  13996. if !(res != 0) {
  13997. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  13998. _message(tls, __ccgo_ts+2884, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  13999. } else {
  14000. _message(tls, __ccgo_ts+2918, libc.VaList(bp+8, libc.Int32FromUint8(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14001. }
  14002. }
  14003. return res
  14004. }
  14005. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  14006. if libc.Int32FromUint8(c) < int32('0') {
  14007. return int32(m_FcTrue)
  14008. }
  14009. if libc.Int32FromUint8(c) <= int32('9') {
  14010. return m_FcFalse
  14011. }
  14012. if libc.Int32FromUint8(c) < int32('A') {
  14013. return int32(m_FcTrue)
  14014. }
  14015. if libc.Int32FromUint8(c) <= int32('Z') {
  14016. return m_FcFalse
  14017. }
  14018. if libc.Int32FromUint8(c) < int32('a') {
  14019. return int32(m_FcTrue)
  14020. }
  14021. if libc.Int32FromUint8(c) <= int32('z') {
  14022. return m_FcFalse
  14023. }
  14024. if libc.Int32FromUint8(c) <= int32('~') {
  14025. return int32(m_FcTrue)
  14026. }
  14027. return m_FcFalse
  14028. }
  14029. func _escaped_char(tls *libc.TLS, ch int8) (r int8) {
  14030. switch int32(ch) {
  14031. case int32('a'):
  14032. return int8('\a')
  14033. case int32('b'):
  14034. return int8('\b')
  14035. case int32('f'):
  14036. return int8('\f')
  14037. case int32('n'):
  14038. return int8('\n')
  14039. case int32('r'):
  14040. return int8('\r')
  14041. case int32('t'):
  14042. return int8('\t')
  14043. case int32('v'):
  14044. return int8('\v')
  14045. default:
  14046. return ch
  14047. }
  14048. return r
  14049. }
  14050. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  14051. bp := tls.Alloc(16)
  14052. defer tls.Free(16)
  14053. var p, v1, v2, v3, v4, v5, v6 uintptr
  14054. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  14055. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14056. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14057. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  14058. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14059. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14060. v1 = p
  14061. p++
  14062. v3 = c + 8
  14063. v2 = *(*uintptr)(unsafe.Pointer(v3))
  14064. *(*uintptr)(unsafe.Pointer(v3))++
  14065. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  14066. }
  14067. continue
  14068. } else {
  14069. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  14070. break
  14071. }
  14072. }
  14073. v4 = p
  14074. p++
  14075. v6 = c + 8
  14076. v5 = *(*uintptr)(unsafe.Pointer(v6))
  14077. *(*uintptr)(unsafe.Pointer(v6))++
  14078. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  14079. }
  14080. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  14081. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  14082. _message(tls, __ccgo_ts+2938, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14083. return m_FcFalse
  14084. }
  14085. return int32(m_FcTrue)
  14086. }
  14087. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  14088. bp := tls.Alloc(16)
  14089. defer tls.Free(16)
  14090. var p, v1, v2, v3, v4, v5, v6 uintptr
  14091. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  14092. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14093. 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) {
  14094. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  14095. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14096. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14097. v1 = p
  14098. p++
  14099. v3 = c + 8
  14100. v2 = *(*uintptr)(unsafe.Pointer(v3))
  14101. *(*uintptr)(unsafe.Pointer(v3))++
  14102. *(*TFcChar8)(unsafe.Pointer(v1)) = libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  14103. }
  14104. continue
  14105. }
  14106. v4 = p
  14107. p++
  14108. v6 = c + 8
  14109. v5 = *(*uintptr)(unsafe.Pointer(v6))
  14110. *(*uintptr)(unsafe.Pointer(v6))++
  14111. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  14112. }
  14113. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  14114. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  14115. _message(tls, __ccgo_ts+2964, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14116. return m_FcFalse
  14117. }
  14118. return int32(m_FcTrue)
  14119. }
  14120. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14121. bp := tls.Alloc(16)
  14122. defer tls.Free(16)
  14123. var new_str uintptr
  14124. var ret TFcBool
  14125. _, _ = new_str, ret
  14126. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  14127. return m_FcFalse
  14128. }
  14129. /* try simple builtins first */
  14130. if 0 != 0 {
  14131. } else {
  14132. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2994) {
  14133. new_str = XFcNameUnparse(tls, pat)
  14134. ret = int32(m_FcTrue)
  14135. } else {
  14136. ret = m_FcFalse
  14137. }
  14138. }
  14139. if ret != 0 {
  14140. if new_str != 0 {
  14141. XFcStrBufString(tls, buf, new_str)
  14142. XFcStrFree(tls, new_str)
  14143. return int32(m_FcTrue)
  14144. } else {
  14145. return m_FcFalse
  14146. }
  14147. }
  14148. /* now try our custom formats */
  14149. if 0 != 0 {
  14150. } else {
  14151. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3002) {
  14152. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3008, buf)
  14153. } else {
  14154. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3076) {
  14155. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3084, buf)
  14156. } else {
  14157. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3186) {
  14158. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3193, buf)
  14159. } else {
  14160. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3234) {
  14161. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3241, buf)
  14162. } else {
  14163. ret = m_FcFalse
  14164. }
  14165. }
  14166. }
  14167. }
  14168. }
  14169. if !(ret != 0) {
  14170. _message(tls, __ccgo_ts+3345, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  14171. }
  14172. return ret
  14173. }
  14174. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14175. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  14176. }
  14177. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14178. var v1 int32
  14179. _ = v1
  14180. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  14181. v1 = _interpret_subexpr(tls, c, pat, buf)
  14182. } else {
  14183. v1 = int32(m_FcTrue)
  14184. }
  14185. return v1
  14186. }
  14187. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  14188. if !(_expect_char(tls, c, uint8('%')) != 0) {
  14189. return m_FcFalse
  14190. }
  14191. /* skip an optional width specifier */
  14192. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  14193. /* don't care */
  14194. }
  14195. if !(_expect_char(tls, c, uint8('{')) != 0) {
  14196. return m_FcFalse
  14197. }
  14198. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  14199. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14200. case int32('\\'):
  14201. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14202. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14203. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14204. }
  14205. continue
  14206. case int32('{'):
  14207. if !(_skip_subexpr(tls, c) != 0) {
  14208. return m_FcFalse
  14209. }
  14210. continue
  14211. }
  14212. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14213. }
  14214. return _expect_char(tls, c, uint8('}'))
  14215. }
  14216. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14217. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  14218. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14219. case int32('\\'):
  14220. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14221. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14222. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14223. }
  14224. continue
  14225. case int32('%'):
  14226. if !(_skip_percent(tls, c) != 0) {
  14227. return m_FcFalse
  14228. }
  14229. continue
  14230. }
  14231. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  14232. }
  14233. return int32(m_FcTrue)
  14234. }
  14235. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14236. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  14237. }
  14238. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  14239. var v1 int32
  14240. _ = v1
  14241. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  14242. v1 = _skip_subexpr(tls, c)
  14243. } else {
  14244. v1 = int32(m_FcTrue)
  14245. }
  14246. return v1
  14247. }
  14248. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14249. var os, subpat uintptr
  14250. _, _ = os, subpat
  14251. if !(_expect_char(tls, c, uint8('+')) != 0) {
  14252. return m_FcFalse
  14253. }
  14254. os = XFcObjectSetCreate(tls)
  14255. if !(os != 0) {
  14256. return m_FcFalse
  14257. }
  14258. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14259. /* XXX binding */
  14260. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  14261. XFcObjectSetDestroy(tls, os)
  14262. return m_FcFalse
  14263. }
  14264. }
  14265. subpat = XFcPatternFilter(tls, pat, os)
  14266. XFcObjectSetDestroy(tls, os)
  14267. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  14268. return m_FcFalse
  14269. }
  14270. XFcPatternDestroy(tls, subpat)
  14271. return int32(m_FcTrue)
  14272. }
  14273. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14274. var subpat uintptr
  14275. _ = subpat
  14276. if !(_expect_char(tls, c, uint8('-')) != 0) {
  14277. return m_FcFalse
  14278. }
  14279. subpat = XFcPatternDuplicate(tls, pat)
  14280. if !(subpat != 0) {
  14281. return m_FcFalse
  14282. }
  14283. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14284. if !(_read_word(tls, c) != 0) {
  14285. XFcPatternDestroy(tls, subpat)
  14286. return m_FcFalse
  14287. }
  14288. XFcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14289. }
  14290. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  14291. return m_FcFalse
  14292. }
  14293. XFcPatternDestroy(tls, subpat)
  14294. return int32(m_FcTrue)
  14295. }
  14296. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14297. bp := tls.Alloc(16)
  14298. defer tls.Free(16)
  14299. var negate, pass TFcBool
  14300. var _ /* v at bp+0 */ TFcValue
  14301. _, _ = negate, pass
  14302. if !(_expect_char(tls, c, uint8('?')) != 0) {
  14303. return m_FcFalse
  14304. }
  14305. pass = int32(m_FcTrue)
  14306. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14307. negate = _consume_char(tls, c, uint8('!'))
  14308. if !(_read_word(tls, c) != 0) {
  14309. return m_FcFalse
  14310. }
  14311. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XFcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  14312. }
  14313. if pass != 0 {
  14314. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  14315. return m_FcFalse
  14316. }
  14317. } else {
  14318. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  14319. return m_FcFalse
  14320. }
  14321. }
  14322. return int32(m_FcTrue)
  14323. }
  14324. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14325. bp := tls.Alloc(96)
  14326. defer tls.Free(96)
  14327. var count int32
  14328. var _ /* buf_static at bp+16 */ [64]TFcChar8
  14329. var _ /* iter at bp+0 */ TFcPatternIter
  14330. _ = count
  14331. if !(_expect_char(tls, c, uint8('#')) != 0) {
  14332. return m_FcFalse
  14333. }
  14334. if !(_read_word(tls, c) != 0) {
  14335. return m_FcFalse
  14336. }
  14337. count = 0
  14338. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  14339. count = XFcPatternIterValueCount(tls, pat, bp)
  14340. }
  14341. libc.X__builtin___snprintf_chk(tls, bp+16, uint64(64), 0, ^t__predefined_size_t(0), __ccgo_ts+2470, libc.VaList(bp+88, count))
  14342. XFcStrBufString(tls, buf, bp+16)
  14343. return int32(m_FcTrue)
  14344. }
  14345. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14346. bp := tls.Alloc(32)
  14347. defer tls.Free(32)
  14348. var done, ret TFcBool
  14349. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  14350. var i, idx int32
  14351. var v3 bool
  14352. var _ /* langset at bp+0 */ uintptr
  14353. var _ /* v at bp+8 */ TFcValue
  14354. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  14355. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  14356. return m_FcFalse
  14357. }
  14358. os = XFcObjectSetCreate(tls)
  14359. if !(os != 0) {
  14360. return m_FcFalse
  14361. }
  14362. ret = int32(m_FcTrue)
  14363. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  14364. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  14365. XFcObjectSetDestroy(tls, os)
  14366. return m_FcFalse
  14367. }
  14368. }
  14369. /* If we have one element and it's of type FcLangSet, we want
  14370. * to enumerate the languages in it. */
  14371. lang_strs = libc.UintptrFromInt32(0)
  14372. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  14373. if int32(_FcResultMatch) == XFcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  14374. v1 = XFcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  14375. ss = v1
  14376. if v3 = !(v1 != 0); !v3 {
  14377. v2 = XFcStrListCreate(tls, ss)
  14378. lang_strs = v2
  14379. }
  14380. if v3 || !(v2 != 0) {
  14381. goto bail0
  14382. }
  14383. }
  14384. }
  14385. subpat = XFcPatternDuplicate(tls, pat)
  14386. if !(subpat != 0) {
  14387. goto bail0
  14388. }
  14389. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  14390. idx = 0
  14391. for cond := true; cond; cond = !(done != 0) {
  14392. done = int32(m_FcTrue)
  14393. if lang_strs != 0 {
  14394. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  14395. v4 = XFcStrListNext(tls, lang_strs)
  14396. lang = v4
  14397. if v4 != 0 {
  14398. /* XXX binding? */
  14399. XFcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  14400. done = m_FcFalse
  14401. }
  14402. } else {
  14403. i = 0
  14404. for {
  14405. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  14406. break
  14407. }
  14408. /* XXX this can be optimized by accessing valuelist linked lists
  14409. * directly and remembering where we were. Most (all) value lists
  14410. * in normal uses are pretty short though (language tags are
  14411. * stored as a LangSet, not separate values.). */
  14412. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  14413. if int32(_FcResultMatch) == XFcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  14414. /* XXX binding */
  14415. XFcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  14416. done = m_FcFalse
  14417. }
  14418. goto _5
  14419. _5:
  14420. ;
  14421. i++
  14422. }
  14423. }
  14424. if !(done != 0) {
  14425. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  14426. ret = _interpret_subexpr(tls, c, subpat, buf)
  14427. if !(ret != 0) {
  14428. goto bail
  14429. }
  14430. }
  14431. idx++
  14432. }
  14433. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  14434. _skip_subexpr(tls, c)
  14435. }
  14436. goto bail
  14437. bail:
  14438. ;
  14439. XFcPatternDestroy(tls, subpat)
  14440. goto bail0
  14441. bail0:
  14442. ;
  14443. if lang_strs != 0 {
  14444. XFcStrListDone(tls, lang_strs)
  14445. }
  14446. XFcObjectSetDestroy(tls, os)
  14447. return ret
  14448. }
  14449. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14450. bp := tls.Alloc(32)
  14451. defer tls.Free(32)
  14452. var add_colon, add_elt_name TFcBool
  14453. var else_string, orig, v3 uintptr
  14454. var idx int32
  14455. var l TFcValueListPtr
  14456. var _ /* iter at bp+0 */ TFcPatternIter
  14457. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  14458. add_colon = m_FcFalse
  14459. add_elt_name = m_FcFalse
  14460. if _consume_char(tls, c, uint8(':')) != 0 {
  14461. add_colon = int32(m_FcTrue)
  14462. }
  14463. if !(_read_word(tls, c) != 0) {
  14464. return m_FcFalse
  14465. }
  14466. idx = -int32(1)
  14467. if _consume_char(tls, c, uint8('[')) != 0 {
  14468. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  14469. if idx < 0 {
  14470. _message(tls, __ccgo_ts+3366, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14471. return m_FcFalse
  14472. }
  14473. if !(_expect_char(tls, c, uint8(']')) != 0) {
  14474. return m_FcFalse
  14475. }
  14476. }
  14477. if _consume_char(tls, c, uint8('=')) != 0 {
  14478. add_elt_name = int32(m_FcTrue)
  14479. }
  14480. /* modifiers */
  14481. else_string = libc.UintptrFromInt32(0)
  14482. if _consume_char(tls, c, uint8(':')) != 0 {
  14483. /* divert the c->word for now */
  14484. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14485. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  14486. /* for now we just support 'default value' */
  14487. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  14488. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14489. return m_FcFalse
  14490. }
  14491. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14492. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14493. }
  14494. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  14495. l = libc.UintptrFromInt32(0)
  14496. if add_colon != 0 {
  14497. XFcStrBufChar(tls, buf, uint8(':'))
  14498. }
  14499. if add_elt_name != 0 {
  14500. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14501. XFcStrBufChar(tls, buf, uint8('='))
  14502. }
  14503. l = XFcPatternIterGetValues(tls, pat, bp)
  14504. if !(idx != -int32(1)) {
  14505. goto _1
  14506. }
  14507. for l != 0 && idx > 0 {
  14508. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  14509. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  14510. } else {
  14511. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  14512. }
  14513. l = v3
  14514. idx--
  14515. }
  14516. if l != 0 && idx == 0 {
  14517. if !(XFcNameUnparseValue(tls, buf, l+8, libc.UintptrFromInt32(0)) != 0) {
  14518. return m_FcFalse
  14519. }
  14520. } else {
  14521. goto notfound
  14522. }
  14523. goto _2
  14524. _1:
  14525. ;
  14526. if !(l != 0) {
  14527. goto _4
  14528. }
  14529. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  14530. goto _5
  14531. _4:
  14532. ;
  14533. goto notfound
  14534. notfound:
  14535. ;
  14536. if else_string != 0 {
  14537. XFcStrBufString(tls, buf, else_string)
  14538. }
  14539. _5:
  14540. ;
  14541. _2:
  14542. }
  14543. return int32(m_FcTrue)
  14544. }
  14545. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14546. var v1 uintptr
  14547. _ = v1
  14548. /* XXX escape \n etc? */
  14549. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14550. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  14551. case int32('\\'):
  14552. fallthrough
  14553. case int32('"'):
  14554. XFcStrBufChar(tls, buf, uint8('\\'))
  14555. break
  14556. }
  14557. v1 = str
  14558. str++
  14559. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  14560. }
  14561. return int32(m_FcTrue)
  14562. }
  14563. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14564. XFcStrBufChar(tls, buf, uint8('\''))
  14565. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14566. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  14567. XFcStrBufString(tls, buf, __ccgo_ts+3401)
  14568. } else {
  14569. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  14570. }
  14571. str++
  14572. }
  14573. XFcStrBufChar(tls, buf, uint8('\''))
  14574. return int32(m_FcTrue)
  14575. }
  14576. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14577. /* XXX escape \n etc? */
  14578. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14579. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  14580. case int32('&'):
  14581. XFcStrBufString(tls, buf, __ccgo_ts+3406)
  14582. case int32('<'):
  14583. XFcStrBufString(tls, buf, __ccgo_ts+3412)
  14584. case int32('>'):
  14585. XFcStrBufString(tls, buf, __ccgo_ts+3417)
  14586. default:
  14587. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  14588. break
  14589. }
  14590. str++
  14591. }
  14592. return int32(m_FcTrue)
  14593. }
  14594. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14595. var p uintptr
  14596. _ = p
  14597. /* XXX not UTF-8 aware */
  14598. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  14599. return m_FcFalse
  14600. }
  14601. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14602. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14603. if p != 0 {
  14604. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14605. str = p + uintptr(1)
  14606. } else {
  14607. XFcStrBufString(tls, buf, str)
  14608. break
  14609. }
  14610. }
  14611. return int32(m_FcTrue)
  14612. }
  14613. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14614. var p uintptr
  14615. _ = p
  14616. /* XXX not UTF-8 aware */
  14617. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  14618. return m_FcFalse
  14619. }
  14620. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14621. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14622. if p != 0 {
  14623. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14624. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  14625. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  14626. str = p + uintptr(1)
  14627. } else {
  14628. XFcStrBufString(tls, buf, str)
  14629. break
  14630. }
  14631. }
  14632. return int32(m_FcTrue)
  14633. }
  14634. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14635. var from, p, to uintptr
  14636. var from_len, i, to_len, v1 int32
  14637. var repeat int8
  14638. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  14639. /* XXX not UTF-8 aware */
  14640. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  14641. return m_FcFalse
  14642. }
  14643. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14644. from_len = libc.Int32FromUint64(libc.Xstrlen(tls, from))
  14645. to = from + uintptr(from_len) + uintptr(1)
  14646. /* hack: we temporarily divert c->word */
  14647. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  14648. if !(_read_chars(tls, c, uint8(')')) != 0) {
  14649. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  14650. return m_FcFalse
  14651. }
  14652. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  14653. to_len = libc.Int32FromUint64(libc.Xstrlen(tls, to))
  14654. repeat = *(*int8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  14655. if !(_expect_char(tls, c, uint8(')')) != 0) {
  14656. return m_FcFalse
  14657. }
  14658. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14659. p = libc.Xstrpbrk(tls, str, from)
  14660. if p != 0 {
  14661. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14662. i = int32(int64(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  14663. if i < to_len {
  14664. v1 = int32(*(*int8)(unsafe.Pointer(to + uintptr(i))))
  14665. } else {
  14666. v1 = int32(repeat)
  14667. }
  14668. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  14669. str = p + uintptr(1)
  14670. } else {
  14671. XFcStrBufString(tls, buf, str)
  14672. break
  14673. }
  14674. }
  14675. return int32(m_FcTrue)
  14676. }
  14677. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  14678. bp := tls.Alloc(8368)
  14679. defer tls.Free(8368)
  14680. var new_str, str uintptr
  14681. var ret TFcBool
  14682. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  14683. var _ /* new_buf at bp+0 */ TFcStrBuf
  14684. _, _, _ = new_str, ret, str
  14685. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  14686. return m_FcFalse
  14687. }
  14688. /* prepare the buffer */
  14689. XFcStrBufChar(tls, buf, uint8('\000'))
  14690. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14691. return m_FcFalse
  14692. }
  14693. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  14694. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  14695. /* try simple converters first */
  14696. if 0 != 0 {
  14697. } else {
  14698. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3422) {
  14699. new_str = XFcStrDowncase(tls, str)
  14700. ret = int32(m_FcTrue)
  14701. } else {
  14702. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3431) {
  14703. new_str = XFcStrBasename(tls, str)
  14704. ret = int32(m_FcTrue)
  14705. } else {
  14706. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3440) {
  14707. new_str = XFcStrDirname(tls, str)
  14708. ret = int32(m_FcTrue)
  14709. } else {
  14710. ret = m_FcFalse
  14711. }
  14712. }
  14713. }
  14714. }
  14715. if ret != 0 {
  14716. if new_str != 0 {
  14717. XFcStrBufString(tls, buf, new_str)
  14718. XFcStrFree(tls, new_str)
  14719. return int32(m_FcTrue)
  14720. } else {
  14721. return m_FcFalse
  14722. }
  14723. }
  14724. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  14725. /* now try our custom converters */
  14726. if 0 != 0 {
  14727. } else {
  14728. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3448) {
  14729. ret = _cescape(tls, c, str, bp)
  14730. } else {
  14731. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3456) {
  14732. ret = _shescape(tls, c, str, bp)
  14733. } else {
  14734. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3465) {
  14735. ret = _xmlescape(tls, c, str, bp)
  14736. } else {
  14737. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3475) {
  14738. ret = _delete_chars(tls, c, str, bp)
  14739. } else {
  14740. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3482) {
  14741. ret = _escape_chars(tls, c, str, bp)
  14742. } else {
  14743. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3489) {
  14744. ret = _translate_chars(tls, c, str, bp)
  14745. } else {
  14746. ret = m_FcFalse
  14747. }
  14748. }
  14749. }
  14750. }
  14751. }
  14752. }
  14753. }
  14754. if ret != 0 {
  14755. XFcStrBufChar(tls, bp, uint8('\000'))
  14756. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  14757. } else {
  14758. _message(tls, __ccgo_ts+3499, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  14759. }
  14760. XFcStrBufDestroy(tls, bp)
  14761. return ret
  14762. }
  14763. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  14764. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  14765. if !(_interpret_convert(tls, c, buf, start) != 0) {
  14766. return m_FcFalse
  14767. }
  14768. }
  14769. return int32(m_FcTrue)
  14770. }
  14771. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  14772. var len1, old_len, v1, v2 int32
  14773. _, _, _, _ = len1, old_len, v1, v2
  14774. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14775. return m_FcFalse
  14776. }
  14777. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  14778. if len1 < -width {
  14779. /* left align */
  14780. for {
  14781. v1 = len1
  14782. len1++
  14783. if !(v1 < -width) {
  14784. break
  14785. }
  14786. XFcStrBufChar(tls, buf, uint8(' '))
  14787. }
  14788. } else {
  14789. if len1 < width {
  14790. old_len = len1
  14791. /* right align */
  14792. for {
  14793. v2 = len1
  14794. len1++
  14795. if !(v2 < width) {
  14796. break
  14797. }
  14798. XFcStrBufChar(tls, buf, uint8(' '))
  14799. }
  14800. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14801. return m_FcFalse
  14802. }
  14803. len1 = old_len
  14804. libc.X__builtin___memmove_chk(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.Uint64FromInt32(len1), ^t__predefined_size_t(0))
  14805. libc.X__builtin___memset_chk(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint64FromInt32(width-len1), ^t__predefined_size_t(0))
  14806. }
  14807. }
  14808. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  14809. }
  14810. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14811. var ret TFcBool
  14812. var start, width int32
  14813. _, _, _ = ret, start, width
  14814. if !(_expect_char(tls, c, uint8('%')) != 0) {
  14815. return m_FcFalse
  14816. }
  14817. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  14818. XFcStrBufChar(tls, buf, uint8('%'))
  14819. return int32(m_FcTrue)
  14820. }
  14821. /* parse an optional width specifier */
  14822. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  14823. if !(_expect_char(tls, c, uint8('{')) != 0) {
  14824. return m_FcFalse
  14825. }
  14826. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  14827. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14828. case int32('='):
  14829. ret = _interpret_builtin(tls, c, pat, buf)
  14830. case int32('{'):
  14831. ret = _interpret_subexpr(tls, c, pat, buf)
  14832. case int32('+'):
  14833. ret = _interpret_filter_in(tls, c, pat, buf)
  14834. case int32('-'):
  14835. ret = _interpret_filter_out(tls, c, pat, buf)
  14836. case int32('?'):
  14837. ret = _interpret_cond(tls, c, pat, buf)
  14838. case int32('#'):
  14839. ret = _interpret_count(tls, c, pat, buf)
  14840. case int32('['):
  14841. ret = _interpret_enumerate(tls, c, pat, buf)
  14842. default:
  14843. ret = _interpret_simple(tls, c, pat, buf)
  14844. break
  14845. }
  14846. 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)
  14847. }
  14848. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  14849. var v1, v2, v3, v4 uintptr
  14850. _, _, _, _ = v1, v2, v3, v4
  14851. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  14852. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14853. case int32('\\'):
  14854. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14855. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14856. v2 = c + 8
  14857. v1 = *(*uintptr)(unsafe.Pointer(v2))
  14858. *(*uintptr)(unsafe.Pointer(v2))++
  14859. XFcStrBufChar(tls, buf, libc.Uint8FromInt8(_escaped_char(tls, libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))))))
  14860. }
  14861. continue
  14862. case int32('%'):
  14863. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  14864. return m_FcFalse
  14865. }
  14866. continue
  14867. }
  14868. v4 = c + 8
  14869. v3 = *(*uintptr)(unsafe.Pointer(v4))
  14870. *(*uintptr)(unsafe.Pointer(v4))++
  14871. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  14872. }
  14873. return int32(m_FcTrue)
  14874. }
  14875. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  14876. bp := tls.Alloc(1072)
  14877. defer tls.Free(1072)
  14878. var ret TFcBool
  14879. var _ /* c at bp+0 */ TFcFormatContext
  14880. var _ /* word_static at bp+40 */ [1024]TFcChar8
  14881. _ = ret
  14882. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  14883. return m_FcFalse
  14884. }
  14885. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  14886. _FcFormatContextDone(tls, bp)
  14887. return ret
  14888. }
  14889. func XFcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  14890. bp := tls.Alloc(7328)
  14891. defer tls.Free(7328)
  14892. var alloced, v1 uintptr
  14893. var ret TFcBool
  14894. var _ /* buf at bp+0 */ TFcStrBuf
  14895. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  14896. _, _, _ = alloced, ret, v1
  14897. alloced = libc.UintptrFromInt32(0)
  14898. if !(pat != 0) {
  14899. v1 = XFcPatternCreate(tls)
  14900. pat = v1
  14901. alloced = v1
  14902. }
  14903. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  14904. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  14905. if alloced != 0 {
  14906. XFcPatternDestroy(tls, alloced)
  14907. }
  14908. if ret != 0 {
  14909. return XFcStrBufDone(tls, bp)
  14910. } else {
  14911. XFcStrBufDestroy(tls, bp)
  14912. return libc.UintptrFromInt32(0)
  14913. }
  14914. return r
  14915. }
  14916. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14917. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 = "DEPRECATED_ATTRIBUTE"
  14918. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14919. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14920. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14921. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14922. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14923. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14924. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14925. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14926. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14927. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14928. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14929. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  14930. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  14931. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  14932. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14933. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14934. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14935. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14936. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14937. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14938. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14939. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14940. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14941. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14942. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14943. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14944. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14945. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14946. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14947. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14948. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14949. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14950. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14951. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14952. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14953. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14954. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14955. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14956. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14957. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14958. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14959. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14960. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14961. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14962. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14963. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14964. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14965. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14966. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14967. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14968. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14969. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14970. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14971. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14972. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14973. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14974. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14975. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14976. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14977. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14978. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14979. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14980. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14981. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14982. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14983. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14984. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14985. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14986. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14987. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14988. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14989. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14990. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14991. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14992. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14993. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14994. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14995. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14996. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14997. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14998. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14999. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15000. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15001. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15002. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15003. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15004. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15005. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15006. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15007. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15008. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15009. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15010. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15011. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15012. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15013. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15014. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15015. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  15016. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  15017. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15018. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15019. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15020. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15021. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15022. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15023. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15024. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15025. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15026. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15027. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15028. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15029. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15030. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15031. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15032. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15033. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15034. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15035. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  15036. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15037. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15038. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15039. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15040. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15041. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15042. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15043. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15044. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15045. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15046. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15047. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15048. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15049. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15050. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15051. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15052. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15053. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15054. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  15055. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15056. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15057. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15058. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15059. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15060. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15061. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15062. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15063. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15064. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15065. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15066. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15067. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15068. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15069. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15070. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15071. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15072. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  15073. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15074. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15075. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15076. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15077. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15078. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15079. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15080. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15081. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15082. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15083. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15084. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15085. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15086. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15087. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15088. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15089. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  15090. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15091. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15092. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15093. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15094. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15095. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15096. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15097. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15098. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15099. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15100. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15101. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15102. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15103. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15104. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15105. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 = "DEPRECATED_ATTRIBUTE"
  15106. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  15107. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15108. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15109. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15110. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15111. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15112. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15113. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15114. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15115. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15116. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15117. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15118. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15119. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15120. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15121. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  15122. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15123. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15124. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15125. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15126. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15127. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15128. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15129. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15130. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15131. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15132. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15133. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15134. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15135. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  15136. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  15137. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  15138. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  15139. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  15140. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  15141. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  15142. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  15143. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  15144. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  15145. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  15146. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  15147. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  15148. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  15149. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  15150. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  15151. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  15152. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  15153. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  15154. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  15155. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  15156. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15157. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15158. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15159. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15160. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15161. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15162. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15163. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15164. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15165. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15166. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15167. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15168. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15169. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15170. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER = "DEPRECATED_ATTRIBUTE"
  15171. const m_DYNAMIC_TARGETS_ENABLED = 0
  15172. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  15173. const m_FREETYPE_MAJOR = 2
  15174. const m_FREETYPE_MINOR = 10
  15175. const m_FREETYPE_PATCH = 4
  15176. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  15177. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  15178. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  15179. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  15180. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  15181. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  15182. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  15183. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  15184. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  15185. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  15186. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  15187. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  15188. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  15189. const m_FT_CHAR_BIT = "CHAR_BIT"
  15190. const m_FT_CURVE_TAG_CONIC = 0x00
  15191. const m_FT_CURVE_TAG_CUBIC = 0x02
  15192. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  15193. const m_FT_CURVE_TAG_ON = 0x01
  15194. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  15195. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  15196. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  15197. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  15198. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  15199. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  15200. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  15201. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  15202. const m_FT_FILE = "FILE"
  15203. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  15204. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  15205. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  15206. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  15207. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  15208. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  15209. const m_FT_INT64 = "long"
  15210. const m_FT_INT_MAX = "INT_MAX"
  15211. const m_FT_INT_MIN = "INT_MIN"
  15212. const m_FT_LOAD_DEFAULT = 0x0
  15213. const m_FT_LONG_MAX = "LONG_MAX"
  15214. const m_FT_LONG_MIN = "LONG_MIN"
  15215. const m_FT_MAX_MODULES = 32
  15216. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  15217. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  15218. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  15219. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  15220. const m_FT_MODULE_FONT_DRIVER = 1
  15221. const m_FT_MODULE_HINTER = 4
  15222. const m_FT_MODULE_RENDERER = 2
  15223. const m_FT_MODULE_STYLER = 8
  15224. const m_FT_OPEN_DRIVER = 0x8
  15225. const m_FT_OPEN_MEMORY = 0x1
  15226. const m_FT_OPEN_PARAMS = 0x10
  15227. const m_FT_OPEN_PATHNAME = 0x4
  15228. const m_FT_OPEN_STREAM = 0x2
  15229. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  15230. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  15231. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  15232. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  15233. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  15234. const m_FT_OUTLINE_NONE = 0x0
  15235. const m_FT_OUTLINE_OVERLAP = 0x40
  15236. const m_FT_OUTLINE_OWNER = 0x1
  15237. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  15238. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  15239. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  15240. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  15241. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  15242. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  15243. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  15244. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  15245. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  15246. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  15247. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  15248. const m_FT_RASTER_FLAG_AA = 0x1
  15249. const m_FT_RASTER_FLAG_CLIP = 0x4
  15250. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  15251. const m_FT_RASTER_FLAG_DIRECT = 0x2
  15252. const m_FT_RENDER_POOL_SIZE = 16384
  15253. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  15254. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  15255. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  15256. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  15257. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  15258. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  15259. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  15260. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  15261. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  15262. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  15263. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  15264. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  15265. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  15266. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  15267. const m_FT_UINT_MAX = "UINT_MAX"
  15268. const m_FT_ULONG_MAX = "ULONG_MAX"
  15269. const m_FT_USHORT_MAX = "USHRT_MAX"
  15270. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  15271. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  15272. const m_MAC_OS_X_VERSION_MAX_ALLOWED = "MAC_OS_X_VERSION_MIN_REQUIRED"
  15273. const m_MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  15274. const m_OTLAYOUT_HEAD = "otlayout:"
  15275. const m_OTLAYOUT_HEAD_LEN = 9
  15276. const m_OTLAYOUT_ID_LEN = 4
  15277. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  15278. const m_T1_MAX_DICT_DEPTH = 5
  15279. const m_T1_MAX_MM_AXIS = 4
  15280. const m_T1_MAX_MM_DESIGNS = 16
  15281. const m_T1_MAX_MM_MAP_POINTS = 20
  15282. const m_T1_MAX_SUBRS_CALLS = 16
  15283. const m_TARGET_CPU_68K = 0
  15284. const m_TARGET_CPU_ALPHA = 0
  15285. const m_TARGET_CPU_ARM = 0
  15286. const m_TARGET_CPU_ARM64 = 1
  15287. const m_TARGET_CPU_MIPS = 0
  15288. const m_TARGET_CPU_PPC = 0
  15289. const m_TARGET_CPU_PPC64 = 0
  15290. const m_TARGET_CPU_SPARC = 0
  15291. const m_TARGET_CPU_X86 = 0
  15292. const m_TARGET_CPU_X86_64 = 0
  15293. const m_TARGET_IPHONE_SIMULATOR = "TARGET_OS_SIMULATOR"
  15294. const m_TARGET_OS_DRIVERKIT = 0
  15295. const m_TARGET_OS_EMBEDDED = 0
  15296. const m_TARGET_OS_IOS = 0
  15297. const m_TARGET_OS_IPHONE = 0
  15298. const m_TARGET_OS_LINUX = 0
  15299. const m_TARGET_OS_MAC = 1
  15300. const m_TARGET_OS_MACCATALYST = 0
  15301. const m_TARGET_OS_NANO = "TARGET_OS_WATCH"
  15302. const m_TARGET_OS_OSX = 1
  15303. const m_TARGET_OS_RTKIT = 0
  15304. const m_TARGET_OS_SIMULATOR = 0
  15305. const m_TARGET_OS_TV = 0
  15306. const m_TARGET_OS_UIKITFORMAC = 0
  15307. const m_TARGET_OS_UNIX = 0
  15308. const m_TARGET_OS_VISION = 0
  15309. const m_TARGET_OS_WATCH = 0
  15310. const m_TARGET_OS_WIN32 = 0
  15311. const m_TARGET_OS_WINDOWS = 0
  15312. const m_TARGET_RT_64_BIT = 1
  15313. const m_TARGET_RT_BIG_ENDIAN = 0
  15314. const m_TARGET_RT_LITTLE_ENDIAN = 1
  15315. const m_TARGET_RT_MAC_CFM = 0
  15316. const m_TARGET_RT_MAC_MACHO = 1
  15317. const m_TT_ADOBE_ID_CUSTOM = 2
  15318. const m_TT_ADOBE_ID_EXPERT = 1
  15319. const m_TT_ADOBE_ID_LATIN_1 = 3
  15320. const m_TT_ADOBE_ID_STANDARD = 0
  15321. const m_TT_APPLE_ID_DEFAULT = 0
  15322. const m_TT_APPLE_ID_FULL_UNICODE = 6
  15323. const m_TT_APPLE_ID_ISO_10646 = 2
  15324. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  15325. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  15326. const m_TT_APPLE_ID_UNICODE_32 = 4
  15327. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  15328. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  15329. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  15330. const m_TT_ENCODING_DONT_CARE = 65535
  15331. const m_TT_ISO_ID_10646 = 1
  15332. const m_TT_ISO_ID_7BIT_ASCII = 0
  15333. const m_TT_ISO_ID_8859_1 = 2
  15334. const m_TT_LANGUAGE_DONT_CARE = 65535
  15335. const m_TT_MAC_ID_ARABIC = 4
  15336. const m_TT_MAC_ID_ARMENIAN = 24
  15337. const m_TT_MAC_ID_BENGALI = 13
  15338. const m_TT_MAC_ID_BURMESE = 19
  15339. const m_TT_MAC_ID_DEVANAGARI = 9
  15340. const m_TT_MAC_ID_GEEZ = 28
  15341. const m_TT_MAC_ID_GEORGIAN = 23
  15342. const m_TT_MAC_ID_GREEK = 6
  15343. const m_TT_MAC_ID_GUJARATI = 11
  15344. const m_TT_MAC_ID_GURMUKHI = 10
  15345. const m_TT_MAC_ID_HEBREW = 5
  15346. const m_TT_MAC_ID_JAPANESE = 1
  15347. const m_TT_MAC_ID_KANNADA = 16
  15348. const m_TT_MAC_ID_KHMER = 20
  15349. const m_TT_MAC_ID_KOREAN = 3
  15350. const m_TT_MAC_ID_LAOTIAN = 22
  15351. const m_TT_MAC_ID_MALAYALAM = 17
  15352. const m_TT_MAC_ID_MALDIVIAN = 25
  15353. const m_TT_MAC_ID_MONGOLIAN = 27
  15354. const m_TT_MAC_ID_ORIYA = 12
  15355. const m_TT_MAC_ID_ROMAN = 0
  15356. const m_TT_MAC_ID_RSYMBOL = 8
  15357. const m_TT_MAC_ID_RUSSIAN = 7
  15358. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  15359. const m_TT_MAC_ID_SINDHI = 31
  15360. const m_TT_MAC_ID_SINHALESE = 18
  15361. const m_TT_MAC_ID_SLAVIC = 29
  15362. const m_TT_MAC_ID_TAMIL = 14
  15363. const m_TT_MAC_ID_TELUGU = 15
  15364. const m_TT_MAC_ID_THAI = 21
  15365. const m_TT_MAC_ID_TIBETAN = 26
  15366. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  15367. const m_TT_MAC_ID_UNINTERP = 32
  15368. const m_TT_MAC_ID_VIETNAMESE = 30
  15369. const m_TT_MAC_LANGID_AFRIKAANS = 141
  15370. const m_TT_MAC_LANGID_ALBANIAN = 36
  15371. const m_TT_MAC_LANGID_AMHARIC = 85
  15372. const m_TT_MAC_LANGID_ARABIC = 12
  15373. const m_TT_MAC_LANGID_ARMENIAN = 51
  15374. const m_TT_MAC_LANGID_ASSAMESE = 68
  15375. const m_TT_MAC_LANGID_AYMARA = 134
  15376. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  15377. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  15378. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  15379. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  15380. const m_TT_MAC_LANGID_BASQUE = 129
  15381. const m_TT_MAC_LANGID_BENGALI = 67
  15382. const m_TT_MAC_LANGID_BRETON = 142
  15383. const m_TT_MAC_LANGID_BULGARIAN = 44
  15384. const m_TT_MAC_LANGID_BURMESE = 77
  15385. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  15386. const m_TT_MAC_LANGID_CATALAN = 130
  15387. const m_TT_MAC_LANGID_CHEWA = 92
  15388. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  15389. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  15390. const m_TT_MAC_LANGID_CROATIAN = 18
  15391. const m_TT_MAC_LANGID_CZECH = 38
  15392. const m_TT_MAC_LANGID_DANISH = 7
  15393. const m_TT_MAC_LANGID_DUTCH = 4
  15394. const m_TT_MAC_LANGID_DZONGKHA = 137
  15395. const m_TT_MAC_LANGID_ENGLISH = 0
  15396. const m_TT_MAC_LANGID_ESPERANTO = 94
  15397. const m_TT_MAC_LANGID_ESTONIAN = 27
  15398. const m_TT_MAC_LANGID_FAEROESE = 30
  15399. const m_TT_MAC_LANGID_FARSI = 31
  15400. const m_TT_MAC_LANGID_FINNISH = 13
  15401. const m_TT_MAC_LANGID_FLEMISH = 34
  15402. const m_TT_MAC_LANGID_FRENCH = 1
  15403. const m_TT_MAC_LANGID_GALICIAN = 140
  15404. const m_TT_MAC_LANGID_GALLA = 87
  15405. const m_TT_MAC_LANGID_GEORGIAN = 52
  15406. const m_TT_MAC_LANGID_GERMAN = 2
  15407. const m_TT_MAC_LANGID_GREEK = 14
  15408. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  15409. const m_TT_MAC_LANGID_GREELANDIC = 149
  15410. const m_TT_MAC_LANGID_GUARANI = 133
  15411. const m_TT_MAC_LANGID_GUJARATI = 69
  15412. const m_TT_MAC_LANGID_HEBREW = 10
  15413. const m_TT_MAC_LANGID_HINDI = 21
  15414. const m_TT_MAC_LANGID_HUNGARIAN = 26
  15415. const m_TT_MAC_LANGID_ICELANDIC = 15
  15416. const m_TT_MAC_LANGID_INDONESIAN = 81
  15417. const m_TT_MAC_LANGID_INUKTITUT = 143
  15418. const m_TT_MAC_LANGID_IRISH = 35
  15419. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  15420. const m_TT_MAC_LANGID_ITALIAN = 3
  15421. const m_TT_MAC_LANGID_JAPANESE = 11
  15422. const m_TT_MAC_LANGID_JAVANESE = 138
  15423. const m_TT_MAC_LANGID_KANNADA = 73
  15424. const m_TT_MAC_LANGID_KASHMIRI = 61
  15425. const m_TT_MAC_LANGID_KAZAKH = 48
  15426. const m_TT_MAC_LANGID_KHMER = 78
  15427. const m_TT_MAC_LANGID_KIRGHIZ = 54
  15428. const m_TT_MAC_LANGID_KOREAN = 23
  15429. const m_TT_MAC_LANGID_KURDISH = 60
  15430. const m_TT_MAC_LANGID_LAO = 79
  15431. const m_TT_MAC_LANGID_LATIN = 131
  15432. const m_TT_MAC_LANGID_LETTISH = 28
  15433. const m_TT_MAC_LANGID_LITHUANIAN = 24
  15434. const m_TT_MAC_LANGID_MACEDONIAN = 43
  15435. const m_TT_MAC_LANGID_MALAGASY = 93
  15436. const m_TT_MAC_LANGID_MALAYALAM = 72
  15437. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  15438. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  15439. const m_TT_MAC_LANGID_MALTESE = 16
  15440. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  15441. const m_TT_MAC_LANGID_MARATHI = 66
  15442. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  15443. const m_TT_MAC_LANGID_MONGOLIAN = 57
  15444. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  15445. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  15446. const m_TT_MAC_LANGID_NEPALI = 64
  15447. const m_TT_MAC_LANGID_NORWEGIAN = 9
  15448. const m_TT_MAC_LANGID_ORIYA = 71
  15449. const m_TT_MAC_LANGID_PASHTO = 59
  15450. const m_TT_MAC_LANGID_POLISH = 25
  15451. const m_TT_MAC_LANGID_PORTUGUESE = 8
  15452. const m_TT_MAC_LANGID_PUNJABI = 70
  15453. const m_TT_MAC_LANGID_QUECHUA = 132
  15454. const m_TT_MAC_LANGID_ROMANIAN = 37
  15455. const m_TT_MAC_LANGID_RUANDA = 90
  15456. const m_TT_MAC_LANGID_RUNDI = 91
  15457. const m_TT_MAC_LANGID_RUSSIAN = 32
  15458. const m_TT_MAC_LANGID_SAAMISK = 29
  15459. const m_TT_MAC_LANGID_SANSKRIT = 65
  15460. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  15461. const m_TT_MAC_LANGID_SERBIAN = 42
  15462. const m_TT_MAC_LANGID_SINDHI = 62
  15463. const m_TT_MAC_LANGID_SINHALESE = 76
  15464. const m_TT_MAC_LANGID_SLOVAK = 39
  15465. const m_TT_MAC_LANGID_SLOVENIAN = 40
  15466. const m_TT_MAC_LANGID_SOMALI = 88
  15467. const m_TT_MAC_LANGID_SPANISH = 6
  15468. const m_TT_MAC_LANGID_SUNDANESE = 139
  15469. const m_TT_MAC_LANGID_SWAHILI = 89
  15470. const m_TT_MAC_LANGID_SWEDISH = 5
  15471. const m_TT_MAC_LANGID_TAGALOG = 82
  15472. const m_TT_MAC_LANGID_TAJIKI = 55
  15473. const m_TT_MAC_LANGID_TAMIL = 74
  15474. const m_TT_MAC_LANGID_TATAR = 135
  15475. const m_TT_MAC_LANGID_TELUGU = 75
  15476. const m_TT_MAC_LANGID_THAI = 22
  15477. const m_TT_MAC_LANGID_TIBETAN = 63
  15478. const m_TT_MAC_LANGID_TIGRINYA = 86
  15479. const m_TT_MAC_LANGID_TONGAN = 147
  15480. const m_TT_MAC_LANGID_TURKISH = 17
  15481. const m_TT_MAC_LANGID_TURKMEN = 56
  15482. const m_TT_MAC_LANGID_UIGHUR = 136
  15483. const m_TT_MAC_LANGID_UKRAINIAN = 45
  15484. const m_TT_MAC_LANGID_URDU = 20
  15485. const m_TT_MAC_LANGID_UZBEK = 47
  15486. const m_TT_MAC_LANGID_VIETNAMESE = 80
  15487. const m_TT_MAC_LANGID_WELSH = 128
  15488. const m_TT_MAC_LANGID_YIDDISH = 41
  15489. const m_TT_MS_ID_BIG_5 = 4
  15490. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  15491. const m_TT_MS_ID_JOHAB = 6
  15492. const m_TT_MS_ID_PRC = 3
  15493. const m_TT_MS_ID_SJIS = 2
  15494. const m_TT_MS_ID_SYMBOL_CS = 0
  15495. const m_TT_MS_ID_UCS_4 = 10
  15496. const m_TT_MS_ID_UNICODE_CS = 1
  15497. const m_TT_MS_ID_WANSUNG = 5
  15498. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  15499. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  15500. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  15501. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  15502. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  15503. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  15504. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  15505. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  15506. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  15507. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  15508. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  15509. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  15510. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  15511. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  15512. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  15513. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  15514. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  15515. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  15516. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  15517. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  15518. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  15519. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  15520. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  15521. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  15522. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  15523. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  15524. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  15525. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  15526. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  15527. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  15528. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  15529. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  15530. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  15531. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  15532. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  15533. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  15534. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  15535. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  15536. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  15537. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  15538. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  15539. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  15540. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  15541. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  15542. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  15543. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  15544. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  15545. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  15546. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  15547. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  15548. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  15549. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  15550. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  15551. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  15552. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  15553. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  15554. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  15555. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  15556. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  15557. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  15558. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  15559. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  15560. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  15561. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  15562. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  15563. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  15564. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  15565. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  15566. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  15567. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  15568. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  15569. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  15570. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  15571. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  15572. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  15573. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  15574. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  15575. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  15576. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  15577. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  15578. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  15579. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  15580. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  15581. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  15582. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  15583. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  15584. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  15585. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  15586. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  15587. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  15588. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  15589. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  15590. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  15591. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  15592. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  15593. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  15594. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  15595. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  15596. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  15597. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  15598. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  15599. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  15600. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  15601. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  15602. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  15603. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  15604. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  15605. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  15606. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  15607. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  15608. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  15609. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  15610. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  15611. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  15612. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  15613. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  15614. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  15615. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  15616. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  15617. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  15618. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  15619. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  15620. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  15621. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  15622. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  15623. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  15624. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  15625. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  15626. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  15627. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  15628. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  15629. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  15630. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  15631. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  15632. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  15633. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  15634. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  15635. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  15636. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  15637. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  15638. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  15639. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  15640. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  15641. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  15642. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  15643. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  15644. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  15645. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  15646. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  15647. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  15648. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  15649. const m_TT_MS_LANGID_LAO_LAOS = 1108
  15650. const m_TT_MS_LANGID_LATIN = 1142
  15651. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  15652. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  15653. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  15654. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  15655. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  15656. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  15657. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  15658. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  15659. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  15660. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  15661. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  15662. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  15663. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  15664. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  15665. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  15666. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  15667. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  15668. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  15669. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  15670. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  15671. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  15672. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  15673. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  15674. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  15675. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  15676. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  15677. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  15678. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  15679. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  15680. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  15681. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  15682. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  15683. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  15684. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  15685. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  15686. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  15687. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  15688. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  15689. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  15690. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  15691. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  15692. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  15693. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  15694. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  15695. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  15696. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  15697. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  15698. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  15699. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  15700. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  15701. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  15702. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  15703. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  15704. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  15705. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  15706. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  15707. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  15708. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  15709. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  15710. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  15711. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  15712. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  15713. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  15714. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  15715. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  15716. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  15717. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  15718. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  15719. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  15720. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  15721. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  15722. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  15723. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  15724. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  15725. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  15726. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  15727. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  15728. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  15729. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  15730. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  15731. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  15732. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  15733. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  15734. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  15735. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  15736. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  15737. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  15738. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  15739. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  15740. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  15741. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  15742. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  15743. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  15744. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  15745. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  15746. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  15747. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  15748. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  15749. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  15750. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  15751. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  15752. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  15753. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  15754. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  15755. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  15756. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  15757. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  15758. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  15759. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  15760. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  15761. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  15762. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  15763. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  15764. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  15765. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  15766. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  15767. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  15768. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  15769. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  15770. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  15771. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  15772. const m_TT_MS_LANGID_URDU_INDIA = 2080
  15773. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  15774. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  15775. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  15776. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  15777. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  15778. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  15779. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  15780. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  15781. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  15782. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  15783. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  15784. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  15785. const m_TT_MS_LANGID_YI_PRC = 0x0478
  15786. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  15787. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  15788. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  15789. const m_TT_NAME_ID_COPYRIGHT = 0
  15790. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  15791. const m_TT_NAME_ID_DESCRIPTION = 10
  15792. const m_TT_NAME_ID_DESIGNER = 9
  15793. const m_TT_NAME_ID_DESIGNER_URL = 12
  15794. const m_TT_NAME_ID_FONT_FAMILY = 1
  15795. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  15796. const m_TT_NAME_ID_FULL_NAME = 4
  15797. const m_TT_NAME_ID_LICENSE = 13
  15798. const m_TT_NAME_ID_LICENSE_URL = 14
  15799. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  15800. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  15801. const m_TT_NAME_ID_MANUFACTURER = 8
  15802. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  15803. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  15804. const m_TT_NAME_ID_PS_NAME = 6
  15805. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  15806. const m_TT_NAME_ID_TRADEMARK = 7
  15807. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  15808. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  15809. const m_TT_NAME_ID_UNIQUE_ID = 3
  15810. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  15811. const m_TT_NAME_ID_VENDOR_URL = 11
  15812. const m_TT_NAME_ID_VERSION_STRING = 5
  15813. const m_TT_NAME_ID_WWS_FAMILY = 21
  15814. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  15815. const m_TT_PLATFORM_ADOBE = 7
  15816. const m_TT_PLATFORM_APPLE_UNICODE = 0
  15817. const m_TT_PLATFORM_CUSTOM = 4
  15818. const m_TT_PLATFORM_ISO = 2
  15819. const m_TT_PLATFORM_MACINTOSH = 1
  15820. const m_TT_PLATFORM_MICROSOFT = 3
  15821. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  15822. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  15823. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  15824. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  15825. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  15826. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  15827. const m___IPHONE_COMPAT_VERSION = "__IPHONE_NA"
  15828. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  15829. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  15830. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  15831. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  15832. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  15833. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  15834. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  15835. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  15836. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  15837. const m_ft_encoding_none = "FT_ENCODING_NONE"
  15838. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  15839. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  15840. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  15841. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  15842. const m_ft_fclose = "fclose"
  15843. const m_ft_fopen = "fopen"
  15844. const m_ft_fread = "fread"
  15845. const m_ft_fseek = "fseek"
  15846. const m_ft_ftell = "ftell"
  15847. const m_ft_getenv = "getenv"
  15848. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  15849. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  15850. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  15851. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  15852. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  15853. const m_ft_jmp_buf = "jmp_buf"
  15854. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  15855. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  15856. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  15857. const m_ft_longjmp = "longjmp"
  15858. const m_ft_memchr = "memchr"
  15859. const m_ft_memcmp = "memcmp"
  15860. const m_ft_memcpy = "memcpy"
  15861. const m_ft_memmove = "memmove"
  15862. const m_ft_memset = "memset"
  15863. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  15864. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  15865. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  15866. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  15867. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  15868. const m_ft_module_hinter = "FT_MODULE_HINTER"
  15869. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  15870. const m_ft_module_styler = "FT_MODULE_STYLER"
  15871. const m_ft_open_driver = "FT_OPEN_DRIVER"
  15872. const m_ft_open_memory = "FT_OPEN_MEMORY"
  15873. const m_ft_open_params = "FT_OPEN_PARAMS"
  15874. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  15875. const m_ft_open_stream = "FT_OPEN_STREAM"
  15876. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  15877. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  15878. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  15879. const m_ft_outline_none = "FT_OUTLINE_NONE"
  15880. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  15881. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  15882. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  15883. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  15884. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  15885. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  15886. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  15887. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  15888. const m_ft_ptrdiff_t = "ptrdiff_t"
  15889. const m_ft_qsort = "qsort"
  15890. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  15891. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  15892. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  15893. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  15894. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  15895. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  15896. const m_ft_scalloc = "calloc"
  15897. const m_ft_sfnt_head = 0
  15898. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  15899. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  15900. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  15901. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  15902. const m_ft_sfnt_post = "FT_SFNT_POST"
  15903. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  15904. const m_ft_sfree = "free"
  15905. const m_ft_smalloc = "malloc"
  15906. const m_ft_sprintf = "sprintf"
  15907. const m_ft_srealloc = "realloc"
  15908. const m_ft_strcat = "strcat"
  15909. const m_ft_strcmp = "strcmp"
  15910. const m_ft_strcpy = "strcpy"
  15911. const m_ft_strlen = "strlen"
  15912. const m_ft_strncmp = "strncmp"
  15913. const m_ft_strncpy = "strncpy"
  15914. const m_ft_strrchr = "strrchr"
  15915. const m_ft_strstr = "strstr"
  15916. const m_ft_strtol = "strtol"
  15917. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  15918. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  15919. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  15920. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  15921. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  15922. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  15923. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  15924. const m_t1_blend_max = "T1_BLEND_MAX"
  15925. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  15926. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  15927. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  15928. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  15929. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  15930. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  15931. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  15932. type Tjmp_buf = [48]int32
  15933. type Tsigjmp_buf = [49]int32
  15934. type TFT_Int16 = int16
  15935. type TFT_UInt16 = uint16
  15936. type TFT_Int32 = int32
  15937. type TFT_UInt32 = uint32
  15938. type TFT_Fast = int32
  15939. type TFT_UFast = uint32
  15940. type TFT_Int64 = int64
  15941. type TFT_UInt64 = uint64
  15942. type TFT_Memory = uintptr
  15943. type TFT_MemoryRec_ = struct {
  15944. Fuser uintptr
  15945. Falloc TFT_Alloc_Func
  15946. Ffree TFT_Free_Func
  15947. Frealloc TFT_Realloc_Func
  15948. }
  15949. type TFT_Alloc_Func = uintptr
  15950. type TFT_Free_Func = uintptr
  15951. type TFT_Realloc_Func = uintptr
  15952. type TFT_Stream = uintptr
  15953. type TFT_StreamRec_ = struct {
  15954. Fbase uintptr
  15955. Fsize uint64
  15956. Fpos uint64
  15957. Fdescriptor TFT_StreamDesc
  15958. Fpathname TFT_StreamDesc
  15959. Fread TFT_Stream_IoFunc
  15960. Fclose1 TFT_Stream_CloseFunc
  15961. Fmemory TFT_Memory
  15962. Fcursor uintptr
  15963. Flimit uintptr
  15964. }
  15965. type TFT_StreamDesc = struct {
  15966. Fpointer [0]uintptr
  15967. Fvalue int64
  15968. }
  15969. type TFT_StreamDesc_ = TFT_StreamDesc
  15970. type TFT_Stream_IoFunc = uintptr
  15971. type TFT_Stream_CloseFunc = uintptr
  15972. type TFT_StreamRec = struct {
  15973. Fbase uintptr
  15974. Fsize uint64
  15975. Fpos uint64
  15976. Fdescriptor TFT_StreamDesc
  15977. Fpathname TFT_StreamDesc
  15978. Fread TFT_Stream_IoFunc
  15979. Fclose1 TFT_Stream_CloseFunc
  15980. Fmemory TFT_Memory
  15981. Fcursor uintptr
  15982. Flimit uintptr
  15983. }
  15984. type TFT_Pos = int64
  15985. type TFT_Vector = struct {
  15986. Fx TFT_Pos
  15987. Fy TFT_Pos
  15988. }
  15989. type TFT_Vector_ = TFT_Vector
  15990. type TFT_BBox = struct {
  15991. FxMin TFT_Pos
  15992. FyMin TFT_Pos
  15993. FxMax TFT_Pos
  15994. FyMax TFT_Pos
  15995. }
  15996. type TFT_BBox_ = TFT_BBox
  15997. type TFT_Pixel_Mode = int32
  15998. type _FT_Pixel_Mode_ = int32
  15999. const _FT_PIXEL_MODE_NONE = 0
  16000. const _FT_PIXEL_MODE_MONO = 1
  16001. const _FT_PIXEL_MODE_GRAY = 2
  16002. const _FT_PIXEL_MODE_GRAY2 = 3
  16003. const _FT_PIXEL_MODE_GRAY4 = 4
  16004. const _FT_PIXEL_MODE_LCD = 5
  16005. const _FT_PIXEL_MODE_LCD_V = 6
  16006. const _FT_PIXEL_MODE_BGRA = 7
  16007. const _FT_PIXEL_MODE_MAX = 8
  16008. type TFT_Bitmap = struct {
  16009. Frows uint32
  16010. Fwidth uint32
  16011. Fpitch int32
  16012. Fbuffer uintptr
  16013. Fnum_grays uint16
  16014. Fpixel_mode uint8
  16015. Fpalette_mode uint8
  16016. Fpalette uintptr
  16017. }
  16018. type TFT_Bitmap_ = TFT_Bitmap
  16019. type TFT_Outline = struct {
  16020. Fn_contours int16
  16021. Fn_points int16
  16022. Fpoints uintptr
  16023. Ftags uintptr
  16024. Fcontours uintptr
  16025. Fflags int32
  16026. }
  16027. type TFT_Outline_ = TFT_Outline
  16028. type TFT_Outline_MoveToFunc = uintptr
  16029. type TFT_Outline_LineToFunc = uintptr
  16030. type TFT_Outline_ConicToFunc = uintptr
  16031. type TFT_Outline_CubicToFunc = uintptr
  16032. type TFT_Outline_Funcs = struct {
  16033. Fmove_to TFT_Outline_MoveToFunc
  16034. Fline_to TFT_Outline_LineToFunc
  16035. Fconic_to TFT_Outline_ConicToFunc
  16036. Fcubic_to TFT_Outline_CubicToFunc
  16037. Fshift int32
  16038. Fdelta TFT_Pos
  16039. }
  16040. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  16041. type TFT_Glyph_Format = int32
  16042. type _FT_Glyph_Format_ = int32
  16043. const _FT_GLYPH_FORMAT_NONE = 0
  16044. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  16045. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  16046. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  16047. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  16048. type TFT_Raster = uintptr
  16049. type TFT_Span = struct {
  16050. Fx int16
  16051. Flen1 uint16
  16052. Fcoverage uint8
  16053. }
  16054. type TFT_Span_ = TFT_Span
  16055. type TFT_SpanFunc = uintptr
  16056. type TFT_Raster_BitTest_Func = uintptr
  16057. type TFT_Raster_BitSet_Func = uintptr
  16058. type TFT_Raster_Params = struct {
  16059. Ftarget uintptr
  16060. Fsource uintptr
  16061. Fflags int32
  16062. Fgray_spans TFT_SpanFunc
  16063. Fblack_spans TFT_SpanFunc
  16064. Fbit_test TFT_Raster_BitTest_Func
  16065. Fbit_set TFT_Raster_BitSet_Func
  16066. Fuser uintptr
  16067. Fclip_box TFT_BBox
  16068. }
  16069. type TFT_Raster_Params_ = TFT_Raster_Params
  16070. type TFT_Raster_NewFunc = uintptr
  16071. type TFT_Raster_DoneFunc = uintptr
  16072. type TFT_Raster_ResetFunc = uintptr
  16073. type TFT_Raster_SetModeFunc = uintptr
  16074. type TFT_Raster_RenderFunc = uintptr
  16075. type TFT_Raster_Funcs = struct {
  16076. Fglyph_format TFT_Glyph_Format
  16077. Fraster_new TFT_Raster_NewFunc
  16078. Fraster_reset TFT_Raster_ResetFunc
  16079. Fraster_set_mode TFT_Raster_SetModeFunc
  16080. Fraster_render TFT_Raster_RenderFunc
  16081. Fraster_done TFT_Raster_DoneFunc
  16082. }
  16083. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  16084. type TFT_Bool = uint8
  16085. type TFT_FWord = int16
  16086. type TFT_UFWord = uint16
  16087. type TFT_Char = int8
  16088. type TFT_Byte = uint8
  16089. type TFT_Bytes = uintptr
  16090. type TFT_Tag = uint32
  16091. type TFT_String = int8
  16092. type TFT_Short = int16
  16093. type TFT_UShort = uint16
  16094. type TFT_Int = int32
  16095. type TFT_UInt = uint32
  16096. type TFT_Long = int64
  16097. type TFT_ULong = uint64
  16098. type TFT_F2Dot14 = int16
  16099. type TFT_F26Dot6 = int64
  16100. type TFT_Fixed = int64
  16101. type TFT_Error = int32
  16102. type TFT_Pointer = uintptr
  16103. type TFT_Offset = uint64
  16104. type TFT_PtrDist = int64
  16105. type TFT_UnitVector = struct {
  16106. Fx TFT_F2Dot14
  16107. Fy TFT_F2Dot14
  16108. }
  16109. type TFT_UnitVector_ = TFT_UnitVector
  16110. type TFT_Matrix = struct {
  16111. Fxx TFT_Fixed
  16112. Fxy TFT_Fixed
  16113. Fyx TFT_Fixed
  16114. Fyy TFT_Fixed
  16115. }
  16116. type TFT_Matrix_ = TFT_Matrix
  16117. type TFT_Data = struct {
  16118. Fpointer uintptr
  16119. Flength TFT_Int
  16120. }
  16121. type TFT_Data_ = TFT_Data
  16122. type TFT_Generic_Finalizer = uintptr
  16123. type TFT_Generic = struct {
  16124. Fdata uintptr
  16125. Ffinalizer TFT_Generic_Finalizer
  16126. }
  16127. type TFT_Generic_ = TFT_Generic
  16128. type TFT_ListNode = uintptr
  16129. type TFT_ListNodeRec_ = struct {
  16130. Fprev TFT_ListNode
  16131. Fnext TFT_ListNode
  16132. Fdata uintptr
  16133. }
  16134. type TFT_List = uintptr
  16135. type TFT_ListRec_ = struct {
  16136. Fhead TFT_ListNode
  16137. Ftail TFT_ListNode
  16138. }
  16139. type TFT_ListNodeRec = struct {
  16140. Fprev TFT_ListNode
  16141. Fnext TFT_ListNode
  16142. Fdata uintptr
  16143. }
  16144. type TFT_ListRec = struct {
  16145. Fhead TFT_ListNode
  16146. Ftail TFT_ListNode
  16147. }
  16148. const _FT_Mod_Err_Base = 0
  16149. const _FT_Mod_Err_Autofit = 0
  16150. const _FT_Mod_Err_BDF = 0
  16151. const _FT_Mod_Err_Bzip2 = 0
  16152. const _FT_Mod_Err_Cache = 0
  16153. const _FT_Mod_Err_CFF = 0
  16154. const _FT_Mod_Err_CID = 0
  16155. const _FT_Mod_Err_Gzip = 0
  16156. const _FT_Mod_Err_LZW = 0
  16157. const _FT_Mod_Err_OTvalid = 0
  16158. const _FT_Mod_Err_PCF = 0
  16159. const _FT_Mod_Err_PFR = 0
  16160. const _FT_Mod_Err_PSaux = 0
  16161. const _FT_Mod_Err_PShinter = 0
  16162. const _FT_Mod_Err_PSnames = 0
  16163. const _FT_Mod_Err_Raster = 0
  16164. const _FT_Mod_Err_SFNT = 0
  16165. const _FT_Mod_Err_Smooth = 0
  16166. const _FT_Mod_Err_TrueType = 0
  16167. const _FT_Mod_Err_Type1 = 0
  16168. const _FT_Mod_Err_Type42 = 0
  16169. const _FT_Mod_Err_Winfonts = 0
  16170. const _FT_Mod_Err_GXvalid = 0
  16171. const _FT_Mod_Err_Max = 1
  16172. const _FT_Err_Ok = 0
  16173. const _FT_Err_Cannot_Open_Resource = 1
  16174. const _FT_Err_Unknown_File_Format = 2
  16175. const _FT_Err_Invalid_File_Format = 3
  16176. const _FT_Err_Invalid_Version = 4
  16177. const _FT_Err_Lower_Module_Version = 5
  16178. const _FT_Err_Invalid_Argument = 6
  16179. const _FT_Err_Unimplemented_Feature = 7
  16180. const _FT_Err_Invalid_Table = 8
  16181. const _FT_Err_Invalid_Offset = 9
  16182. const _FT_Err_Array_Too_Large = 10
  16183. const _FT_Err_Missing_Module = 11
  16184. const _FT_Err_Missing_Property = 12
  16185. const _FT_Err_Invalid_Glyph_Index = 16
  16186. const _FT_Err_Invalid_Character_Code = 17
  16187. const _FT_Err_Invalid_Glyph_Format = 18
  16188. const _FT_Err_Cannot_Render_Glyph = 19
  16189. const _FT_Err_Invalid_Outline = 20
  16190. const _FT_Err_Invalid_Composite = 21
  16191. const _FT_Err_Too_Many_Hints = 22
  16192. const _FT_Err_Invalid_Pixel_Size = 23
  16193. const _FT_Err_Invalid_Handle = 32
  16194. const _FT_Err_Invalid_Library_Handle = 33
  16195. const _FT_Err_Invalid_Driver_Handle = 34
  16196. const _FT_Err_Invalid_Face_Handle = 35
  16197. const _FT_Err_Invalid_Size_Handle = 36
  16198. const _FT_Err_Invalid_Slot_Handle = 37
  16199. const _FT_Err_Invalid_CharMap_Handle = 38
  16200. const _FT_Err_Invalid_Cache_Handle = 39
  16201. const _FT_Err_Invalid_Stream_Handle = 40
  16202. const _FT_Err_Too_Many_Drivers = 48
  16203. const _FT_Err_Too_Many_Extensions = 49
  16204. const _FT_Err_Out_Of_Memory = 64
  16205. const _FT_Err_Unlisted_Object = 65
  16206. const _FT_Err_Cannot_Open_Stream = 81
  16207. const _FT_Err_Invalid_Stream_Seek = 82
  16208. const _FT_Err_Invalid_Stream_Skip = 83
  16209. const _FT_Err_Invalid_Stream_Read = 84
  16210. const _FT_Err_Invalid_Stream_Operation = 85
  16211. const _FT_Err_Invalid_Frame_Operation = 86
  16212. const _FT_Err_Nested_Frame_Access = 87
  16213. const _FT_Err_Invalid_Frame_Read = 88
  16214. const _FT_Err_Raster_Uninitialized = 96
  16215. const _FT_Err_Raster_Corrupted = 97
  16216. const _FT_Err_Raster_Overflow = 98
  16217. const _FT_Err_Raster_Negative_Height = 99
  16218. const _FT_Err_Too_Many_Caches = 112
  16219. const _FT_Err_Invalid_Opcode = 128
  16220. const _FT_Err_Too_Few_Arguments = 129
  16221. const _FT_Err_Stack_Overflow = 130
  16222. const _FT_Err_Code_Overflow = 131
  16223. const _FT_Err_Bad_Argument = 132
  16224. const _FT_Err_Divide_By_Zero = 133
  16225. const _FT_Err_Invalid_Reference = 134
  16226. const _FT_Err_Debug_OpCode = 135
  16227. const _FT_Err_ENDF_In_Exec_Stream = 136
  16228. const _FT_Err_Nested_DEFS = 137
  16229. const _FT_Err_Invalid_CodeRange = 138
  16230. const _FT_Err_Execution_Too_Long = 139
  16231. const _FT_Err_Too_Many_Function_Defs = 140
  16232. const _FT_Err_Too_Many_Instruction_Defs = 141
  16233. const _FT_Err_Table_Missing = 142
  16234. const _FT_Err_Horiz_Header_Missing = 143
  16235. const _FT_Err_Locations_Missing = 144
  16236. const _FT_Err_Name_Table_Missing = 145
  16237. const _FT_Err_CMap_Table_Missing = 146
  16238. const _FT_Err_Hmtx_Table_Missing = 147
  16239. const _FT_Err_Post_Table_Missing = 148
  16240. const _FT_Err_Invalid_Horiz_Metrics = 149
  16241. const _FT_Err_Invalid_CharMap_Format = 150
  16242. const _FT_Err_Invalid_PPem = 151
  16243. const _FT_Err_Invalid_Vert_Metrics = 152
  16244. const _FT_Err_Could_Not_Find_Context = 153
  16245. const _FT_Err_Invalid_Post_Table_Format = 154
  16246. const _FT_Err_Invalid_Post_Table = 155
  16247. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  16248. const _FT_Err_Missing_Bitmap = 157
  16249. const _FT_Err_Syntax_Error = 160
  16250. const _FT_Err_Stack_Underflow = 161
  16251. const _FT_Err_Ignore = 162
  16252. const _FT_Err_No_Unicode_Glyph_Name = 163
  16253. const _FT_Err_Glyph_Too_Big = 164
  16254. const _FT_Err_Missing_Startfont_Field = 176
  16255. const _FT_Err_Missing_Font_Field = 177
  16256. const _FT_Err_Missing_Size_Field = 178
  16257. const _FT_Err_Missing_Fontboundingbox_Field = 179
  16258. const _FT_Err_Missing_Chars_Field = 180
  16259. const _FT_Err_Missing_Startchar_Field = 181
  16260. const _FT_Err_Missing_Encoding_Field = 182
  16261. const _FT_Err_Missing_Bbx_Field = 183
  16262. const _FT_Err_Bbx_Too_Big = 184
  16263. const _FT_Err_Corrupted_Font_Header = 185
  16264. const _FT_Err_Corrupted_Font_Glyphs = 186
  16265. const _FT_Err_Max = 187
  16266. type TFT_Glyph_Metrics = struct {
  16267. Fwidth TFT_Pos
  16268. Fheight TFT_Pos
  16269. FhoriBearingX TFT_Pos
  16270. FhoriBearingY TFT_Pos
  16271. FhoriAdvance TFT_Pos
  16272. FvertBearingX TFT_Pos
  16273. FvertBearingY TFT_Pos
  16274. FvertAdvance TFT_Pos
  16275. }
  16276. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  16277. type TFT_Bitmap_Size = struct {
  16278. Fheight TFT_Short
  16279. Fwidth TFT_Short
  16280. Fsize TFT_Pos
  16281. Fx_ppem TFT_Pos
  16282. Fy_ppem TFT_Pos
  16283. }
  16284. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  16285. type TFT_Library = uintptr
  16286. type TFT_Module = uintptr
  16287. type TFT_Driver = uintptr
  16288. type TFT_Renderer = uintptr
  16289. type TFT_Face = uintptr
  16290. type TFT_FaceRec_ = struct {
  16291. Fnum_faces TFT_Long
  16292. Fface_index TFT_Long
  16293. Fface_flags TFT_Long
  16294. Fstyle_flags TFT_Long
  16295. Fnum_glyphs TFT_Long
  16296. Ffamily_name uintptr
  16297. Fstyle_name uintptr
  16298. Fnum_fixed_sizes TFT_Int
  16299. Favailable_sizes uintptr
  16300. Fnum_charmaps TFT_Int
  16301. Fcharmaps uintptr
  16302. Fgeneric TFT_Generic
  16303. Fbbox TFT_BBox
  16304. Funits_per_EM TFT_UShort
  16305. Fascender TFT_Short
  16306. Fdescender TFT_Short
  16307. Fheight TFT_Short
  16308. Fmax_advance_width TFT_Short
  16309. Fmax_advance_height TFT_Short
  16310. Funderline_position TFT_Short
  16311. Funderline_thickness TFT_Short
  16312. Fglyph TFT_GlyphSlot
  16313. Fsize TFT_Size
  16314. Fcharmap TFT_CharMap
  16315. Fdriver TFT_Driver
  16316. Fmemory TFT_Memory
  16317. Fstream TFT_Stream
  16318. Fsizes_list TFT_ListRec
  16319. Fautohint TFT_Generic
  16320. Fextensions uintptr
  16321. Finternal TFT_Face_Internal
  16322. }
  16323. type TFT_Size = uintptr
  16324. type TFT_SizeRec_ = struct {
  16325. Fface TFT_Face
  16326. Fgeneric TFT_Generic
  16327. Fmetrics TFT_Size_Metrics
  16328. Finternal TFT_Size_Internal
  16329. }
  16330. type TFT_GlyphSlot = uintptr
  16331. type TFT_GlyphSlotRec_ = struct {
  16332. Flibrary TFT_Library
  16333. Fface TFT_Face
  16334. Fnext TFT_GlyphSlot
  16335. Fglyph_index TFT_UInt
  16336. Fgeneric TFT_Generic
  16337. Fmetrics TFT_Glyph_Metrics
  16338. FlinearHoriAdvance TFT_Fixed
  16339. FlinearVertAdvance TFT_Fixed
  16340. Fadvance TFT_Vector
  16341. Fformat TFT_Glyph_Format
  16342. Fbitmap TFT_Bitmap
  16343. Fbitmap_left TFT_Int
  16344. Fbitmap_top TFT_Int
  16345. Foutline TFT_Outline
  16346. Fnum_subglyphs TFT_UInt
  16347. Fsubglyphs TFT_SubGlyph
  16348. Fcontrol_data uintptr
  16349. Fcontrol_len int64
  16350. Flsb_delta TFT_Pos
  16351. Frsb_delta TFT_Pos
  16352. Fother uintptr
  16353. Finternal TFT_Slot_Internal
  16354. }
  16355. type TFT_CharMap = uintptr
  16356. type TFT_CharMapRec_ = struct {
  16357. Fface TFT_Face
  16358. Fencoding TFT_Encoding
  16359. Fplatform_id TFT_UShort
  16360. Fencoding_id TFT_UShort
  16361. }
  16362. type _FT_Encoding_ = int32
  16363. const _FT_ENCODING_NONE = 0
  16364. const _FT_ENCODING_MS_SYMBOL = 1937337698
  16365. const _FT_ENCODING_UNICODE = 1970170211
  16366. const _FT_ENCODING_SJIS = 1936353651
  16367. const _FT_ENCODING_PRC = 1734484000
  16368. const _FT_ENCODING_BIG5 = 1651074869
  16369. const _FT_ENCODING_WANSUNG = 2002873971
  16370. const _FT_ENCODING_JOHAB = 1785686113
  16371. const _FT_ENCODING_GB2312 = 1734484000
  16372. const _FT_ENCODING_MS_SJIS = 1936353651
  16373. const _FT_ENCODING_MS_GB2312 = 1734484000
  16374. const _FT_ENCODING_MS_BIG5 = 1651074869
  16375. const _FT_ENCODING_MS_WANSUNG = 2002873971
  16376. const _FT_ENCODING_MS_JOHAB = 1785686113
  16377. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  16378. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  16379. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  16380. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  16381. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  16382. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  16383. type TFT_Encoding = int32
  16384. type TFT_CharMapRec = struct {
  16385. Fface TFT_Face
  16386. Fencoding TFT_Encoding
  16387. Fplatform_id TFT_UShort
  16388. Fencoding_id TFT_UShort
  16389. }
  16390. type TFT_Face_Internal = uintptr
  16391. type TFT_FaceRec = struct {
  16392. Fnum_faces TFT_Long
  16393. Fface_index TFT_Long
  16394. Fface_flags TFT_Long
  16395. Fstyle_flags TFT_Long
  16396. Fnum_glyphs TFT_Long
  16397. Ffamily_name uintptr
  16398. Fstyle_name uintptr
  16399. Fnum_fixed_sizes TFT_Int
  16400. Favailable_sizes uintptr
  16401. Fnum_charmaps TFT_Int
  16402. Fcharmaps uintptr
  16403. Fgeneric TFT_Generic
  16404. Fbbox TFT_BBox
  16405. Funits_per_EM TFT_UShort
  16406. Fascender TFT_Short
  16407. Fdescender TFT_Short
  16408. Fheight TFT_Short
  16409. Fmax_advance_width TFT_Short
  16410. Fmax_advance_height TFT_Short
  16411. Funderline_position TFT_Short
  16412. Funderline_thickness TFT_Short
  16413. Fglyph TFT_GlyphSlot
  16414. Fsize TFT_Size
  16415. Fcharmap TFT_CharMap
  16416. Fdriver TFT_Driver
  16417. Fmemory TFT_Memory
  16418. Fstream TFT_Stream
  16419. Fsizes_list TFT_ListRec
  16420. Fautohint TFT_Generic
  16421. Fextensions uintptr
  16422. Finternal TFT_Face_Internal
  16423. }
  16424. type TFT_Size_Internal = uintptr
  16425. type TFT_Size_Metrics = struct {
  16426. Fx_ppem TFT_UShort
  16427. Fy_ppem TFT_UShort
  16428. Fx_scale TFT_Fixed
  16429. Fy_scale TFT_Fixed
  16430. Fascender TFT_Pos
  16431. Fdescender TFT_Pos
  16432. Fheight TFT_Pos
  16433. Fmax_advance TFT_Pos
  16434. }
  16435. type TFT_Size_Metrics_ = TFT_Size_Metrics
  16436. type TFT_SizeRec = struct {
  16437. Fface TFT_Face
  16438. Fgeneric TFT_Generic
  16439. Fmetrics TFT_Size_Metrics
  16440. Finternal TFT_Size_Internal
  16441. }
  16442. type TFT_SubGlyph = uintptr
  16443. type TFT_Slot_Internal = uintptr
  16444. type TFT_GlyphSlotRec = struct {
  16445. Flibrary TFT_Library
  16446. Fface TFT_Face
  16447. Fnext TFT_GlyphSlot
  16448. Fglyph_index TFT_UInt
  16449. Fgeneric TFT_Generic
  16450. Fmetrics TFT_Glyph_Metrics
  16451. FlinearHoriAdvance TFT_Fixed
  16452. FlinearVertAdvance TFT_Fixed
  16453. Fadvance TFT_Vector
  16454. Fformat TFT_Glyph_Format
  16455. Fbitmap TFT_Bitmap
  16456. Fbitmap_left TFT_Int
  16457. Fbitmap_top TFT_Int
  16458. Foutline TFT_Outline
  16459. Fnum_subglyphs TFT_UInt
  16460. Fsubglyphs TFT_SubGlyph
  16461. Fcontrol_data uintptr
  16462. Fcontrol_len int64
  16463. Flsb_delta TFT_Pos
  16464. Frsb_delta TFT_Pos
  16465. Fother uintptr
  16466. Finternal TFT_Slot_Internal
  16467. }
  16468. type TFT_Parameter = struct {
  16469. Ftag TFT_ULong
  16470. Fdata TFT_Pointer
  16471. }
  16472. type TFT_Parameter_ = TFT_Parameter
  16473. type TFT_Open_Args = struct {
  16474. Fflags TFT_UInt
  16475. Fmemory_base uintptr
  16476. Fmemory_size TFT_Long
  16477. Fpathname uintptr
  16478. Fstream TFT_Stream
  16479. Fdriver TFT_Module
  16480. Fnum_params TFT_Int
  16481. Fparams uintptr
  16482. }
  16483. type TFT_Open_Args_ = TFT_Open_Args
  16484. type TFT_Size_Request_Type = int32
  16485. type _FT_Size_Request_Type_ = int32
  16486. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  16487. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  16488. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  16489. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  16490. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  16491. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  16492. type TFT_Size_RequestRec = struct {
  16493. Ftype1 TFT_Size_Request_Type
  16494. Fwidth TFT_Long
  16495. Fheight TFT_Long
  16496. FhoriResolution TFT_UInt
  16497. FvertResolution TFT_UInt
  16498. }
  16499. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  16500. type TFT_Size_Request = uintptr
  16501. type TFT_Render_Mode = int32
  16502. type _FT_Render_Mode_ = int32
  16503. const _FT_RENDER_MODE_NORMAL = 0
  16504. const _FT_RENDER_MODE_LIGHT = 1
  16505. const _FT_RENDER_MODE_MONO = 2
  16506. const _FT_RENDER_MODE_LCD = 3
  16507. const _FT_RENDER_MODE_LCD_V = 4
  16508. const _FT_RENDER_MODE_MAX = 5
  16509. type TFT_Kerning_Mode = int32
  16510. type _FT_Kerning_Mode_ = int32
  16511. const _FT_KERNING_DEFAULT = 0
  16512. const _FT_KERNING_UNFITTED = 1
  16513. const _FT_KERNING_UNSCALED = 2
  16514. type TFT_LayerIterator = struct {
  16515. Fnum_layers TFT_UInt
  16516. Flayer TFT_UInt
  16517. Fp uintptr
  16518. }
  16519. type TFT_LayerIterator_ = TFT_LayerIterator
  16520. type TTT_Header = struct {
  16521. FTable_Version TFT_Fixed
  16522. FFont_Revision TFT_Fixed
  16523. FCheckSum_Adjust TFT_Long
  16524. FMagic_Number TFT_Long
  16525. FFlags TFT_UShort
  16526. FUnits_Per_EM TFT_UShort
  16527. FCreated [2]TFT_ULong
  16528. FModified [2]TFT_ULong
  16529. FxMin TFT_Short
  16530. FyMin TFT_Short
  16531. FxMax TFT_Short
  16532. FyMax TFT_Short
  16533. FMac_Style TFT_UShort
  16534. FLowest_Rec_PPEM TFT_UShort
  16535. FFont_Direction TFT_Short
  16536. FIndex_To_Loc_Format TFT_Short
  16537. FGlyph_Data_Format TFT_Short
  16538. }
  16539. type TTT_Header_ = TTT_Header
  16540. type TTT_HoriHeader = struct {
  16541. FVersion TFT_Fixed
  16542. FAscender TFT_Short
  16543. FDescender TFT_Short
  16544. FLine_Gap TFT_Short
  16545. Fadvance_Width_Max TFT_UShort
  16546. Fmin_Left_Side_Bearing TFT_Short
  16547. Fmin_Right_Side_Bearing TFT_Short
  16548. FxMax_Extent TFT_Short
  16549. Fcaret_Slope_Rise TFT_Short
  16550. Fcaret_Slope_Run TFT_Short
  16551. Fcaret_Offset TFT_Short
  16552. FReserved [4]TFT_Short
  16553. Fmetric_Data_Format TFT_Short
  16554. Fnumber_Of_HMetrics TFT_UShort
  16555. Flong_metrics uintptr
  16556. Fshort_metrics uintptr
  16557. }
  16558. type TTT_HoriHeader_ = TTT_HoriHeader
  16559. type TTT_VertHeader = struct {
  16560. FVersion TFT_Fixed
  16561. FAscender TFT_Short
  16562. FDescender TFT_Short
  16563. FLine_Gap TFT_Short
  16564. Fadvance_Height_Max TFT_UShort
  16565. Fmin_Top_Side_Bearing TFT_Short
  16566. Fmin_Bottom_Side_Bearing TFT_Short
  16567. FyMax_Extent TFT_Short
  16568. Fcaret_Slope_Rise TFT_Short
  16569. Fcaret_Slope_Run TFT_Short
  16570. Fcaret_Offset TFT_Short
  16571. FReserved [4]TFT_Short
  16572. Fmetric_Data_Format TFT_Short
  16573. Fnumber_Of_VMetrics TFT_UShort
  16574. Flong_metrics uintptr
  16575. Fshort_metrics uintptr
  16576. }
  16577. type TTT_VertHeader_ = TTT_VertHeader
  16578. type TTT_OS2 = struct {
  16579. Fversion TFT_UShort
  16580. FxAvgCharWidth TFT_Short
  16581. FusWeightClass TFT_UShort
  16582. FusWidthClass TFT_UShort
  16583. FfsType TFT_UShort
  16584. FySubscriptXSize TFT_Short
  16585. FySubscriptYSize TFT_Short
  16586. FySubscriptXOffset TFT_Short
  16587. FySubscriptYOffset TFT_Short
  16588. FySuperscriptXSize TFT_Short
  16589. FySuperscriptYSize TFT_Short
  16590. FySuperscriptXOffset TFT_Short
  16591. FySuperscriptYOffset TFT_Short
  16592. FyStrikeoutSize TFT_Short
  16593. FyStrikeoutPosition TFT_Short
  16594. FsFamilyClass TFT_Short
  16595. Fpanose [10]TFT_Byte
  16596. FulUnicodeRange1 TFT_ULong
  16597. FulUnicodeRange2 TFT_ULong
  16598. FulUnicodeRange3 TFT_ULong
  16599. FulUnicodeRange4 TFT_ULong
  16600. FachVendID [4]TFT_Char
  16601. FfsSelection TFT_UShort
  16602. FusFirstCharIndex TFT_UShort
  16603. FusLastCharIndex TFT_UShort
  16604. FsTypoAscender TFT_Short
  16605. FsTypoDescender TFT_Short
  16606. FsTypoLineGap TFT_Short
  16607. FusWinAscent TFT_UShort
  16608. FusWinDescent TFT_UShort
  16609. FulCodePageRange1 TFT_ULong
  16610. FulCodePageRange2 TFT_ULong
  16611. FsxHeight TFT_Short
  16612. FsCapHeight TFT_Short
  16613. FusDefaultChar TFT_UShort
  16614. FusBreakChar TFT_UShort
  16615. FusMaxContext TFT_UShort
  16616. FusLowerOpticalPointSize TFT_UShort
  16617. FusUpperOpticalPointSize TFT_UShort
  16618. }
  16619. type TTT_OS2_ = TTT_OS2
  16620. type TTT_Postscript = struct {
  16621. FFormatType TFT_Fixed
  16622. FitalicAngle TFT_Fixed
  16623. FunderlinePosition TFT_Short
  16624. FunderlineThickness TFT_Short
  16625. FisFixedPitch TFT_ULong
  16626. FminMemType42 TFT_ULong
  16627. FmaxMemType42 TFT_ULong
  16628. FminMemType1 TFT_ULong
  16629. FmaxMemType1 TFT_ULong
  16630. }
  16631. type TTT_Postscript_ = TTT_Postscript
  16632. type TTT_PCLT = struct {
  16633. FVersion TFT_Fixed
  16634. FFontNumber TFT_ULong
  16635. FPitch TFT_UShort
  16636. FxHeight TFT_UShort
  16637. FStyle TFT_UShort
  16638. FTypeFamily TFT_UShort
  16639. FCapHeight TFT_UShort
  16640. FSymbolSet TFT_UShort
  16641. FTypeFace [16]TFT_Char
  16642. FCharacterComplement [8]TFT_Char
  16643. FFileName [6]TFT_Char
  16644. FStrokeWeight TFT_Char
  16645. FWidthType TFT_Char
  16646. FSerifStyle TFT_Byte
  16647. FReserved TFT_Byte
  16648. }
  16649. type TTT_PCLT_ = TTT_PCLT
  16650. type TTT_MaxProfile = struct {
  16651. Fversion TFT_Fixed
  16652. FnumGlyphs TFT_UShort
  16653. FmaxPoints TFT_UShort
  16654. FmaxContours TFT_UShort
  16655. FmaxCompositePoints TFT_UShort
  16656. FmaxCompositeContours TFT_UShort
  16657. FmaxZones TFT_UShort
  16658. FmaxTwilightPoints TFT_UShort
  16659. FmaxStorage TFT_UShort
  16660. FmaxFunctionDefs TFT_UShort
  16661. FmaxInstructionDefs TFT_UShort
  16662. FmaxStackElements TFT_UShort
  16663. FmaxSizeOfInstructions TFT_UShort
  16664. FmaxComponentElements TFT_UShort
  16665. FmaxComponentDepth TFT_UShort
  16666. }
  16667. type TTT_MaxProfile_ = TTT_MaxProfile
  16668. type TFT_Sfnt_Tag = int32
  16669. type _FT_Sfnt_Tag_ = int32
  16670. const _FT_SFNT_HEAD = 0
  16671. const _FT_SFNT_MAXP = 1
  16672. const _FT_SFNT_OS2 = 2
  16673. const _FT_SFNT_HHEA = 3
  16674. const _FT_SFNT_VHEA = 4
  16675. const _FT_SFNT_POST = 5
  16676. const _FT_SFNT_PCLT = 6
  16677. const _FT_SFNT_MAX = 7
  16678. type TFT_SfntName = struct {
  16679. Fplatform_id TFT_UShort
  16680. Fencoding_id TFT_UShort
  16681. Flanguage_id TFT_UShort
  16682. Fname_id TFT_UShort
  16683. Fstring1 uintptr
  16684. Fstring_len TFT_UInt
  16685. }
  16686. type TFT_SfntName_ = TFT_SfntName
  16687. type TFT_SfntLangTag = struct {
  16688. Fstring1 uintptr
  16689. Fstring_len TFT_UInt
  16690. }
  16691. type TFT_SfntLangTag_ = TFT_SfntLangTag
  16692. type TPS_FontInfoRec = struct {
  16693. Fversion uintptr
  16694. Fnotice uintptr
  16695. Ffull_name uintptr
  16696. Ffamily_name uintptr
  16697. Fweight uintptr
  16698. Fitalic_angle TFT_Long
  16699. Fis_fixed_pitch TFT_Bool
  16700. Funderline_position TFT_Short
  16701. Funderline_thickness TFT_UShort
  16702. }
  16703. type TPS_FontInfoRec_ = TPS_FontInfoRec
  16704. type TPS_FontInfo = uintptr
  16705. type TT1_FontInfo = struct {
  16706. Fversion uintptr
  16707. Fnotice uintptr
  16708. Ffull_name uintptr
  16709. Ffamily_name uintptr
  16710. Fweight uintptr
  16711. Fitalic_angle TFT_Long
  16712. Fis_fixed_pitch TFT_Bool
  16713. Funderline_position TFT_Short
  16714. Funderline_thickness TFT_UShort
  16715. }
  16716. type TPS_PrivateRec = struct {
  16717. Funique_id TFT_Int
  16718. FlenIV TFT_Int
  16719. Fnum_blue_values TFT_Byte
  16720. Fnum_other_blues TFT_Byte
  16721. Fnum_family_blues TFT_Byte
  16722. Fnum_family_other_blues TFT_Byte
  16723. Fblue_values [14]TFT_Short
  16724. Fother_blues [10]TFT_Short
  16725. Ffamily_blues [14]TFT_Short
  16726. Ffamily_other_blues [10]TFT_Short
  16727. Fblue_scale TFT_Fixed
  16728. Fblue_shift TFT_Int
  16729. Fblue_fuzz TFT_Int
  16730. Fstandard_width [1]TFT_UShort
  16731. Fstandard_height [1]TFT_UShort
  16732. Fnum_snap_widths TFT_Byte
  16733. Fnum_snap_heights TFT_Byte
  16734. Fforce_bold TFT_Bool
  16735. Fround_stem_up TFT_Bool
  16736. Fsnap_widths [13]TFT_Short
  16737. Fsnap_heights [13]TFT_Short
  16738. Fexpansion_factor TFT_Fixed
  16739. Flanguage_group TFT_Long
  16740. Fpassword TFT_Long
  16741. Fmin_feature [2]TFT_Short
  16742. }
  16743. type TPS_PrivateRec_ = TPS_PrivateRec
  16744. type TPS_Private = uintptr
  16745. type TT1_Private = struct {
  16746. Funique_id TFT_Int
  16747. FlenIV TFT_Int
  16748. Fnum_blue_values TFT_Byte
  16749. Fnum_other_blues TFT_Byte
  16750. Fnum_family_blues TFT_Byte
  16751. Fnum_family_other_blues TFT_Byte
  16752. Fblue_values [14]TFT_Short
  16753. Fother_blues [10]TFT_Short
  16754. Ffamily_blues [14]TFT_Short
  16755. Ffamily_other_blues [10]TFT_Short
  16756. Fblue_scale TFT_Fixed
  16757. Fblue_shift TFT_Int
  16758. Fblue_fuzz TFT_Int
  16759. Fstandard_width [1]TFT_UShort
  16760. Fstandard_height [1]TFT_UShort
  16761. Fnum_snap_widths TFT_Byte
  16762. Fnum_snap_heights TFT_Byte
  16763. Fforce_bold TFT_Bool
  16764. Fround_stem_up TFT_Bool
  16765. Fsnap_widths [13]TFT_Short
  16766. Fsnap_heights [13]TFT_Short
  16767. Fexpansion_factor TFT_Fixed
  16768. Flanguage_group TFT_Long
  16769. Fpassword TFT_Long
  16770. Fmin_feature [2]TFT_Short
  16771. }
  16772. type TT1_Blend_Flags = int32
  16773. type _T1_Blend_Flags_ = int32
  16774. const _T1_BLEND_UNDERLINE_POSITION = 0
  16775. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  16776. const _T1_BLEND_ITALIC_ANGLE = 2
  16777. const _T1_BLEND_BLUE_VALUES = 3
  16778. const _T1_BLEND_OTHER_BLUES = 4
  16779. const _T1_BLEND_STANDARD_WIDTH = 5
  16780. const _T1_BLEND_STANDARD_HEIGHT = 6
  16781. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  16782. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  16783. const _T1_BLEND_BLUE_SCALE = 9
  16784. const _T1_BLEND_BLUE_SHIFT = 10
  16785. const _T1_BLEND_FAMILY_BLUES = 11
  16786. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  16787. const _T1_BLEND_FORCE_BOLD = 13
  16788. const _T1_BLEND_MAX = 14
  16789. type TPS_DesignMapRec = struct {
  16790. Fnum_points TFT_Byte
  16791. Fdesign_points uintptr
  16792. Fblend_points uintptr
  16793. }
  16794. type TPS_DesignMap_ = TPS_DesignMapRec
  16795. type TPS_DesignMap = uintptr
  16796. type TT1_DesignMap = struct {
  16797. Fnum_points TFT_Byte
  16798. Fdesign_points uintptr
  16799. Fblend_points uintptr
  16800. }
  16801. type TPS_BlendRec = struct {
  16802. Fnum_designs TFT_UInt
  16803. Fnum_axis TFT_UInt
  16804. Faxis_names [4]uintptr
  16805. Fdesign_pos [16]uintptr
  16806. Fdesign_map [4]TPS_DesignMapRec
  16807. Fweight_vector uintptr
  16808. Fdefault_weight_vector uintptr
  16809. Ffont_infos [17]TPS_FontInfo
  16810. Fprivates [17]TPS_Private
  16811. Fblend_bitflags TFT_ULong
  16812. Fbboxes [17]uintptr
  16813. Fdefault_design_vector [16]TFT_UInt
  16814. Fnum_default_design_vector TFT_UInt
  16815. }
  16816. type TPS_BlendRec_ = TPS_BlendRec
  16817. type TPS_Blend = uintptr
  16818. type TT1_Blend = struct {
  16819. Fnum_designs TFT_UInt
  16820. Fnum_axis TFT_UInt
  16821. Faxis_names [4]uintptr
  16822. Fdesign_pos [16]uintptr
  16823. Fdesign_map [4]TPS_DesignMapRec
  16824. Fweight_vector uintptr
  16825. Fdefault_weight_vector uintptr
  16826. Ffont_infos [17]TPS_FontInfo
  16827. Fprivates [17]TPS_Private
  16828. Fblend_bitflags TFT_ULong
  16829. Fbboxes [17]uintptr
  16830. Fdefault_design_vector [16]TFT_UInt
  16831. Fnum_default_design_vector TFT_UInt
  16832. }
  16833. type TCID_FaceDictRec = struct {
  16834. Fprivate_dict TPS_PrivateRec
  16835. Flen_buildchar TFT_UInt
  16836. Fforcebold_threshold TFT_Fixed
  16837. Fstroke_width TFT_Pos
  16838. Fexpansion_factor TFT_Fixed
  16839. Fpaint_type TFT_Byte
  16840. Ffont_type TFT_Byte
  16841. Ffont_matrix TFT_Matrix
  16842. Ffont_offset TFT_Vector
  16843. Fnum_subrs TFT_UInt
  16844. Fsubrmap_offset TFT_ULong
  16845. Fsd_bytes TFT_Int
  16846. }
  16847. type TCID_FaceDictRec_ = TCID_FaceDictRec
  16848. type TCID_FaceDict = uintptr
  16849. type TCID_FontDict = struct {
  16850. Fprivate_dict TPS_PrivateRec
  16851. Flen_buildchar TFT_UInt
  16852. Fforcebold_threshold TFT_Fixed
  16853. Fstroke_width TFT_Pos
  16854. Fexpansion_factor TFT_Fixed
  16855. Fpaint_type TFT_Byte
  16856. Ffont_type TFT_Byte
  16857. Ffont_matrix TFT_Matrix
  16858. Ffont_offset TFT_Vector
  16859. Fnum_subrs TFT_UInt
  16860. Fsubrmap_offset TFT_ULong
  16861. Fsd_bytes TFT_Int
  16862. }
  16863. type TCID_FaceInfoRec = struct {
  16864. Fcid_font_name uintptr
  16865. Fcid_version TFT_Fixed
  16866. Fcid_font_type TFT_Int
  16867. Fregistry uintptr
  16868. Fordering uintptr
  16869. Fsupplement TFT_Int
  16870. Ffont_info TPS_FontInfoRec
  16871. Ffont_bbox TFT_BBox
  16872. Fuid_base TFT_ULong
  16873. Fnum_xuid TFT_Int
  16874. Fxuid [16]TFT_ULong
  16875. Fcidmap_offset TFT_ULong
  16876. Ffd_bytes TFT_Int
  16877. Fgd_bytes TFT_Int
  16878. Fcid_count TFT_ULong
  16879. Fnum_dicts TFT_Int
  16880. Ffont_dicts TCID_FaceDict
  16881. Fdata_offset TFT_ULong
  16882. }
  16883. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  16884. type TCID_FaceInfo = uintptr
  16885. type TCID_Info = struct {
  16886. Fcid_font_name uintptr
  16887. Fcid_version TFT_Fixed
  16888. Fcid_font_type TFT_Int
  16889. Fregistry uintptr
  16890. Fordering uintptr
  16891. Fsupplement TFT_Int
  16892. Ffont_info TPS_FontInfoRec
  16893. Ffont_bbox TFT_BBox
  16894. Fuid_base TFT_ULong
  16895. Fnum_xuid TFT_Int
  16896. Fxuid [16]TFT_ULong
  16897. Fcidmap_offset TFT_ULong
  16898. Ffd_bytes TFT_Int
  16899. Fgd_bytes TFT_Int
  16900. Fcid_count TFT_ULong
  16901. Fnum_dicts TFT_Int
  16902. Ffont_dicts TCID_FaceDict
  16903. Fdata_offset TFT_ULong
  16904. }
  16905. type TT1_EncodingType = int32
  16906. type _T1_EncodingType_ = int32
  16907. const _T1_ENCODING_TYPE_NONE = 0
  16908. const _T1_ENCODING_TYPE_ARRAY = 1
  16909. const _T1_ENCODING_TYPE_STANDARD = 2
  16910. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  16911. const _T1_ENCODING_TYPE_EXPERT = 4
  16912. type TPS_Dict_Keys = int32
  16913. type _PS_Dict_Keys_ = int32
  16914. const _PS_DICT_FONT_TYPE = 0
  16915. const _PS_DICT_FONT_MATRIX = 1
  16916. const _PS_DICT_FONT_BBOX = 2
  16917. const _PS_DICT_PAINT_TYPE = 3
  16918. const _PS_DICT_FONT_NAME = 4
  16919. const _PS_DICT_UNIQUE_ID = 5
  16920. const _PS_DICT_NUM_CHAR_STRINGS = 6
  16921. const _PS_DICT_CHAR_STRING_KEY = 7
  16922. const _PS_DICT_CHAR_STRING = 8
  16923. const _PS_DICT_ENCODING_TYPE = 9
  16924. const _PS_DICT_ENCODING_ENTRY = 10
  16925. const _PS_DICT_NUM_SUBRS = 11
  16926. const _PS_DICT_SUBR = 12
  16927. const _PS_DICT_STD_HW = 13
  16928. const _PS_DICT_STD_VW = 14
  16929. const _PS_DICT_NUM_BLUE_VALUES = 15
  16930. const _PS_DICT_BLUE_VALUE = 16
  16931. const _PS_DICT_BLUE_FUZZ = 17
  16932. const _PS_DICT_NUM_OTHER_BLUES = 18
  16933. const _PS_DICT_OTHER_BLUE = 19
  16934. const _PS_DICT_NUM_FAMILY_BLUES = 20
  16935. const _PS_DICT_FAMILY_BLUE = 21
  16936. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  16937. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  16938. const _PS_DICT_BLUE_SCALE = 24
  16939. const _PS_DICT_BLUE_SHIFT = 25
  16940. const _PS_DICT_NUM_STEM_SNAP_H = 26
  16941. const _PS_DICT_STEM_SNAP_H = 27
  16942. const _PS_DICT_NUM_STEM_SNAP_V = 28
  16943. const _PS_DICT_STEM_SNAP_V = 29
  16944. const _PS_DICT_FORCE_BOLD = 30
  16945. const _PS_DICT_RND_STEM_UP = 31
  16946. const _PS_DICT_MIN_FEATURE = 32
  16947. const _PS_DICT_LEN_IV = 33
  16948. const _PS_DICT_PASSWORD = 34
  16949. const _PS_DICT_LANGUAGE_GROUP = 35
  16950. const _PS_DICT_VERSION = 36
  16951. const _PS_DICT_NOTICE = 37
  16952. const _PS_DICT_FULL_NAME = 38
  16953. const _PS_DICT_FAMILY_NAME = 39
  16954. const _PS_DICT_WEIGHT = 40
  16955. const _PS_DICT_IS_FIXED_PITCH = 41
  16956. const _PS_DICT_UNDERLINE_POSITION = 42
  16957. const _PS_DICT_UNDERLINE_THICKNESS = 43
  16958. const _PS_DICT_FS_TYPE = 44
  16959. const _PS_DICT_ITALIC_ANGLE = 45
  16960. const _PS_DICT_MAX = 45
  16961. type TBDF_PropertyType = int32
  16962. type _BDF_PropertyType_ = int32
  16963. const _BDF_PROPERTY_TYPE_NONE = 0
  16964. const _BDF_PROPERTY_TYPE_ATOM = 1
  16965. const _BDF_PROPERTY_TYPE_INTEGER = 2
  16966. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  16967. type TBDF_Property = uintptr
  16968. type TBDF_PropertyRec_ = struct {
  16969. Ftype1 TBDF_PropertyType
  16970. Fu struct {
  16971. Finteger [0]TFT_Int32
  16972. Fcardinal [0]TFT_UInt32
  16973. Fatom uintptr
  16974. }
  16975. }
  16976. type TBDF_PropertyRec = struct {
  16977. Ftype1 TBDF_PropertyType
  16978. Fu struct {
  16979. Finteger [0]TFT_Int32
  16980. Fcardinal [0]TFT_UInt32
  16981. Fatom uintptr
  16982. }
  16983. }
  16984. type TFT_Module_Interface = uintptr
  16985. type TFT_Module_Constructor = uintptr
  16986. type TFT_Module_Destructor = uintptr
  16987. type TFT_Module_Requester = uintptr
  16988. type TFT_Module_Class = struct {
  16989. Fmodule_flags TFT_ULong
  16990. Fmodule_size TFT_Long
  16991. Fmodule_name uintptr
  16992. Fmodule_version TFT_Fixed
  16993. Fmodule_requires TFT_Fixed
  16994. Fmodule_interface uintptr
  16995. Fmodule_init TFT_Module_Constructor
  16996. Fmodule_done TFT_Module_Destructor
  16997. Fget_interface TFT_Module_Requester
  16998. }
  16999. type TFT_Module_Class_ = TFT_Module_Class
  17000. type TFT_DebugHook_Func = uintptr
  17001. type TFT_TrueTypeEngineType = int32
  17002. type _FT_TrueTypeEngineType_ = int32
  17003. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  17004. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  17005. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  17006. type TFT_MM_Axis = struct {
  17007. Fname uintptr
  17008. Fminimum TFT_Long
  17009. Fmaximum TFT_Long
  17010. }
  17011. type TFT_MM_Axis_ = TFT_MM_Axis
  17012. type TFT_Multi_Master = struct {
  17013. Fnum_axis TFT_UInt
  17014. Fnum_designs TFT_UInt
  17015. Faxis [4]TFT_MM_Axis
  17016. }
  17017. type TFT_Multi_Master_ = TFT_Multi_Master
  17018. type TFT_Var_Axis = struct {
  17019. Fname uintptr
  17020. Fminimum TFT_Fixed
  17021. Fdef TFT_Fixed
  17022. Fmaximum TFT_Fixed
  17023. Ftag TFT_ULong
  17024. Fstrid TFT_UInt
  17025. }
  17026. type TFT_Var_Axis_ = TFT_Var_Axis
  17027. type TFT_Var_Named_Style = struct {
  17028. Fcoords uintptr
  17029. Fstrid TFT_UInt
  17030. Fpsid TFT_UInt
  17031. }
  17032. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  17033. type TFT_MM_Var = struct {
  17034. Fnum_axis TFT_UInt
  17035. Fnum_designs TFT_UInt
  17036. Fnum_namedstyles TFT_UInt
  17037. Faxis uintptr
  17038. Fnamedstyle uintptr
  17039. }
  17040. type TFT_MM_Var_ = TFT_MM_Var
  17041. var _FcNoticeFoundries = [18][2]uintptr{
  17042. 0: {
  17043. 0: __ccgo_ts + 3522,
  17044. 1: __ccgo_ts + 3528,
  17045. },
  17046. 1: {
  17047. 0: __ccgo_ts + 3534,
  17048. 1: __ccgo_ts + 3542,
  17049. },
  17050. 2: {
  17051. 0: __ccgo_ts + 3546,
  17052. 1: __ccgo_ts + 3556,
  17053. },
  17054. 3: {
  17055. 0: __ccgo_ts + 3566,
  17056. 1: __ccgo_ts + 3571,
  17057. },
  17058. 4: {
  17059. 0: __ccgo_ts + 3578,
  17060. 1: __ccgo_ts + 3571,
  17061. },
  17062. 5: {
  17063. 0: __ccgo_ts + 3584,
  17064. 1: __ccgo_ts + 3599,
  17065. },
  17066. 6: {
  17067. 0: __ccgo_ts + 3607,
  17068. 1: __ccgo_ts + 3614,
  17069. },
  17070. 7: {
  17071. 0: __ccgo_ts + 3619,
  17072. 1: __ccgo_ts + 3623,
  17073. },
  17074. 8: {
  17075. 0: __ccgo_ts + 3627,
  17076. 1: __ccgo_ts + 3662,
  17077. },
  17078. 9: {
  17079. 0: __ccgo_ts + 3666,
  17080. 1: __ccgo_ts + 3675,
  17081. },
  17082. 10: {
  17083. 0: __ccgo_ts + 3684,
  17084. 1: __ccgo_ts + 3675,
  17085. },
  17086. 11: {
  17087. 0: __ccgo_ts + 3698,
  17088. 1: __ccgo_ts + 3708,
  17089. },
  17090. 12: {
  17091. 0: __ccgo_ts + 3718,
  17092. 1: __ccgo_ts + 3727,
  17093. },
  17094. 13: {
  17095. 0: __ccgo_ts + 3736,
  17096. 1: __ccgo_ts + 3742,
  17097. },
  17098. 14: {
  17099. 0: __ccgo_ts + 3748,
  17100. 1: __ccgo_ts + 3763,
  17101. },
  17102. 15: {
  17103. 0: __ccgo_ts + 3768,
  17104. 1: __ccgo_ts + 3772,
  17105. },
  17106. 16: {
  17107. 0: __ccgo_ts + 3776,
  17108. 1: __ccgo_ts + 3784,
  17109. },
  17110. 17: {
  17111. 0: __ccgo_ts + 3792,
  17112. 1: __ccgo_ts + 3797,
  17113. },
  17114. }
  17115. /*
  17116. * Keep Han languages separated by eliminating languages
  17117. * that the codePageRange bits says aren't supported
  17118. */
  17119. var _FcCodePageRange = [4]struct {
  17120. Fbit int8
  17121. Flang [6]TFcChar8
  17122. }{
  17123. 0: {
  17124. Fbit: int8(17),
  17125. Flang: [6]TFcChar8{'j', 'a'},
  17126. },
  17127. 1: {
  17128. Fbit: int8(18),
  17129. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  17130. },
  17131. 2: {
  17132. Fbit: int8(19),
  17133. Flang: [6]TFcChar8{'k', 'o'},
  17134. },
  17135. 3: {
  17136. Fbit: int8(20),
  17137. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  17138. },
  17139. }
  17140. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  17141. var i int32
  17142. _ = i
  17143. i = 0
  17144. for {
  17145. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  17146. break
  17147. }
  17148. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  17149. return int32(m_FcTrue)
  17150. }
  17151. goto _1
  17152. _1:
  17153. ;
  17154. i++
  17155. }
  17156. return m_FcFalse
  17157. }
  17158. type TFcFtEncoding = struct {
  17159. Fplatform_id TFT_UShort
  17160. Fencoding_id TFT_UShort
  17161. Ffromcode [12]int8
  17162. }
  17163. var _fcFtEncoding = [14]TFcFtEncoding{
  17164. 0: {
  17165. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  17166. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17167. },
  17168. 1: {
  17169. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17170. Ffromcode: [12]int8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  17171. },
  17172. 2: {
  17173. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17174. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  17175. Ffromcode: [12]int8{'S', 'J', 'I', 'S'},
  17176. },
  17177. 3: {
  17178. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17179. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17180. },
  17181. 4: {
  17182. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17183. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  17184. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17185. },
  17186. 5: {
  17187. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17188. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  17189. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  17190. },
  17191. 6: {
  17192. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17193. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  17194. Ffromcode: [12]int8{'G', 'B', '2', '3', '1', '2'},
  17195. },
  17196. 7: {
  17197. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17198. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  17199. Ffromcode: [12]int8{'B', 'I', 'G', '-', '5'},
  17200. },
  17201. 8: {
  17202. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17203. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  17204. Ffromcode: [12]int8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  17205. },
  17206. 9: {
  17207. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17208. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  17209. Ffromcode: [12]int8{'J', 'o', 'h', 'a', 'b'},
  17210. },
  17211. 10: {
  17212. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17213. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  17214. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17215. },
  17216. 11: {
  17217. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17218. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  17219. },
  17220. 12: {
  17221. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17222. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  17223. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  17224. },
  17225. 13: {
  17226. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  17227. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  17228. Ffromcode: [12]int8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  17229. },
  17230. }
  17231. type TFcFtLanguage = struct {
  17232. Fplatform_id TFT_UShort
  17233. Flanguage_id TFT_UShort
  17234. Flang [8]int8
  17235. }
  17236. var _fcFtLanguage = [335]TFcFtLanguage{
  17237. 0: {
  17238. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  17239. Flang: [8]int8{},
  17240. },
  17241. 1: {
  17242. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17243. Flang: [8]int8{'e', 'n'},
  17244. },
  17245. 2: {
  17246. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17247. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  17248. Flang: [8]int8{'f', 'r'},
  17249. },
  17250. 3: {
  17251. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17252. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  17253. Flang: [8]int8{'d', 'e'},
  17254. },
  17255. 4: {
  17256. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17257. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  17258. Flang: [8]int8{'i', 't'},
  17259. },
  17260. 5: {
  17261. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17262. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  17263. Flang: [8]int8{'n', 'l'},
  17264. },
  17265. 6: {
  17266. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17267. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  17268. Flang: [8]int8{'s', 'v'},
  17269. },
  17270. 7: {
  17271. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17272. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  17273. Flang: [8]int8{'e', 's'},
  17274. },
  17275. 8: {
  17276. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17277. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  17278. Flang: [8]int8{'d', 'a'},
  17279. },
  17280. 9: {
  17281. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17282. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  17283. Flang: [8]int8{'p', 't'},
  17284. },
  17285. 10: {
  17286. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17287. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  17288. Flang: [8]int8{'n', 'o'},
  17289. },
  17290. 11: {
  17291. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17292. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  17293. Flang: [8]int8{'h', 'e'},
  17294. },
  17295. 12: {
  17296. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17297. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  17298. Flang: [8]int8{'j', 'a'},
  17299. },
  17300. 13: {
  17301. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17302. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  17303. Flang: [8]int8{'a', 'r'},
  17304. },
  17305. 14: {
  17306. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17307. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  17308. Flang: [8]int8{'f', 'i'},
  17309. },
  17310. 15: {
  17311. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17312. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  17313. Flang: [8]int8{'e', 'l'},
  17314. },
  17315. 16: {
  17316. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17317. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  17318. Flang: [8]int8{'i', 's'},
  17319. },
  17320. 17: {
  17321. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17322. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  17323. Flang: [8]int8{'m', 't'},
  17324. },
  17325. 18: {
  17326. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17327. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  17328. Flang: [8]int8{'t', 'r'},
  17329. },
  17330. 19: {
  17331. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17332. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  17333. Flang: [8]int8{'h', 'r'},
  17334. },
  17335. 20: {
  17336. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17337. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  17338. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  17339. },
  17340. 21: {
  17341. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17342. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  17343. Flang: [8]int8{'u', 'r'},
  17344. },
  17345. 22: {
  17346. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17347. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  17348. Flang: [8]int8{'h', 'i'},
  17349. },
  17350. 23: {
  17351. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17352. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  17353. Flang: [8]int8{'t', 'h'},
  17354. },
  17355. 24: {
  17356. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17357. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  17358. Flang: [8]int8{'k', 'o'},
  17359. },
  17360. 25: {
  17361. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17362. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  17363. Flang: [8]int8{'l', 't'},
  17364. },
  17365. 26: {
  17366. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17367. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  17368. Flang: [8]int8{'p', 'l'},
  17369. },
  17370. 27: {
  17371. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17372. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  17373. Flang: [8]int8{'h', 'u'},
  17374. },
  17375. 28: {
  17376. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17377. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  17378. Flang: [8]int8{'e', 't'},
  17379. },
  17380. 29: {
  17381. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17382. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  17383. Flang: [8]int8{'l', 'v'},
  17384. },
  17385. 30: {
  17386. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17387. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  17388. Flang: [8]int8{'f', 'o'},
  17389. },
  17390. 31: {
  17391. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17392. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  17393. Flang: [8]int8{'f', 'a'},
  17394. },
  17395. 32: {
  17396. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17397. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  17398. Flang: [8]int8{'r', 'u'},
  17399. },
  17400. 33: {
  17401. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17402. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  17403. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  17404. },
  17405. 34: {
  17406. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17407. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  17408. Flang: [8]int8{'n', 'l'},
  17409. },
  17410. 35: {
  17411. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17412. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  17413. Flang: [8]int8{'g', 'a'},
  17414. },
  17415. 36: {
  17416. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17417. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  17418. Flang: [8]int8{'s', 'q'},
  17419. },
  17420. 37: {
  17421. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17422. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  17423. Flang: [8]int8{'r', 'o'},
  17424. },
  17425. 38: {
  17426. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17427. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  17428. Flang: [8]int8{'c', 's'},
  17429. },
  17430. 39: {
  17431. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17432. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  17433. Flang: [8]int8{'s', 'k'},
  17434. },
  17435. 40: {
  17436. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17437. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  17438. Flang: [8]int8{'s', 'l'},
  17439. },
  17440. 41: {
  17441. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17442. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  17443. Flang: [8]int8{'y', 'i'},
  17444. },
  17445. 42: {
  17446. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17447. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  17448. Flang: [8]int8{'s', 'r'},
  17449. },
  17450. 43: {
  17451. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17452. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  17453. Flang: [8]int8{'m', 'k'},
  17454. },
  17455. 44: {
  17456. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17457. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  17458. Flang: [8]int8{'b', 'g'},
  17459. },
  17460. 45: {
  17461. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17462. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  17463. Flang: [8]int8{'u', 'k'},
  17464. },
  17465. 46: {
  17466. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17467. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  17468. Flang: [8]int8{'b', 'e'},
  17469. },
  17470. 47: {
  17471. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17472. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  17473. Flang: [8]int8{'u', 'z'},
  17474. },
  17475. 48: {
  17476. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17477. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  17478. Flang: [8]int8{'k', 'k'},
  17479. },
  17480. 49: {
  17481. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17482. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  17483. Flang: [8]int8{'a', 'z'},
  17484. },
  17485. 50: {
  17486. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17487. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  17488. Flang: [8]int8{'a', 'z'},
  17489. },
  17490. 51: {
  17491. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17492. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  17493. Flang: [8]int8{'a', 'r'},
  17494. },
  17495. 52: {
  17496. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17497. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  17498. Flang: [8]int8{'h', 'y'},
  17499. },
  17500. 53: {
  17501. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17502. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  17503. Flang: [8]int8{'k', 'a'},
  17504. },
  17505. 54: {
  17506. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17507. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  17508. Flang: [8]int8{'m', 'o'},
  17509. },
  17510. 55: {
  17511. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17512. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  17513. Flang: [8]int8{'k', 'y'},
  17514. },
  17515. 56: {
  17516. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17517. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  17518. Flang: [8]int8{'t', 'g'},
  17519. },
  17520. 57: {
  17521. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17522. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  17523. Flang: [8]int8{'t', 'k'},
  17524. },
  17525. 58: {
  17526. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17527. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  17528. Flang: [8]int8{'m', 'n'},
  17529. },
  17530. 59: {
  17531. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17532. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  17533. Flang: [8]int8{'m', 'n'},
  17534. },
  17535. 60: {
  17536. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17537. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  17538. Flang: [8]int8{'m', 'n'},
  17539. },
  17540. 61: {
  17541. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17542. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  17543. Flang: [8]int8{'p', 's'},
  17544. },
  17545. 62: {
  17546. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17547. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  17548. Flang: [8]int8{'k', 'u'},
  17549. },
  17550. 63: {
  17551. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17552. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  17553. Flang: [8]int8{'k', 's'},
  17554. },
  17555. 64: {
  17556. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17557. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  17558. Flang: [8]int8{'s', 'd'},
  17559. },
  17560. 65: {
  17561. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17562. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  17563. Flang: [8]int8{'b', 'o'},
  17564. },
  17565. 66: {
  17566. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17567. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  17568. Flang: [8]int8{'n', 'e'},
  17569. },
  17570. 67: {
  17571. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17572. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  17573. Flang: [8]int8{'s', 'a'},
  17574. },
  17575. 68: {
  17576. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17577. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  17578. Flang: [8]int8{'m', 'r'},
  17579. },
  17580. 69: {
  17581. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17582. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  17583. Flang: [8]int8{'b', 'n'},
  17584. },
  17585. 70: {
  17586. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17587. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  17588. Flang: [8]int8{'a', 's'},
  17589. },
  17590. 71: {
  17591. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17592. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  17593. Flang: [8]int8{'g', 'u'},
  17594. },
  17595. 72: {
  17596. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17597. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  17598. Flang: [8]int8{'p', 'a'},
  17599. },
  17600. 73: {
  17601. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17602. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  17603. Flang: [8]int8{'o', 'r'},
  17604. },
  17605. 74: {
  17606. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17607. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  17608. Flang: [8]int8{'m', 'l'},
  17609. },
  17610. 75: {
  17611. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17612. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  17613. Flang: [8]int8{'k', 'n'},
  17614. },
  17615. 76: {
  17616. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17617. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  17618. Flang: [8]int8{'t', 'a'},
  17619. },
  17620. 77: {
  17621. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17622. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  17623. Flang: [8]int8{'t', 'e'},
  17624. },
  17625. 78: {
  17626. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17627. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  17628. Flang: [8]int8{'s', 'i'},
  17629. },
  17630. 79: {
  17631. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17632. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  17633. Flang: [8]int8{'m', 'y'},
  17634. },
  17635. 80: {
  17636. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17637. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  17638. Flang: [8]int8{'k', 'm'},
  17639. },
  17640. 81: {
  17641. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17642. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  17643. Flang: [8]int8{'l', 'o'},
  17644. },
  17645. 82: {
  17646. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17647. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  17648. Flang: [8]int8{'v', 'i'},
  17649. },
  17650. 83: {
  17651. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17652. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  17653. Flang: [8]int8{'i', 'd'},
  17654. },
  17655. 84: {
  17656. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17657. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  17658. Flang: [8]int8{'t', 'l'},
  17659. },
  17660. 85: {
  17661. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17662. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  17663. Flang: [8]int8{'m', 's'},
  17664. },
  17665. 86: {
  17666. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17667. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  17668. Flang: [8]int8{'m', 's'},
  17669. },
  17670. 87: {
  17671. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17672. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  17673. Flang: [8]int8{'a', 'm'},
  17674. },
  17675. 88: {
  17676. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17677. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  17678. Flang: [8]int8{'t', 'i'},
  17679. },
  17680. 89: {
  17681. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17682. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  17683. Flang: [8]int8{'o', 'm'},
  17684. },
  17685. 90: {
  17686. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17687. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  17688. Flang: [8]int8{'s', 'o'},
  17689. },
  17690. 91: {
  17691. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17692. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  17693. Flang: [8]int8{'s', 'w'},
  17694. },
  17695. 92: {
  17696. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17697. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  17698. Flang: [8]int8{'r', 'w'},
  17699. },
  17700. 93: {
  17701. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17702. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  17703. Flang: [8]int8{'r', 'n'},
  17704. },
  17705. 94: {
  17706. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17707. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  17708. Flang: [8]int8{'n', 'y'},
  17709. },
  17710. 95: {
  17711. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17712. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  17713. Flang: [8]int8{'m', 'g'},
  17714. },
  17715. 96: {
  17716. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17717. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  17718. Flang: [8]int8{'e', 'o'},
  17719. },
  17720. 97: {
  17721. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17722. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  17723. Flang: [8]int8{'c', 'y'},
  17724. },
  17725. 98: {
  17726. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17727. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  17728. Flang: [8]int8{'e', 'u'},
  17729. },
  17730. 99: {
  17731. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17732. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  17733. Flang: [8]int8{'c', 'a'},
  17734. },
  17735. 100: {
  17736. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17737. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  17738. Flang: [8]int8{'l', 'a'},
  17739. },
  17740. 101: {
  17741. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17742. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  17743. Flang: [8]int8{'q', 'u'},
  17744. },
  17745. 102: {
  17746. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17747. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  17748. Flang: [8]int8{'g', 'n'},
  17749. },
  17750. 103: {
  17751. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17752. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  17753. Flang: [8]int8{'a', 'y'},
  17754. },
  17755. 104: {
  17756. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17757. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  17758. Flang: [8]int8{'t', 't'},
  17759. },
  17760. 105: {
  17761. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17762. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  17763. Flang: [8]int8{'u', 'g'},
  17764. },
  17765. 106: {
  17766. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17767. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  17768. Flang: [8]int8{'d', 'z'},
  17769. },
  17770. 107: {
  17771. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17772. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  17773. Flang: [8]int8{'j', 'w'},
  17774. },
  17775. 108: {
  17776. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17777. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  17778. Flang: [8]int8{'s', 'u'},
  17779. },
  17780. 109: {
  17781. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17782. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  17783. Flang: [8]int8{'g', 'l'},
  17784. },
  17785. 110: {
  17786. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17787. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  17788. Flang: [8]int8{'a', 'f'},
  17789. },
  17790. 111: {
  17791. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17792. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  17793. Flang: [8]int8{'b', 'r'},
  17794. },
  17795. 112: {
  17796. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17797. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  17798. Flang: [8]int8{'i', 'u'},
  17799. },
  17800. 113: {
  17801. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17802. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  17803. Flang: [8]int8{'g', 'd'},
  17804. },
  17805. 114: {
  17806. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17807. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  17808. Flang: [8]int8{'g', 'v'},
  17809. },
  17810. 115: {
  17811. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17812. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  17813. Flang: [8]int8{'g', 'a'},
  17814. },
  17815. 116: {
  17816. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17817. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  17818. Flang: [8]int8{'t', 'o'},
  17819. },
  17820. 117: {
  17821. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17822. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  17823. Flang: [8]int8{'e', 'l'},
  17824. },
  17825. 118: {
  17826. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17827. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  17828. Flang: [8]int8{'i', 'k'},
  17829. },
  17830. 119: {
  17831. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17832. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  17833. Flang: [8]int8{'a', 'z'},
  17834. },
  17835. 120: {
  17836. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17837. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  17838. Flang: [8]int8{'a', 'r'},
  17839. },
  17840. 121: {
  17841. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17842. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  17843. Flang: [8]int8{'a', 'r'},
  17844. },
  17845. 122: {
  17846. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17847. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  17848. Flang: [8]int8{'a', 'r'},
  17849. },
  17850. 123: {
  17851. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17852. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  17853. Flang: [8]int8{'a', 'r'},
  17854. },
  17855. 124: {
  17856. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17857. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  17858. Flang: [8]int8{'a', 'r'},
  17859. },
  17860. 125: {
  17861. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17862. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  17863. Flang: [8]int8{'a', 'r'},
  17864. },
  17865. 126: {
  17866. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17867. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  17868. Flang: [8]int8{'a', 'r'},
  17869. },
  17870. 127: {
  17871. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17872. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  17873. Flang: [8]int8{'a', 'r'},
  17874. },
  17875. 128: {
  17876. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17877. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  17878. Flang: [8]int8{'a', 'r'},
  17879. },
  17880. 129: {
  17881. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17882. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  17883. Flang: [8]int8{'a', 'r'},
  17884. },
  17885. 130: {
  17886. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17887. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  17888. Flang: [8]int8{'a', 'r'},
  17889. },
  17890. 131: {
  17891. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17892. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  17893. Flang: [8]int8{'a', 'r'},
  17894. },
  17895. 132: {
  17896. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17897. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  17898. Flang: [8]int8{'a', 'r'},
  17899. },
  17900. 133: {
  17901. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17902. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  17903. Flang: [8]int8{'a', 'r'},
  17904. },
  17905. 134: {
  17906. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17907. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  17908. Flang: [8]int8{'a', 'r'},
  17909. },
  17910. 135: {
  17911. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17912. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  17913. Flang: [8]int8{'a', 'r'},
  17914. },
  17915. 136: {
  17916. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17917. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  17918. Flang: [8]int8{'b', 'g'},
  17919. },
  17920. 137: {
  17921. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17922. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  17923. Flang: [8]int8{'c', 'a'},
  17924. },
  17925. 138: {
  17926. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17927. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  17928. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  17929. },
  17930. 139: {
  17931. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17932. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  17933. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  17934. },
  17935. 140: {
  17936. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17937. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  17938. Flang: [8]int8{'z', 'h', '-', 'h', 'k'},
  17939. },
  17940. 141: {
  17941. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17942. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  17943. Flang: [8]int8{'z', 'h', '-', 's', 'g'},
  17944. },
  17945. 142: {
  17946. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17947. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  17948. Flang: [8]int8{'z', 'h', '-', 'm', 'o'},
  17949. },
  17950. 143: {
  17951. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17952. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  17953. Flang: [8]int8{'c', 's'},
  17954. },
  17955. 144: {
  17956. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17957. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  17958. Flang: [8]int8{'d', 'a'},
  17959. },
  17960. 145: {
  17961. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17962. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  17963. Flang: [8]int8{'d', 'e'},
  17964. },
  17965. 146: {
  17966. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17967. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  17968. Flang: [8]int8{'d', 'e'},
  17969. },
  17970. 147: {
  17971. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17972. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  17973. Flang: [8]int8{'d', 'e'},
  17974. },
  17975. 148: {
  17976. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17977. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  17978. Flang: [8]int8{'d', 'e'},
  17979. },
  17980. 149: {
  17981. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17982. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  17983. Flang: [8]int8{'d', 'e'},
  17984. },
  17985. 150: {
  17986. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17987. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  17988. Flang: [8]int8{'e', 'l'},
  17989. },
  17990. 151: {
  17991. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17992. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  17993. Flang: [8]int8{'e', 'n'},
  17994. },
  17995. 152: {
  17996. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17997. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  17998. Flang: [8]int8{'e', 'n'},
  17999. },
  18000. 153: {
  18001. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18002. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  18003. Flang: [8]int8{'e', 'n'},
  18004. },
  18005. 154: {
  18006. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18007. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  18008. Flang: [8]int8{'e', 'n'},
  18009. },
  18010. 155: {
  18011. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18012. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  18013. Flang: [8]int8{'e', 'n'},
  18014. },
  18015. 156: {
  18016. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18017. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  18018. Flang: [8]int8{'e', 'n'},
  18019. },
  18020. 157: {
  18021. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18022. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  18023. Flang: [8]int8{'e', 'n'},
  18024. },
  18025. 158: {
  18026. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18027. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  18028. Flang: [8]int8{'e', 'n'},
  18029. },
  18030. 159: {
  18031. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18032. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  18033. Flang: [8]int8{'e', 'n'},
  18034. },
  18035. 160: {
  18036. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18037. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  18038. Flang: [8]int8{'e', 'n'},
  18039. },
  18040. 161: {
  18041. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18042. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  18043. Flang: [8]int8{'e', 'n'},
  18044. },
  18045. 162: {
  18046. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18047. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  18048. Flang: [8]int8{'e', 'n'},
  18049. },
  18050. 163: {
  18051. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18052. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  18053. Flang: [8]int8{'e', 'n'},
  18054. },
  18055. 164: {
  18056. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18057. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  18058. Flang: [8]int8{'e', 's'},
  18059. },
  18060. 165: {
  18061. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18062. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  18063. Flang: [8]int8{'e', 's'},
  18064. },
  18065. 166: {
  18066. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18067. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  18068. Flang: [8]int8{'e', 's'},
  18069. },
  18070. 167: {
  18071. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18072. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  18073. Flang: [8]int8{'e', 's'},
  18074. },
  18075. 168: {
  18076. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18077. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  18078. Flang: [8]int8{'e', 's'},
  18079. },
  18080. 169: {
  18081. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18082. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  18083. Flang: [8]int8{'e', 's'},
  18084. },
  18085. 170: {
  18086. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18087. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  18088. Flang: [8]int8{'e', 's'},
  18089. },
  18090. 171: {
  18091. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18092. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  18093. Flang: [8]int8{'e', 's'},
  18094. },
  18095. 172: {
  18096. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18097. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  18098. Flang: [8]int8{'e', 's'},
  18099. },
  18100. 173: {
  18101. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18102. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  18103. Flang: [8]int8{'e', 's'},
  18104. },
  18105. 174: {
  18106. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18107. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  18108. Flang: [8]int8{'e', 's'},
  18109. },
  18110. 175: {
  18111. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18112. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  18113. Flang: [8]int8{'e', 's'},
  18114. },
  18115. 176: {
  18116. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18117. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  18118. Flang: [8]int8{'e', 's'},
  18119. },
  18120. 177: {
  18121. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18122. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  18123. Flang: [8]int8{'e', 's'},
  18124. },
  18125. 178: {
  18126. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18127. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  18128. Flang: [8]int8{'e', 's'},
  18129. },
  18130. 179: {
  18131. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18132. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  18133. Flang: [8]int8{'e', 's'},
  18134. },
  18135. 180: {
  18136. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18137. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  18138. Flang: [8]int8{'e', 's'},
  18139. },
  18140. 181: {
  18141. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18142. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  18143. Flang: [8]int8{'e', 's'},
  18144. },
  18145. 182: {
  18146. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18147. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  18148. Flang: [8]int8{'e', 's'},
  18149. },
  18150. 183: {
  18151. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18152. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  18153. Flang: [8]int8{'e', 's'},
  18154. },
  18155. 184: {
  18156. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18157. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  18158. Flang: [8]int8{'f', 'i'},
  18159. },
  18160. 185: {
  18161. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18162. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  18163. Flang: [8]int8{'f', 'r'},
  18164. },
  18165. 186: {
  18166. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18167. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  18168. Flang: [8]int8{'f', 'r'},
  18169. },
  18170. 187: {
  18171. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18172. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  18173. Flang: [8]int8{'f', 'r'},
  18174. },
  18175. 188: {
  18176. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18177. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  18178. Flang: [8]int8{'f', 'r'},
  18179. },
  18180. 189: {
  18181. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18182. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  18183. Flang: [8]int8{'f', 'r'},
  18184. },
  18185. 190: {
  18186. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18187. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  18188. Flang: [8]int8{'f', 'r'},
  18189. },
  18190. 191: {
  18191. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18192. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  18193. Flang: [8]int8{'h', 'e'},
  18194. },
  18195. 192: {
  18196. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18197. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  18198. Flang: [8]int8{'h', 'u'},
  18199. },
  18200. 193: {
  18201. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18202. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  18203. Flang: [8]int8{'i', 's'},
  18204. },
  18205. 194: {
  18206. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18207. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  18208. Flang: [8]int8{'i', 't'},
  18209. },
  18210. 195: {
  18211. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18212. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  18213. Flang: [8]int8{'i', 't'},
  18214. },
  18215. 196: {
  18216. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18217. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  18218. Flang: [8]int8{'j', 'a'},
  18219. },
  18220. 197: {
  18221. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18222. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  18223. Flang: [8]int8{'k', 'o'},
  18224. },
  18225. 198: {
  18226. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18227. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  18228. Flang: [8]int8{'k', 'o'},
  18229. },
  18230. 199: {
  18231. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18232. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  18233. Flang: [8]int8{'n', 'l'},
  18234. },
  18235. 200: {
  18236. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18237. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  18238. Flang: [8]int8{'n', 'l'},
  18239. },
  18240. 201: {
  18241. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18242. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  18243. Flang: [8]int8{'n', 'o'},
  18244. },
  18245. 202: {
  18246. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18247. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  18248. Flang: [8]int8{'n', 'n'},
  18249. },
  18250. 203: {
  18251. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18252. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  18253. Flang: [8]int8{'p', 'l'},
  18254. },
  18255. 204: {
  18256. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18257. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  18258. Flang: [8]int8{'p', 't'},
  18259. },
  18260. 205: {
  18261. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18262. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  18263. Flang: [8]int8{'p', 't'},
  18264. },
  18265. 206: {
  18266. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18267. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  18268. Flang: [8]int8{'r', 'm'},
  18269. },
  18270. 207: {
  18271. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18272. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  18273. Flang: [8]int8{'r', 'o'},
  18274. },
  18275. 208: {
  18276. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18277. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  18278. Flang: [8]int8{'m', 'o'},
  18279. },
  18280. 209: {
  18281. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18282. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  18283. Flang: [8]int8{'r', 'u'},
  18284. },
  18285. 210: {
  18286. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18287. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  18288. Flang: [8]int8{'r', 'u'},
  18289. },
  18290. 211: {
  18291. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18292. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  18293. Flang: [8]int8{'h', 'r'},
  18294. },
  18295. 212: {
  18296. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18297. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  18298. Flang: [8]int8{'s', 'r'},
  18299. },
  18300. 213: {
  18301. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18302. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  18303. Flang: [8]int8{'s', 'r'},
  18304. },
  18305. 214: {
  18306. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18307. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  18308. Flang: [8]int8{'s', 'k'},
  18309. },
  18310. 215: {
  18311. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18312. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  18313. Flang: [8]int8{'s', 'q'},
  18314. },
  18315. 216: {
  18316. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18317. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  18318. Flang: [8]int8{'s', 'v'},
  18319. },
  18320. 217: {
  18321. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18322. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  18323. Flang: [8]int8{'s', 'v'},
  18324. },
  18325. 218: {
  18326. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18327. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  18328. Flang: [8]int8{'t', 'h'},
  18329. },
  18330. 219: {
  18331. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18332. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  18333. Flang: [8]int8{'t', 'r'},
  18334. },
  18335. 220: {
  18336. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18337. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  18338. Flang: [8]int8{'u', 'r'},
  18339. },
  18340. 221: {
  18341. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18342. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  18343. Flang: [8]int8{'i', 'd'},
  18344. },
  18345. 222: {
  18346. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18347. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  18348. Flang: [8]int8{'u', 'k'},
  18349. },
  18350. 223: {
  18351. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18352. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  18353. Flang: [8]int8{'b', 'e'},
  18354. },
  18355. 224: {
  18356. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18357. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  18358. Flang: [8]int8{'s', 'l'},
  18359. },
  18360. 225: {
  18361. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18362. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  18363. Flang: [8]int8{'e', 't'},
  18364. },
  18365. 226: {
  18366. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18367. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  18368. Flang: [8]int8{'l', 'v'},
  18369. },
  18370. 227: {
  18371. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18372. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  18373. Flang: [8]int8{'l', 't'},
  18374. },
  18375. 228: {
  18376. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18377. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  18378. Flang: [8]int8{'l', 't'},
  18379. },
  18380. 229: {
  18381. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18382. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  18383. Flang: [8]int8{'m', 'i'},
  18384. },
  18385. 230: {
  18386. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18387. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  18388. Flang: [8]int8{'f', 'a'},
  18389. },
  18390. 231: {
  18391. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18392. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  18393. Flang: [8]int8{'v', 'i'},
  18394. },
  18395. 232: {
  18396. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18397. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  18398. Flang: [8]int8{'h', 'y'},
  18399. },
  18400. 233: {
  18401. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18402. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  18403. Flang: [8]int8{'a', 'z'},
  18404. },
  18405. 234: {
  18406. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18407. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  18408. Flang: [8]int8{'a', 'z'},
  18409. },
  18410. 235: {
  18411. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18412. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  18413. Flang: [8]int8{'e', 'u'},
  18414. },
  18415. 236: {
  18416. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18417. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  18418. Flang: [8]int8{'w', 'e', 'n'},
  18419. },
  18420. 237: {
  18421. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18422. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  18423. Flang: [8]int8{'m', 'k'},
  18424. },
  18425. 238: {
  18426. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18427. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  18428. Flang: [8]int8{'s', 't'},
  18429. },
  18430. 239: {
  18431. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18432. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  18433. Flang: [8]int8{'t', 's'},
  18434. },
  18435. 240: {
  18436. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18437. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  18438. Flang: [8]int8{'t', 'n'},
  18439. },
  18440. 241: {
  18441. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18442. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  18443. Flang: [8]int8{'v', 'e', 'n'},
  18444. },
  18445. 242: {
  18446. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18447. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  18448. Flang: [8]int8{'x', 'h'},
  18449. },
  18450. 243: {
  18451. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18452. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  18453. Flang: [8]int8{'z', 'u'},
  18454. },
  18455. 244: {
  18456. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18457. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  18458. Flang: [8]int8{'a', 'f'},
  18459. },
  18460. 245: {
  18461. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18462. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  18463. Flang: [8]int8{'k', 'a'},
  18464. },
  18465. 246: {
  18466. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18467. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  18468. Flang: [8]int8{'f', 'o'},
  18469. },
  18470. 247: {
  18471. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18472. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  18473. Flang: [8]int8{'h', 'i'},
  18474. },
  18475. 248: {
  18476. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18477. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  18478. Flang: [8]int8{'m', 't'},
  18479. },
  18480. 249: {
  18481. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18482. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  18483. Flang: [8]int8{'s', 'e'},
  18484. },
  18485. 250: {
  18486. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18487. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  18488. Flang: [8]int8{'g', 'd'},
  18489. },
  18490. 251: {
  18491. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18492. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  18493. Flang: [8]int8{'g', 'a'},
  18494. },
  18495. 252: {
  18496. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18497. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  18498. Flang: [8]int8{'m', 's'},
  18499. },
  18500. 253: {
  18501. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18502. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  18503. Flang: [8]int8{'m', 's'},
  18504. },
  18505. 254: {
  18506. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18507. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  18508. Flang: [8]int8{'k', 'k'},
  18509. },
  18510. 255: {
  18511. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18512. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  18513. Flang: [8]int8{'s', 'w'},
  18514. },
  18515. 256: {
  18516. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18517. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  18518. Flang: [8]int8{'u', 'z'},
  18519. },
  18520. 257: {
  18521. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18522. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  18523. Flang: [8]int8{'u', 'z'},
  18524. },
  18525. 258: {
  18526. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18527. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  18528. Flang: [8]int8{'t', 't'},
  18529. },
  18530. 259: {
  18531. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18532. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  18533. Flang: [8]int8{'b', 'n'},
  18534. },
  18535. 260: {
  18536. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18537. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  18538. Flang: [8]int8{'p', 'a'},
  18539. },
  18540. 261: {
  18541. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18542. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  18543. Flang: [8]int8{'g', 'u'},
  18544. },
  18545. 262: {
  18546. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18547. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  18548. Flang: [8]int8{'o', 'r'},
  18549. },
  18550. 263: {
  18551. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18552. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  18553. Flang: [8]int8{'t', 'a'},
  18554. },
  18555. 264: {
  18556. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18557. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  18558. Flang: [8]int8{'t', 'e'},
  18559. },
  18560. 265: {
  18561. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18562. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  18563. Flang: [8]int8{'k', 'n'},
  18564. },
  18565. 266: {
  18566. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18567. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  18568. Flang: [8]int8{'m', 'l'},
  18569. },
  18570. 267: {
  18571. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18572. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  18573. Flang: [8]int8{'a', 's'},
  18574. },
  18575. 268: {
  18576. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18577. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  18578. Flang: [8]int8{'m', 'r'},
  18579. },
  18580. 269: {
  18581. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18582. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  18583. Flang: [8]int8{'s', 'a'},
  18584. },
  18585. 270: {
  18586. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18587. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  18588. Flang: [8]int8{'k', 'o', 'k'},
  18589. },
  18590. 271: {
  18591. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18592. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  18593. Flang: [8]int8{'a', 'r'},
  18594. },
  18595. 272: {
  18596. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18597. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  18598. Flang: [8]int8{'z', 'h'},
  18599. },
  18600. 273: {
  18601. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18602. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  18603. Flang: [8]int8{'e', 'n'},
  18604. },
  18605. 274: {
  18606. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18607. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  18608. Flang: [8]int8{'f', 'r'},
  18609. },
  18610. 275: {
  18611. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18612. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  18613. Flang: [8]int8{'f', 'r'},
  18614. },
  18615. 276: {
  18616. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18617. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  18618. Flang: [8]int8{'f', 'r'},
  18619. },
  18620. 277: {
  18621. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18622. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  18623. Flang: [8]int8{'f', 'r'},
  18624. },
  18625. 278: {
  18626. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18627. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  18628. Flang: [8]int8{'f', 'r'},
  18629. },
  18630. 279: {
  18631. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18632. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  18633. Flang: [8]int8{'f', 'r'},
  18634. },
  18635. 280: {
  18636. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18637. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  18638. Flang: [8]int8{'f', 'r'},
  18639. },
  18640. 281: {
  18641. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18642. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  18643. Flang: [8]int8{'b', 's'},
  18644. },
  18645. 282: {
  18646. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18647. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  18648. Flang: [8]int8{'u', 'r'},
  18649. },
  18650. 283: {
  18651. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18652. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  18653. Flang: [8]int8{'t', 'g'},
  18654. },
  18655. 284: {
  18656. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18657. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  18658. Flang: [8]int8{'y', 'i'},
  18659. },
  18660. 285: {
  18661. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18662. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  18663. Flang: [8]int8{'k', 'y'},
  18664. },
  18665. 286: {
  18666. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18667. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  18668. Flang: [8]int8{'t', 'k'},
  18669. },
  18670. 287: {
  18671. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18672. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  18673. Flang: [8]int8{'m', 'n'},
  18674. },
  18675. 288: {
  18676. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18677. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  18678. Flang: [8]int8{'b', 'o'},
  18679. },
  18680. 289: {
  18681. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18682. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  18683. Flang: [8]int8{'b', 'o'},
  18684. },
  18685. 290: {
  18686. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18687. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  18688. Flang: [8]int8{'d', 'z'},
  18689. },
  18690. 291: {
  18691. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18692. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  18693. Flang: [8]int8{'c', 'y'},
  18694. },
  18695. 292: {
  18696. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18697. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  18698. Flang: [8]int8{'k', 'm'},
  18699. },
  18700. 293: {
  18701. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18702. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  18703. Flang: [8]int8{'l', 'o'},
  18704. },
  18705. 294: {
  18706. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18707. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  18708. Flang: [8]int8{'m', 'y'},
  18709. },
  18710. 295: {
  18711. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18712. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  18713. Flang: [8]int8{'g', 'l'},
  18714. },
  18715. 296: {
  18716. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18717. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  18718. Flang: [8]int8{'m', 'n', 'i'},
  18719. },
  18720. 297: {
  18721. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18722. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  18723. Flang: [8]int8{'s', 'd'},
  18724. },
  18725. 298: {
  18726. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18727. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  18728. Flang: [8]int8{'k', 's'},
  18729. },
  18730. 299: {
  18731. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18732. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  18733. Flang: [8]int8{'k', 's'},
  18734. },
  18735. 300: {
  18736. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18737. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  18738. Flang: [8]int8{'n', 'e'},
  18739. },
  18740. 301: {
  18741. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18742. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  18743. Flang: [8]int8{'n', 'e'},
  18744. },
  18745. 302: {
  18746. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18747. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  18748. Flang: [8]int8{'f', 'y'},
  18749. },
  18750. 303: {
  18751. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18752. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  18753. Flang: [8]int8{'e', 'n'},
  18754. },
  18755. 304: {
  18756. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18757. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  18758. Flang: [8]int8{'e', 'n'},
  18759. },
  18760. 305: {
  18761. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18762. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  18763. Flang: [8]int8{'e', 'n'},
  18764. },
  18765. 306: {
  18766. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18767. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  18768. Flang: [8]int8{'e', 'n'},
  18769. },
  18770. 307: {
  18771. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18772. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  18773. Flang: [8]int8{'s', 'y', 'r'},
  18774. },
  18775. 308: {
  18776. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18777. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  18778. Flang: [8]int8{'s', 'i'},
  18779. },
  18780. 309: {
  18781. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18782. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  18783. Flang: [8]int8{'c', 'h', 'r'},
  18784. },
  18785. 310: {
  18786. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18787. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  18788. Flang: [8]int8{'i', 'u'},
  18789. },
  18790. 311: {
  18791. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18792. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  18793. Flang: [8]int8{'a', 'm'},
  18794. },
  18795. 312: {
  18796. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18797. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  18798. Flang: [8]int8{'p', 's'},
  18799. },
  18800. 313: {
  18801. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18802. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  18803. Flang: [8]int8{'p', 'h', 'i'},
  18804. },
  18805. 314: {
  18806. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18807. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  18808. Flang: [8]int8{'d', 'i', 'v'},
  18809. },
  18810. 315: {
  18811. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18812. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  18813. Flang: [8]int8{'o', 'm'},
  18814. },
  18815. 316: {
  18816. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18817. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  18818. Flang: [8]int8{'t', 'i'},
  18819. },
  18820. 317: {
  18821. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18822. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  18823. Flang: [8]int8{'t', 'i'},
  18824. },
  18825. 318: {
  18826. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18827. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  18828. Flang: [8]int8{'e', 's'},
  18829. },
  18830. 319: {
  18831. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18832. Flanguage_id: uint16(0xE40A),
  18833. Flang: [8]int8{'e', 's'},
  18834. },
  18835. 320: {
  18836. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18837. Flanguage_id: uint16(0xE40C),
  18838. Flang: [8]int8{'f', 'r'},
  18839. },
  18840. 321: {
  18841. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18842. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  18843. Flang: [8]int8{'f', 'r'},
  18844. },
  18845. 322: {
  18846. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18847. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  18848. Flang: [8]int8{'f', 'r'},
  18849. },
  18850. 323: {
  18851. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18852. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  18853. Flang: [8]int8{'b', 'n'},
  18854. },
  18855. 324: {
  18856. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18857. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  18858. Flang: [8]int8{'a', 'r'},
  18859. },
  18860. 325: {
  18861. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18862. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  18863. Flang: [8]int8{'m', 'n'},
  18864. },
  18865. 326: {
  18866. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18867. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  18868. Flang: [8]int8{'h', 'a'},
  18869. },
  18870. 327: {
  18871. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18872. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  18873. Flang: [8]int8{'y', 'o'},
  18874. },
  18875. 328: {
  18876. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18877. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  18878. Flang: [8]int8{'i', 'b', 'o'},
  18879. },
  18880. 329: {
  18881. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18882. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  18883. Flang: [8]int8{'k', 'a', 'u'},
  18884. },
  18885. 330: {
  18886. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18887. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  18888. Flang: [8]int8{'g', 'n'},
  18889. },
  18890. 331: {
  18891. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18892. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  18893. Flang: [8]int8{'h', 'a', 'w'},
  18894. },
  18895. 332: {
  18896. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18897. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  18898. Flang: [8]int8{'l', 'a'},
  18899. },
  18900. 333: {
  18901. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18902. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  18903. Flang: [8]int8{'s', 'o'},
  18904. },
  18905. 334: {
  18906. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18907. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  18908. Flang: [8]int8{'p', 'a', 'p'},
  18909. },
  18910. }
  18911. type TFcMacRomanFake = struct {
  18912. Flanguage_id TFT_UShort
  18913. Ffromcode [12]int8
  18914. }
  18915. var _fcMacRomanFake = [2]TFcMacRomanFake{
  18916. 0: {
  18917. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  18918. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  18919. },
  18920. 1: {
  18921. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  18922. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  18923. },
  18924. }
  18925. // C documentation
  18926. //
  18927. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  18928. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  18929. 0: uint16(0x00C4),
  18930. 1: uint16(0x00C5),
  18931. 2: uint16(0x00C7),
  18932. 3: uint16(0x00C9),
  18933. 4: uint16(0x00D1),
  18934. 5: uint16(0x00D6),
  18935. 6: uint16(0x00DC),
  18936. 7: uint16(0x00E1),
  18937. 8: uint16(0x00E0),
  18938. 9: uint16(0x00E2),
  18939. 10: uint16(0x00E4),
  18940. 11: uint16(0x00E3),
  18941. 12: uint16(0x00E5),
  18942. 13: uint16(0x00E7),
  18943. 14: uint16(0x00E9),
  18944. 15: uint16(0x00E8),
  18945. 16: uint16(0x00EA),
  18946. 17: uint16(0x00EB),
  18947. 18: uint16(0x00ED),
  18948. 19: uint16(0x00EC),
  18949. 20: uint16(0x00EE),
  18950. 21: uint16(0x00EF),
  18951. 22: uint16(0x00F1),
  18952. 23: uint16(0x00F3),
  18953. 24: uint16(0x00F2),
  18954. 25: uint16(0x00F4),
  18955. 26: uint16(0x00F6),
  18956. 27: uint16(0x00F5),
  18957. 28: uint16(0x00FA),
  18958. 29: uint16(0x00F9),
  18959. 30: uint16(0x00FB),
  18960. 31: uint16(0x00FC),
  18961. 32: uint16(0x2020),
  18962. 33: uint16(0x00B0),
  18963. 34: uint16(0x00A2),
  18964. 35: uint16(0x00A3),
  18965. 36: uint16(0x00A7),
  18966. 37: uint16(0x2022),
  18967. 38: uint16(0x00B6),
  18968. 39: uint16(0x00DF),
  18969. 40: uint16(0x00AE),
  18970. 41: uint16(0x00A9),
  18971. 42: uint16(0x2122),
  18972. 43: uint16(0x00B4),
  18973. 44: uint16(0x00A8),
  18974. 45: uint16(0x2260),
  18975. 46: uint16(0x00C6),
  18976. 47: uint16(0x00D8),
  18977. 48: uint16(0x221E),
  18978. 49: uint16(0x00B1),
  18979. 50: uint16(0x2264),
  18980. 51: uint16(0x2265),
  18981. 52: uint16(0x00A5),
  18982. 53: uint16(0x00B5),
  18983. 54: uint16(0x2202),
  18984. 55: uint16(0x2211),
  18985. 56: uint16(0x220F),
  18986. 57: uint16(0x03C0),
  18987. 58: uint16(0x222B),
  18988. 59: uint16(0x00AA),
  18989. 60: uint16(0x00BA),
  18990. 61: uint16(0x03A9),
  18991. 62: uint16(0x00E6),
  18992. 63: uint16(0x00F8),
  18993. 64: uint16(0x00BF),
  18994. 65: uint16(0x00A1),
  18995. 66: uint16(0x00AC),
  18996. 67: uint16(0x221A),
  18997. 68: uint16(0x0192),
  18998. 69: uint16(0x2248),
  18999. 70: uint16(0x2206),
  19000. 71: uint16(0x00AB),
  19001. 72: uint16(0x00BB),
  19002. 73: uint16(0x2026),
  19003. 74: uint16(0x00A0),
  19004. 75: uint16(0x00C0),
  19005. 76: uint16(0x00C3),
  19006. 77: uint16(0x00D5),
  19007. 78: uint16(0x0152),
  19008. 79: uint16(0x0153),
  19009. 80: uint16(0x2013),
  19010. 81: uint16(0x2014),
  19011. 82: uint16(0x201C),
  19012. 83: uint16(0x201D),
  19013. 84: uint16(0x2018),
  19014. 85: uint16(0x2019),
  19015. 86: uint16(0x00F7),
  19016. 87: uint16(0x25CA),
  19017. 88: uint16(0x00FF),
  19018. 89: uint16(0x0178),
  19019. 90: uint16(0x2044),
  19020. 91: uint16(0x20AC),
  19021. 92: uint16(0x2039),
  19022. 93: uint16(0x203A),
  19023. 94: uint16(0xFB01),
  19024. 95: uint16(0xFB02),
  19025. 96: uint16(0x2021),
  19026. 97: uint16(0x00B7),
  19027. 98: uint16(0x201A),
  19028. 99: uint16(0x201E),
  19029. 100: uint16(0x2030),
  19030. 101: uint16(0x00C2),
  19031. 102: uint16(0x00CA),
  19032. 103: uint16(0x00C1),
  19033. 104: uint16(0x00CB),
  19034. 105: uint16(0x00C8),
  19035. 106: uint16(0x00CD),
  19036. 107: uint16(0x00CE),
  19037. 108: uint16(0x00CF),
  19038. 109: uint16(0x00CC),
  19039. 110: uint16(0x00D3),
  19040. 111: uint16(0x00D4),
  19041. 112: uint16(0xF8FF),
  19042. 113: uint16(0x00D2),
  19043. 114: uint16(0x00DA),
  19044. 115: uint16(0x00DB),
  19045. 116: uint16(0x00D9),
  19046. 117: uint16(0x0131),
  19047. 118: uint16(0x02C6),
  19048. 119: uint16(0x02DC),
  19049. 120: uint16(0x00AF),
  19050. 121: uint16(0x02D8),
  19051. 122: uint16(0x02D9),
  19052. 123: uint16(0x02DA),
  19053. 124: uint16(0x00B8),
  19054. 125: uint16(0x02DD),
  19055. 126: uint16(0x02DB),
  19056. 127: uint16(0x02C7),
  19057. }
  19058. // C documentation
  19059. //
  19060. // /*
  19061. // * A shift-JIS will have many high bits turned on
  19062. // */
  19063. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  19064. var nhigh, nlow, v1 int32
  19065. var v2 uintptr
  19066. _, _, _, _ = nhigh, nlow, v1, v2
  19067. nhigh = 0
  19068. nlow = 0
  19069. for {
  19070. v1 = len1
  19071. len1--
  19072. if !(v1 > 0) {
  19073. break
  19074. }
  19075. v2 = string1
  19076. string1++
  19077. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  19078. nhigh++
  19079. } else {
  19080. nlow++
  19081. }
  19082. }
  19083. /*
  19084. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  19085. * this is likely to be SJIS and not ROMAN
  19086. */
  19087. if nhigh*int32(2) > nlow {
  19088. return int32(m_FcTrue)
  19089. }
  19090. return m_FcFalse
  19091. }
  19092. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  19093. bp := tls.Alloc(16)
  19094. defer tls.Free(16)
  19095. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  19096. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  19097. var ucs41, ucs42 TFcChar32
  19098. var _ /* len at bp+0 */ int32
  19099. var _ /* ucs4 at bp+8 */ TFcChar32
  19100. var _ /* wchar at bp+4 */ int32
  19101. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  19102. i = 0
  19103. for {
  19104. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  19105. break
  19106. }
  19107. 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)) {
  19108. break
  19109. }
  19110. goto _1
  19111. _1:
  19112. ;
  19113. i++
  19114. }
  19115. if i == libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  19116. return uintptr(0)
  19117. }
  19118. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  19119. /*
  19120. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  19121. * in various ways. Kludge around them.
  19122. */
  19123. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  19124. 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 {
  19125. fromcode = __ccgo_ts + 3812
  19126. } else {
  19127. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  19128. fromcode = libc.UintptrFromInt32(0)
  19129. f = 0
  19130. for {
  19131. if !(f < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  19132. break
  19133. }
  19134. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  19135. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  19136. break
  19137. }
  19138. goto _2
  19139. _2:
  19140. ;
  19141. f++
  19142. }
  19143. if !(fromcode != 0) {
  19144. return uintptr(0)
  19145. }
  19146. }
  19147. }
  19148. }
  19149. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3817) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3825) != 0) {
  19150. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19151. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19152. /*
  19153. * Convert Utf16 to Utf8
  19154. */
  19155. if !(XFcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  19156. return uintptr(0)
  19157. }
  19158. /*
  19159. * Allocate plenty of space. Freed below
  19160. */
  19161. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  19162. if !(utf8 != 0) {
  19163. return uintptr(0)
  19164. }
  19165. u8 = utf8
  19166. for {
  19167. v3 = XFcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  19168. ilen = v3
  19169. if !(v3 > 0) {
  19170. break
  19171. }
  19172. src_len -= ilen
  19173. src += uintptr(ilen)
  19174. olen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  19175. u8 += uintptr(olen)
  19176. }
  19177. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  19178. goto done
  19179. }
  19180. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3834) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3840) != 0) {
  19181. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19182. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19183. /*
  19184. * Convert Latin1 to Utf8. Freed below
  19185. */
  19186. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len1*int32(2)+int32(1)))
  19187. if !(utf8 != 0) {
  19188. return uintptr(0)
  19189. }
  19190. u81 = utf8
  19191. for src_len1 > 0 {
  19192. v4 = src1
  19193. src1++
  19194. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  19195. src_len1--
  19196. olen1 = XFcUcs4ToUtf8(tls, ucs41, u81)
  19197. u81 += uintptr(olen1)
  19198. }
  19199. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  19200. goto done
  19201. }
  19202. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  19203. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  19204. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  19205. /*
  19206. * Convert Latin1 to Utf8. Freed below
  19207. */
  19208. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len2*int32(3)+int32(1)))
  19209. if !(utf8 != 0) {
  19210. return uintptr(0)
  19211. }
  19212. u82 = utf8
  19213. for src_len2 > 0 {
  19214. v5 = src2
  19215. src2++
  19216. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  19217. if ucs42 >= uint32(128) {
  19218. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  19219. }
  19220. src_len2--
  19221. olen2 = XFcUcs4ToUtf8(tls, ucs42, u82)
  19222. u82 += uintptr(olen2)
  19223. }
  19224. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  19225. goto done
  19226. }
  19227. return uintptr(0)
  19228. goto done
  19229. done:
  19230. ;
  19231. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+110) == 0 {
  19232. libc.Xfree(tls, utf8)
  19233. return uintptr(0)
  19234. }
  19235. return utf8
  19236. }
  19237. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  19238. var i int32
  19239. var language_id, platform_id TFT_UShort
  19240. _, _, _ = i, language_id, platform_id
  19241. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  19242. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  19243. /*
  19244. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  19245. * in various ways. Kludge around them.
  19246. */
  19247. 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 {
  19248. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  19249. }
  19250. i = 0
  19251. for {
  19252. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  19253. break
  19254. }
  19255. 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)) {
  19256. if int32(*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  19257. return libc.UintptrFromInt32(0)
  19258. } else {
  19259. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  19260. }
  19261. }
  19262. goto _1
  19263. _1:
  19264. ;
  19265. i++
  19266. }
  19267. return uintptr(0)
  19268. }
  19269. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  19270. var f, n uintptr
  19271. var i int32
  19272. _, _, _ = f, i, n
  19273. if notice != 0 {
  19274. i = 0
  19275. for {
  19276. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  19277. break
  19278. }
  19279. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  19280. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  19281. if libc.Xstrstr(tls, notice, n) != 0 {
  19282. return f
  19283. }
  19284. goto _1
  19285. _1:
  19286. ;
  19287. i++
  19288. }
  19289. }
  19290. return uintptr(0)
  19291. }
  19292. type TFcStringConst = struct {
  19293. Fname uintptr
  19294. Fvalue int32
  19295. }
  19296. type T_FcStringConst = TFcStringConst
  19297. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  19298. var i int32
  19299. _ = i
  19300. i = 0
  19301. for {
  19302. if !(i < nc) {
  19303. break
  19304. }
  19305. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  19306. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19307. }
  19308. goto _1
  19309. _1:
  19310. ;
  19311. i++
  19312. }
  19313. return -int32(1)
  19314. }
  19315. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  19316. var i int32
  19317. _ = i
  19318. i = 0
  19319. for {
  19320. if !(i < nc) {
  19321. break
  19322. }
  19323. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  19324. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  19325. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19326. }
  19327. } else {
  19328. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  19329. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  19330. }
  19331. }
  19332. goto _1
  19333. _1:
  19334. ;
  19335. i++
  19336. }
  19337. return -int32(1)
  19338. }
  19339. type TFC8 = uintptr
  19340. var _weightConsts = [23]TFcStringConst{
  19341. 0: {
  19342. Fname: __ccgo_ts + 3851,
  19343. },
  19344. 1: {
  19345. Fname: __ccgo_ts + 3856,
  19346. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  19347. },
  19348. 2: {
  19349. Fname: __ccgo_ts + 3867,
  19350. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  19351. },
  19352. 3: {
  19353. Fname: __ccgo_ts + 3878,
  19354. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  19355. },
  19356. 4: {
  19357. Fname: __ccgo_ts + 3888,
  19358. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  19359. },
  19360. 5: {
  19361. Fname: __ccgo_ts + 3898,
  19362. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  19363. },
  19364. 6: {
  19365. Fname: __ccgo_ts + 3904,
  19366. Fvalue: int32(m_FC_WEIGHT_BOOK),
  19367. },
  19368. 7: {
  19369. Fname: __ccgo_ts + 3909,
  19370. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  19371. },
  19372. 8: {
  19373. Fname: __ccgo_ts + 3917,
  19374. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  19375. },
  19376. 9: {
  19377. Fname: __ccgo_ts + 3924,
  19378. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  19379. },
  19380. 10: {
  19381. Fname: __ccgo_ts + 3931,
  19382. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19383. },
  19384. 11: {
  19385. Fname: __ccgo_ts + 3940,
  19386. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19387. },
  19388. 12: {
  19389. Fname: __ccgo_ts + 3945,
  19390. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  19391. },
  19392. 13: {
  19393. Fname: __ccgo_ts + 3954,
  19394. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19395. },
  19396. 14: {
  19397. Fname: __ccgo_ts + 3964,
  19398. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19399. },
  19400. 15: {
  19401. Fname: __ccgo_ts + 3974,
  19402. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19403. },
  19404. 16: {
  19405. Fname: __ccgo_ts + 3984,
  19406. Fvalue: int32(m_FC_WEIGHT_BOLD),
  19407. },
  19408. 17: {
  19409. Fname: __ccgo_ts + 3989,
  19410. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19411. },
  19412. 18: {
  19413. Fname: __ccgo_ts + 4000,
  19414. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19415. },
  19416. 19: {
  19417. Fname: __ccgo_ts + 4011,
  19418. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  19419. },
  19420. 20: {
  19421. Fname: __ccgo_ts + 4022,
  19422. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  19423. },
  19424. 21: {
  19425. Fname: __ccgo_ts + 4029,
  19426. Fvalue: int32(m_FC_WEIGHT_BLACK),
  19427. },
  19428. 22: {
  19429. Fname: __ccgo_ts + 4035,
  19430. Fvalue: int32(m_FC_WEIGHT_BLACK),
  19431. },
  19432. }
  19433. var _widthConsts = [10]TFcStringConst{
  19434. 0: {
  19435. Fname: __ccgo_ts + 4041,
  19436. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  19437. },
  19438. 1: {
  19439. Fname: __ccgo_ts + 4056,
  19440. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  19441. },
  19442. 2: {
  19443. Fname: __ccgo_ts + 4071,
  19444. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  19445. },
  19446. 3: {
  19447. Fname: __ccgo_ts + 4085,
  19448. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  19449. },
  19450. 4: {
  19451. Fname: __ccgo_ts + 3917,
  19452. Fvalue: int32(m_FC_WIDTH_NORMAL),
  19453. },
  19454. 5: {
  19455. Fname: __ccgo_ts + 4095,
  19456. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  19457. },
  19458. 6: {
  19459. Fname: __ccgo_ts + 4108,
  19460. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  19461. },
  19462. 7: {
  19463. Fname: __ccgo_ts + 4122,
  19464. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  19465. },
  19466. 8: {
  19467. Fname: __ccgo_ts + 4136,
  19468. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  19469. },
  19470. 9: {
  19471. Fname: __ccgo_ts + 4145,
  19472. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  19473. },
  19474. }
  19475. var _slantConsts = [3]TFcStringConst{
  19476. 0: {
  19477. Fname: __ccgo_ts + 4154,
  19478. Fvalue: int32(m_FC_SLANT_ITALIC),
  19479. },
  19480. 1: {
  19481. Fname: __ccgo_ts + 4161,
  19482. Fvalue: int32(m_FC_SLANT_ITALIC),
  19483. },
  19484. 2: {
  19485. Fname: __ccgo_ts + 4168,
  19486. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  19487. },
  19488. }
  19489. var _decorativeConsts = [6]TFcStringConst{
  19490. 0: {
  19491. Fname: __ccgo_ts + 4176,
  19492. Fvalue: int32(m_FcTrue),
  19493. },
  19494. 1: {
  19495. Fname: __ccgo_ts + 4183,
  19496. Fvalue: int32(m_FcTrue),
  19497. },
  19498. 2: {
  19499. Fname: __ccgo_ts + 4188,
  19500. Fvalue: int32(m_FcTrue),
  19501. },
  19502. 3: {
  19503. Fname: __ccgo_ts + 4196,
  19504. Fvalue: int32(m_FcTrue),
  19505. },
  19506. 4: {
  19507. Fname: __ccgo_ts + 4204,
  19508. Fvalue: int32(m_FcTrue),
  19509. },
  19510. 5: {
  19511. Fname: __ccgo_ts + 4212,
  19512. Fvalue: int32(m_FcTrue),
  19513. },
  19514. }
  19515. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  19516. bp := tls.Alloc(16)
  19517. defer tls.Free(16)
  19518. var rc int32
  19519. var _ /* prop at bp+0 */ TBDF_PropertyRec
  19520. _ = rc
  19521. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  19522. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4220, bp)
  19523. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  19524. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 8)))
  19525. }
  19526. }
  19527. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  19528. }
  19529. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  19530. bp := tls.Alloc(32)
  19531. defer tls.Free(32)
  19532. var l TFcValueListPtr
  19533. var v2 uintptr
  19534. var _ /* iter at bp+0 */ TFcPatternIter
  19535. var _ /* v at bp+16 */ TFcValue
  19536. _, _ = l, v2
  19537. XFcPatternIterStart(tls, pat, bp)
  19538. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  19539. return m_FcFalse
  19540. }
  19541. l = XFcPatternIterGetValues(tls, pat, bp)
  19542. for {
  19543. if !(l != 0) {
  19544. break
  19545. }
  19546. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  19547. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, l+8)
  19548. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 != int32(_FcTypeString) {
  19549. break
  19550. }
  19551. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), string1) != 0) {
  19552. return int32(m_FcTrue)
  19553. }
  19554. goto _1
  19555. _1:
  19556. ;
  19557. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  19558. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  19559. } else {
  19560. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  19561. }
  19562. l = v2
  19563. }
  19564. return m_FcFalse
  19565. }
  19566. var _platform_order = [4]TFT_UShort{
  19567. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  19568. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  19569. 3: uint16(m_TT_PLATFORM_ISO),
  19570. }
  19571. var _nameid_order = [10]TFT_UShort{
  19572. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  19573. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  19574. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  19575. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  19576. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  19577. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  19578. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  19579. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  19580. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  19581. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  19582. }
  19583. type TFcNameMapping = struct {
  19584. Fplatform_id uint32
  19585. Fname_id uint32
  19586. Fencoding_id uint32
  19587. Flanguage_id uint32
  19588. Fidx uint32
  19589. }
  19590. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  19591. var ret TFcBool
  19592. _ = ret
  19593. ret = m_FcFalse
  19594. switch platform {
  19595. case int32(m_TT_PLATFORM_MACINTOSH):
  19596. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  19597. case int32(m_TT_PLATFORM_MICROSOFT):
  19598. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  19599. break
  19600. }
  19601. return ret
  19602. }
  19603. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  19604. var a, b uintptr
  19605. var v1, v2 int32
  19606. _, _, _, _ = a, b, v1, v2
  19607. a = pa
  19608. b = pb
  19609. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  19610. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  19611. }
  19612. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  19613. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  19614. }
  19615. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  19616. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  19617. }
  19618. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  19619. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  19620. v1 = -int32(1)
  19621. } else {
  19622. if __is_english(tls, libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  19623. v2 = int32(1)
  19624. } else {
  19625. v2 = libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  19626. }
  19627. v1 = v2
  19628. }
  19629. return v1
  19630. }
  19631. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  19632. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  19633. }
  19634. return 0
  19635. }
  19636. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  19637. var max, mid, min int32
  19638. _, _, _ = max, mid, min
  19639. min = 0
  19640. max = libc.Int32FromUint32(count) - int32(1)
  19641. for min <= max {
  19642. mid = (min + max) / int32(2)
  19643. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  19644. return m_FcFalse
  19645. }
  19646. 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)) {
  19647. max = mid - int32(1)
  19648. } else {
  19649. 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) {
  19650. min = mid + int32(1)
  19651. } else {
  19652. return mid
  19653. }
  19654. }
  19655. }
  19656. return -int32(1)
  19657. }
  19658. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  19659. bp := tls.Alloc(656)
  19660. defer tls.Free(656)
  19661. var bit, has_color, has_outline, i3, i7, lookupid, n1, n2, name_count, nameid, nameidx, platform, rc, slant, spacing, st, v12, v13, v17, v21, v23, v24, v27, v31, v33, v34 int32
  19662. var bits TFT_ULong
  19663. 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, v39 uintptr
  19664. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  19665. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  19666. var ftresult TFT_Error
  19667. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  19668. var i4, len1, len11, len2 Tsize_t
  19669. var obj, obj1, objlang TFcObject
  19670. var value1 TFT_Int32
  19671. var v19, v29 t__darwin_ct_rune_t
  19672. var v20, v30 uint64
  19673. var v36, v40 bool
  19674. var _ /* family at bp+160 */ uintptr
  19675. var _ /* family at bp+592 */ uintptr
  19676. var _ /* familylang at bp+600 */ uintptr
  19677. var _ /* lang at bp+176 */ uintptr
  19678. var _ /* master at bp+0 */ uintptr
  19679. var _ /* nfamily at bp+80 */ int32
  19680. var _ /* nfamily_lang at bp+84 */ int32
  19681. var _ /* nfullname at bp+96 */ int32
  19682. var _ /* nfullname_lang at bp+100 */ int32
  19683. var _ /* nstyle at bp+88 */ int32
  19684. var _ /* nstyle_lang at bp+92 */ int32
  19685. var _ /* prop at bp+64 */ TBDF_PropertyRec
  19686. var _ /* psfontinfo at bp+8 */ TPS_FontInfoRec
  19687. var _ /* psname at bp+336 */ [256]int8
  19688. var _ /* sbuf at bp+184 */ TFcStrBuf
  19689. var _ /* sname at bp+112 */ TFT_SfntName
  19690. var _ /* sname at bp+136 */ TFT_SfntName
  19691. var _ /* style at bp+104 */ uintptr
  19692. var _ /* style at bp+168 */ uintptr
  19693. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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, v19, v20, v21, v23, v24, v27, v29, v3, v30, v31, v33, v34, v36, v39, v40, v6, v7, v8, v9
  19694. slant = -int32(1)
  19695. weight = float64(-libc.Int32FromInt32(1))
  19696. width = float64(-libc.Int32FromInt32(1))
  19697. decorative = m_FcFalse
  19698. variable = m_FcFalse
  19699. variable_weight = m_FcFalse
  19700. variable_width = m_FcFalse
  19701. variable_size = m_FcFalse
  19702. name_mapping = libc.UintptrFromInt32(0)
  19703. foundry_ = libc.UintptrFromInt32(0)
  19704. foundry = uintptr(0)
  19705. /* Support for glyph-variation named-instances. */
  19706. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  19707. instance = libc.UintptrFromInt32(0)
  19708. weight_mult = float64(1)
  19709. width_mult = float64(1)
  19710. exclusiveLang = uintptr(0)
  19711. name_count = 0
  19712. *(*int32)(unsafe.Pointer(bp + 80)) = 0
  19713. *(*int32)(unsafe.Pointer(bp + 84)) = 0
  19714. *(*int32)(unsafe.Pointer(bp + 88)) = 0
  19715. *(*int32)(unsafe.Pointer(bp + 92)) = 0
  19716. *(*int32)(unsafe.Pointer(bp + 96)) = 0
  19717. *(*int32)(unsafe.Pointer(bp + 100)) = 0
  19718. *(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
  19719. symbol = m_FcFalse
  19720. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  19721. pat = XFcPatternCreate(tls)
  19722. if !(pat != 0) {
  19723. goto bail0
  19724. }
  19725. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  19726. has_color = 0
  19727. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  19728. goto bail1
  19729. }
  19730. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  19731. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  19732. goto bail1
  19733. }
  19734. /* All color fonts are designed to be scaled, even if they only have
  19735. * bitmap strikes. Client is responsible to scale the bitmaps. This
  19736. * is in contrast to non-color strikes... */
  19737. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  19738. goto bail1
  19739. }
  19740. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  19741. if id>>int32(16) != 0 {
  19742. if ftresult != 0 {
  19743. goto bail1
  19744. }
  19745. if id>>int32(16) == uint32(0x8000) {
  19746. i = uint32(0)
  19747. for {
  19748. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19749. break
  19750. }
  19751. min_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fminimum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19752. def_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19753. max_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Fmaximum) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19754. obj = int32(_FC_INVALID_OBJECT)
  19755. if min_value > def_value || def_value > max_value || min_value == max_value {
  19756. goto _1
  19757. }
  19758. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  19759. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  19760. obj = int32(_FC_WEIGHT_OBJECT)
  19761. min_value = XFcWeightFromOpenTypeDouble(tls, min_value)
  19762. max_value = XFcWeightFromOpenTypeDouble(tls, max_value)
  19763. variable_weight = int32(m_FcTrue)
  19764. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  19765. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  19766. obj = int32(_FC_WIDTH_OBJECT)
  19767. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  19768. variable_width = int32(m_FcTrue)
  19769. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  19770. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19771. obj = int32(_FC_SIZE_OBJECT)
  19772. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  19773. variable_size = int32(m_FcTrue)
  19774. break
  19775. }
  19776. if obj != int32(_FC_INVALID_OBJECT) {
  19777. r = XFcRangeCreateDouble(tls, min_value, max_value)
  19778. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  19779. XFcRangeDestroy(tls, r)
  19780. goto bail1
  19781. }
  19782. XFcRangeDestroy(tls, r)
  19783. variable = int32(m_FcTrue)
  19784. }
  19785. goto _1
  19786. _1:
  19787. ;
  19788. i++
  19789. }
  19790. if !(variable != 0) {
  19791. goto bail1
  19792. }
  19793. id &= uint32(0xFFFF)
  19794. } else {
  19795. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  19796. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  19797. i1 = uint32(0)
  19798. for {
  19799. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19800. break
  19801. }
  19802. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19803. default_value = float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Fdef) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19804. if default_value != 0 {
  19805. v3 = value / default_value
  19806. } else {
  19807. v3 = libc.Float64FromInt32(1)
  19808. }
  19809. mult = v3
  19810. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  19811. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  19812. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  19813. weight_mult = mult
  19814. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  19815. width_mult = mult
  19816. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19817. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  19818. goto bail1
  19819. }
  19820. break
  19821. }
  19822. goto _2
  19823. _2:
  19824. ;
  19825. i1++
  19826. }
  19827. } else {
  19828. goto bail1
  19829. }
  19830. }
  19831. } else {
  19832. if !(ftresult != 0) {
  19833. i2 = uint32(0)
  19834. for {
  19835. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19836. break
  19837. }
  19838. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Ftag {
  19839. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19840. 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)*48))).Fdef)/float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))) != 0) {
  19841. goto bail1
  19842. }
  19843. variable_size = int32(m_FcTrue)
  19844. break
  19845. }
  19846. goto _4
  19847. _4:
  19848. ;
  19849. i2++
  19850. }
  19851. } else {
  19852. /* ignore an error of FT_Get_MM_Var() */
  19853. }
  19854. }
  19855. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  19856. goto bail1
  19857. }
  19858. /*
  19859. * Get the OS/2 table
  19860. */
  19861. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  19862. /*
  19863. * Look first in the OS/2 table for the foundry, if
  19864. * not found here, the various notices will be searched for
  19865. * that information, either from the sfnt name tables or
  19866. * the Postscript FontInfo dictionary. Finally, the
  19867. * BDF properties will queried.
  19868. */
  19869. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  19870. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 80))) != 0 {
  19871. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  19872. libc.X__builtin___memcpy_chk(tls, foundry_, os2+80, uint64(4), ^t__predefined_size_t(0))
  19873. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  19874. foundry = foundry_
  19875. }
  19876. }
  19877. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19878. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  19879. }
  19880. /*
  19881. * Grub through the name table looking for family
  19882. * and style names. FreeType makes quite a hash
  19883. * of them
  19884. */
  19885. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  19886. if nm_share != 0 {
  19887. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  19888. }
  19889. if !(name_mapping != 0) {
  19890. i3 = 0
  19891. name_mapping = libc.Xmalloc(tls, libc.Uint64FromInt32(name_count)*uint64(20))
  19892. if !(name_mapping != 0) {
  19893. name_count = 0
  19894. }
  19895. i3 = 0
  19896. for {
  19897. if !(i3 < name_count) {
  19898. break
  19899. }
  19900. p1 = name_mapping + uintptr(i3)*20
  19901. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i3), bp+112) == 0 {
  19902. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fplatform_id)
  19903. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fname_id)
  19904. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fencoding_id)
  19905. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Flanguage_id)
  19906. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i3)
  19907. } else {
  19908. v9 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  19909. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  19910. v8 = v9
  19911. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  19912. v7 = v8
  19913. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  19914. v6 = v7
  19915. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  19916. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  19917. }
  19918. goto _5
  19919. _5:
  19920. ;
  19921. i3++
  19922. }
  19923. libc.Xqsort(tls, name_mapping, libc.Uint64FromInt32(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  19924. if nm_share != 0 {
  19925. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  19926. }
  19927. }
  19928. p = uint32(0)
  19929. for {
  19930. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  19931. break
  19932. }
  19933. platform = libc.Int32FromUint16(_platform_order[p])
  19934. /*
  19935. * Order nameids so preferred names appear first
  19936. * in the resulting list
  19937. */
  19938. n = uint32(0)
  19939. for {
  19940. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  19941. break
  19942. }
  19943. np = uintptr(0)
  19944. nlangp = uintptr(0)
  19945. obj1 = int32(_FC_INVALID_OBJECT)
  19946. objlang = int32(_FC_INVALID_OBJECT)
  19947. v12 = libc.Int32FromUint16(_nameid_order[n])
  19948. lookupid = v12
  19949. nameid = v12
  19950. if instance != 0 {
  19951. /* For named-instances, we skip regular style nameIDs,
  19952. * and treat the instance's nameid as FONT_SUBFAMILY.
  19953. * Postscript name is automatically handled by FreeType. */
  19954. 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) {
  19955. goto _11
  19956. }
  19957. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  19958. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  19959. }
  19960. }
  19961. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+136)
  19962. if nameidx == -int32(1) {
  19963. goto _11
  19964. }
  19965. for {
  19966. switch nameid {
  19967. case int32(m_TT_NAME_ID_WWS_FAMILY):
  19968. fallthrough
  19969. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  19970. fallthrough
  19971. case int32(m_TT_NAME_ID_FONT_FAMILY):
  19972. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19973. libc.Xprintf(tls, __ccgo_ts+4231, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  19974. }
  19975. obj1 = int32(_FC_FAMILY_OBJECT)
  19976. objlang = int32(_FC_FAMILYLANG_OBJECT)
  19977. np = bp + 80
  19978. nlangp = bp + 84
  19979. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  19980. fallthrough
  19981. case int32(m_TT_NAME_ID_FULL_NAME):
  19982. if variable != 0 {
  19983. break
  19984. }
  19985. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19986. libc.Xprintf(tls, __ccgo_ts+4271, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  19987. }
  19988. obj1 = int32(_FC_FULLNAME_OBJECT)
  19989. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  19990. np = bp + 96
  19991. nlangp = bp + 100
  19992. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  19993. fallthrough
  19994. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  19995. fallthrough
  19996. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  19997. if variable != 0 {
  19998. break
  19999. }
  20000. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20001. libc.Xprintf(tls, __ccgo_ts+4311, libc.VaList(bp+616, libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fencoding_id), libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Flanguage_id)))
  20002. }
  20003. obj1 = int32(_FC_STYLE_OBJECT)
  20004. objlang = int32(_FC_STYLELANG_OBJECT)
  20005. np = bp + 88
  20006. nlangp = bp + 92
  20007. case int32(m_TT_NAME_ID_TRADEMARK):
  20008. fallthrough
  20009. case int32(m_TT_NAME_ID_MANUFACTURER):
  20010. /* If the foundry wasn't found in the OS/2 table, look here */
  20011. if !(foundry != 0) {
  20012. utf8 = _FcSfntNameTranscode(tls, bp+136)
  20013. foundry = _FcNoticeFoundry(tls, utf8)
  20014. libc.Xfree(tls, utf8)
  20015. }
  20016. break
  20017. }
  20018. if obj1 != int32(_FC_INVALID_OBJECT) {
  20019. utf81 = _FcSfntNameTranscode(tls, bp+136)
  20020. lang = _FcSfntNameLanguage(tls, bp+136)
  20021. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20022. if utf81 != 0 {
  20023. v15 = utf81
  20024. } else {
  20025. v15 = __ccgo_ts + 4352
  20026. }
  20027. libc.Xprintf(tls, __ccgo_ts+4359, libc.VaList(bp+616, v15))
  20028. }
  20029. if !(utf81 != 0) {
  20030. goto _14
  20031. }
  20032. /* Trim surrounding whitespace. */
  20033. pp = utf81
  20034. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  20035. pp++
  20036. }
  20037. len1 = libc.Xstrlen(tls, pp)
  20038. libc.X__builtin___memmove_chk(tls, utf81, pp, len1+uint64(1), ^t__predefined_size_t(0))
  20039. pp = utf81 + uintptr(len1)
  20040. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  20041. pp--
  20042. }
  20043. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  20044. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  20045. libc.Xfree(tls, utf81)
  20046. goto _14
  20047. }
  20048. /* add new element */
  20049. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  20050. libc.Xfree(tls, utf81)
  20051. goto bail1
  20052. }
  20053. libc.Xfree(tls, utf81)
  20054. if lang != 0 {
  20055. /* pad lang list with 'und' to line up with elt */
  20056. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  20057. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1348) != 0) {
  20058. goto bail1
  20059. }
  20060. *(*int32)(unsafe.Pointer(nlangp))++
  20061. }
  20062. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  20063. goto bail1
  20064. }
  20065. *(*int32)(unsafe.Pointer(nlangp))++
  20066. }
  20067. *(*int32)(unsafe.Pointer(np))++
  20068. }
  20069. goto _14
  20070. _14:
  20071. ;
  20072. nameidx++
  20073. v13 = nameidx
  20074. if !(v13 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+136) == 0 && platform == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fplatform_id) && lookupid == libc.Int32FromUint16((*(*TFT_SfntName)(unsafe.Pointer(bp + 136))).Fname_id)) {
  20075. break
  20076. }
  20077. }
  20078. goto _11
  20079. _11:
  20080. ;
  20081. n++
  20082. }
  20083. goto _10
  20084. _10:
  20085. ;
  20086. p++
  20087. }
  20088. if !(nm_share != 0) {
  20089. libc.Xfree(tls, name_mapping)
  20090. name_mapping = libc.UintptrFromInt32(0)
  20091. }
  20092. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+110) != 0 {
  20093. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20094. libc.Xprintf(tls, __ccgo_ts+4363, libc.VaList(bp+616, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  20095. }
  20096. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  20097. goto bail1
  20098. }
  20099. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  20100. goto bail1
  20101. }
  20102. *(*int32)(unsafe.Pointer(bp + 80))++
  20103. }
  20104. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) {
  20105. style_regular = __ccgo_ts + 4391
  20106. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+110) != 0 {
  20107. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20108. libc.Xprintf(tls, __ccgo_ts+4399, libc.VaList(bp+616, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  20109. }
  20110. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  20111. } else {
  20112. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20113. libc.Xprintf(tls, __ccgo_ts+4426, 0)
  20114. }
  20115. ss = style_regular
  20116. }
  20117. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  20118. goto bail1
  20119. }
  20120. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2752) != 0) {
  20121. goto bail1
  20122. }
  20123. *(*int32)(unsafe.Pointer(bp + 88))++
  20124. }
  20125. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  20126. start = libc.Xstrrchr(tls, file, int32('/'))
  20127. if start != 0 {
  20128. start++
  20129. } else {
  20130. start = file
  20131. }
  20132. end = libc.Xstrrchr(tls, start, int32('.'))
  20133. if !(end != 0) {
  20134. end = start + uintptr(libc.Xstrlen(tls, start))
  20135. }
  20136. /* freed below */
  20137. family = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(end)-int64(start)+int64(1)))
  20138. libc.X__builtin___strncpy_chk(tls, family, start, libc.Uint64FromInt64(int64(end)-int64(start)), ^t__predefined_size_t(0))
  20139. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  20140. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20141. libc.Xprintf(tls, __ccgo_ts+4458, libc.VaList(bp+616, family))
  20142. }
  20143. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  20144. libc.Xfree(tls, family)
  20145. goto bail1
  20146. }
  20147. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  20148. libc.Xfree(tls, family)
  20149. goto bail1
  20150. }
  20151. libc.Xfree(tls, family)
  20152. *(*int32)(unsafe.Pointer(bp + 80))++
  20153. }
  20154. /* Add the fullname into the cache */
  20155. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 96)) != 0) {
  20156. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  20157. n1 = 0
  20158. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+176) == int32(_FcResultMatch) {
  20159. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), __ccgo_ts+2752) == 0 {
  20160. break
  20161. }
  20162. n1++
  20163. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  20164. }
  20165. if !(*(*uintptr)(unsafe.Pointer(bp + 176)) != 0) {
  20166. n1 = 0
  20167. }
  20168. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+160) != int32(_FcResultMatch) {
  20169. goto bail1
  20170. }
  20171. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 160)))
  20172. i4 = len11
  20173. for {
  20174. if !(i4 > uint64(0)) {
  20175. break
  20176. }
  20177. v19 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160)) + uintptr(i4-uint64(1)))))
  20178. v20 = uint64(0x00004000)
  20179. v24 = libc.BoolInt32(v19 & ^libc.Int32FromInt32(0x7F) == 0)
  20180. goto _25
  20181. _25:
  20182. if v24 != 0 {
  20183. v23 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v19)*4)))&v20 != 0))
  20184. } else {
  20185. v23 = libc.BoolInt32(!!(libc.X__maskrune(tls, v19, v20) != 0))
  20186. }
  20187. v21 = v23
  20188. goto _22
  20189. _22:
  20190. v17 = v21
  20191. goto _18
  20192. _18:
  20193. if !(v17 != 0) {
  20194. break
  20195. }
  20196. goto _16
  20197. _16:
  20198. ;
  20199. i4--
  20200. }
  20201. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 160)) + uintptr(i4))) = uint8(0)
  20202. n1 = 0
  20203. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+176) == int32(_FcResultMatch) {
  20204. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 176)), __ccgo_ts+2752) == 0 {
  20205. break
  20206. }
  20207. n1++
  20208. *(*uintptr)(unsafe.Pointer(bp + 176)) = libc.UintptrFromInt32(0)
  20209. }
  20210. if !(*(*uintptr)(unsafe.Pointer(bp + 176)) != 0) {
  20211. n1 = 0
  20212. }
  20213. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+168) != int32(_FcResultMatch) {
  20214. goto bail1
  20215. }
  20216. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 168)))
  20217. i4 = uint64(0)
  20218. for {
  20219. if v36 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 168)) + uintptr(i4)))) != 0; v36 {
  20220. v29 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 168)) + uintptr(i4))))
  20221. v30 = uint64(0x00004000)
  20222. v34 = libc.BoolInt32(v29 & ^libc.Int32FromInt32(0x7F) == 0)
  20223. goto _35
  20224. _35:
  20225. if v34 != 0 {
  20226. v33 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v29)*4)))&v30 != 0))
  20227. } else {
  20228. v33 = libc.BoolInt32(!!(libc.X__maskrune(tls, v29, v30) != 0))
  20229. }
  20230. v31 = v33
  20231. goto _32
  20232. _32:
  20233. v27 = v31
  20234. goto _28
  20235. _28:
  20236. }
  20237. if !(v36 && v27 != 0) {
  20238. break
  20239. }
  20240. goto _26
  20241. _26:
  20242. ;
  20243. i4++
  20244. }
  20245. libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 168)), *(*uintptr)(unsafe.Pointer(bp + 168))+uintptr(i4), len11-i4, ^t__predefined_size_t(0))
  20246. XFcStrBufInit(tls, bp+184, libc.UintptrFromInt32(0), 0)
  20247. XFcStrBufString(tls, bp+184, *(*uintptr)(unsafe.Pointer(bp + 160)))
  20248. XFcStrBufChar(tls, bp+184, uint8(' '))
  20249. XFcStrBufString(tls, bp+184, *(*uintptr)(unsafe.Pointer(bp + 168)))
  20250. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+184)) != 0) {
  20251. XFcStrBufDestroy(tls, bp+184)
  20252. goto bail1
  20253. }
  20254. XFcStrBufDestroy(tls, bp+184)
  20255. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2752) != 0) {
  20256. goto bail1
  20257. }
  20258. *(*int32)(unsafe.Pointer(bp + 96))++
  20259. }
  20260. /* Add the PostScript name into the cache */
  20261. if !(variable != 0) {
  20262. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  20263. if !(tmp != 0) {
  20264. *(*uintptr)(unsafe.Pointer(bp + 600)) = libc.UintptrFromInt32(0)
  20265. n2 = 0
  20266. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  20267. * try to find out the English family name and convert.
  20268. */
  20269. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+600) == int32(_FcResultMatch) {
  20270. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 600)), __ccgo_ts+2752) == 0 {
  20271. break
  20272. }
  20273. n2++
  20274. *(*uintptr)(unsafe.Pointer(bp + 600)) = libc.UintptrFromInt32(0)
  20275. }
  20276. if !(*(*uintptr)(unsafe.Pointer(bp + 600)) != 0) {
  20277. n2 = 0
  20278. }
  20279. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+592) != int32(_FcResultMatch) {
  20280. goto bail1
  20281. }
  20282. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 592)))
  20283. /* the literal name in PostScript Language is limited to 127 characters though,
  20284. * It is the architectural limit. so assuming 255 characters may works enough.
  20285. */
  20286. i5 = uint32(0)
  20287. for {
  20288. if !(uint64(i5) < len2 && i5 < uint32(255)) {
  20289. break
  20290. }
  20291. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 592)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  20292. (*(*[256]int8)(unsafe.Pointer(bp + 336)))[i5] = int8('-')
  20293. } else {
  20294. (*(*[256]int8)(unsafe.Pointer(bp + 336)))[i5] = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 592)) + uintptr(i5))))
  20295. }
  20296. goto _37
  20297. _37:
  20298. ;
  20299. i5++
  20300. }
  20301. (*(*[256]int8)(unsafe.Pointer(bp + 336)))[i5] = 0
  20302. } else {
  20303. libc.X__builtin___strncpy_chk(tls, bp+336, tmp, uint64(255), ^t__predefined_size_t(0))
  20304. (*(*[256]int8)(unsafe.Pointer(bp + 336)))[int32(255)] = 0
  20305. }
  20306. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+336) != 0) {
  20307. goto bail1
  20308. }
  20309. }
  20310. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  20311. goto bail1
  20312. }
  20313. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), libc.Int32FromUint32(id)) != 0) {
  20314. goto bail1
  20315. }
  20316. /*
  20317. * Find the font revision (if available)
  20318. */
  20319. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  20320. if head != 0 {
  20321. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  20322. goto bail1
  20323. }
  20324. } else {
  20325. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  20326. goto bail1
  20327. }
  20328. }
  20329. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  20330. goto bail1
  20331. }
  20332. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20333. i6 = uint32(0)
  20334. for {
  20335. if !(i6 < libc.Uint32FromInt32(libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  20336. break
  20337. }
  20338. if int32(_FcCodePageRange[i6].Fbit) < int32(32) {
  20339. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  20340. bit = int32(_FcCodePageRange[i6].Fbit)
  20341. } else {
  20342. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  20343. bit = int32(_FcCodePageRange[i6].Fbit) - int32(32)
  20344. }
  20345. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  20346. /*
  20347. * If the font advertises support for multiple
  20348. * "exclusive" languages, then include support
  20349. * for any language found to have coverage
  20350. */
  20351. if exclusiveLang != 0 {
  20352. exclusiveLang = uintptr(0)
  20353. break
  20354. }
  20355. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  20356. }
  20357. goto _38
  20358. _38:
  20359. ;
  20360. i6++
  20361. }
  20362. }
  20363. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  20364. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  20365. weight = XFcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  20366. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  20367. libc.Xprintf(tls, __ccgo_ts+4488, libc.VaList(bp+616, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  20368. }
  20369. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  20370. case int32(1):
  20371. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  20372. case int32(2):
  20373. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  20374. case int32(3):
  20375. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  20376. case int32(4):
  20377. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  20378. case int32(5):
  20379. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  20380. case int32(6):
  20381. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  20382. case int32(7):
  20383. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  20384. case int32(8):
  20385. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  20386. case int32(9):
  20387. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  20388. break
  20389. }
  20390. width *= width_mult
  20391. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  20392. libc.Xprintf(tls, __ccgo_ts+4542, libc.VaList(bp+616, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  20393. }
  20394. }
  20395. if v40 = os2 != 0; v40 {
  20396. v39 = _FcFontCapabilities(tls, face)
  20397. complex_ = v39
  20398. }
  20399. if v40 && v39 != 0 {
  20400. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  20401. libc.Xfree(tls, complex_)
  20402. goto bail1
  20403. }
  20404. libc.Xfree(tls, complex_)
  20405. }
  20406. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  20407. goto bail1
  20408. }
  20409. 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) {
  20410. /* usLowerPointSize and usUpperPointSize is actually twips */
  20411. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  20412. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  20413. if lower_size == upper_size {
  20414. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  20415. goto bail1
  20416. }
  20417. } else {
  20418. r1 = XFcRangeCreateDouble(tls, lower_size, upper_size)
  20419. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  20420. XFcRangeDestroy(tls, r1)
  20421. goto bail1
  20422. }
  20423. XFcRangeDestroy(tls, r1)
  20424. }
  20425. }
  20426. /*
  20427. * Type 1: Check for FontInfo dictionary information
  20428. * Code from g2@magestudios.net (Gerard Escalante)
  20429. */
  20430. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+8) == 0 {
  20431. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight != 0 {
  20432. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  20433. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20434. libc.Xprintf(tls, __ccgo_ts+4594, libc.VaList(bp+616, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, weight))
  20435. }
  20436. }
  20437. if !(foundry != 0) {
  20438. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fnotice)
  20439. }
  20440. }
  20441. /*
  20442. * Finally, look for a FOUNDRY BDF property if no other
  20443. * mechanism has managed to locate a foundry
  20444. */
  20445. if !(foundry != 0) {
  20446. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4623, bp+64)
  20447. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  20448. foundry = *(*uintptr)(unsafe.Pointer(bp + 64 + 8))
  20449. }
  20450. }
  20451. if width == float64(-libc.Int32FromInt32(1)) {
  20452. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4631, bp+64) == 0 && ((*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) || (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_CARDINAL)) {
  20453. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  20454. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 64 + 8))
  20455. } else {
  20456. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 64 + 8)))
  20457. }
  20458. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  20459. case int32(1):
  20460. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  20461. case int32(2):
  20462. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  20463. case int32(3):
  20464. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  20465. case int32(4):
  20466. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  20467. case int32(5):
  20468. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  20469. case int32(6):
  20470. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  20471. case int32(7):
  20472. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  20473. case int32(8):
  20474. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  20475. case int32(9):
  20476. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  20477. break
  20478. }
  20479. }
  20480. if width == float64(-libc.Int32FromInt32(1)) && libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4649, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  20481. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  20482. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20483. libc.Xprintf(tls, __ccgo_ts+4663, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), width))
  20484. }
  20485. }
  20486. }
  20487. /*
  20488. * Look for weight, width and slant names in the style value
  20489. */
  20490. st = 0
  20491. for {
  20492. if !(XFcPatternGetString(tls, pat, __ccgo_ts+4688, st, bp+104) == int32(_FcResultMatch)) {
  20493. break
  20494. }
  20495. if weight == float64(-libc.Int32FromInt32(1)) {
  20496. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  20497. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20498. libc.Xprintf(tls, __ccgo_ts+4694, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), weight))
  20499. }
  20500. }
  20501. if width == float64(-libc.Int32FromInt32(1)) {
  20502. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  20503. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20504. libc.Xprintf(tls, __ccgo_ts+4723, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), width))
  20505. }
  20506. }
  20507. if slant == -int32(1) {
  20508. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  20509. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20510. libc.Xprintf(tls, __ccgo_ts+4751, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), slant))
  20511. }
  20512. }
  20513. if decorative == m_FcFalse {
  20514. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  20515. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20516. libc.Xprintf(tls, __ccgo_ts+4779, libc.VaList(bp+616, *(*uintptr)(unsafe.Pointer(bp + 104)), decorative))
  20517. }
  20518. }
  20519. goto _41
  20520. _41:
  20521. ;
  20522. st++
  20523. }
  20524. /*
  20525. * Pull default values from the FreeType flags if more
  20526. * specific values not found above
  20527. */
  20528. if slant == -int32(1) {
  20529. slant = m_FC_SLANT_ROMAN
  20530. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  20531. slant = int32(m_FC_SLANT_ITALIC)
  20532. }
  20533. }
  20534. if weight == float64(-libc.Int32FromInt32(1)) {
  20535. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  20536. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  20537. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  20538. }
  20539. }
  20540. if width == float64(-libc.Int32FromInt32(1)) {
  20541. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  20542. }
  20543. if foundry == uintptr(0) {
  20544. foundry = __ccgo_ts + 4812
  20545. }
  20546. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  20547. goto bail1
  20548. }
  20549. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  20550. goto bail1
  20551. }
  20552. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  20553. goto bail1
  20554. }
  20555. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  20556. goto bail1
  20557. }
  20558. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  20559. goto bail1
  20560. }
  20561. /*
  20562. * Compute the unicode coverage for the font
  20563. */
  20564. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  20565. cs = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  20566. } else {
  20567. cs = XFcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  20568. if cs_share != 0 {
  20569. *(*uintptr)(unsafe.Pointer(cs_share)) = XFcCharSetCopy(tls, cs)
  20570. }
  20571. }
  20572. if !(cs != 0) {
  20573. goto bail1
  20574. }
  20575. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  20576. 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))
  20577. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  20578. goto bail1
  20579. }
  20580. spacing = _FcFreeTypeSpacing(tls, face)
  20581. /* For PCF fonts, override the computed spacing with the one from
  20582. the property */
  20583. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4820, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  20584. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4828) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4830) != 0) {
  20585. spacing = int32(m_FC_CHARCELL)
  20586. } else {
  20587. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4832) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4834) != 0) {
  20588. spacing = int32(m_FC_MONO)
  20589. } else {
  20590. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4836) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4838) != 0) {
  20591. spacing = m_FC_PROPORTIONAL
  20592. }
  20593. }
  20594. }
  20595. }
  20596. /*
  20597. * Skip over PCF fonts that have no encoded characters; they're
  20598. * usually just Unicode fonts transcoded to some legacy encoding
  20599. * FT forces us to approximate whether a font is a PCF font
  20600. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  20601. * I don't know how to get a list of BDF properties on the font. -PL
  20602. */
  20603. if XFcCharSetCount(tls, cs) == uint32(0) {
  20604. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4220, bp+64) == 0 {
  20605. goto bail2
  20606. }
  20607. }
  20608. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  20609. goto bail2
  20610. }
  20611. if !(symbol != 0) {
  20612. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  20613. ls = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  20614. } else {
  20615. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  20616. if ls_share != 0 {
  20617. *(*uintptr)(unsafe.Pointer(ls_share)) = XFcLangSetCopy(tls, ls)
  20618. }
  20619. }
  20620. if !(ls != 0) {
  20621. goto bail2
  20622. }
  20623. } else {
  20624. /* Symbol fonts don't cover any language, even though they
  20625. * claim to support Latin1 range. */
  20626. ls = XFcLangSetCreate(tls)
  20627. }
  20628. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  20629. XFcLangSetDestroy(tls, ls)
  20630. goto bail2
  20631. }
  20632. XFcLangSetDestroy(tls, ls)
  20633. if spacing != m_FC_PROPORTIONAL {
  20634. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  20635. goto bail2
  20636. }
  20637. }
  20638. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  20639. i7 = 0
  20640. for {
  20641. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  20642. break
  20643. }
  20644. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  20645. goto bail2
  20646. }
  20647. goto _42
  20648. _42:
  20649. ;
  20650. i7++
  20651. }
  20652. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  20653. goto bail2
  20654. }
  20655. }
  20656. /*
  20657. * Use the (not well documented or supported) X-specific function
  20658. * from FreeType to figure out the font format
  20659. */
  20660. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  20661. if font_format != 0 {
  20662. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FONTFORMAT_OBJECT), font_format) != 0) {
  20663. goto bail2
  20664. }
  20665. }
  20666. /*
  20667. * Drop our reference to the charset
  20668. */
  20669. XFcCharSetDestroy(tls, cs)
  20670. if foundry_ != 0 {
  20671. libc.Xfree(tls, foundry_)
  20672. }
  20673. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20674. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  20675. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  20676. }
  20677. }
  20678. return pat
  20679. goto bail2
  20680. bail2:
  20681. ;
  20682. XFcCharSetDestroy(tls, cs)
  20683. goto bail1
  20684. bail1:
  20685. ;
  20686. XFcPatternDestroy(tls, pat)
  20687. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20688. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph != 0 {
  20689. libfreetype.XFT_Done_MM_Var(tls, (*TFT_GlyphSlotRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fglyph)).Flibrary, *(*uintptr)(unsafe.Pointer(bp)))
  20690. }
  20691. }
  20692. if !(nm_share != 0) && name_mapping != 0 {
  20693. libc.Xfree(tls, name_mapping)
  20694. }
  20695. if foundry_ != 0 {
  20696. libc.Xfree(tls, foundry_)
  20697. }
  20698. goto bail0
  20699. bail0:
  20700. ;
  20701. return libc.UintptrFromInt32(0)
  20702. return r2
  20703. }
  20704. /* those characters are not allowed to be the literal name in PostScript */
  20705. var _exclusive_chars = [16]int8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  20706. func XFcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  20707. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20708. }
  20709. func XFcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  20710. bp := tls.Alloc(16)
  20711. defer tls.Free(16)
  20712. var pat uintptr
  20713. var _ /* face at bp+0 */ TFT_Face
  20714. var _ /* ftLibrary at bp+8 */ TFT_Library
  20715. _ = pat
  20716. pat = libc.UintptrFromInt32(0)
  20717. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  20718. return libc.UintptrFromInt32(0)
  20719. }
  20720. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(id&uint32(0x7FFFFFFF)), bp) != 0 {
  20721. goto bail
  20722. }
  20723. if count != 0 {
  20724. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  20725. }
  20726. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20727. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20728. goto bail
  20729. bail:
  20730. ;
  20731. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  20732. return pat
  20733. }
  20734. func XFcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  20735. bp := tls.Alloc(48)
  20736. defer tls.Free(48)
  20737. var coords, instance, pat uintptr
  20738. var err int32
  20739. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  20740. var index_set, nonzero TFcBool
  20741. var _ /* cs at bp+16 */ uintptr
  20742. var _ /* face at bp+0 */ TFT_Face
  20743. var _ /* ftLibrary at bp+8 */ TFT_Library
  20744. var _ /* ls at bp+24 */ uintptr
  20745. var _ /* mm_var at bp+40 */ uintptr
  20746. var _ /* nm at bp+32 */ uintptr
  20747. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  20748. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  20749. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  20750. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  20751. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  20752. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  20753. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  20754. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  20755. if index_set != 0 {
  20756. v1 = id & uint32(0xFFFF)
  20757. } else {
  20758. v1 = uint32(0)
  20759. }
  20760. set_face_num = v1
  20761. if index_set != 0 {
  20762. v2 = id >> int32(16)
  20763. } else {
  20764. v2 = uint32(0)
  20765. }
  20766. set_instance_num = v2
  20767. face_num = set_face_num
  20768. instance_num = set_instance_num
  20769. num_faces = uint32(0)
  20770. num_instances = uint32(0)
  20771. ret = uint32(0)
  20772. err = 0
  20773. if count != 0 {
  20774. *(*int32)(unsafe.Pointer(count)) = 0
  20775. }
  20776. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  20777. return uint32(0)
  20778. }
  20779. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  20780. goto bail
  20781. }
  20782. num_faces = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  20783. num_instances = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  20784. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  20785. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  20786. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  20787. num_instances = uint32(0)
  20788. }
  20789. }
  20790. if count != 0 {
  20791. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  20792. }
  20793. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  20794. pat = libc.UintptrFromInt32(0)
  20795. if instance_num == uint32(0x8000) || instance_num > num_instances {
  20796. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  20797. } else {
  20798. if instance_num != 0 {
  20799. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  20800. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  20801. /* Skip named-instance that coincides with base instance. */
  20802. nonzero = m_FcFalse
  20803. i = uint32(0)
  20804. for {
  20805. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  20806. break
  20807. }
  20808. if *(*TFT_Fixed)(unsafe.Pointer(coords + uintptr(i)*8)) != (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Faxis + uintptr(i)*48))).Fdef {
  20809. nonzero = int32(m_FcTrue)
  20810. break
  20811. }
  20812. goto _3
  20813. _3:
  20814. ;
  20815. i++
  20816. }
  20817. if !(nonzero != 0) {
  20818. goto skip
  20819. }
  20820. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis, coords)
  20821. }
  20822. }
  20823. id = instance_num<<int32(16) + face_num
  20824. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  20825. if pat != 0 {
  20826. ret++
  20827. if !(set != 0) || !(XFcFontSetAdd(tls, set, pat) != 0) {
  20828. XFcPatternDestroy(tls, pat)
  20829. }
  20830. } else {
  20831. if instance_num != uint32(0x8000) {
  20832. err = int32(1)
  20833. }
  20834. }
  20835. goto skip
  20836. skip:
  20837. ;
  20838. if !(index_set != 0) && instance_num < num_instances {
  20839. instance_num++
  20840. } else {
  20841. if !(index_set != 0) && instance_num == num_instances {
  20842. instance_num = uint32(0x8000)
  20843. } else {
  20844. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  20845. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  20846. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  20847. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  20848. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  20849. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  20850. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20851. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  20852. face_num++
  20853. instance_num = set_instance_num
  20854. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  20855. break
  20856. }
  20857. }
  20858. }
  20859. }
  20860. goto bail
  20861. bail:
  20862. ;
  20863. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 40)))
  20864. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  20865. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  20866. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  20867. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20868. }
  20869. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  20870. if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
  20871. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  20872. }
  20873. return ret
  20874. }
  20875. var _fcFontEncodings = [2]TFT_Encoding{
  20876. 0: int32(_FT_ENCODING_UNICODE),
  20877. 1: int32(_FT_ENCODING_MS_SYMBOL),
  20878. }
  20879. /*
  20880. * Map a UCS4 glyph to a glyph index. Use all available encoding
  20881. * tables to try and find one that works. This information is expected
  20882. * to be cached by higher levels, so performance isn't critical
  20883. */
  20884. func XFcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  20885. var decode, initial, offset int32
  20886. var glyphindex TFT_UInt
  20887. _, _, _, _ = decode, glyphindex, initial, offset
  20888. initial = 0
  20889. if !(face != 0) {
  20890. return uint32(0)
  20891. }
  20892. /*
  20893. * Find the current encoding
  20894. */
  20895. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  20896. for {
  20897. if !(initial < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20898. break
  20899. }
  20900. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  20901. break
  20902. }
  20903. goto _1
  20904. _1:
  20905. ;
  20906. initial++
  20907. }
  20908. if initial == libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  20909. initial = 0
  20910. }
  20911. }
  20912. /*
  20913. * Check each encoding for the glyph, starting with the current one
  20914. */
  20915. offset = 0
  20916. for {
  20917. if !(offset < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20918. break
  20919. }
  20920. decode = (initial + offset) % libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  20921. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  20922. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  20923. goto _2
  20924. }
  20925. }
  20926. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  20927. if glyphindex != 0 {
  20928. return glyphindex
  20929. }
  20930. 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) {
  20931. /* For symbol-encoded OpenType fonts, we duplicate the
  20932. * U+F000..F0FF range at U+0000..U+00FF. That's what
  20933. * Windows seems to do, and that's hinted about at:
  20934. * http://www.microsoft.com/typography/otspec/recom.htm
  20935. * under "Non-Standard (Symbol) Fonts".
  20936. *
  20937. * See thread with subject "Webdings and other MS symbol
  20938. * fonts don't display" on mailing list from May 2015.
  20939. */
  20940. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  20941. if glyphindex != 0 {
  20942. return glyphindex
  20943. }
  20944. }
  20945. goto _2
  20946. _2:
  20947. ;
  20948. offset++
  20949. }
  20950. return uint32(0)
  20951. }
  20952. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  20953. var v1 int32
  20954. _ = v1
  20955. if a <= b {
  20956. v1 = a
  20957. } else {
  20958. v1 = b
  20959. }
  20960. return v1
  20961. }
  20962. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  20963. var v1 int32
  20964. _ = v1
  20965. if a >= b {
  20966. v1 = a
  20967. } else {
  20968. v1 = b
  20969. }
  20970. return v1
  20971. }
  20972. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  20973. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  20974. }
  20975. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  20976. bp := tls.Alloc(16)
  20977. defer tls.Free(16)
  20978. var advances [3]TFT_Pos
  20979. var i, load_flags, strike_index TFT_Int
  20980. var j, num_advances, v4 uint32
  20981. var o int32
  20982. var ucs4 TFcChar32
  20983. var _ /* advance at bp+8 */ TFT_Pos
  20984. var _ /* glyph at bp+0 */ TFT_UInt
  20985. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  20986. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  20987. advances = [3]TFT_Pos{}
  20988. num_advances = uint32(0)
  20989. /* When using scalable fonts, only report those glyphs
  20990. * which can be scaled; otherwise those fonts will
  20991. * only be available at some sizes, and never when
  20992. * transformed. Avoid this by simply reporting bitmap-only
  20993. * glyphs as missing
  20994. */
  20995. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  20996. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  20997. }
  20998. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(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 {
  20999. strike_index = 0
  21000. /* Select the face closest to 16 pixels tall */
  21001. i = int32(1)
  21002. for {
  21003. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  21004. break
  21005. }
  21006. if libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fheight)-int32(16)) < libc.Xabs(tls, int32((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(strike_index)*32))).Fheight)-int32(16)) {
  21007. strike_index = i
  21008. }
  21009. goto _1
  21010. _1:
  21011. ;
  21012. i++
  21013. }
  21014. libfreetype.XFT_Select_Size(tls, face, strike_index)
  21015. }
  21016. o = 0
  21017. for {
  21018. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21019. break
  21020. }
  21021. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  21022. goto _2
  21023. }
  21024. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  21025. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  21026. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  21027. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  21028. j = uint32(0)
  21029. for {
  21030. if !(j < num_advances) {
  21031. break
  21032. }
  21033. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  21034. break
  21035. }
  21036. goto _3
  21037. _3:
  21038. ;
  21039. j++
  21040. }
  21041. if j == num_advances {
  21042. v4 = num_advances
  21043. num_advances++
  21044. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  21045. }
  21046. }
  21047. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  21048. }
  21049. break
  21050. goto _2
  21051. _2:
  21052. ;
  21053. o++
  21054. }
  21055. if num_advances <= uint32(1) {
  21056. return int32(m_FC_MONO)
  21057. } else {
  21058. if num_advances == uint32(2) && _fc_approximately_equal(tls, _fc_min(tls, int32(advances[0]), int32(advances[int32(1)]))*int32(2), _fc_max(tls, int32(advances[0]), int32(advances[int32(1)]))) != 0 {
  21059. return int32(m_FC_DUAL)
  21060. } else {
  21061. return m_FC_PROPORTIONAL
  21062. }
  21063. }
  21064. return r
  21065. }
  21066. func XFcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  21067. bp := tls.Alloc(16)
  21068. defer tls.Free(16)
  21069. var fcs, leaf uintptr
  21070. var good TFcBool
  21071. var load_flags TFT_Int
  21072. var o int32
  21073. var off, page, ucs4 TFcChar32
  21074. var _ /* glyph at bp+0 */ TFT_UInt
  21075. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  21076. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  21077. fcs = XFcCharSetCreate(tls)
  21078. if !(fcs != 0) {
  21079. goto bail
  21080. }
  21081. o = 0
  21082. for {
  21083. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  21084. break
  21085. }
  21086. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  21087. goto _1
  21088. }
  21089. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  21090. leaf = libc.UintptrFromInt32(0)
  21091. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  21092. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  21093. good = int32(m_FcTrue)
  21094. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  21095. * (space glyph). As such, always check contour for those characters. */
  21096. if ucs4 <= uint32(0x001F) {
  21097. 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 {
  21098. good = m_FcFalse
  21099. }
  21100. }
  21101. if good != 0 {
  21102. XFcCharSetAddChar(tls, fcs, ucs4)
  21103. if ucs4>>libc.Int32FromInt32(8) != page {
  21104. page = ucs4 >> int32(8)
  21105. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  21106. if !(leaf != 0) {
  21107. goto bail
  21108. }
  21109. }
  21110. off = ucs4 & uint32(0xff)
  21111. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  21112. }
  21113. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  21114. }
  21115. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  21116. /* For symbol-encoded OpenType fonts, we duplicate the
  21117. * U+F000..F0FF range at U+0000..U+00FF. That's what
  21118. * Windows seems to do, and that's hinted about at:
  21119. * http://www.microsoft.com/typography/otspec/recom.htm
  21120. * under "Non-Standard (Symbol) Fonts".
  21121. *
  21122. * See thread with subject "Webdings and other MS symbol
  21123. * fonts don't display" on mailing list from May 2015.
  21124. */
  21125. ucs4 = uint32(0xF000)
  21126. for {
  21127. if !(ucs4 < uint32(0xF100)) {
  21128. break
  21129. }
  21130. if XFcCharSetHasChar(tls, fcs, ucs4) != 0 {
  21131. XFcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  21132. }
  21133. goto _2
  21134. _2:
  21135. ;
  21136. ucs4++
  21137. }
  21138. }
  21139. break
  21140. goto _1
  21141. _1:
  21142. ;
  21143. o++
  21144. }
  21145. return fcs
  21146. goto bail
  21147. bail:
  21148. ;
  21149. XFcCharSetDestroy(tls, fcs)
  21150. return uintptr(0)
  21151. }
  21152. func XFcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  21153. if spacing != 0 {
  21154. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  21155. }
  21156. return XFcFreeTypeCharSet(tls, face, blanks)
  21157. }
  21158. /* space + head + id */
  21159. /*
  21160. * This is a bit generous; the registry has only lower case and space
  21161. * except for 'DFLT'.
  21162. */
  21163. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  21164. bp := tls.Alloc(16)
  21165. defer tls.Free(16)
  21166. var _ /* tagstring at bp+0 */ [5]TFcChar8
  21167. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  21168. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  21169. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  21170. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  21171. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  21172. /* skip tags which aren't alphanumeric, under the assumption that
  21173. * they're probably broken
  21174. */
  21175. 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)])) {
  21176. return
  21177. }
  21178. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  21179. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+1952, ^t__predefined_size_t(0))
  21180. }
  21181. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+4840, ^t__predefined_size_t(0))
  21182. libc.X__builtin___strcat_chk(tls, complex_, bp, ^t__predefined_size_t(0))
  21183. }
  21184. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  21185. var ua, ub uintptr
  21186. _, _ = ua, ub
  21187. ua = a
  21188. ub = b
  21189. return libc.Int32FromUint64(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  21190. }
  21191. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  21192. var error1, v1 TFT_Error
  21193. var stream TFT_Stream
  21194. _, _, _ = error1, stream, v1
  21195. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  21196. if !(stream != 0) {
  21197. return m_FcFalse
  21198. }
  21199. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  21200. error1 = v1
  21201. if v1 != 0 {
  21202. return m_FcFalse
  21203. }
  21204. return int32(m_FcTrue)
  21205. }
  21206. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  21207. var base_offset, cur_offset, new_offset TFT_ULong
  21208. var error1, v1 TFT_Error
  21209. var n, p TFT_UShort
  21210. var script_count int32
  21211. var stream TFT_Stream
  21212. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  21213. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  21214. if !(stream != 0) {
  21215. return 0
  21216. }
  21217. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  21218. error1 = v1
  21219. if v1 != 0 {
  21220. return 0
  21221. }
  21222. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21223. /* skip version */
  21224. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  21225. return 0
  21226. }
  21227. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21228. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  21229. Xftglue_stream_frame_exit(tls, stream)
  21230. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21231. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset)) != int32(_FT_Err_Ok) {
  21232. return 0
  21233. }
  21234. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21235. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  21236. return 0
  21237. }
  21238. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21239. script_count = libc.Int32FromUint16(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  21240. Xftglue_stream_frame_exit(tls, stream)
  21241. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint64FromInt32(script_count)*uint64(8))
  21242. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  21243. return 0
  21244. }
  21245. p = uint16(0)
  21246. n = uint16(0)
  21247. for {
  21248. if !(libc.Int32FromUint16(n) < script_count) {
  21249. break
  21250. }
  21251. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  21252. goto Fail
  21253. }
  21254. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  21255. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*8)) = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  21256. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  21257. new_offset = uint64(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8)|uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))) + base_offset
  21258. Xftglue_stream_frame_exit(tls, stream)
  21259. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  21260. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset))
  21261. if error1 == int32(_FT_Err_Ok) {
  21262. p++
  21263. }
  21264. Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(cur_offset))
  21265. goto _2
  21266. _2:
  21267. ;
  21268. n++
  21269. }
  21270. if !(p != 0) {
  21271. goto Fail
  21272. }
  21273. /* sort the tag list before returning it */
  21274. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint64FromInt32(script_count), uint64(8), __ccgo_fp(_compareulong))
  21275. return script_count
  21276. goto Fail
  21277. Fail:
  21278. ;
  21279. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  21280. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  21281. return 0
  21282. }
  21283. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  21284. bp := tls.Alloc(48)
  21285. defer tls.Free(48)
  21286. var complex_ uintptr
  21287. var err TFT_Error
  21288. var gpos_count, gsub_count TFT_UShort
  21289. var indx1, indx2, v1 int32
  21290. var issilgraphitefont TFcBool
  21291. var maxsize TFT_ULong
  21292. var _ /* gpostags at bp+16 */ uintptr
  21293. var _ /* gsubtags at bp+8 */ uintptr
  21294. var _ /* len at bp+0 */ TFT_ULong
  21295. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  21296. issilgraphitefont = 0
  21297. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  21298. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  21299. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  21300. gsub_count = uint16(0)
  21301. gpos_count = uint16(0)
  21302. complex_ = libc.UintptrFromInt32(0)
  21303. indx1 = 0
  21304. indx2 = 0
  21305. err = libfreetype.XFT_Load_Sfnt_Table(tls, face, uint64(uint32(libc.Uint64FromUint8('S')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('i')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('l')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))), 0, uintptr(0), bp)
  21306. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  21307. gpos_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('P')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('O')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('S'))), bp+16))
  21308. gsub_count = libc.Uint16FromInt32(_GetScriptTags(tls, face, uint64(uint32(libc.Uint64FromUint8('G')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('S')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('U')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('B'))), bp+8))
  21309. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  21310. goto bail
  21311. }
  21312. if issilgraphitefont != 0 {
  21313. v1 = int32(13)
  21314. } else {
  21315. v1 = 0
  21316. }
  21317. maxsize = (uint64(gpos_count)+uint64(gsub_count))*libc.Uint64FromInt32(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + libc.Uint64FromInt32(v1)
  21318. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  21319. if !(complex_ != 0) {
  21320. goto bail
  21321. }
  21322. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  21323. if issilgraphitefont != 0 {
  21324. libc.X__builtin___strcpy_chk(tls, complex_, __ccgo_ts+4850, ^t__predefined_size_t(0))
  21325. }
  21326. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  21327. if indx1 == libc.Int32FromUint16(gsub_count) {
  21328. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  21329. indx2++
  21330. } else {
  21331. if indx2 == libc.Int32FromUint16(gpos_count) || *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) < *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  21332. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  21333. indx1++
  21334. } else {
  21335. if *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)) == *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)) {
  21336. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  21337. indx1++
  21338. indx2++
  21339. } else {
  21340. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  21341. indx2++
  21342. }
  21343. }
  21344. }
  21345. }
  21346. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  21347. libc.Xprintf(tls, __ccgo_ts+4863, libc.VaList(bp+32, complex_))
  21348. }
  21349. goto bail
  21350. bail:
  21351. ;
  21352. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  21353. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  21354. return complex_
  21355. }
  21356. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  21357. return _FindTable(tls, face, uint64(uint32(libc.Uint64FromUint8('p')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('r')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('e')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('p'))))
  21358. }
  21359. /*
  21360. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  21361. *
  21362. * @APPLE_LICENSE_HEADER_START@
  21363. *
  21364. * This file contains Original Code and/or Modifications of Original Code
  21365. * as defined in and that are subject to the Apple Public Source License
  21366. * Version 2.0 (the 'License'). You may not use this file except in
  21367. * compliance with the License. Please obtain a copy of the License at
  21368. * http://www.opensource.apple.com/apsl/ and read it before using this
  21369. * file.
  21370. *
  21371. * The Original Code and all software distributed under the License are
  21372. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  21373. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  21374. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  21375. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  21376. * Please see the License for the specific language governing rights and
  21377. * limitations under the License.
  21378. *
  21379. * @APPLE_LICENSE_HEADER_END@
  21380. */
  21381. /*-
  21382. * Copyright (c) 1990, 1993
  21383. * The Regents of the University of California. All rights reserved.
  21384. *
  21385. * Redistribution and use in source and binary forms, with or without
  21386. * modification, are permitted provided that the following conditions
  21387. * are met:
  21388. * 1. Redistributions of source code must retain the above copyright
  21389. * notice, this list of conditions and the following disclaimer.
  21390. * 2. Redistributions in binary form must reproduce the above copyright
  21391. * notice, this list of conditions and the following disclaimer in the
  21392. * documentation and/or other materials provided with the distribution.
  21393. * 3. All advertising materials mentioning features or use of this software
  21394. * must display the following acknowledgement:
  21395. * This product includes software developed by the University of
  21396. * California, Berkeley and its contributors.
  21397. * 4. Neither the name of the University nor the names of its contributors
  21398. * may be used to endorse or promote products derived from this software
  21399. * without specific prior written permission.
  21400. *
  21401. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21402. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21403. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21404. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  21405. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21406. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21407. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21408. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21409. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  21410. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21411. * SUCH DAMAGE.
  21412. *
  21413. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  21414. */
  21415. /*
  21416. * Copyright (c) 2023 Apple Inc. All rights reserved.
  21417. *
  21418. * @APPLE_LICENSE_HEADER_START@
  21419. *
  21420. * This file contains Original Code and/or Modifications of Original Code
  21421. * as defined in and that are subject to the Apple Public Source License
  21422. * Version 2.0 (the 'License'). You may not use this file except in
  21423. * compliance with the License. Please obtain a copy of the License at
  21424. * http://www.opensource.apple.com/apsl/ and read it before using this
  21425. * file.
  21426. *
  21427. * The Original Code and all software distributed under the License are
  21428. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  21429. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  21430. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  21431. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  21432. * Please see the License for the specific language governing rights and
  21433. * limitations under the License.
  21434. *
  21435. * @APPLE_LICENSE_HEADER_END@
  21436. */
  21437. /*-
  21438. * Copyright (c) 1990, 1993
  21439. * The Regents of the University of California. All rights reserved.
  21440. *
  21441. * Redistribution and use in source and binary forms, with or without
  21442. * modification, are permitted provided that the following conditions
  21443. * are met:
  21444. * 1. Redistributions of source code must retain the above copyright
  21445. * notice, this list of conditions and the following disclaimer.
  21446. * 2. Redistributions in binary form must reproduce the above copyright
  21447. * notice, this list of conditions and the following disclaimer in the
  21448. * documentation and/or other materials provided with the distribution.
  21449. * 3. All advertising materials mentioning features or use of this software
  21450. * must display the following acknowledgement:
  21451. * This product includes software developed by the University of
  21452. * California, Berkeley and its contributors.
  21453. * 4. Neither the name of the University nor the names of its contributors
  21454. * may be used to endorse or promote products derived from this software
  21455. * without specific prior written permission.
  21456. *
  21457. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21458. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21459. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21460. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  21461. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21462. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21463. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21464. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21465. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  21466. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21467. * SUCH DAMAGE.
  21468. *
  21469. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  21470. */
  21471. func XFcFontSetCreate(tls *libc.TLS) (r uintptr) {
  21472. var s uintptr
  21473. _ = s
  21474. s = libc.Xmalloc(tls, uint64(16))
  21475. if !(s != 0) {
  21476. return uintptr(0)
  21477. }
  21478. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  21479. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  21480. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  21481. return s
  21482. }
  21483. func XFcFontSetDestroy(tls *libc.TLS, s uintptr) {
  21484. var i int32
  21485. _ = i
  21486. i = 0
  21487. for {
  21488. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21489. break
  21490. }
  21491. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  21492. goto _1
  21493. _1:
  21494. ;
  21495. i++
  21496. }
  21497. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  21498. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  21499. }
  21500. libc.Xfree(tls, s)
  21501. }
  21502. func XFcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  21503. var f, v2 uintptr
  21504. var sfont, v1 int32
  21505. _, _, _, _ = f, sfont, v1, v2
  21506. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  21507. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  21508. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  21509. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint64FromInt32(sfont)*uint64(8))
  21510. } else {
  21511. f = libc.Xmalloc(tls, libc.Uint64FromInt32(sfont)*uint64(8))
  21512. }
  21513. if !(f != 0) {
  21514. return m_FcFalse
  21515. }
  21516. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  21517. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  21518. }
  21519. v2 = s
  21520. v1 = *(*int32)(unsafe.Pointer(v2))
  21521. *(*int32)(unsafe.Pointer(v2))++
  21522. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  21523. return int32(m_FcTrue)
  21524. }
  21525. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  21526. var i int32
  21527. _ = i
  21528. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  21529. return m_FcFalse
  21530. }
  21531. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  21532. return m_FcFalse
  21533. }
  21534. i = 0
  21535. for {
  21536. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21537. break
  21538. }
  21539. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  21540. return m_FcFalse
  21541. }
  21542. goto _1
  21543. _1:
  21544. ;
  21545. i++
  21546. }
  21547. return int32(m_FcTrue)
  21548. }
  21549. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  21550. var fonts_serialize, p_serialize, s_serialize uintptr
  21551. var i int32
  21552. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  21553. s_serialize = XFcSerializePtr(tls, serialize, s)
  21554. if !(s_serialize != 0) {
  21555. return libc.UintptrFromInt32(0)
  21556. }
  21557. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  21558. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  21559. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  21560. if !(fonts_serialize != 0) {
  21561. return libc.UintptrFromInt32(0)
  21562. }
  21563. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  21564. i = 0
  21565. for {
  21566. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  21567. break
  21568. }
  21569. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  21570. if !(p_serialize != 0) {
  21571. return libc.UintptrFromInt32(0)
  21572. }
  21573. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  21574. goto _1
  21575. _1:
  21576. ;
  21577. i++
  21578. }
  21579. return s_serialize
  21580. }
  21581. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  21582. var i int32
  21583. var new1, v2, v3 uintptr
  21584. _, _, _, _ = i, new1, v2, v3
  21585. new1 = XFcFontSetCreate(tls)
  21586. if !(new1 != 0) {
  21587. return libc.UintptrFromInt32(0)
  21588. }
  21589. i = 0
  21590. for {
  21591. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  21592. break
  21593. }
  21594. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  21595. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  21596. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  21597. } else {
  21598. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  21599. }
  21600. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  21601. } else {
  21602. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  21603. }
  21604. if !(XFcFontSetAdd(tls, new1, XFcPatternDuplicate(tls, v2)) != 0) {
  21605. goto bail
  21606. }
  21607. goto _1
  21608. _1:
  21609. ;
  21610. i++
  21611. }
  21612. return new1
  21613. goto bail
  21614. bail:
  21615. ;
  21616. XFcFontSetDestroy(tls, new1)
  21617. return libc.UintptrFromInt32(0)
  21618. }
  21619. type TFcPtrList = struct {
  21620. Fdestroy_func TFcDestroyFunc
  21621. Flist uintptr
  21622. }
  21623. type T_FcPtrList = TFcPtrList
  21624. type TFcPtrListEntry = struct {
  21625. Fnext uintptr
  21626. Fdata uintptr
  21627. }
  21628. type T_FcPtrListEntry = TFcPtrListEntry
  21629. type TFcPtrListIterPrivate = struct {
  21630. Flist uintptr
  21631. Fentry uintptr
  21632. Fprev uintptr
  21633. }
  21634. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  21635. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  21636. var ret uintptr
  21637. _ = ret
  21638. ret = libc.Xmalloc(tls, uint64(16))
  21639. if ret != 0 {
  21640. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  21641. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  21642. }
  21643. return ret
  21644. }
  21645. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  21646. bp := tls.Alloc(32)
  21647. defer tls.Free(32)
  21648. var _ /* iter at bp+0 */ TFcPtrListIter
  21649. XFcPtrListIterInit(tls, list, bp)
  21650. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  21651. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  21652. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  21653. }
  21654. XFcPtrListIterRemove(tls, list, bp)
  21655. }
  21656. libc.Xfree(tls, list)
  21657. }
  21658. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  21659. var priv uintptr
  21660. _ = priv
  21661. priv = iter
  21662. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21663. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  21664. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  21665. }
  21666. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  21667. var e, p, priv uintptr
  21668. _, _, _ = e, p, priv
  21669. priv = iter
  21670. e = list + 8
  21671. p = e
  21672. for {
  21673. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  21674. break
  21675. }
  21676. goto _1
  21677. _1:
  21678. ;
  21679. p = e
  21680. e = *(*uintptr)(unsafe.Pointer(e))
  21681. }
  21682. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21683. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  21684. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  21685. }
  21686. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21687. var priv uintptr
  21688. _ = priv
  21689. priv = iter
  21690. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21691. return m_FcFalse
  21692. }
  21693. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  21694. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21695. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  21696. }
  21697. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21698. var priv uintptr
  21699. _ = priv
  21700. priv = iter
  21701. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  21702. }
  21703. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  21704. var priv uintptr
  21705. _ = priv
  21706. priv = iter
  21707. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21708. return libc.UintptrFromInt32(0)
  21709. }
  21710. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  21711. }
  21712. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  21713. var e, priv uintptr
  21714. _, _ = e, priv
  21715. priv = iter
  21716. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21717. return m_FcFalse
  21718. }
  21719. e = libc.Xmalloc(tls, uint64(16))
  21720. if !(e != 0) {
  21721. return m_FcFalse
  21722. }
  21723. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  21724. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  21725. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21726. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  21727. } else {
  21728. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  21729. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  21730. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  21731. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  21732. } else {
  21733. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  21734. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  21735. return int32(m_FcTrue)
  21736. }
  21737. }
  21738. return XFcPtrListIterNext(tls, list, iter)
  21739. }
  21740. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21741. var e, priv uintptr
  21742. _, _ = e, priv
  21743. priv = iter
  21744. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21745. return m_FcFalse
  21746. }
  21747. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21748. return int32(m_FcTrue)
  21749. }
  21750. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  21751. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  21752. }
  21753. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  21754. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  21755. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21756. }
  21757. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21758. libc.Xfree(tls, e)
  21759. return int32(m_FcTrue)
  21760. }
  21761. const m_FC_HASH_SIZE = 227
  21762. type TFcHashTable = struct {
  21763. Fbuckets [227]uintptr
  21764. Fhash_func TFcHashFunc
  21765. Fcompare_func TFcCompareFunc
  21766. Fkey_copy_func TFcCopyFunc
  21767. Fvalue_copy_func TFcCopyFunc
  21768. Fkey_destroy_func TFcDestroyFunc
  21769. Fvalue_destroy_func TFcDestroyFunc
  21770. }
  21771. type T_FcHashTable = TFcHashTable
  21772. type TFcHashBucket = struct {
  21773. Fnext uintptr
  21774. Fkey uintptr
  21775. Fvalue uintptr
  21776. }
  21777. type T_FcHashBucket = TFcHashBucket
  21778. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  21779. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  21780. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  21781. }
  21782. 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) {
  21783. var ret uintptr
  21784. _ = ret
  21785. ret = libc.Xmalloc(tls, uint64(1864))
  21786. if ret != 0 {
  21787. libc.X__builtin___memset_chk(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE), ^t__predefined_size_t(0))
  21788. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  21789. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  21790. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  21791. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  21792. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  21793. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  21794. }
  21795. return ret
  21796. }
  21797. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  21798. var bucket, prev uintptr
  21799. var i int32
  21800. _, _, _ = bucket, i, prev
  21801. i = 0
  21802. for {
  21803. if !(i < int32(m_FC_HASH_SIZE)) {
  21804. break
  21805. }
  21806. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  21807. for bucket != 0 {
  21808. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21809. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21810. }
  21811. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21812. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21813. }
  21814. prev = bucket
  21815. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21816. libc.Xfree(tls, prev)
  21817. }
  21818. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  21819. goto _1
  21820. _1:
  21821. ;
  21822. i++
  21823. }
  21824. libc.Xfree(tls, table)
  21825. }
  21826. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21827. var bucket uintptr
  21828. var hash TFcChar32
  21829. _, _ = bucket, hash
  21830. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21831. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  21832. for {
  21833. if !(bucket != 0) {
  21834. break
  21835. }
  21836. 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) {
  21837. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  21838. 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) {
  21839. return m_FcFalse
  21840. }
  21841. } else {
  21842. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  21843. }
  21844. return int32(m_FcTrue)
  21845. }
  21846. goto _1
  21847. _1:
  21848. ;
  21849. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21850. }
  21851. return m_FcFalse
  21852. }
  21853. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  21854. var b, bucket, prev, v3 uintptr
  21855. var hash TFcChar32
  21856. var ret TFcBool
  21857. var v4, v5 int32
  21858. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  21859. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21860. ret = m_FcFalse
  21861. bucket = libc.Xmalloc(tls, uint64(24))
  21862. if !(bucket != 0) {
  21863. return m_FcFalse
  21864. }
  21865. libc.X__builtin___memset_chk(tls, bucket, 0, uint64(24), ^t__predefined_size_t(0))
  21866. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  21867. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func})))(tls, key, bucket+8) != 0))
  21868. } else {
  21869. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  21870. }
  21871. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  21872. ret |= libc.BoolInt32(!((*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func})))(tls, value, bucket+16) != 0))
  21873. } else {
  21874. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  21875. }
  21876. if !(ret != 0) {
  21877. goto _1
  21878. }
  21879. goto destroy
  21880. destroy:
  21881. ;
  21882. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21883. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21884. }
  21885. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21886. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21887. }
  21888. libc.Xfree(tls, bucket)
  21889. return libc.BoolInt32(!(ret != 0))
  21890. _1:
  21891. ;
  21892. goto retry
  21893. retry:
  21894. ;
  21895. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  21896. for {
  21897. v3 = *(*uintptr)(unsafe.Pointer(prev))
  21898. b = v3
  21899. if !(v3 != 0) {
  21900. break
  21901. }
  21902. 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) {
  21903. if replace != 0 {
  21904. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  21905. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  21906. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  21907. v4 = libc.Int32FromInt32(m_FcTrue)
  21908. } else {
  21909. v4 = m_FcFalse
  21910. }
  21911. if !(v4 != 0) {
  21912. goto retry
  21913. }
  21914. bucket = b
  21915. } else {
  21916. ret = int32(m_FcTrue)
  21917. }
  21918. goto destroy
  21919. }
  21920. goto _2
  21921. _2:
  21922. ;
  21923. prev = b
  21924. }
  21925. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  21926. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  21927. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  21928. v5 = libc.Int32FromInt32(m_FcTrue)
  21929. } else {
  21930. v5 = m_FcFalse
  21931. }
  21932. if !(v5 != 0) {
  21933. goto retry
  21934. }
  21935. return int32(m_FcTrue)
  21936. }
  21937. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21938. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  21939. }
  21940. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21941. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  21942. }
  21943. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  21944. var bucket, prev, v2 uintptr
  21945. var hash TFcChar32
  21946. var ret TFcBool
  21947. var v3 int32
  21948. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  21949. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21950. ret = m_FcFalse
  21951. goto retry
  21952. retry:
  21953. ;
  21954. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  21955. for {
  21956. v2 = *(*uintptr)(unsafe.Pointer(prev))
  21957. bucket = v2
  21958. if !(v2 != 0) {
  21959. break
  21960. }
  21961. 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) {
  21962. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  21963. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21964. v3 = libc.Int32FromInt32(m_FcTrue)
  21965. } else {
  21966. v3 = m_FcFalse
  21967. }
  21968. if !(v3 != 0) {
  21969. goto retry
  21970. }
  21971. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21972. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21973. }
  21974. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21975. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21976. }
  21977. libc.Xfree(tls, bucket)
  21978. ret = int32(m_FcTrue)
  21979. break
  21980. }
  21981. goto _1
  21982. _1:
  21983. ;
  21984. prev = bucket
  21985. }
  21986. return ret
  21987. }
  21988. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  21989. /*
  21990. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  21991. *
  21992. * @APPLE_LICENSE_HEADER_START@
  21993. *
  21994. * This file contains Original Code and/or Modifications of Original Code
  21995. * as defined in and that are subject to the Apple Public Source License
  21996. * Version 2.0 (the 'License'). You may not use this file except in
  21997. * compliance with the License. Please obtain a copy of the License at
  21998. * http://www.opensource.apple.com/apsl/ and read it before using this
  21999. * file.
  22000. *
  22001. * The Original Code and all software distributed under the License are
  22002. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  22003. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  22004. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  22005. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  22006. * Please see the License for the specific language governing rights and
  22007. * limitations under the License.
  22008. *
  22009. * @APPLE_LICENSE_HEADER_END@
  22010. */
  22011. /*-
  22012. * Copyright (c) 1990, 1993
  22013. * The Regents of the University of California. All rights reserved.
  22014. *
  22015. * Redistribution and use in source and binary forms, with or without
  22016. * modification, are permitted provided that the following conditions
  22017. * are met:
  22018. * 1. Redistributions of source code must retain the above copyright
  22019. * notice, this list of conditions and the following disclaimer.
  22020. * 2. Redistributions in binary form must reproduce the above copyright
  22021. * notice, this list of conditions and the following disclaimer in the
  22022. * documentation and/or other materials provided with the distribution.
  22023. * 3. All advertising materials mentioning features or use of this software
  22024. * must display the following acknowledgement:
  22025. * This product includes software developed by the University of
  22026. * California, Berkeley and its contributors.
  22027. * 4. Neither the name of the University nor the names of its contributors
  22028. * may be used to endorse or promote products derived from this software
  22029. * without specific prior written permission.
  22030. *
  22031. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22032. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22033. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22034. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22035. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22036. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22037. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22038. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22039. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22040. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22041. * SUCH DAMAGE.
  22042. *
  22043. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  22044. */
  22045. /*
  22046. * Copyright (c) 2023 Apple Inc. All rights reserved.
  22047. *
  22048. * @APPLE_LICENSE_HEADER_START@
  22049. *
  22050. * This file contains Original Code and/or Modifications of Original Code
  22051. * as defined in and that are subject to the Apple Public Source License
  22052. * Version 2.0 (the 'License'). You may not use this file except in
  22053. * compliance with the License. Please obtain a copy of the License at
  22054. * http://www.opensource.apple.com/apsl/ and read it before using this
  22055. * file.
  22056. *
  22057. * The Original Code and all software distributed under the License are
  22058. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  22059. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  22060. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  22061. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  22062. * Please see the License for the specific language governing rights and
  22063. * limitations under the License.
  22064. *
  22065. * @APPLE_LICENSE_HEADER_END@
  22066. */
  22067. /*-
  22068. * Copyright (c) 1990, 1993
  22069. * The Regents of the University of California. All rights reserved.
  22070. *
  22071. * Redistribution and use in source and binary forms, with or without
  22072. * modification, are permitted provided that the following conditions
  22073. * are met:
  22074. * 1. Redistributions of source code must retain the above copyright
  22075. * notice, this list of conditions and the following disclaimer.
  22076. * 2. Redistributions in binary form must reproduce the above copyright
  22077. * notice, this list of conditions and the following disclaimer in the
  22078. * documentation and/or other materials provided with the distribution.
  22079. * 3. All advertising materials mentioning features or use of this software
  22080. * must display the following acknowledgement:
  22081. * This product includes software developed by the University of
  22082. * California, Berkeley and its contributors.
  22083. * 4. Neither the name of the University nor the names of its contributors
  22084. * may be used to endorse or promote products derived from this software
  22085. * without specific prior written permission.
  22086. *
  22087. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22088. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  22089. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  22090. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  22091. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  22092. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  22093. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  22094. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  22095. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22096. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  22097. * SUCH DAMAGE.
  22098. *
  22099. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  22100. */
  22101. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  22102. var config, fallback uintptr
  22103. _, _ = config, fallback
  22104. fallback = __ccgo_ts + 4899
  22105. config = XFcConfigCreate(tls)
  22106. if !(config != 0) {
  22107. goto bail0
  22108. }
  22109. XFcConfigSetSysRoot(tls, config, sysroot)
  22110. if !(XFcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  22111. goto bail1
  22112. }
  22113. return config
  22114. goto bail1
  22115. bail1:
  22116. ;
  22117. XFcConfigDestroy(tls, config)
  22118. goto bail0
  22119. bail0:
  22120. ;
  22121. return uintptr(0)
  22122. return r
  22123. }
  22124. func XFcGetVersion(tls *libc.TLS) (r int32) {
  22125. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  22126. }
  22127. // C documentation
  22128. //
  22129. // /*
  22130. // * Load the configuration files
  22131. // */
  22132. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  22133. bp := tls.Alloc(16)
  22134. defer tls.Free(16)
  22135. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  22136. var have_own TFcBool
  22137. var plen Tsize_t
  22138. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  22139. if !(config != 0) {
  22140. config = XFcConfigCreate(tls)
  22141. if !(config != 0) {
  22142. return libc.UintptrFromInt32(0)
  22143. }
  22144. }
  22145. XFcInitDebug(tls)
  22146. if !(XFcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  22147. sysroot = XFcConfigGetSysRoot(tls, config)
  22148. fallback = _FcInitFallbackConfig(tls, sysroot)
  22149. XFcConfigDestroy(tls, config)
  22150. return fallback
  22151. }
  22152. XFcConfigParseOnly(tls, config, __ccgo_ts+5466, m_FcFalse)
  22153. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  22154. goto _1
  22155. }
  22156. have_own = m_FcFalse
  22157. env_file = libc.Xgetenv(tls, __ccgo_ts+1637)
  22158. env_path = libc.Xgetenv(tls, __ccgo_ts+1487)
  22159. 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 {
  22160. have_own = int32(m_FcTrue)
  22161. }
  22162. if !(have_own != 0) {
  22163. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5499, 0)
  22164. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5571, libc.VaList(bp+8, __ccgo_ts+5623))
  22165. }
  22166. prefix = XFcConfigXdgCacheHome(tls)
  22167. if !(prefix != 0) {
  22168. goto bail
  22169. }
  22170. plen = libc.Xstrlen(tls, prefix)
  22171. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  22172. if !(p != 0) {
  22173. goto bail
  22174. }
  22175. prefix = p
  22176. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen), __ccgo_ts+5649, uint64(11), ^t__predefined_size_t(0))
  22177. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  22178. if !(have_own != 0) {
  22179. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5661, 0)
  22180. }
  22181. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5623) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  22182. goto _2
  22183. }
  22184. goto bail
  22185. bail:
  22186. ;
  22187. sysroot1 = XFcConfigGetSysRoot(tls, config)
  22188. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5734, 0)
  22189. if prefix != 0 {
  22190. XFcStrFree(tls, prefix)
  22191. }
  22192. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  22193. XFcConfigDestroy(tls, config)
  22194. return fallback1
  22195. _2:
  22196. ;
  22197. XFcStrFree(tls, prefix)
  22198. _1:
  22199. ;
  22200. return config
  22201. }
  22202. func XFcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  22203. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  22204. }
  22205. // C documentation
  22206. //
  22207. // /*
  22208. // * Load the configuration files and scan for available fonts
  22209. // */
  22210. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  22211. config = XFcInitLoadOwnConfig(tls, config)
  22212. if !(config != 0) {
  22213. return uintptr(0)
  22214. }
  22215. if !(XFcConfigBuildFonts(tls, config) != 0) {
  22216. XFcConfigDestroy(tls, config)
  22217. return uintptr(0)
  22218. }
  22219. return config
  22220. }
  22221. func XFcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  22222. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  22223. }
  22224. // C documentation
  22225. //
  22226. // /*
  22227. // * Initialize the default library configuration
  22228. // */
  22229. func XFcInit(tls *libc.TLS) (r TFcBool) {
  22230. return XFcConfigInit(tls)
  22231. }
  22232. // C documentation
  22233. //
  22234. // /*
  22235. // * Free all library-allocated data structures.
  22236. // */
  22237. func XFcFini(tls *libc.TLS) {
  22238. XFcConfigFini(tls)
  22239. XFcConfigPathFini(tls)
  22240. XFcDefaultFini(tls)
  22241. XFcObjectFini(tls)
  22242. XFcCacheFini(tls)
  22243. }
  22244. // C documentation
  22245. //
  22246. // /*
  22247. // * Reread the configuration and available font lists
  22248. // */
  22249. func XFcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  22250. var config uintptr
  22251. var ret TFcBool
  22252. _, _ = config, ret
  22253. config = XFcInitLoadConfigAndFonts(tls)
  22254. if !(config != 0) {
  22255. return m_FcFalse
  22256. }
  22257. ret = XFcConfigSetCurrent(tls, config)
  22258. /* FcConfigSetCurrent() increases the refcount.
  22259. * decrease it here to avoid the memory leak.
  22260. */
  22261. XFcConfigDestroy(tls, config)
  22262. return ret
  22263. }
  22264. func XFcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  22265. var config uintptr
  22266. var now Ttime_t
  22267. var ret TFcBool
  22268. _, _, _ = config, now, ret
  22269. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  22270. ret = int32(m_FcTrue)
  22271. if !(config != 0) {
  22272. return m_FcFalse
  22273. }
  22274. /*
  22275. * rescanInterval == 0 disables automatic up to date
  22276. */
  22277. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  22278. goto bail
  22279. }
  22280. /*
  22281. * Check no more often than rescanInterval seconds
  22282. */
  22283. now = libc.Xtime(tls, uintptr(0))
  22284. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  22285. goto bail
  22286. }
  22287. /*
  22288. * If up to date, don't reload configuration
  22289. */
  22290. if XFcConfigUptoDate(tls, uintptr(0)) != 0 {
  22291. goto bail
  22292. }
  22293. ret = XFcInitReinitialize(tls)
  22294. goto bail
  22295. bail:
  22296. ;
  22297. XFcConfigDestroy(tls, config)
  22298. return ret
  22299. }
  22300. const m_FC_DIR_SEPARATOR_S4 = "/"
  22301. const m_NUM_COUNTRY_SET = 10
  22302. const m_NUM_LANG_CHAR_SET = 246
  22303. const m_NUM_LANG_SET_MAP = 8
  22304. type TFcLangSet = struct {
  22305. Fextra uintptr
  22306. Fmap_size TFcChar32
  22307. Fmap1 [8]TFcChar32
  22308. }
  22309. type T_FcLangSet = TFcLangSet
  22310. /* Objects MT-safe for readonly access. */
  22311. type TFcLangCharSet = struct {
  22312. Flang [16]TFcChar8
  22313. Fcharset TFcCharSet
  22314. }
  22315. type TFcLangCharSetRange = struct {
  22316. Fbegin int32
  22317. Fend int32
  22318. }
  22319. var _fcLangData = struct {
  22320. FlangCharSets [246]TFcLangCharSet
  22321. Fleaves [725]TFcCharLeaf
  22322. Fleaf_offsets [780]Tuintptr_t
  22323. Fnumbers [780]TFcChar16
  22324. FlangIndices [246]TFcChar8
  22325. FlangIndicesInv [246]TFcChar8
  22326. }{
  22327. FlangCharSets: [246]TFcLangCharSet{
  22328. 0: {
  22329. Flang: [16]TFcChar8{'a', 'a'},
  22330. Fcharset: TFcCharSet{
  22331. Fref: TFcRef{
  22332. Fcount: -libc.Int32FromInt32(1),
  22333. },
  22334. Fnum: int32(1),
  22335. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22336. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22337. },
  22338. },
  22339. 1: {
  22340. Flang: [16]TFcChar8{'a', 'b'},
  22341. Fcharset: TFcCharSet{
  22342. Fref: TFcRef{
  22343. Fcount: -libc.Int32FromInt32(1),
  22344. },
  22345. Fnum: int32(1),
  22346. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22347. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22348. },
  22349. },
  22350. 2: {
  22351. Flang: [16]TFcChar8{'a', 'f'},
  22352. Fcharset: TFcCharSet{
  22353. Fref: TFcRef{
  22354. Fcount: -libc.Int32FromInt32(1),
  22355. },
  22356. Fnum: int32(2),
  22357. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22358. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22359. },
  22360. },
  22361. 3: {
  22362. Flang: [16]TFcChar8{'a', 'k'},
  22363. Fcharset: TFcCharSet{
  22364. Fref: TFcRef{
  22365. Fcount: -libc.Int32FromInt32(1),
  22366. },
  22367. Fnum: int32(5),
  22368. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22369. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22370. },
  22371. },
  22372. 4: {
  22373. Flang: [16]TFcChar8{'a', 'm'},
  22374. Fcharset: TFcCharSet{
  22375. Fref: TFcRef{
  22376. Fcount: -libc.Int32FromInt32(1),
  22377. },
  22378. Fnum: int32(2),
  22379. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22380. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22381. },
  22382. },
  22383. 5: {
  22384. Flang: [16]TFcChar8{'a', 'n'},
  22385. Fcharset: TFcCharSet{
  22386. Fref: TFcRef{
  22387. Fcount: -libc.Int32FromInt32(1),
  22388. },
  22389. Fnum: int32(1),
  22390. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22391. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22392. },
  22393. },
  22394. 6: {
  22395. Flang: [16]TFcChar8{'a', 'r'},
  22396. Fcharset: TFcCharSet{
  22397. Fref: TFcRef{
  22398. Fcount: -libc.Int32FromInt32(1),
  22399. },
  22400. Fnum: int32(1),
  22401. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22402. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22403. },
  22404. },
  22405. 7: {
  22406. Flang: [16]TFcChar8{'a', 's'},
  22407. Fcharset: TFcCharSet{
  22408. Fref: TFcRef{
  22409. Fcount: -libc.Int32FromInt32(1),
  22410. },
  22411. Fnum: int32(1),
  22412. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22413. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22414. },
  22415. },
  22416. 8: {
  22417. Flang: [16]TFcChar8{'a', 's', 't'},
  22418. Fcharset: TFcCharSet{
  22419. Fref: TFcRef{
  22420. Fcount: -libc.Int32FromInt32(1),
  22421. },
  22422. Fnum: int32(2),
  22423. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22424. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22425. },
  22426. },
  22427. 9: {
  22428. Flang: [16]TFcChar8{'a', 'v'},
  22429. Fcharset: TFcCharSet{
  22430. Fref: TFcRef{
  22431. Fcount: -libc.Int32FromInt32(1),
  22432. },
  22433. Fnum: int32(1),
  22434. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22435. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22436. },
  22437. },
  22438. 10: {
  22439. Flang: [16]TFcChar8{'a', 'y'},
  22440. Fcharset: TFcCharSet{
  22441. Fref: TFcRef{
  22442. Fcount: -libc.Int32FromInt32(1),
  22443. },
  22444. Fnum: int32(1),
  22445. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22446. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22447. },
  22448. },
  22449. 11: {
  22450. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  22451. Fcharset: TFcCharSet{
  22452. Fref: TFcRef{
  22453. Fcount: -libc.Int32FromInt32(1),
  22454. },
  22455. Fnum: int32(3),
  22456. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22457. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22458. },
  22459. },
  22460. 12: {
  22461. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  22462. Fcharset: TFcCharSet{
  22463. Fref: TFcRef{
  22464. Fcount: -libc.Int32FromInt32(1),
  22465. },
  22466. Fnum: int32(1),
  22467. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22468. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22469. },
  22470. },
  22471. 13: {
  22472. Flang: [16]TFcChar8{'b', 'a'},
  22473. Fcharset: TFcCharSet{
  22474. Fref: TFcRef{
  22475. Fcount: -libc.Int32FromInt32(1),
  22476. },
  22477. Fnum: int32(1),
  22478. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22479. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22480. },
  22481. },
  22482. 14: {
  22483. Flang: [16]TFcChar8{'b', 'e'},
  22484. Fcharset: TFcCharSet{
  22485. Fref: TFcRef{
  22486. Fcount: -libc.Int32FromInt32(1),
  22487. },
  22488. Fnum: int32(1),
  22489. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22490. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22491. },
  22492. },
  22493. 15: {
  22494. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  22495. Fcharset: TFcCharSet{
  22496. Fref: TFcRef{
  22497. Fcount: -libc.Int32FromInt32(1),
  22498. },
  22499. Fnum: int32(4),
  22500. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22501. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22502. },
  22503. },
  22504. 16: {
  22505. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  22506. Fcharset: TFcCharSet{
  22507. Fref: TFcRef{
  22508. Fcount: -libc.Int32FromInt32(1),
  22509. },
  22510. Fnum: int32(1),
  22511. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22512. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22513. },
  22514. },
  22515. 17: {
  22516. Flang: [16]TFcChar8{'b', 'g'},
  22517. Fcharset: TFcCharSet{
  22518. Fref: TFcRef{
  22519. Fcount: -libc.Int32FromInt32(1),
  22520. },
  22521. Fnum: int32(1),
  22522. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22523. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22524. },
  22525. },
  22526. 18: {
  22527. Flang: [16]TFcChar8{'b', 'h'},
  22528. Fcharset: TFcCharSet{
  22529. Fref: TFcRef{
  22530. Fcount: -libc.Int32FromInt32(1),
  22531. },
  22532. Fnum: int32(1),
  22533. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22534. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22535. },
  22536. },
  22537. 19: {
  22538. Flang: [16]TFcChar8{'b', 'h', 'o'},
  22539. Fcharset: TFcCharSet{
  22540. Fref: TFcRef{
  22541. Fcount: -libc.Int32FromInt32(1),
  22542. },
  22543. Fnum: int32(1),
  22544. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22545. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22546. },
  22547. },
  22548. 20: {
  22549. Flang: [16]TFcChar8{'b', 'i'},
  22550. Fcharset: TFcCharSet{
  22551. Fref: TFcRef{
  22552. Fcount: -libc.Int32FromInt32(1),
  22553. },
  22554. Fnum: int32(1),
  22555. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22556. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22557. },
  22558. },
  22559. 21: {
  22560. Flang: [16]TFcChar8{'b', 'i', 'n'},
  22561. Fcharset: TFcCharSet{
  22562. Fref: TFcRef{
  22563. Fcount: -libc.Int32FromInt32(1),
  22564. },
  22565. Fnum: int32(3),
  22566. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22567. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22568. },
  22569. },
  22570. 22: {
  22571. Flang: [16]TFcChar8{'b', 'm'},
  22572. Fcharset: TFcCharSet{
  22573. Fref: TFcRef{
  22574. Fcount: -libc.Int32FromInt32(1),
  22575. },
  22576. Fnum: int32(3),
  22577. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22578. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22579. },
  22580. },
  22581. 23: {
  22582. Flang: [16]TFcChar8{'b', 'n'},
  22583. Fcharset: TFcCharSet{
  22584. Fref: TFcRef{
  22585. Fcount: -libc.Int32FromInt32(1),
  22586. },
  22587. Fnum: int32(1),
  22588. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22589. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22590. },
  22591. },
  22592. 24: {
  22593. Flang: [16]TFcChar8{'b', 'o'},
  22594. Fcharset: TFcCharSet{
  22595. Fref: TFcRef{
  22596. Fcount: -libc.Int32FromInt32(1),
  22597. },
  22598. Fnum: int32(1),
  22599. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22600. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22601. },
  22602. },
  22603. 25: {
  22604. Flang: [16]TFcChar8{'b', 'r'},
  22605. Fcharset: TFcCharSet{
  22606. Fref: TFcRef{
  22607. Fcount: -libc.Int32FromInt32(1),
  22608. },
  22609. Fnum: int32(1),
  22610. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22611. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22612. },
  22613. },
  22614. 26: {
  22615. Flang: [16]TFcChar8{'b', 'r', 'x'},
  22616. Fcharset: TFcCharSet{
  22617. Fref: TFcRef{
  22618. Fcount: -libc.Int32FromInt32(1),
  22619. },
  22620. Fnum: int32(1),
  22621. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22622. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22623. },
  22624. },
  22625. 27: {
  22626. Flang: [16]TFcChar8{'b', 's'},
  22627. Fcharset: TFcCharSet{
  22628. Fref: TFcRef{
  22629. Fcount: -libc.Int32FromInt32(1),
  22630. },
  22631. Fnum: int32(2),
  22632. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22633. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22634. },
  22635. },
  22636. 28: {
  22637. Flang: [16]TFcChar8{'b', 'u', 'a'},
  22638. Fcharset: TFcCharSet{
  22639. Fref: TFcRef{
  22640. Fcount: -libc.Int32FromInt32(1),
  22641. },
  22642. Fnum: int32(1),
  22643. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22644. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22645. },
  22646. },
  22647. 29: {
  22648. Flang: [16]TFcChar8{'b', 'y', 'n'},
  22649. Fcharset: TFcCharSet{
  22650. Fref: TFcRef{
  22651. Fcount: -libc.Int32FromInt32(1),
  22652. },
  22653. Fnum: int32(2),
  22654. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22655. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22656. },
  22657. },
  22658. 30: {
  22659. Flang: [16]TFcChar8{'c', 'a'},
  22660. Fcharset: TFcCharSet{
  22661. Fref: TFcRef{
  22662. Fcount: -libc.Int32FromInt32(1),
  22663. },
  22664. Fnum: int32(2),
  22665. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22666. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22667. },
  22668. },
  22669. 31: {
  22670. Flang: [16]TFcChar8{'c', 'e'},
  22671. Fcharset: TFcCharSet{
  22672. Fref: TFcRef{
  22673. Fcount: -libc.Int32FromInt32(1),
  22674. },
  22675. Fnum: int32(1),
  22676. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22677. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22678. },
  22679. },
  22680. 32: {
  22681. Flang: [16]TFcChar8{'c', 'h'},
  22682. Fcharset: TFcCharSet{
  22683. Fref: TFcRef{
  22684. Fcount: -libc.Int32FromInt32(1),
  22685. },
  22686. Fnum: int32(1),
  22687. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22688. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22689. },
  22690. },
  22691. 33: {
  22692. Flang: [16]TFcChar8{'c', 'h', 'm'},
  22693. Fcharset: TFcCharSet{
  22694. Fref: TFcRef{
  22695. Fcount: -libc.Int32FromInt32(1),
  22696. },
  22697. Fnum: int32(1),
  22698. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22699. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22700. },
  22701. },
  22702. 34: {
  22703. Flang: [16]TFcChar8{'c', 'h', 'r'},
  22704. Fcharset: TFcCharSet{
  22705. Fref: TFcRef{
  22706. Fcount: -libc.Int32FromInt32(1),
  22707. },
  22708. Fnum: int32(1),
  22709. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22710. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22711. },
  22712. },
  22713. 35: {
  22714. Flang: [16]TFcChar8{'c', 'o'},
  22715. Fcharset: TFcCharSet{
  22716. Fref: TFcRef{
  22717. Fcount: -libc.Int32FromInt32(1),
  22718. },
  22719. Fnum: int32(2),
  22720. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22721. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22722. },
  22723. },
  22724. 36: {
  22725. Flang: [16]TFcChar8{'c', 'r', 'h'},
  22726. Fcharset: TFcCharSet{
  22727. Fref: TFcRef{
  22728. Fcount: -libc.Int32FromInt32(1),
  22729. },
  22730. Fnum: int32(2),
  22731. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22732. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22733. },
  22734. },
  22735. 37: {
  22736. Flang: [16]TFcChar8{'c', 's'},
  22737. Fcharset: TFcCharSet{
  22738. Fref: TFcRef{
  22739. Fcount: -libc.Int32FromInt32(1),
  22740. },
  22741. Fnum: int32(2),
  22742. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22743. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22744. },
  22745. },
  22746. 38: {
  22747. Flang: [16]TFcChar8{'c', 's', 'b'},
  22748. Fcharset: TFcCharSet{
  22749. Fref: TFcRef{
  22750. Fcount: -libc.Int32FromInt32(1),
  22751. },
  22752. Fnum: int32(2),
  22753. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22754. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22755. },
  22756. },
  22757. 39: {
  22758. Flang: [16]TFcChar8{'c', 'u'},
  22759. Fcharset: TFcCharSet{
  22760. Fref: TFcRef{
  22761. Fcount: -libc.Int32FromInt32(1),
  22762. },
  22763. Fnum: int32(1),
  22764. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22765. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22766. },
  22767. },
  22768. 40: {
  22769. Flang: [16]TFcChar8{'c', 'v'},
  22770. Fcharset: TFcCharSet{
  22771. Fref: TFcRef{
  22772. Fcount: -libc.Int32FromInt32(1),
  22773. },
  22774. Fnum: int32(2),
  22775. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22776. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22777. },
  22778. },
  22779. 41: {
  22780. Flang: [16]TFcChar8{'c', 'y'},
  22781. Fcharset: TFcCharSet{
  22782. Fref: TFcRef{
  22783. Fcount: -libc.Int32FromInt32(1),
  22784. },
  22785. Fnum: int32(3),
  22786. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22787. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22788. },
  22789. },
  22790. 42: {
  22791. Flang: [16]TFcChar8{'d', 'a'},
  22792. Fcharset: TFcCharSet{
  22793. Fref: TFcRef{
  22794. Fcount: -libc.Int32FromInt32(1),
  22795. },
  22796. Fnum: int32(1),
  22797. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22798. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22799. },
  22800. },
  22801. 43: {
  22802. Flang: [16]TFcChar8{'d', 'e'},
  22803. Fcharset: TFcCharSet{
  22804. Fref: TFcRef{
  22805. Fcount: -libc.Int32FromInt32(1),
  22806. },
  22807. Fnum: int32(1),
  22808. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22809. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22810. },
  22811. },
  22812. 44: {
  22813. Flang: [16]TFcChar8{'d', 'o', 'i'},
  22814. Fcharset: TFcCharSet{
  22815. Fref: TFcRef{
  22816. Fcount: -libc.Int32FromInt32(1),
  22817. },
  22818. Fnum: int32(1),
  22819. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22820. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22821. },
  22822. },
  22823. 45: {
  22824. Flang: [16]TFcChar8{'d', 'v'},
  22825. Fcharset: TFcCharSet{
  22826. Fref: TFcRef{
  22827. Fcount: -libc.Int32FromInt32(1),
  22828. },
  22829. Fnum: int32(1),
  22830. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22831. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22832. },
  22833. },
  22834. 46: {
  22835. Flang: [16]TFcChar8{'d', 'z'},
  22836. Fcharset: TFcCharSet{
  22837. Fref: TFcRef{
  22838. Fcount: -libc.Int32FromInt32(1),
  22839. },
  22840. Fnum: int32(1),
  22841. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22842. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22843. },
  22844. },
  22845. 47: {
  22846. Flang: [16]TFcChar8{'e', 'e'},
  22847. Fcharset: TFcCharSet{
  22848. Fref: TFcRef{
  22849. Fcount: -libc.Int32FromInt32(1),
  22850. },
  22851. Fnum: int32(4),
  22852. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22853. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22854. },
  22855. },
  22856. 48: {
  22857. Flang: [16]TFcChar8{'e', 'l'},
  22858. Fcharset: TFcCharSet{
  22859. Fref: TFcRef{
  22860. Fcount: -libc.Int32FromInt32(1),
  22861. },
  22862. Fnum: int32(1),
  22863. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22864. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22865. },
  22866. },
  22867. 49: {
  22868. Flang: [16]TFcChar8{'e', 'n'},
  22869. Fcharset: TFcCharSet{
  22870. Fref: TFcRef{
  22871. Fcount: -libc.Int32FromInt32(1),
  22872. },
  22873. Fnum: int32(1),
  22874. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22875. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22876. },
  22877. },
  22878. 50: {
  22879. Flang: [16]TFcChar8{'e', 'o'},
  22880. Fcharset: TFcCharSet{
  22881. Fref: TFcRef{
  22882. Fcount: -libc.Int32FromInt32(1),
  22883. },
  22884. Fnum: int32(2),
  22885. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22886. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22887. },
  22888. },
  22889. 51: {
  22890. Flang: [16]TFcChar8{'e', 's'},
  22891. Fcharset: TFcCharSet{
  22892. Fref: TFcRef{
  22893. Fcount: -libc.Int32FromInt32(1),
  22894. },
  22895. Fnum: int32(1),
  22896. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22897. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22898. },
  22899. },
  22900. 52: {
  22901. Flang: [16]TFcChar8{'e', 't'},
  22902. Fcharset: TFcCharSet{
  22903. Fref: TFcRef{
  22904. Fcount: -libc.Int32FromInt32(1),
  22905. },
  22906. Fnum: int32(2),
  22907. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22908. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22909. },
  22910. },
  22911. 53: {
  22912. Flang: [16]TFcChar8{'e', 'u'},
  22913. Fcharset: TFcCharSet{
  22914. Fref: TFcRef{
  22915. Fcount: -libc.Int32FromInt32(1),
  22916. },
  22917. Fnum: int32(1),
  22918. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22919. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22920. },
  22921. },
  22922. 54: {
  22923. Flang: [16]TFcChar8{'f', 'a'},
  22924. Fcharset: TFcCharSet{
  22925. Fref: TFcRef{
  22926. Fcount: -libc.Int32FromInt32(1),
  22927. },
  22928. Fnum: int32(1),
  22929. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22930. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22931. },
  22932. },
  22933. 55: {
  22934. Flang: [16]TFcChar8{'f', 'a', 't'},
  22935. Fcharset: TFcCharSet{
  22936. Fref: TFcRef{
  22937. Fcount: -libc.Int32FromInt32(1),
  22938. },
  22939. Fnum: int32(5),
  22940. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22941. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22942. },
  22943. },
  22944. 56: {
  22945. Flang: [16]TFcChar8{'f', 'f'},
  22946. Fcharset: TFcCharSet{
  22947. Fref: TFcRef{
  22948. Fcount: -libc.Int32FromInt32(1),
  22949. },
  22950. Fnum: int32(3),
  22951. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22952. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22953. },
  22954. },
  22955. 57: {
  22956. Flang: [16]TFcChar8{'f', 'i'},
  22957. Fcharset: TFcCharSet{
  22958. Fref: TFcRef{
  22959. Fcount: -libc.Int32FromInt32(1),
  22960. },
  22961. Fnum: int32(2),
  22962. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22963. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22964. },
  22965. },
  22966. 58: {
  22967. Flang: [16]TFcChar8{'f', 'i', 'l'},
  22968. Fcharset: TFcCharSet{
  22969. Fref: TFcRef{
  22970. Fcount: -libc.Int32FromInt32(1),
  22971. },
  22972. Fnum: int32(1),
  22973. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22974. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22975. },
  22976. },
  22977. 59: {
  22978. Flang: [16]TFcChar8{'f', 'j'},
  22979. Fcharset: TFcCharSet{
  22980. Fref: TFcRef{
  22981. Fcount: -libc.Int32FromInt32(1),
  22982. },
  22983. Fnum: int32(1),
  22984. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22985. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22986. },
  22987. },
  22988. 60: {
  22989. Flang: [16]TFcChar8{'f', 'o'},
  22990. Fcharset: TFcCharSet{
  22991. Fref: TFcRef{
  22992. Fcount: -libc.Int32FromInt32(1),
  22993. },
  22994. Fnum: int32(1),
  22995. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22996. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22997. },
  22998. },
  22999. 61: {
  23000. Flang: [16]TFcChar8{'f', 'r'},
  23001. Fcharset: TFcCharSet{
  23002. Fref: TFcRef{
  23003. Fcount: -libc.Int32FromInt32(1),
  23004. },
  23005. Fnum: int32(2),
  23006. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23007. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23008. },
  23009. },
  23010. 62: {
  23011. Flang: [16]TFcChar8{'f', 'u', 'r'},
  23012. Fcharset: TFcCharSet{
  23013. Fref: TFcRef{
  23014. Fcount: -libc.Int32FromInt32(1),
  23015. },
  23016. Fnum: int32(1),
  23017. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23018. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23019. },
  23020. },
  23021. 63: {
  23022. Flang: [16]TFcChar8{'f', 'y'},
  23023. Fcharset: TFcCharSet{
  23024. Fref: TFcRef{
  23025. Fcount: -libc.Int32FromInt32(1),
  23026. },
  23027. Fnum: int32(1),
  23028. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23029. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23030. },
  23031. },
  23032. 64: {
  23033. Flang: [16]TFcChar8{'g', 'a'},
  23034. Fcharset: TFcCharSet{
  23035. Fref: TFcRef{
  23036. Fcount: -libc.Int32FromInt32(1),
  23037. },
  23038. Fnum: int32(3),
  23039. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23040. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23041. },
  23042. },
  23043. 65: {
  23044. Flang: [16]TFcChar8{'g', 'd'},
  23045. Fcharset: TFcCharSet{
  23046. Fref: TFcRef{
  23047. Fcount: -libc.Int32FromInt32(1),
  23048. },
  23049. Fnum: int32(1),
  23050. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23051. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23052. },
  23053. },
  23054. 66: {
  23055. Flang: [16]TFcChar8{'g', 'e', 'z'},
  23056. Fcharset: TFcCharSet{
  23057. Fref: TFcRef{
  23058. Fcount: -libc.Int32FromInt32(1),
  23059. },
  23060. Fnum: int32(2),
  23061. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23062. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23063. },
  23064. },
  23065. 67: {
  23066. Flang: [16]TFcChar8{'g', 'l'},
  23067. Fcharset: TFcCharSet{
  23068. Fref: TFcRef{
  23069. Fcount: -libc.Int32FromInt32(1),
  23070. },
  23071. Fnum: int32(1),
  23072. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23073. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23074. },
  23075. },
  23076. 68: {
  23077. Flang: [16]TFcChar8{'g', 'n'},
  23078. Fcharset: TFcCharSet{
  23079. Fref: TFcRef{
  23080. Fcount: -libc.Int32FromInt32(1),
  23081. },
  23082. Fnum: int32(3),
  23083. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23084. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23085. },
  23086. },
  23087. 69: {
  23088. Flang: [16]TFcChar8{'g', 'u'},
  23089. Fcharset: TFcCharSet{
  23090. Fref: TFcRef{
  23091. Fcount: -libc.Int32FromInt32(1),
  23092. },
  23093. Fnum: int32(1),
  23094. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23095. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23096. },
  23097. },
  23098. 70: {
  23099. Flang: [16]TFcChar8{'g', 'v'},
  23100. Fcharset: TFcCharSet{
  23101. Fref: TFcRef{
  23102. Fcount: -libc.Int32FromInt32(1),
  23103. },
  23104. Fnum: int32(1),
  23105. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23106. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23107. },
  23108. },
  23109. 71: {
  23110. Flang: [16]TFcChar8{'h', 'a'},
  23111. Fcharset: TFcCharSet{
  23112. Fref: TFcRef{
  23113. Fcount: -libc.Int32FromInt32(1),
  23114. },
  23115. Fnum: int32(3),
  23116. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23117. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23118. },
  23119. },
  23120. 72: {
  23121. Flang: [16]TFcChar8{'h', 'a', 'w'},
  23122. Fcharset: TFcCharSet{
  23123. Fref: TFcRef{
  23124. Fcount: -libc.Int32FromInt32(1),
  23125. },
  23126. Fnum: int32(3),
  23127. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23128. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23129. },
  23130. },
  23131. 73: {
  23132. Flang: [16]TFcChar8{'h', 'e'},
  23133. Fcharset: TFcCharSet{
  23134. Fref: TFcRef{
  23135. Fcount: -libc.Int32FromInt32(1),
  23136. },
  23137. Fnum: int32(1),
  23138. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23139. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23140. },
  23141. },
  23142. 74: {
  23143. Flang: [16]TFcChar8{'h', 'i'},
  23144. Fcharset: TFcCharSet{
  23145. Fref: TFcRef{
  23146. Fcount: -libc.Int32FromInt32(1),
  23147. },
  23148. Fnum: int32(1),
  23149. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23150. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23151. },
  23152. },
  23153. 75: {
  23154. Flang: [16]TFcChar8{'h', 'n', 'e'},
  23155. Fcharset: TFcCharSet{
  23156. Fref: TFcRef{
  23157. Fcount: -libc.Int32FromInt32(1),
  23158. },
  23159. Fnum: int32(1),
  23160. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23161. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23162. },
  23163. },
  23164. 76: {
  23165. Flang: [16]TFcChar8{'h', 'o'},
  23166. Fcharset: TFcCharSet{
  23167. Fref: TFcRef{
  23168. Fcount: -libc.Int32FromInt32(1),
  23169. },
  23170. Fnum: int32(1),
  23171. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23172. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23173. },
  23174. },
  23175. 77: {
  23176. Flang: [16]TFcChar8{'h', 'r'},
  23177. Fcharset: TFcCharSet{
  23178. Fref: TFcRef{
  23179. Fcount: -libc.Int32FromInt32(1),
  23180. },
  23181. Fnum: int32(2),
  23182. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23183. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23184. },
  23185. },
  23186. 78: {
  23187. Flang: [16]TFcChar8{'h', 's', 'b'},
  23188. Fcharset: TFcCharSet{
  23189. Fref: TFcRef{
  23190. Fcount: -libc.Int32FromInt32(1),
  23191. },
  23192. Fnum: int32(2),
  23193. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23194. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23195. },
  23196. },
  23197. 79: {
  23198. Flang: [16]TFcChar8{'h', 't'},
  23199. Fcharset: TFcCharSet{
  23200. Fref: TFcRef{
  23201. Fcount: -libc.Int32FromInt32(1),
  23202. },
  23203. Fnum: int32(1),
  23204. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23205. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23206. },
  23207. },
  23208. 80: {
  23209. Flang: [16]TFcChar8{'h', 'u'},
  23210. Fcharset: TFcCharSet{
  23211. Fref: TFcRef{
  23212. Fcount: -libc.Int32FromInt32(1),
  23213. },
  23214. Fnum: int32(2),
  23215. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23216. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23217. },
  23218. },
  23219. 81: {
  23220. Flang: [16]TFcChar8{'h', 'y'},
  23221. Fcharset: TFcCharSet{
  23222. Fref: TFcRef{
  23223. Fcount: -libc.Int32FromInt32(1),
  23224. },
  23225. Fnum: int32(1),
  23226. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23227. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23228. },
  23229. },
  23230. 82: {
  23231. Flang: [16]TFcChar8{'h', 'z'},
  23232. Fcharset: TFcCharSet{
  23233. Fref: TFcRef{
  23234. Fcount: -libc.Int32FromInt32(1),
  23235. },
  23236. Fnum: int32(3),
  23237. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23238. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23239. },
  23240. },
  23241. 83: {
  23242. Flang: [16]TFcChar8{'i', 'a'},
  23243. Fcharset: TFcCharSet{
  23244. Fref: TFcRef{
  23245. Fcount: -libc.Int32FromInt32(1),
  23246. },
  23247. Fnum: int32(1),
  23248. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23249. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23250. },
  23251. },
  23252. 84: {
  23253. Flang: [16]TFcChar8{'i', 'd'},
  23254. Fcharset: TFcCharSet{
  23255. Fref: TFcRef{
  23256. Fcount: -libc.Int32FromInt32(1),
  23257. },
  23258. Fnum: int32(1),
  23259. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23260. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23261. },
  23262. },
  23263. 85: {
  23264. Flang: [16]TFcChar8{'i', 'e'},
  23265. Fcharset: TFcCharSet{
  23266. Fref: TFcRef{
  23267. Fcount: -libc.Int32FromInt32(1),
  23268. },
  23269. Fnum: int32(1),
  23270. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23271. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23272. },
  23273. },
  23274. 86: {
  23275. Flang: [16]TFcChar8{'i', 'g'},
  23276. Fcharset: TFcCharSet{
  23277. Fref: TFcRef{
  23278. Fcount: -libc.Int32FromInt32(1),
  23279. },
  23280. Fnum: int32(2),
  23281. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23282. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23283. },
  23284. },
  23285. 87: {
  23286. Flang: [16]TFcChar8{'i', 'i'},
  23287. Fcharset: TFcCharSet{
  23288. Fref: TFcRef{
  23289. Fcount: -libc.Int32FromInt32(1),
  23290. },
  23291. Fnum: int32(5),
  23292. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23293. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23294. },
  23295. },
  23296. 88: {
  23297. Flang: [16]TFcChar8{'i', 'k'},
  23298. Fcharset: TFcCharSet{
  23299. Fref: TFcRef{
  23300. Fcount: -libc.Int32FromInt32(1),
  23301. },
  23302. Fnum: int32(1),
  23303. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23304. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23305. },
  23306. },
  23307. 89: {
  23308. Flang: [16]TFcChar8{'i', 'o'},
  23309. Fcharset: TFcCharSet{
  23310. Fref: TFcRef{
  23311. Fcount: -libc.Int32FromInt32(1),
  23312. },
  23313. Fnum: int32(1),
  23314. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23315. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23316. },
  23317. },
  23318. 90: {
  23319. Flang: [16]TFcChar8{'i', 's'},
  23320. Fcharset: TFcCharSet{
  23321. Fref: TFcRef{
  23322. Fcount: -libc.Int32FromInt32(1),
  23323. },
  23324. Fnum: int32(1),
  23325. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23326. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23327. },
  23328. },
  23329. 91: {
  23330. Flang: [16]TFcChar8{'i', 't'},
  23331. Fcharset: TFcCharSet{
  23332. Fref: TFcRef{
  23333. Fcount: -libc.Int32FromInt32(1),
  23334. },
  23335. Fnum: int32(1),
  23336. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23337. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23338. },
  23339. },
  23340. 92: {
  23341. Flang: [16]TFcChar8{'i', 'u'},
  23342. Fcharset: TFcCharSet{
  23343. Fref: TFcRef{
  23344. Fcount: -libc.Int32FromInt32(1),
  23345. },
  23346. Fnum: int32(3),
  23347. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23348. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23349. },
  23350. },
  23351. 93: {
  23352. Flang: [16]TFcChar8{'j', 'a'},
  23353. Fcharset: TFcCharSet{
  23354. Fref: TFcRef{
  23355. Fcount: -libc.Int32FromInt32(1),
  23356. },
  23357. Fnum: int32(83),
  23358. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23359. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23360. },
  23361. },
  23362. 94: {
  23363. Flang: [16]TFcChar8{'j', 'v'},
  23364. Fcharset: TFcCharSet{
  23365. Fref: TFcRef{
  23366. Fcount: -libc.Int32FromInt32(1),
  23367. },
  23368. Fnum: int32(1),
  23369. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23370. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23371. },
  23372. },
  23373. 95: {
  23374. Flang: [16]TFcChar8{'k', 'a'},
  23375. Fcharset: TFcCharSet{
  23376. Fref: TFcRef{
  23377. Fcount: -libc.Int32FromInt32(1),
  23378. },
  23379. Fnum: int32(1),
  23380. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23381. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23382. },
  23383. },
  23384. 96: {
  23385. Flang: [16]TFcChar8{'k', 'a', 'a'},
  23386. Fcharset: TFcCharSet{
  23387. Fref: TFcRef{
  23388. Fcount: -libc.Int32FromInt32(1),
  23389. },
  23390. Fnum: int32(1),
  23391. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23392. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23393. },
  23394. },
  23395. 97: {
  23396. Flang: [16]TFcChar8{'k', 'a', 'b'},
  23397. Fcharset: TFcCharSet{
  23398. Fref: TFcRef{
  23399. Fcount: -libc.Int32FromInt32(1),
  23400. },
  23401. Fnum: int32(4),
  23402. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23403. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23404. },
  23405. },
  23406. 98: {
  23407. Flang: [16]TFcChar8{'k', 'i'},
  23408. Fcharset: TFcCharSet{
  23409. Fref: TFcRef{
  23410. Fcount: -libc.Int32FromInt32(1),
  23411. },
  23412. Fnum: int32(2),
  23413. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23414. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23415. },
  23416. },
  23417. 99: {
  23418. Flang: [16]TFcChar8{'k', 'j'},
  23419. Fcharset: TFcCharSet{
  23420. Fref: TFcRef{
  23421. Fcount: -libc.Int32FromInt32(1),
  23422. },
  23423. Fnum: int32(1),
  23424. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23425. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23426. },
  23427. },
  23428. 100: {
  23429. Flang: [16]TFcChar8{'k', 'k'},
  23430. Fcharset: TFcCharSet{
  23431. Fref: TFcRef{
  23432. Fcount: -libc.Int32FromInt32(1),
  23433. },
  23434. Fnum: int32(1),
  23435. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23436. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23437. },
  23438. },
  23439. 101: {
  23440. Flang: [16]TFcChar8{'k', 'l'},
  23441. Fcharset: TFcCharSet{
  23442. Fref: TFcRef{
  23443. Fcount: -libc.Int32FromInt32(1),
  23444. },
  23445. Fnum: int32(2),
  23446. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23447. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23448. },
  23449. },
  23450. 102: {
  23451. Flang: [16]TFcChar8{'k', 'm'},
  23452. Fcharset: TFcCharSet{
  23453. Fref: TFcRef{
  23454. Fcount: -libc.Int32FromInt32(1),
  23455. },
  23456. Fnum: int32(1),
  23457. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23458. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23459. },
  23460. },
  23461. 103: {
  23462. Flang: [16]TFcChar8{'k', 'n'},
  23463. Fcharset: TFcCharSet{
  23464. Fref: TFcRef{
  23465. Fcount: -libc.Int32FromInt32(1),
  23466. },
  23467. Fnum: int32(1),
  23468. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23469. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23470. },
  23471. },
  23472. 104: {
  23473. Flang: [16]TFcChar8{'k', 'o'},
  23474. Fcharset: TFcCharSet{
  23475. Fref: TFcRef{
  23476. Fcount: -libc.Int32FromInt32(1),
  23477. },
  23478. Fnum: int32(45),
  23479. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23480. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23481. },
  23482. },
  23483. 105: {
  23484. Flang: [16]TFcChar8{'k', 'o', 'k'},
  23485. Fcharset: TFcCharSet{
  23486. Fref: TFcRef{
  23487. Fcount: -libc.Int32FromInt32(1),
  23488. },
  23489. Fnum: int32(1),
  23490. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23491. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23492. },
  23493. },
  23494. 106: {
  23495. Flang: [16]TFcChar8{'k', 'r'},
  23496. Fcharset: TFcCharSet{
  23497. Fref: TFcRef{
  23498. Fcount: -libc.Int32FromInt32(1),
  23499. },
  23500. Fnum: int32(3),
  23501. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23502. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23503. },
  23504. },
  23505. 107: {
  23506. Flang: [16]TFcChar8{'k', 's'},
  23507. Fcharset: TFcCharSet{
  23508. Fref: TFcRef{
  23509. Fcount: -libc.Int32FromInt32(1),
  23510. },
  23511. Fnum: int32(1),
  23512. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23513. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23514. },
  23515. },
  23516. 108: {
  23517. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  23518. Fcharset: TFcCharSet{
  23519. Fref: TFcRef{
  23520. Fcount: -libc.Int32FromInt32(1),
  23521. },
  23522. Fnum: int32(2),
  23523. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23524. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23525. },
  23526. },
  23527. 109: {
  23528. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  23529. Fcharset: TFcCharSet{
  23530. Fref: TFcRef{
  23531. Fcount: -libc.Int32FromInt32(1),
  23532. },
  23533. Fnum: int32(1),
  23534. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23535. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23536. },
  23537. },
  23538. 110: {
  23539. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  23540. Fcharset: TFcCharSet{
  23541. Fref: TFcRef{
  23542. Fcount: -libc.Int32FromInt32(1),
  23543. },
  23544. Fnum: int32(1),
  23545. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23546. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23547. },
  23548. },
  23549. 111: {
  23550. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  23551. Fcharset: TFcCharSet{
  23552. Fref: TFcRef{
  23553. Fcount: -libc.Int32FromInt32(1),
  23554. },
  23555. Fnum: int32(2),
  23556. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23557. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23558. },
  23559. },
  23560. 112: {
  23561. Flang: [16]TFcChar8{'k', 'u', 'm'},
  23562. Fcharset: TFcCharSet{
  23563. Fref: TFcRef{
  23564. Fcount: -libc.Int32FromInt32(1),
  23565. },
  23566. Fnum: int32(1),
  23567. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23568. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23569. },
  23570. },
  23571. 113: {
  23572. Flang: [16]TFcChar8{'k', 'v'},
  23573. Fcharset: TFcCharSet{
  23574. Fref: TFcRef{
  23575. Fcount: -libc.Int32FromInt32(1),
  23576. },
  23577. Fnum: int32(1),
  23578. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23579. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23580. },
  23581. },
  23582. 114: {
  23583. Flang: [16]TFcChar8{'k', 'w'},
  23584. Fcharset: TFcCharSet{
  23585. Fref: TFcRef{
  23586. Fcount: -libc.Int32FromInt32(1),
  23587. },
  23588. Fnum: int32(3),
  23589. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23590. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23591. },
  23592. },
  23593. 115: {
  23594. Flang: [16]TFcChar8{'k', 'w', 'm'},
  23595. Fcharset: TFcCharSet{
  23596. Fref: TFcRef{
  23597. Fcount: -libc.Int32FromInt32(1),
  23598. },
  23599. Fnum: int32(1),
  23600. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23601. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23602. },
  23603. },
  23604. 116: {
  23605. Flang: [16]TFcChar8{'k', 'y'},
  23606. Fcharset: TFcCharSet{
  23607. Fref: TFcRef{
  23608. Fcount: -libc.Int32FromInt32(1),
  23609. },
  23610. Fnum: int32(1),
  23611. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23612. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23613. },
  23614. },
  23615. 117: {
  23616. Flang: [16]TFcChar8{'l', 'a'},
  23617. Fcharset: TFcCharSet{
  23618. Fref: TFcRef{
  23619. Fcount: -libc.Int32FromInt32(1),
  23620. },
  23621. Fnum: int32(2),
  23622. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23623. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23624. },
  23625. },
  23626. 118: {
  23627. Flang: [16]TFcChar8{'l', 'a', 'h'},
  23628. Fcharset: TFcCharSet{
  23629. Fref: TFcRef{
  23630. Fcount: -libc.Int32FromInt32(1),
  23631. },
  23632. Fnum: int32(1),
  23633. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23634. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23635. },
  23636. },
  23637. 119: {
  23638. Flang: [16]TFcChar8{'l', 'b'},
  23639. Fcharset: TFcCharSet{
  23640. Fref: TFcRef{
  23641. Fcount: -libc.Int32FromInt32(1),
  23642. },
  23643. Fnum: int32(1),
  23644. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23645. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23646. },
  23647. },
  23648. 120: {
  23649. Flang: [16]TFcChar8{'l', 'e', 'z'},
  23650. Fcharset: TFcCharSet{
  23651. Fref: TFcRef{
  23652. Fcount: -libc.Int32FromInt32(1),
  23653. },
  23654. Fnum: int32(1),
  23655. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23656. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23657. },
  23658. },
  23659. 121: {
  23660. Flang: [16]TFcChar8{'l', 'g'},
  23661. Fcharset: TFcCharSet{
  23662. Fref: TFcRef{
  23663. Fcount: -libc.Int32FromInt32(1),
  23664. },
  23665. Fnum: int32(2),
  23666. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23667. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23668. },
  23669. },
  23670. 122: {
  23671. Flang: [16]TFcChar8{'l', 'i'},
  23672. Fcharset: TFcCharSet{
  23673. Fref: TFcRef{
  23674. Fcount: -libc.Int32FromInt32(1),
  23675. },
  23676. Fnum: int32(1),
  23677. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23678. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23679. },
  23680. },
  23681. 123: {
  23682. Flang: [16]TFcChar8{'l', 'n'},
  23683. Fcharset: TFcCharSet{
  23684. Fref: TFcRef{
  23685. Fcount: -libc.Int32FromInt32(1),
  23686. },
  23687. Fnum: int32(4),
  23688. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23689. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23690. },
  23691. },
  23692. 124: {
  23693. Flang: [16]TFcChar8{'l', 'o'},
  23694. Fcharset: TFcCharSet{
  23695. Fref: TFcRef{
  23696. Fcount: -libc.Int32FromInt32(1),
  23697. },
  23698. Fnum: int32(1),
  23699. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23700. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23701. },
  23702. },
  23703. 125: {
  23704. Flang: [16]TFcChar8{'l', 't'},
  23705. Fcharset: TFcCharSet{
  23706. Fref: TFcRef{
  23707. Fcount: -libc.Int32FromInt32(1),
  23708. },
  23709. Fnum: int32(2),
  23710. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23711. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23712. },
  23713. },
  23714. 126: {
  23715. Flang: [16]TFcChar8{'l', 'v'},
  23716. Fcharset: TFcCharSet{
  23717. Fref: TFcRef{
  23718. Fcount: -libc.Int32FromInt32(1),
  23719. },
  23720. Fnum: int32(2),
  23721. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23722. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23723. },
  23724. },
  23725. 127: {
  23726. Flang: [16]TFcChar8{'m', 'a', 'i'},
  23727. Fcharset: TFcCharSet{
  23728. Fref: TFcRef{
  23729. Fcount: -libc.Int32FromInt32(1),
  23730. },
  23731. Fnum: int32(1),
  23732. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23733. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23734. },
  23735. },
  23736. 128: {
  23737. Flang: [16]TFcChar8{'m', 'g'},
  23738. Fcharset: TFcCharSet{
  23739. Fref: TFcRef{
  23740. Fcount: -libc.Int32FromInt32(1),
  23741. },
  23742. Fnum: int32(1),
  23743. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23744. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23745. },
  23746. },
  23747. 129: {
  23748. Flang: [16]TFcChar8{'m', 'h'},
  23749. Fcharset: TFcCharSet{
  23750. Fref: TFcRef{
  23751. Fcount: -libc.Int32FromInt32(1),
  23752. },
  23753. Fnum: int32(2),
  23754. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23755. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23756. },
  23757. },
  23758. 130: {
  23759. Flang: [16]TFcChar8{'m', 'i'},
  23760. Fcharset: TFcCharSet{
  23761. Fref: TFcRef{
  23762. Fcount: -libc.Int32FromInt32(1),
  23763. },
  23764. Fnum: int32(3),
  23765. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23766. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23767. },
  23768. },
  23769. 131: {
  23770. Flang: [16]TFcChar8{'m', 'k'},
  23771. Fcharset: TFcCharSet{
  23772. Fref: TFcRef{
  23773. Fcount: -libc.Int32FromInt32(1),
  23774. },
  23775. Fnum: int32(1),
  23776. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23777. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23778. },
  23779. },
  23780. 132: {
  23781. Flang: [16]TFcChar8{'m', 'l'},
  23782. Fcharset: TFcCharSet{
  23783. Fref: TFcRef{
  23784. Fcount: -libc.Int32FromInt32(1),
  23785. },
  23786. Fnum: int32(1),
  23787. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23788. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23789. },
  23790. },
  23791. 133: {
  23792. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  23793. Fcharset: TFcCharSet{
  23794. Fref: TFcRef{
  23795. Fcount: -libc.Int32FromInt32(1),
  23796. },
  23797. Fnum: int32(1),
  23798. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23799. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23800. },
  23801. },
  23802. 134: {
  23803. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  23804. Fcharset: TFcCharSet{
  23805. Fref: TFcRef{
  23806. Fcount: -libc.Int32FromInt32(1),
  23807. },
  23808. Fnum: int32(1),
  23809. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23810. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23811. },
  23812. },
  23813. 135: {
  23814. Flang: [16]TFcChar8{'m', 'n', 'i'},
  23815. Fcharset: TFcCharSet{
  23816. Fref: TFcRef{
  23817. Fcount: -libc.Int32FromInt32(1),
  23818. },
  23819. Fnum: int32(1),
  23820. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23821. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23822. },
  23823. },
  23824. 136: {
  23825. Flang: [16]TFcChar8{'m', 'o'},
  23826. Fcharset: TFcCharSet{
  23827. Fref: TFcRef{
  23828. Fcount: -libc.Int32FromInt32(1),
  23829. },
  23830. Fnum: int32(4),
  23831. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23832. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23833. },
  23834. },
  23835. 137: {
  23836. Flang: [16]TFcChar8{'m', 'r'},
  23837. Fcharset: TFcCharSet{
  23838. Fref: TFcRef{
  23839. Fcount: -libc.Int32FromInt32(1),
  23840. },
  23841. Fnum: int32(1),
  23842. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23843. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23844. },
  23845. },
  23846. 138: {
  23847. Flang: [16]TFcChar8{'m', 's'},
  23848. Fcharset: TFcCharSet{
  23849. Fref: TFcRef{
  23850. Fcount: -libc.Int32FromInt32(1),
  23851. },
  23852. Fnum: int32(1),
  23853. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23854. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23855. },
  23856. },
  23857. 139: {
  23858. Flang: [16]TFcChar8{'m', 't'},
  23859. Fcharset: TFcCharSet{
  23860. Fref: TFcRef{
  23861. Fcount: -libc.Int32FromInt32(1),
  23862. },
  23863. Fnum: int32(2),
  23864. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23865. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23866. },
  23867. },
  23868. 140: {
  23869. Flang: [16]TFcChar8{'m', 'y'},
  23870. Fcharset: TFcCharSet{
  23871. Fref: TFcRef{
  23872. Fcount: -libc.Int32FromInt32(1),
  23873. },
  23874. Fnum: int32(1),
  23875. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23876. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23877. },
  23878. },
  23879. 141: {
  23880. Flang: [16]TFcChar8{'n', 'a'},
  23881. Fcharset: TFcCharSet{
  23882. Fref: TFcRef{
  23883. Fcount: -libc.Int32FromInt32(1),
  23884. },
  23885. Fnum: int32(2),
  23886. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23887. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23888. },
  23889. },
  23890. 142: {
  23891. Flang: [16]TFcChar8{'n', 'b'},
  23892. Fcharset: TFcCharSet{
  23893. Fref: TFcRef{
  23894. Fcount: -libc.Int32FromInt32(1),
  23895. },
  23896. Fnum: int32(1),
  23897. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23898. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23899. },
  23900. },
  23901. 143: {
  23902. Flang: [16]TFcChar8{'n', 'd', 's'},
  23903. Fcharset: TFcCharSet{
  23904. Fref: TFcRef{
  23905. Fcount: -libc.Int32FromInt32(1),
  23906. },
  23907. Fnum: int32(1),
  23908. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23909. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23910. },
  23911. },
  23912. 144: {
  23913. Flang: [16]TFcChar8{'n', 'e'},
  23914. Fcharset: TFcCharSet{
  23915. Fref: TFcRef{
  23916. Fcount: -libc.Int32FromInt32(1),
  23917. },
  23918. Fnum: int32(1),
  23919. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23920. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23921. },
  23922. },
  23923. 145: {
  23924. Flang: [16]TFcChar8{'n', 'g'},
  23925. Fcharset: TFcCharSet{
  23926. Fref: TFcRef{
  23927. Fcount: -libc.Int32FromInt32(1),
  23928. },
  23929. Fnum: int32(1),
  23930. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23931. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23932. },
  23933. },
  23934. 146: {
  23935. Flang: [16]TFcChar8{'n', 'l'},
  23936. Fcharset: TFcCharSet{
  23937. Fref: TFcRef{
  23938. Fcount: -libc.Int32FromInt32(1),
  23939. },
  23940. Fnum: int32(1),
  23941. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23942. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23943. },
  23944. },
  23945. 147: {
  23946. Flang: [16]TFcChar8{'n', 'n'},
  23947. Fcharset: TFcCharSet{
  23948. Fref: TFcRef{
  23949. Fcount: -libc.Int32FromInt32(1),
  23950. },
  23951. Fnum: int32(1),
  23952. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23953. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23954. },
  23955. },
  23956. 148: {
  23957. Flang: [16]TFcChar8{'n', 'o'},
  23958. Fcharset: TFcCharSet{
  23959. Fref: TFcRef{
  23960. Fcount: -libc.Int32FromInt32(1),
  23961. },
  23962. Fnum: int32(1),
  23963. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23964. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23965. },
  23966. },
  23967. 149: {
  23968. Flang: [16]TFcChar8{'n', 'q', 'o'},
  23969. Fcharset: TFcCharSet{
  23970. Fref: TFcRef{
  23971. Fcount: -libc.Int32FromInt32(1),
  23972. },
  23973. Fnum: int32(1),
  23974. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23975. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23976. },
  23977. },
  23978. 150: {
  23979. Flang: [16]TFcChar8{'n', 'r'},
  23980. Fcharset: TFcCharSet{
  23981. Fref: TFcRef{
  23982. Fcount: -libc.Int32FromInt32(1),
  23983. },
  23984. Fnum: int32(1),
  23985. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23986. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23987. },
  23988. },
  23989. 151: {
  23990. Flang: [16]TFcChar8{'n', 's', 'o'},
  23991. Fcharset: TFcCharSet{
  23992. Fref: TFcRef{
  23993. Fcount: -libc.Int32FromInt32(1),
  23994. },
  23995. Fnum: int32(2),
  23996. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23997. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23998. },
  23999. },
  24000. 152: {
  24001. Flang: [16]TFcChar8{'n', 'v'},
  24002. Fcharset: TFcCharSet{
  24003. Fref: TFcRef{
  24004. Fcount: -libc.Int32FromInt32(1),
  24005. },
  24006. Fnum: int32(4),
  24007. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24008. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24009. },
  24010. },
  24011. 153: {
  24012. Flang: [16]TFcChar8{'n', 'y'},
  24013. Fcharset: TFcCharSet{
  24014. Fref: TFcRef{
  24015. Fcount: -libc.Int32FromInt32(1),
  24016. },
  24017. Fnum: int32(2),
  24018. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24019. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24020. },
  24021. },
  24022. 154: {
  24023. Flang: [16]TFcChar8{'o', 'c'},
  24024. Fcharset: TFcCharSet{
  24025. Fref: TFcRef{
  24026. Fcount: -libc.Int32FromInt32(1),
  24027. },
  24028. Fnum: int32(1),
  24029. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24030. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24031. },
  24032. },
  24033. 155: {
  24034. Flang: [16]TFcChar8{'o', 'm'},
  24035. Fcharset: TFcCharSet{
  24036. Fref: TFcRef{
  24037. Fcount: -libc.Int32FromInt32(1),
  24038. },
  24039. Fnum: int32(1),
  24040. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24041. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24042. },
  24043. },
  24044. 156: {
  24045. Flang: [16]TFcChar8{'o', 'r'},
  24046. Fcharset: TFcCharSet{
  24047. Fref: TFcRef{
  24048. Fcount: -libc.Int32FromInt32(1),
  24049. },
  24050. Fnum: int32(1),
  24051. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24052. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24053. },
  24054. },
  24055. 157: {
  24056. Flang: [16]TFcChar8{'o', 's'},
  24057. Fcharset: TFcCharSet{
  24058. Fref: TFcRef{
  24059. Fcount: -libc.Int32FromInt32(1),
  24060. },
  24061. Fnum: int32(1),
  24062. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24063. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24064. },
  24065. },
  24066. 158: {
  24067. Flang: [16]TFcChar8{'o', 't', 'a'},
  24068. Fcharset: TFcCharSet{
  24069. Fref: TFcRef{
  24070. Fcount: -libc.Int32FromInt32(1),
  24071. },
  24072. Fnum: int32(1),
  24073. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24074. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24075. },
  24076. },
  24077. 159: {
  24078. Flang: [16]TFcChar8{'p', 'a'},
  24079. Fcharset: TFcCharSet{
  24080. Fref: TFcRef{
  24081. Fcount: -libc.Int32FromInt32(1),
  24082. },
  24083. Fnum: int32(1),
  24084. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24085. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24086. },
  24087. },
  24088. 160: {
  24089. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  24090. Fcharset: TFcCharSet{
  24091. Fref: TFcRef{
  24092. Fcount: -libc.Int32FromInt32(1),
  24093. },
  24094. Fnum: int32(1),
  24095. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24096. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24097. },
  24098. },
  24099. 161: {
  24100. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  24101. Fcharset: TFcCharSet{
  24102. Fref: TFcRef{
  24103. Fcount: -libc.Int32FromInt32(1),
  24104. },
  24105. Fnum: int32(1),
  24106. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24107. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24108. },
  24109. },
  24110. 162: {
  24111. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  24112. Fcharset: TFcCharSet{
  24113. Fref: TFcRef{
  24114. Fcount: -libc.Int32FromInt32(1),
  24115. },
  24116. Fnum: int32(1),
  24117. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24118. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24119. },
  24120. },
  24121. 163: {
  24122. Flang: [16]TFcChar8{'p', 'l'},
  24123. Fcharset: TFcCharSet{
  24124. Fref: TFcRef{
  24125. Fcount: -libc.Int32FromInt32(1),
  24126. },
  24127. Fnum: int32(2),
  24128. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24129. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24130. },
  24131. },
  24132. 164: {
  24133. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  24134. Fcharset: TFcCharSet{
  24135. Fref: TFcRef{
  24136. Fcount: -libc.Int32FromInt32(1),
  24137. },
  24138. Fnum: int32(1),
  24139. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24140. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24141. },
  24142. },
  24143. 165: {
  24144. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  24145. Fcharset: TFcCharSet{
  24146. Fref: TFcRef{
  24147. Fcount: -libc.Int32FromInt32(1),
  24148. },
  24149. Fnum: int32(1),
  24150. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24151. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24152. },
  24153. },
  24154. 166: {
  24155. Flang: [16]TFcChar8{'p', 't'},
  24156. Fcharset: TFcCharSet{
  24157. Fref: TFcRef{
  24158. Fcount: -libc.Int32FromInt32(1),
  24159. },
  24160. Fnum: int32(1),
  24161. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24162. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24163. },
  24164. },
  24165. 167: {
  24166. Flang: [16]TFcChar8{'q', 'u'},
  24167. Fcharset: TFcCharSet{
  24168. Fref: TFcRef{
  24169. Fcount: -libc.Int32FromInt32(1),
  24170. },
  24171. Fnum: int32(2),
  24172. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24173. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24174. },
  24175. },
  24176. 168: {
  24177. Flang: [16]TFcChar8{'q', 'u', 'z'},
  24178. Fcharset: TFcCharSet{
  24179. Fref: TFcRef{
  24180. Fcount: -libc.Int32FromInt32(1),
  24181. },
  24182. Fnum: int32(2),
  24183. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24184. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24185. },
  24186. },
  24187. 169: {
  24188. Flang: [16]TFcChar8{'r', 'm'},
  24189. Fcharset: TFcCharSet{
  24190. Fref: TFcRef{
  24191. Fcount: -libc.Int32FromInt32(1),
  24192. },
  24193. Fnum: int32(1),
  24194. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24195. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24196. },
  24197. },
  24198. 170: {
  24199. Flang: [16]TFcChar8{'r', 'n'},
  24200. Fcharset: TFcCharSet{
  24201. Fref: TFcRef{
  24202. Fcount: -libc.Int32FromInt32(1),
  24203. },
  24204. Fnum: int32(1),
  24205. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24206. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24207. },
  24208. },
  24209. 171: {
  24210. Flang: [16]TFcChar8{'r', 'o'},
  24211. Fcharset: TFcCharSet{
  24212. Fref: TFcRef{
  24213. Fcount: -libc.Int32FromInt32(1),
  24214. },
  24215. Fnum: int32(3),
  24216. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24217. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24218. },
  24219. },
  24220. 172: {
  24221. Flang: [16]TFcChar8{'r', 'u'},
  24222. Fcharset: TFcCharSet{
  24223. Fref: TFcRef{
  24224. Fcount: -libc.Int32FromInt32(1),
  24225. },
  24226. Fnum: int32(1),
  24227. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24228. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24229. },
  24230. },
  24231. 173: {
  24232. Flang: [16]TFcChar8{'r', 'w'},
  24233. Fcharset: TFcCharSet{
  24234. Fref: TFcRef{
  24235. Fcount: -libc.Int32FromInt32(1),
  24236. },
  24237. Fnum: int32(1),
  24238. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24239. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24240. },
  24241. },
  24242. 174: {
  24243. Flang: [16]TFcChar8{'s', 'a'},
  24244. Fcharset: TFcCharSet{
  24245. Fref: TFcRef{
  24246. Fcount: -libc.Int32FromInt32(1),
  24247. },
  24248. Fnum: int32(1),
  24249. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24250. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24251. },
  24252. },
  24253. 175: {
  24254. Flang: [16]TFcChar8{'s', 'a', 'h'},
  24255. Fcharset: TFcCharSet{
  24256. Fref: TFcRef{
  24257. Fcount: -libc.Int32FromInt32(1),
  24258. },
  24259. Fnum: int32(1),
  24260. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24261. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24262. },
  24263. },
  24264. 176: {
  24265. Flang: [16]TFcChar8{'s', 'a', 't'},
  24266. Fcharset: TFcCharSet{
  24267. Fref: TFcRef{
  24268. Fcount: -libc.Int32FromInt32(1),
  24269. },
  24270. Fnum: int32(1),
  24271. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24272. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24273. },
  24274. },
  24275. 177: {
  24276. Flang: [16]TFcChar8{'s', 'c'},
  24277. Fcharset: TFcCharSet{
  24278. Fref: TFcRef{
  24279. Fcount: -libc.Int32FromInt32(1),
  24280. },
  24281. Fnum: int32(1),
  24282. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24283. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24284. },
  24285. },
  24286. 178: {
  24287. Flang: [16]TFcChar8{'s', 'c', 'o'},
  24288. Fcharset: TFcCharSet{
  24289. Fref: TFcRef{
  24290. Fcount: -libc.Int32FromInt32(1),
  24291. },
  24292. Fnum: int32(3),
  24293. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24294. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24295. },
  24296. },
  24297. 179: {
  24298. Flang: [16]TFcChar8{'s', 'd'},
  24299. Fcharset: TFcCharSet{
  24300. Fref: TFcRef{
  24301. Fcount: -libc.Int32FromInt32(1),
  24302. },
  24303. Fnum: int32(1),
  24304. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24305. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24306. },
  24307. },
  24308. 180: {
  24309. Flang: [16]TFcChar8{'s', 'e'},
  24310. Fcharset: TFcCharSet{
  24311. Fref: TFcRef{
  24312. Fcount: -libc.Int32FromInt32(1),
  24313. },
  24314. Fnum: int32(2),
  24315. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24316. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24317. },
  24318. },
  24319. 181: {
  24320. Flang: [16]TFcChar8{'s', 'e', 'l'},
  24321. Fcharset: TFcCharSet{
  24322. Fref: TFcRef{
  24323. Fcount: -libc.Int32FromInt32(1),
  24324. },
  24325. Fnum: int32(1),
  24326. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24327. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24328. },
  24329. },
  24330. 182: {
  24331. Flang: [16]TFcChar8{'s', 'g'},
  24332. Fcharset: TFcCharSet{
  24333. Fref: TFcRef{
  24334. Fcount: -libc.Int32FromInt32(1),
  24335. },
  24336. Fnum: int32(1),
  24337. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24338. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24339. },
  24340. },
  24341. 183: {
  24342. Flang: [16]TFcChar8{'s', 'h'},
  24343. Fcharset: TFcCharSet{
  24344. Fref: TFcRef{
  24345. Fcount: -libc.Int32FromInt32(1),
  24346. },
  24347. Fnum: int32(3),
  24348. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24349. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24350. },
  24351. },
  24352. 184: {
  24353. Flang: [16]TFcChar8{'s', 'h', 's'},
  24354. Fcharset: TFcCharSet{
  24355. Fref: TFcRef{
  24356. Fcount: -libc.Int32FromInt32(1),
  24357. },
  24358. Fnum: int32(2),
  24359. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24360. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24361. },
  24362. },
  24363. 185: {
  24364. Flang: [16]TFcChar8{'s', 'i'},
  24365. Fcharset: TFcCharSet{
  24366. Fref: TFcRef{
  24367. Fcount: -libc.Int32FromInt32(1),
  24368. },
  24369. Fnum: int32(1),
  24370. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24371. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24372. },
  24373. },
  24374. 186: {
  24375. Flang: [16]TFcChar8{'s', 'i', 'd'},
  24376. Fcharset: TFcCharSet{
  24377. Fref: TFcRef{
  24378. Fcount: -libc.Int32FromInt32(1),
  24379. },
  24380. Fnum: int32(2),
  24381. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24382. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24383. },
  24384. },
  24385. 187: {
  24386. Flang: [16]TFcChar8{'s', 'k'},
  24387. Fcharset: TFcCharSet{
  24388. Fref: TFcRef{
  24389. Fcount: -libc.Int32FromInt32(1),
  24390. },
  24391. Fnum: int32(2),
  24392. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24393. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24394. },
  24395. },
  24396. 188: {
  24397. Flang: [16]TFcChar8{'s', 'l'},
  24398. Fcharset: TFcCharSet{
  24399. Fref: TFcRef{
  24400. Fcount: -libc.Int32FromInt32(1),
  24401. },
  24402. Fnum: int32(2),
  24403. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24404. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24405. },
  24406. },
  24407. 189: {
  24408. Flang: [16]TFcChar8{'s', 'm'},
  24409. Fcharset: TFcCharSet{
  24410. Fref: TFcRef{
  24411. Fcount: -libc.Int32FromInt32(1),
  24412. },
  24413. Fnum: int32(2),
  24414. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24415. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24416. },
  24417. },
  24418. 190: {
  24419. Flang: [16]TFcChar8{'s', 'm', 'a'},
  24420. Fcharset: TFcCharSet{
  24421. Fref: TFcRef{
  24422. Fcount: -libc.Int32FromInt32(1),
  24423. },
  24424. Fnum: int32(1),
  24425. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24426. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24427. },
  24428. },
  24429. 191: {
  24430. Flang: [16]TFcChar8{'s', 'm', 'j'},
  24431. Fcharset: TFcCharSet{
  24432. Fref: TFcRef{
  24433. Fcount: -libc.Int32FromInt32(1),
  24434. },
  24435. Fnum: int32(1),
  24436. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24437. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24438. },
  24439. },
  24440. 192: {
  24441. Flang: [16]TFcChar8{'s', 'm', 'n'},
  24442. Fcharset: TFcCharSet{
  24443. Fref: TFcRef{
  24444. Fcount: -libc.Int32FromInt32(1),
  24445. },
  24446. Fnum: int32(2),
  24447. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24448. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24449. },
  24450. },
  24451. 193: {
  24452. Flang: [16]TFcChar8{'s', 'm', 's'},
  24453. Fcharset: TFcCharSet{
  24454. Fref: TFcRef{
  24455. Fcount: -libc.Int32FromInt32(1),
  24456. },
  24457. Fnum: int32(3),
  24458. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24459. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24460. },
  24461. },
  24462. 194: {
  24463. Flang: [16]TFcChar8{'s', 'n'},
  24464. Fcharset: TFcCharSet{
  24465. Fref: TFcRef{
  24466. Fcount: -libc.Int32FromInt32(1),
  24467. },
  24468. Fnum: int32(1),
  24469. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24470. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24471. },
  24472. },
  24473. 195: {
  24474. Flang: [16]TFcChar8{'s', 'o'},
  24475. Fcharset: TFcCharSet{
  24476. Fref: TFcRef{
  24477. Fcount: -libc.Int32FromInt32(1),
  24478. },
  24479. Fnum: int32(1),
  24480. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24481. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24482. },
  24483. },
  24484. 196: {
  24485. Flang: [16]TFcChar8{'s', 'q'},
  24486. Fcharset: TFcCharSet{
  24487. Fref: TFcRef{
  24488. Fcount: -libc.Int32FromInt32(1),
  24489. },
  24490. Fnum: int32(1),
  24491. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24492. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24493. },
  24494. },
  24495. 197: {
  24496. Flang: [16]TFcChar8{'s', 'r'},
  24497. Fcharset: TFcCharSet{
  24498. Fref: TFcRef{
  24499. Fcount: -libc.Int32FromInt32(1),
  24500. },
  24501. Fnum: int32(1),
  24502. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24503. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24504. },
  24505. },
  24506. 198: {
  24507. Flang: [16]TFcChar8{'s', 's'},
  24508. Fcharset: TFcCharSet{
  24509. Fref: TFcRef{
  24510. Fcount: -libc.Int32FromInt32(1),
  24511. },
  24512. Fnum: int32(1),
  24513. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24514. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24515. },
  24516. },
  24517. 199: {
  24518. Flang: [16]TFcChar8{'s', 't'},
  24519. Fcharset: TFcCharSet{
  24520. Fref: TFcRef{
  24521. Fcount: -libc.Int32FromInt32(1),
  24522. },
  24523. Fnum: int32(1),
  24524. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24525. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24526. },
  24527. },
  24528. 200: {
  24529. Flang: [16]TFcChar8{'s', 'u'},
  24530. Fcharset: TFcCharSet{
  24531. Fref: TFcRef{
  24532. Fcount: -libc.Int32FromInt32(1),
  24533. },
  24534. Fnum: int32(1),
  24535. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24536. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24537. },
  24538. },
  24539. 201: {
  24540. Flang: [16]TFcChar8{'s', 'v'},
  24541. Fcharset: TFcCharSet{
  24542. Fref: TFcRef{
  24543. Fcount: -libc.Int32FromInt32(1),
  24544. },
  24545. Fnum: int32(1),
  24546. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24547. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24548. },
  24549. },
  24550. 202: {
  24551. Flang: [16]TFcChar8{'s', 'w'},
  24552. Fcharset: TFcCharSet{
  24553. Fref: TFcRef{
  24554. Fcount: -libc.Int32FromInt32(1),
  24555. },
  24556. Fnum: int32(1),
  24557. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24558. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24559. },
  24560. },
  24561. 203: {
  24562. Flang: [16]TFcChar8{'s', 'y', 'r'},
  24563. Fcharset: TFcCharSet{
  24564. Fref: TFcRef{
  24565. Fcount: -libc.Int32FromInt32(1),
  24566. },
  24567. Fnum: int32(1),
  24568. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24569. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24570. },
  24571. },
  24572. 204: {
  24573. Flang: [16]TFcChar8{'t', 'a'},
  24574. Fcharset: TFcCharSet{
  24575. Fref: TFcRef{
  24576. Fcount: -libc.Int32FromInt32(1),
  24577. },
  24578. Fnum: int32(1),
  24579. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24580. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24581. },
  24582. },
  24583. 205: {
  24584. Flang: [16]TFcChar8{'t', 'e'},
  24585. Fcharset: TFcCharSet{
  24586. Fref: TFcRef{
  24587. Fcount: -libc.Int32FromInt32(1),
  24588. },
  24589. Fnum: int32(1),
  24590. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24591. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24592. },
  24593. },
  24594. 206: {
  24595. Flang: [16]TFcChar8{'t', 'g'},
  24596. Fcharset: TFcCharSet{
  24597. Fref: TFcRef{
  24598. Fcount: -libc.Int32FromInt32(1),
  24599. },
  24600. Fnum: int32(1),
  24601. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24602. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24603. },
  24604. },
  24605. 207: {
  24606. Flang: [16]TFcChar8{'t', 'h'},
  24607. Fcharset: TFcCharSet{
  24608. Fref: TFcRef{
  24609. Fcount: -libc.Int32FromInt32(1),
  24610. },
  24611. Fnum: int32(1),
  24612. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24613. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24614. },
  24615. },
  24616. 208: {
  24617. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  24618. Fcharset: TFcCharSet{
  24619. Fref: TFcRef{
  24620. Fcount: -libc.Int32FromInt32(1),
  24621. },
  24622. Fnum: int32(2),
  24623. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24624. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24625. },
  24626. },
  24627. 209: {
  24628. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  24629. Fcharset: TFcCharSet{
  24630. Fref: TFcRef{
  24631. Fcount: -libc.Int32FromInt32(1),
  24632. },
  24633. Fnum: int32(2),
  24634. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24635. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24636. },
  24637. },
  24638. 210: {
  24639. Flang: [16]TFcChar8{'t', 'i', 'g'},
  24640. Fcharset: TFcCharSet{
  24641. Fref: TFcRef{
  24642. Fcount: -libc.Int32FromInt32(1),
  24643. },
  24644. Fnum: int32(2),
  24645. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24646. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24647. },
  24648. },
  24649. 211: {
  24650. Flang: [16]TFcChar8{'t', 'k'},
  24651. Fcharset: TFcCharSet{
  24652. Fref: TFcRef{
  24653. Fcount: -libc.Int32FromInt32(1),
  24654. },
  24655. Fnum: int32(2),
  24656. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24657. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24658. },
  24659. },
  24660. 212: {
  24661. Flang: [16]TFcChar8{'t', 'l'},
  24662. Fcharset: TFcCharSet{
  24663. Fref: TFcRef{
  24664. Fcount: -libc.Int32FromInt32(1),
  24665. },
  24666. Fnum: int32(1),
  24667. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24668. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24669. },
  24670. },
  24671. 213: {
  24672. Flang: [16]TFcChar8{'t', 'n'},
  24673. Fcharset: TFcCharSet{
  24674. Fref: TFcRef{
  24675. Fcount: -libc.Int32FromInt32(1),
  24676. },
  24677. Fnum: int32(2),
  24678. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24679. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24680. },
  24681. },
  24682. 214: {
  24683. Flang: [16]TFcChar8{'t', 'o'},
  24684. Fcharset: TFcCharSet{
  24685. Fref: TFcRef{
  24686. Fcount: -libc.Int32FromInt32(1),
  24687. },
  24688. Fnum: int32(2),
  24689. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24690. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24691. },
  24692. },
  24693. 215: {
  24694. Flang: [16]TFcChar8{'t', 'r'},
  24695. Fcharset: TFcCharSet{
  24696. Fref: TFcRef{
  24697. Fcount: -libc.Int32FromInt32(1),
  24698. },
  24699. Fnum: int32(2),
  24700. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24701. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24702. },
  24703. },
  24704. 216: {
  24705. Flang: [16]TFcChar8{'t', 's'},
  24706. Fcharset: TFcCharSet{
  24707. Fref: TFcRef{
  24708. Fcount: -libc.Int32FromInt32(1),
  24709. },
  24710. Fnum: int32(1),
  24711. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24712. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24713. },
  24714. },
  24715. 217: {
  24716. Flang: [16]TFcChar8{'t', 't'},
  24717. Fcharset: TFcCharSet{
  24718. Fref: TFcRef{
  24719. Fcount: -libc.Int32FromInt32(1),
  24720. },
  24721. Fnum: int32(1),
  24722. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24723. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24724. },
  24725. },
  24726. 218: {
  24727. Flang: [16]TFcChar8{'t', 'w'},
  24728. Fcharset: TFcCharSet{
  24729. Fref: TFcRef{
  24730. Fcount: -libc.Int32FromInt32(1),
  24731. },
  24732. Fnum: int32(5),
  24733. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24734. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24735. },
  24736. },
  24737. 219: {
  24738. Flang: [16]TFcChar8{'t', 'y'},
  24739. Fcharset: TFcCharSet{
  24740. Fref: TFcRef{
  24741. Fcount: -libc.Int32FromInt32(1),
  24742. },
  24743. Fnum: int32(3),
  24744. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24745. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24746. },
  24747. },
  24748. 220: {
  24749. Flang: [16]TFcChar8{'t', 'y', 'v'},
  24750. Fcharset: TFcCharSet{
  24751. Fref: TFcRef{
  24752. Fcount: -libc.Int32FromInt32(1),
  24753. },
  24754. Fnum: int32(1),
  24755. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24756. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24757. },
  24758. },
  24759. 221: {
  24760. Flang: [16]TFcChar8{'u', 'g'},
  24761. Fcharset: TFcCharSet{
  24762. Fref: TFcRef{
  24763. Fcount: -libc.Int32FromInt32(1),
  24764. },
  24765. Fnum: int32(1),
  24766. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24767. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24768. },
  24769. },
  24770. 222: {
  24771. Flang: [16]TFcChar8{'u', 'k'},
  24772. Fcharset: TFcCharSet{
  24773. Fref: TFcRef{
  24774. Fcount: -libc.Int32FromInt32(1),
  24775. },
  24776. Fnum: int32(1),
  24777. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24778. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24779. },
  24780. },
  24781. 223: {
  24782. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  24783. Fcharset: TFcCharSet{
  24784. Fref: TFcRef{
  24785. Fcount: -libc.Int32FromInt32(1),
  24786. },
  24787. Fnum: int32(12),
  24788. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24789. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24790. },
  24791. },
  24792. 224: {
  24793. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  24794. Fcharset: TFcCharSet{
  24795. Fref: TFcRef{
  24796. Fcount: -libc.Int32FromInt32(1),
  24797. },
  24798. Fnum: int32(12),
  24799. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24800. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24801. },
  24802. },
  24803. 225: {
  24804. Flang: [16]TFcChar8{'u', 'r'},
  24805. Fcharset: TFcCharSet{
  24806. Fref: TFcRef{
  24807. Fcount: -libc.Int32FromInt32(1),
  24808. },
  24809. Fnum: int32(1),
  24810. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24811. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24812. },
  24813. },
  24814. 226: {
  24815. Flang: [16]TFcChar8{'u', 'z'},
  24816. Fcharset: TFcCharSet{
  24817. Fref: TFcRef{
  24818. Fcount: -libc.Int32FromInt32(1),
  24819. },
  24820. Fnum: int32(1),
  24821. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24822. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24823. },
  24824. },
  24825. 227: {
  24826. Flang: [16]TFcChar8{'v', 'e'},
  24827. Fcharset: TFcCharSet{
  24828. Fref: TFcRef{
  24829. Fcount: -libc.Int32FromInt32(1),
  24830. },
  24831. Fnum: int32(2),
  24832. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24833. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24834. },
  24835. },
  24836. 228: {
  24837. Flang: [16]TFcChar8{'v', 'i'},
  24838. Fcharset: TFcCharSet{
  24839. Fref: TFcRef{
  24840. Fcount: -libc.Int32FromInt32(1),
  24841. },
  24842. Fnum: int32(4),
  24843. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24844. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24845. },
  24846. },
  24847. 229: {
  24848. Flang: [16]TFcChar8{'v', 'o'},
  24849. Fcharset: TFcCharSet{
  24850. Fref: TFcRef{
  24851. Fcount: -libc.Int32FromInt32(1),
  24852. },
  24853. Fnum: int32(1),
  24854. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24855. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24856. },
  24857. },
  24858. 230: {
  24859. Flang: [16]TFcChar8{'v', 'o', 't'},
  24860. Fcharset: TFcCharSet{
  24861. Fref: TFcRef{
  24862. Fcount: -libc.Int32FromInt32(1),
  24863. },
  24864. Fnum: int32(2),
  24865. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24866. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24867. },
  24868. },
  24869. 231: {
  24870. Flang: [16]TFcChar8{'w', 'a'},
  24871. Fcharset: TFcCharSet{
  24872. Fref: TFcRef{
  24873. Fcount: -libc.Int32FromInt32(1),
  24874. },
  24875. Fnum: int32(1),
  24876. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24877. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24878. },
  24879. },
  24880. 232: {
  24881. Flang: [16]TFcChar8{'w', 'a', 'l'},
  24882. Fcharset: TFcCharSet{
  24883. Fref: TFcRef{
  24884. Fcount: -libc.Int32FromInt32(1),
  24885. },
  24886. Fnum: int32(2),
  24887. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24888. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24889. },
  24890. },
  24891. 233: {
  24892. Flang: [16]TFcChar8{'w', 'e', 'n'},
  24893. Fcharset: TFcCharSet{
  24894. Fref: TFcRef{
  24895. Fcount: -libc.Int32FromInt32(1),
  24896. },
  24897. Fnum: int32(2),
  24898. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24899. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24900. },
  24901. },
  24902. 234: {
  24903. Flang: [16]TFcChar8{'w', 'o'},
  24904. Fcharset: TFcCharSet{
  24905. Fref: TFcRef{
  24906. Fcount: -libc.Int32FromInt32(1),
  24907. },
  24908. Fnum: int32(2),
  24909. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24910. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24911. },
  24912. },
  24913. 235: {
  24914. Flang: [16]TFcChar8{'x', 'h'},
  24915. Fcharset: TFcCharSet{
  24916. Fref: TFcRef{
  24917. Fcount: -libc.Int32FromInt32(1),
  24918. },
  24919. Fnum: int32(1),
  24920. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24921. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24922. },
  24923. },
  24924. 236: {
  24925. Flang: [16]TFcChar8{'y', 'a', 'p'},
  24926. Fcharset: TFcCharSet{
  24927. Fref: TFcRef{
  24928. Fcount: -libc.Int32FromInt32(1),
  24929. },
  24930. Fnum: int32(1),
  24931. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24932. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24933. },
  24934. },
  24935. 237: {
  24936. Flang: [16]TFcChar8{'y', 'i'},
  24937. Fcharset: TFcCharSet{
  24938. Fref: TFcRef{
  24939. Fcount: -libc.Int32FromInt32(1),
  24940. },
  24941. Fnum: int32(1),
  24942. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24943. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24944. },
  24945. },
  24946. 238: {
  24947. Flang: [16]TFcChar8{'y', 'o'},
  24948. Fcharset: TFcCharSet{
  24949. Fref: TFcRef{
  24950. Fcount: -libc.Int32FromInt32(1),
  24951. },
  24952. Fnum: int32(4),
  24953. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24954. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24955. },
  24956. },
  24957. 239: {
  24958. Flang: [16]TFcChar8{'z', 'a'},
  24959. Fcharset: TFcCharSet{
  24960. Fref: TFcRef{
  24961. Fcount: -libc.Int32FromInt32(1),
  24962. },
  24963. Fnum: int32(1),
  24964. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24965. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24966. },
  24967. },
  24968. 240: {
  24969. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  24970. Fcharset: TFcCharSet{
  24971. Fref: TFcRef{
  24972. Fcount: -libc.Int32FromInt32(1),
  24973. },
  24974. Fnum: int32(82),
  24975. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24976. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24977. },
  24978. },
  24979. 241: {
  24980. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  24981. Fcharset: TFcCharSet{
  24982. Fref: TFcRef{
  24983. Fcount: -libc.Int32FromInt32(1),
  24984. },
  24985. Fnum: int32(171),
  24986. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24987. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24988. },
  24989. },
  24990. 242: {
  24991. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  24992. Fcharset: TFcCharSet{
  24993. Fref: TFcRef{
  24994. Fcount: -libc.Int32FromInt32(1),
  24995. },
  24996. Fnum: int32(171),
  24997. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24998. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24999. },
  25000. },
  25001. 243: {
  25002. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  25003. Fcharset: TFcCharSet{
  25004. Fref: TFcRef{
  25005. Fcount: -libc.Int32FromInt32(1),
  25006. },
  25007. Fnum: int32(82),
  25008. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25009. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25010. },
  25011. },
  25012. 244: {
  25013. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  25014. Fcharset: TFcCharSet{
  25015. Fref: TFcRef{
  25016. Fcount: -libc.Int32FromInt32(1),
  25017. },
  25018. Fnum: int32(83),
  25019. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25020. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25021. },
  25022. },
  25023. 245: {
  25024. Flang: [16]TFcChar8{'z', 'u'},
  25025. Fcharset: TFcCharSet{
  25026. Fref: TFcRef{
  25027. Fcount: -libc.Int32FromInt32(1),
  25028. },
  25029. Fnum: int32(1),
  25030. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25031. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  25032. },
  25033. },
  25034. },
  25035. Fleaves: [725]TFcCharLeaf{
  25036. 0: {
  25037. Fmap1: [8]TFcChar32{
  25038. 2: uint32(0x07fffffe),
  25039. 3: uint32(0x07fffffe),
  25040. 6: uint32(0x08104404),
  25041. 7: uint32(0x08104404),
  25042. },
  25043. },
  25044. 1: {
  25045. Fmap1: [8]TFcChar32{
  25046. 0: uint32(0xffff8002),
  25047. 1: uint32(0xffffffff),
  25048. 2: uint32(0x8002ffff),
  25049. 4: uint32(0xc0000000),
  25050. 5: uint32(0xf0fc33c0),
  25051. 6: uint32(0x03000000),
  25052. 7: uint32(0x00000003),
  25053. },
  25054. },
  25055. 2: {
  25056. Fmap1: [8]TFcChar32{
  25057. 2: uint32(0x07fffffe),
  25058. 3: uint32(0x07fffffe),
  25059. 6: uint32(0x0810cf00),
  25060. 7: uint32(0x0810cf00),
  25061. },
  25062. },
  25063. 3: {
  25064. Fmap1: [8]TFcChar32{
  25065. 2: uint32(0x00000200),
  25066. },
  25067. },
  25068. 4: {
  25069. Fmap1: [8]TFcChar32{
  25070. 2: uint32(0x07fffffe),
  25071. 3: uint32(0x07fffffe),
  25072. 6: uint32(0x00220008),
  25073. 7: uint32(0x00220008),
  25074. },
  25075. },
  25076. 5: {
  25077. Fmap1: [8]TFcChar32{
  25078. 1: uint32(0x00000300),
  25079. 3: uint32(0x00000300),
  25080. 4: uint32(0x00010040),
  25081. },
  25082. },
  25083. 6: {
  25084. Fmap1: [8]TFcChar32{
  25085. 2: uint32(0x08100000),
  25086. },
  25087. },
  25088. 7: {
  25089. Fmap1: [8]TFcChar32{
  25090. 0: uint32(0x00000048),
  25091. 1: uint32(0x00000200),
  25092. },
  25093. },
  25094. 8: {
  25095. Fmap1: [8]TFcChar32{
  25096. 5: uint32(0x30000000),
  25097. 7: uint32(0x03000000),
  25098. },
  25099. },
  25100. 9: {
  25101. Fmap1: [8]TFcChar32{
  25102. 0: uint32(0xff7fff7f),
  25103. 1: uint32(0xff01ff7f),
  25104. 2: uint32(0x00003d7f),
  25105. 3: uint32(0xffff7fff),
  25106. 4: uint32(0xffff3d7f),
  25107. 5: uint32(0x003d7fff),
  25108. 6: uint32(0xff7f7f00),
  25109. 7: uint32(0x00ff7fff),
  25110. },
  25111. },
  25112. 10: {
  25113. Fmap1: [8]TFcChar32{
  25114. 0: uint32(0x003d7fff),
  25115. 1: uint32(0xffffffff),
  25116. 2: uint32(0x007fff7f),
  25117. },
  25118. },
  25119. 11: {
  25120. Fmap1: [8]TFcChar32{
  25121. 2: uint32(0x07fffffe),
  25122. 3: uint32(0x07fffffe),
  25123. 6: uint32(0x140a2202),
  25124. 7: uint32(0x140a2202),
  25125. },
  25126. },
  25127. 12: {
  25128. Fmap1: [8]TFcChar32{
  25129. 1: uint32(0x07fffffe),
  25130. 2: uint32(0x000007fe),
  25131. },
  25132. },
  25133. 13: {
  25134. Fmap1: [8]TFcChar32{
  25135. 4: uint32(0xfff99fee),
  25136. 5: uint32(0xd3c4fdff),
  25137. 6: uint32(0xb000399f),
  25138. 7: uint32(0x00030000),
  25139. },
  25140. },
  25141. 14: {
  25142. Fmap1: [8]TFcChar32{
  25143. 1: uint32(0x00c00030),
  25144. },
  25145. },
  25146. 15: {
  25147. Fmap1: [8]TFcChar32{
  25148. 0: uint32(0xffff0042),
  25149. 1: uint32(0xffffffff),
  25150. 2: uint32(0x0002ffff),
  25151. },
  25152. },
  25153. 16: {
  25154. Fmap1: [8]TFcChar32{
  25155. 2: uint32(0x07fffffe),
  25156. 3: uint32(0x07fffffe),
  25157. 6: uint32(0x10028010),
  25158. 7: uint32(0x10028010),
  25159. },
  25160. },
  25161. 17: {
  25162. Fmap1: [8]TFcChar32{
  25163. 2: uint32(0x07fffffe),
  25164. 3: uint32(0x07fffffe),
  25165. 6: uint32(0x10400080),
  25166. 7: uint32(0x10400080),
  25167. },
  25168. },
  25169. 18: {
  25170. Fmap1: [8]TFcChar32{
  25171. 0: uint32(0xc0000000),
  25172. 1: uint32(0x00030000),
  25173. 2: uint32(0xc0000000),
  25174. 4: uint32(0x00008000),
  25175. },
  25176. },
  25177. 19: {
  25178. Fmap1: [8]TFcChar32{
  25179. 2: uint32(0x02000000),
  25180. },
  25181. },
  25182. 20: {
  25183. Fmap1: [8]TFcChar32{
  25184. 1: uint32(0x07ffffde),
  25185. 2: uint32(0x001009f6),
  25186. 3: uint32(0x40000000),
  25187. 4: uint32(0x01000040),
  25188. 5: uint32(0x00008200),
  25189. 6: uint32(0x00001000),
  25190. },
  25191. },
  25192. 21: {
  25193. Fmap1: [8]TFcChar32{
  25194. 0: uint32(0xffff0000),
  25195. 1: uint32(0xffffffff),
  25196. 2: uint32(0x0000ffff),
  25197. 4: uint32(0x030c0000),
  25198. 5: uint32(0x0c00cc0f),
  25199. 6: uint32(0x03000000),
  25200. 7: uint32(0x00000300),
  25201. },
  25202. },
  25203. 22: {
  25204. Fmap1: [8]TFcChar32{
  25205. 0: uint32(0xffff4040),
  25206. 1: uint32(0xffffffff),
  25207. 2: uint32(0x4040ffff),
  25208. },
  25209. },
  25210. 23: {
  25211. Fmap1: [8]TFcChar32{
  25212. 2: uint32(0x07fffffe),
  25213. 3: uint32(0x07fffffe),
  25214. },
  25215. },
  25216. 24: {
  25217. Fmap1: [8]TFcChar32{
  25218. 0: uint32(0x00003000),
  25219. 4: uint32(0x00110000),
  25220. 7: uint32(0x000000c0),
  25221. },
  25222. },
  25223. 25: {
  25224. Fmap1: [8]TFcChar32{
  25225. 2: uint32(0x08000000),
  25226. 3: uint32(0x00000008),
  25227. },
  25228. },
  25229. 26: {
  25230. Fmap1: [8]TFcChar32{
  25231. 0: uint32(0x00003000),
  25232. 1: uint32(0x00000030),
  25233. 3: uint32(0x0000300c),
  25234. 4: uint32(0x000c0000),
  25235. },
  25236. },
  25237. 27: {
  25238. Fmap1: [8]TFcChar32{
  25239. 1: uint32(0x3a8b0000),
  25240. 2: uint32(0x9e78e6b9),
  25241. 3: uint32(0x0000802e),
  25242. },
  25243. },
  25244. 28: {
  25245. Fmap1: [8]TFcChar32{
  25246. 0: uint32(0xffff0000),
  25247. 1: uint32(0xffffd7ff),
  25248. 2: uint32(0x0000d7ff),
  25249. },
  25250. },
  25251. 29: {
  25252. Fmap1: [8]TFcChar32{
  25253. 0: uint32(0xffffffe0),
  25254. 1: uint32(0x83ffffff),
  25255. 2: uint32(0x00003fff),
  25256. },
  25257. },
  25258. 30: {
  25259. Fmap1: [8]TFcChar32{
  25260. 2: uint32(0x07fffffe),
  25261. 3: uint32(0x07fffffe),
  25262. 6: uint32(0x10008200),
  25263. 7: uint32(0x10008200),
  25264. },
  25265. },
  25266. 31: {
  25267. Fmap1: [8]TFcChar32{
  25268. 2: uint32(0x07fffffe),
  25269. 3: uint32(0x07fffffe),
  25270. 6: uint32(0x060c3303),
  25271. 7: uint32(0x060c3303),
  25272. },
  25273. },
  25274. 32: {
  25275. Fmap1: [8]TFcChar32{
  25276. 0: uint32(0x00000003),
  25277. },
  25278. },
  25279. 33: {
  25280. Fmap1: [8]TFcChar32{
  25281. 5: uint32(0x03000000),
  25282. 6: uint32(0x00003000),
  25283. },
  25284. },
  25285. 34: {
  25286. Fmap1: [8]TFcChar32{
  25287. 2: uint32(0x00000c00),
  25288. 4: uint32(0x20010040),
  25289. },
  25290. },
  25291. 35: {
  25292. Fmap1: [8]TFcChar32{
  25293. 2: uint32(0x08100000),
  25294. 3: uint32(0x00040000),
  25295. },
  25296. },
  25297. 36: {
  25298. Fmap1: [8]TFcChar32{
  25299. 4: uint32(0xfff99fee),
  25300. 5: uint32(0xd3c5fdff),
  25301. 6: uint32(0xb000399f),
  25302. },
  25303. },
  25304. 37: {
  25305. Fmap1: [8]TFcChar32{
  25306. 2: uint32(0xfffffeff),
  25307. 3: uint32(0x3d7e03ff),
  25308. 4: uint32(0xfeff0003),
  25309. 5: uint32(0x03ffffff),
  25310. },
  25311. },
  25312. 38: {
  25313. Fmap1: [8]TFcChar32{
  25314. 2: uint32(0x07fffffe),
  25315. 3: uint32(0x07fffffe),
  25316. 6: uint32(0x12120404),
  25317. 7: uint32(0x12120404),
  25318. },
  25319. },
  25320. 39: {
  25321. Fmap1: [8]TFcChar32{
  25322. 0: uint32(0xfff99fee),
  25323. 1: uint32(0xf3e5fdff),
  25324. 2: uint32(0x0007399f),
  25325. 3: uint32(0x0001ffff),
  25326. },
  25327. },
  25328. 40: {
  25329. Fmap1: [8]TFcChar32{
  25330. 0: uint32(0x000330c0),
  25331. 3: uint32(0x60000003),
  25332. },
  25333. },
  25334. 41: {
  25335. Fmap1: [8]TFcChar32{
  25336. 0: uint32(0xffff0002),
  25337. 1: uint32(0xffffffff),
  25338. 2: uint32(0x0002ffff),
  25339. 5: uint32(0x0c00c000),
  25340. },
  25341. },
  25342. 42: {
  25343. Fmap1: [8]TFcChar32{
  25344. 0: uint32(0xff7fff7f),
  25345. 1: uint32(0xff01ff00),
  25346. 2: uint32(0x3d7f3d7f),
  25347. 3: uint32(0xffff7fff),
  25348. 4: uint32(0xffff0000),
  25349. 5: uint32(0x003d7fff),
  25350. 6: uint32(0xff7f7f3d),
  25351. 7: uint32(0x00ff7fff),
  25352. },
  25353. },
  25354. 43: {
  25355. Fmap1: [8]TFcChar32{
  25356. 0: uint32(0x003d7fff),
  25357. 1: uint32(0xffffffff),
  25358. 2: uint32(0x007fff00),
  25359. },
  25360. },
  25361. 44: {
  25362. Fmap1: [8]TFcChar32{
  25363. 2: uint32(0x07fffffe),
  25364. 3: uint32(0x07fffffe),
  25365. 6: uint32(0x140ca381),
  25366. 7: uint32(0x140ca381),
  25367. },
  25368. },
  25369. 45: {
  25370. Fmap1: [8]TFcChar32{
  25371. 1: uint32(0x80000000),
  25372. 2: uint32(0x00000001),
  25373. },
  25374. },
  25375. 46: {
  25376. Fmap1: [8]TFcChar32{
  25377. 2: uint32(0x07fffffe),
  25378. 3: uint32(0x07fffffe),
  25379. 6: uint32(0x10020004),
  25380. 7: uint32(0x10020004),
  25381. },
  25382. },
  25383. 47: {
  25384. Fmap1: [8]TFcChar32{
  25385. 0: uint32(0xffff0002),
  25386. 1: uint32(0xffffffff),
  25387. 2: uint32(0x0002ffff),
  25388. 5: uint32(0x00000030),
  25389. 6: uint32(0x000c0000),
  25390. 7: uint32(0x030300c0),
  25391. },
  25392. },
  25393. 48: {
  25394. Fmap1: [8]TFcChar32{
  25395. 5: uint32(0xffffffff),
  25396. 6: uint32(0xffffffff),
  25397. 7: uint32(0x001fffff),
  25398. },
  25399. },
  25400. 49: {
  25401. Fmap1: [8]TFcChar32{
  25402. 2: uint32(0x07fffffe),
  25403. 3: uint32(0x07fffffe),
  25404. 6: uint32(0x1a10cfc5),
  25405. 7: uint32(0x9a10cfc5),
  25406. },
  25407. },
  25408. 50: {
  25409. Fmap1: [8]TFcChar32{
  25410. 2: uint32(0x000c0000),
  25411. 3: uint32(0x01000000),
  25412. },
  25413. },
  25414. 51: {
  25415. Fmap1: [8]TFcChar32{
  25416. 2: uint32(0x07fffffe),
  25417. 3: uint32(0x07fffffe),
  25418. 6: uint32(0x10420084),
  25419. 7: uint32(0x10420084),
  25420. },
  25421. },
  25422. 52: {
  25423. Fmap1: [8]TFcChar32{
  25424. 0: uint32(0xc0000000),
  25425. 1: uint32(0x00030000),
  25426. 2: uint32(0xc0000000),
  25427. },
  25428. },
  25429. 53: {
  25430. Fmap1: [8]TFcChar32{
  25431. 2: uint32(0x07fffffe),
  25432. 3: uint32(0x07fffffe),
  25433. 6: uint32(0x24082202),
  25434. 7: uint32(0x24082202),
  25435. },
  25436. },
  25437. 54: {
  25438. Fmap1: [8]TFcChar32{
  25439. 0: uint32(0x0c00f000),
  25440. 2: uint32(0x03000180),
  25441. 3: uint32(0x6000c033),
  25442. },
  25443. },
  25444. 55: {
  25445. Fmap1: [8]TFcChar32{
  25446. 2: uint32(0x07fffffe),
  25447. 3: uint32(0x07fffffe),
  25448. 6: uint32(0x021c0a08),
  25449. 7: uint32(0x021c0a08),
  25450. },
  25451. },
  25452. 56: {
  25453. Fmap1: [8]TFcChar32{
  25454. 0: uint32(0x00000030),
  25455. 2: uint32(0x0000001e),
  25456. 3: uint32(0x18000000),
  25457. },
  25458. },
  25459. 57: {
  25460. Fmap1: [8]TFcChar32{
  25461. 0: uint32(0xfdffa966),
  25462. 1: uint32(0xffffdfff),
  25463. 2: uint32(0xa965dfff),
  25464. 3: uint32(0x03ffffff),
  25465. },
  25466. },
  25467. 58: {
  25468. Fmap1: [8]TFcChar32{
  25469. 0: uint32(0x0000000c),
  25470. },
  25471. },
  25472. 59: {
  25473. Fmap1: [8]TFcChar32{
  25474. 0: uint32(0xffff0002),
  25475. 1: uint32(0xffffffff),
  25476. 2: uint32(0x0002ffff),
  25477. 5: uint32(0x00000c00),
  25478. 6: uint32(0x00c00000),
  25479. 7: uint32(0x000c0000),
  25480. },
  25481. },
  25482. 60: {
  25483. Fmap1: [8]TFcChar32{
  25484. 2: uint32(0x07fffffe),
  25485. 3: uint32(0x07fffffe),
  25486. 6: uint32(0x0010c604),
  25487. 7: uint32(0x8010c604),
  25488. },
  25489. },
  25490. 61: {
  25491. Fmap1: [8]TFcChar32{
  25492. 3: uint32(0x01f00000),
  25493. },
  25494. },
  25495. 62: {
  25496. Fmap1: [8]TFcChar32{
  25497. 4: uint32(0x0000003f),
  25498. 7: uint32(0x000c0000),
  25499. },
  25500. },
  25501. 63: {
  25502. Fmap1: [8]TFcChar32{
  25503. 2: uint32(0x07fffffe),
  25504. 3: uint32(0x07fffffe),
  25505. 6: uint32(0x25082262),
  25506. 7: uint32(0x25082262),
  25507. },
  25508. },
  25509. 64: {
  25510. Fmap1: [8]TFcChar32{
  25511. 2: uint32(0x07fffffe),
  25512. 3: uint32(0x07fffffe),
  25513. 6: uint32(0x90400010),
  25514. 7: uint32(0x10400010),
  25515. },
  25516. },
  25517. 65: {
  25518. Fmap1: [8]TFcChar32{
  25519. 0: uint32(0xfff99fec),
  25520. 1: uint32(0xf3e5fdff),
  25521. 2: uint32(0xf807399f),
  25522. 3: uint32(0x0000ffff),
  25523. },
  25524. },
  25525. 66: {
  25526. Fmap1: [8]TFcChar32{
  25527. 4: uint32(0xffffffff),
  25528. 5: uint32(0x0001ffff),
  25529. },
  25530. },
  25531. 67: {
  25532. Fmap1: [8]TFcChar32{
  25533. 0: uint32(0x0c000000),
  25534. 2: uint32(0x00000c00),
  25535. 4: uint32(0x00170240),
  25536. 5: uint32(0x00040000),
  25537. 6: uint32(0x001fe000),
  25538. },
  25539. },
  25540. 68: {
  25541. Fmap1: [8]TFcChar32{
  25542. 2: uint32(0x08500000),
  25543. 3: uint32(0x00000008),
  25544. 4: uint32(0x00000800),
  25545. },
  25546. },
  25547. 69: {
  25548. Fmap1: [8]TFcChar32{
  25549. 0: uint32(0x00001003),
  25550. },
  25551. },
  25552. 70: {
  25553. Fmap1: [8]TFcChar32{
  25554. 4: uint32(0xffffd740),
  25555. 5: uint32(0xfffffffb),
  25556. 6: uint32(0x00007fff),
  25557. },
  25558. },
  25559. 71: {
  25560. Fmap1: [8]TFcChar32{
  25561. 2: uint32(0x07fffffe),
  25562. 3: uint32(0x07fffffe),
  25563. 6: uint32(0x00528f81),
  25564. 7: uint32(0x00528f81),
  25565. },
  25566. },
  25567. 72: {
  25568. Fmap1: [8]TFcChar32{
  25569. 0: uint32(0x30000300),
  25570. 1: uint32(0x00300030),
  25571. 2: uint32(0x30000000),
  25572. 3: uint32(0x00003000),
  25573. },
  25574. },
  25575. 73: {
  25576. Fmap1: [8]TFcChar32{
  25577. 2: uint32(0x07fffffe),
  25578. 3: uint32(0x07fffffe),
  25579. 6: uint32(0x10600010),
  25580. 7: uint32(0x10600010),
  25581. },
  25582. },
  25583. 74: {
  25584. Fmap1: [8]TFcChar32{
  25585. 3: uint32(0x60000003),
  25586. },
  25587. },
  25588. 75: {
  25589. Fmap1: [8]TFcChar32{
  25590. 2: uint32(0x07fffffe),
  25591. 3: uint32(0x07fffffe),
  25592. 6: uint32(0x10020000),
  25593. 7: uint32(0x10020000),
  25594. },
  25595. },
  25596. 76: {
  25597. Fmap1: [8]TFcChar32{
  25598. 2: uint32(0x00000c00),
  25599. 4: uint32(0x20000402),
  25600. 5: uint32(0x00180000),
  25601. },
  25602. },
  25603. 77: {
  25604. Fmap1: [8]TFcChar32{
  25605. 2: uint32(0x00880000),
  25606. 3: uint32(0x00040000),
  25607. },
  25608. },
  25609. 78: {
  25610. Fmap1: [8]TFcChar32{
  25611. 2: uint32(0x07fffffe),
  25612. 3: uint32(0x07fffffe),
  25613. 6: uint32(0x00400030),
  25614. 7: uint32(0x00400030),
  25615. },
  25616. },
  25617. 79: {
  25618. Fmap1: [8]TFcChar32{
  25619. 2: uint32(0x07fffffe),
  25620. 3: uint32(0x07fffffe),
  25621. 6: uint32(0x0e1e7707),
  25622. 7: uint32(0x0e1e7707),
  25623. },
  25624. },
  25625. 80: {
  25626. Fmap1: [8]TFcChar32{
  25627. 2: uint32(0x07fffffe),
  25628. 3: uint32(0x07fffffe),
  25629. 6: uint32(0x25092042),
  25630. 7: uint32(0x25092042),
  25631. },
  25632. },
  25633. 81: {
  25634. Fmap1: [8]TFcChar32{
  25635. 2: uint32(0x07fffffe),
  25636. 3: uint32(0x07fffffe),
  25637. 6: uint32(0x02041107),
  25638. 7: uint32(0x02041107),
  25639. },
  25640. },
  25641. 82: {
  25642. Fmap1: [8]TFcChar32{
  25643. 2: uint32(0x07fffffe),
  25644. 3: uint32(0x07fffffe),
  25645. 6: uint32(0x9c508e14),
  25646. 7: uint32(0x1c508e14),
  25647. },
  25648. },
  25649. 83: {
  25650. Fmap1: [8]TFcChar32{
  25651. 2: uint32(0x07fffffe),
  25652. 3: uint32(0x07fffffe),
  25653. 6: uint32(0x04082202),
  25654. 7: uint32(0x04082202),
  25655. },
  25656. },
  25657. 84: {
  25658. Fmap1: [8]TFcChar32{
  25659. 0: uint32(0x00000c00),
  25660. 1: uint32(0x00000003),
  25661. },
  25662. },
  25663. 85: {
  25664. Fmap1: [8]TFcChar32{
  25665. 0: uint32(0xc0000c0c),
  25666. 2: uint32(0x00c00003),
  25667. 3: uint32(0x00000c03),
  25668. },
  25669. },
  25670. 86: {
  25671. Fmap1: [8]TFcChar32{
  25672. 2: uint32(0x07fffffe),
  25673. 3: uint32(0x07fffffe),
  25674. 6: uint32(0x020c1383),
  25675. 7: uint32(0x020c1383),
  25676. },
  25677. },
  25678. 87: {
  25679. Fmap1: [8]TFcChar32{
  25680. 0: uint32(0xff7fff7f),
  25681. 1: uint32(0xff01ff7f),
  25682. 2: uint32(0x00003d7f),
  25683. 3: uint32(0x00ff00ff),
  25684. 4: uint32(0x00ff3d7f),
  25685. 5: uint32(0x003d7fff),
  25686. 6: uint32(0xff7f7f00),
  25687. 7: uint32(0x00ff7f00),
  25688. },
  25689. },
  25690. 88: {
  25691. Fmap1: [8]TFcChar32{
  25692. 0: uint32(0x003d7f00),
  25693. 1: uint32(0xffff01ff),
  25694. 2: uint32(0x007fff7f),
  25695. },
  25696. },
  25697. 89: {
  25698. Fmap1: [8]TFcChar32{
  25699. 2: uint32(0x07fffffe),
  25700. 3: uint32(0x07fffffe),
  25701. 6: uint32(0x040a2202),
  25702. 7: uint32(0x042a220a),
  25703. },
  25704. },
  25705. 90: {
  25706. Fmap1: [8]TFcChar32{
  25707. 1: uint32(0x00000200),
  25708. 3: uint32(0x00000200),
  25709. },
  25710. },
  25711. 91: {
  25712. Fmap1: [8]TFcChar32{
  25713. 5: uint32(0x20000000),
  25714. 7: uint32(0x02000000),
  25715. },
  25716. },
  25717. 92: {
  25718. Fmap1: [8]TFcChar32{
  25719. 4: uint32(0xfffbafee),
  25720. 5: uint32(0xf3edfdff),
  25721. 6: uint32(0x00013bbf),
  25722. 7: uint32(0x00000001),
  25723. },
  25724. },
  25725. 93: {
  25726. Fmap1: [8]TFcChar32{
  25727. 2: uint32(0x07fffffe),
  25728. 3: uint32(0x07fffffe),
  25729. 6: uint32(0x00000080),
  25730. 7: uint32(0x00000080),
  25731. },
  25732. },
  25733. 94: {
  25734. Fmap1: [8]TFcChar32{
  25735. 4: uint32(0x03000402),
  25736. 5: uint32(0x00180000),
  25737. },
  25738. },
  25739. 95: {
  25740. Fmap1: [8]TFcChar32{
  25741. 2: uint32(0x00880000),
  25742. },
  25743. },
  25744. 96: {
  25745. Fmap1: [8]TFcChar32{
  25746. 0: uint32(0x000c0003),
  25747. 1: uint32(0x00000c00),
  25748. 2: uint32(0x00003000),
  25749. 3: uint32(0x00000c00),
  25750. },
  25751. },
  25752. 97: {
  25753. Fmap1: [8]TFcChar32{
  25754. 5: uint32(0x08000000),
  25755. },
  25756. },
  25757. 98: {
  25758. Fmap1: [8]TFcChar32{
  25759. 6: uint32(0xffff0000),
  25760. 7: uint32(0x000007ff),
  25761. },
  25762. },
  25763. 99: {
  25764. Fmap1: [8]TFcChar32{
  25765. 2: uint32(0x07fffffe),
  25766. 3: uint32(0x07fffffe),
  25767. 6: uint32(0x00080000),
  25768. 7: uint32(0x00080000),
  25769. },
  25770. },
  25771. 100: {
  25772. Fmap1: [8]TFcChar32{
  25773. 0: uint32(0x0c0030c0),
  25774. 2: uint32(0x0300001e),
  25775. 3: uint32(0x66000003),
  25776. },
  25777. },
  25778. 101: {
  25779. Fmap1: [8]TFcChar32{
  25780. 2: uint32(0x07fffffe),
  25781. 3: uint32(0x07fffffe),
  25782. 6: uint32(0x00040100),
  25783. 7: uint32(0x00040100),
  25784. },
  25785. },
  25786. 102: {
  25787. Fmap1: [8]TFcChar32{
  25788. 2: uint32(0x07fffffe),
  25789. 3: uint32(0x07fffffe),
  25790. 6: uint32(0x14482202),
  25791. 7: uint32(0x14482202),
  25792. },
  25793. },
  25794. 103: {
  25795. Fmap1: [8]TFcChar32{
  25796. 2: uint32(0x00030000),
  25797. 3: uint32(0x00030000),
  25798. },
  25799. },
  25800. 104: {
  25801. Fmap1: [8]TFcChar32{
  25802. 1: uint32(0xfffe0000),
  25803. 2: uint32(0x007fffff),
  25804. 3: uint32(0xfffffffe),
  25805. 4: uint32(0x000000ff),
  25806. },
  25807. },
  25808. 105: {
  25809. Fmap1: [8]TFcChar32{
  25810. 1: uint32(0x00008000),
  25811. },
  25812. },
  25813. 106: {
  25814. Fmap1: [8]TFcChar32{
  25815. 0: uint32(0x000c0000),
  25816. 2: uint32(0x00000c00),
  25817. },
  25818. },
  25819. 107: {
  25820. Fmap1: [8]TFcChar32{
  25821. 2: uint32(0x07fffffe),
  25822. 3: uint32(0x07fffffe),
  25823. 6: uint32(0x00000200),
  25824. 7: uint32(0x00000200),
  25825. },
  25826. },
  25827. 108: {
  25828. Fmap1: [8]TFcChar32{
  25829. 6: uint32(0x00003c00),
  25830. 7: uint32(0x00000030),
  25831. },
  25832. },
  25833. 109: {
  25834. Fmap1: [8]TFcChar32{
  25835. 0: uint32(0xffffffff),
  25836. 1: uint32(0xffffffff),
  25837. 2: uint32(0xffffffff),
  25838. 3: uint32(0xffffffff),
  25839. 4: uint32(0xffffffff),
  25840. 5: uint32(0xffffffff),
  25841. 6: uint32(0xffffffff),
  25842. 7: uint32(0xffffffff),
  25843. },
  25844. },
  25845. 110: {
  25846. Fmap1: [8]TFcChar32{
  25847. 0: uint32(0xffffffff),
  25848. 1: uint32(0xffffffff),
  25849. 2: uint32(0xffffffff),
  25850. 3: uint32(0xffffffff),
  25851. 4: uint32(0x00001fff),
  25852. },
  25853. },
  25854. 111: {
  25855. Fmap1: [8]TFcChar32{
  25856. 0: uint32(0xffff4002),
  25857. 1: uint32(0xffffffff),
  25858. 2: uint32(0x4002ffff),
  25859. },
  25860. },
  25861. 112: {
  25862. Fmap1: [8]TFcChar32{
  25863. 2: uint32(0x07fffffe),
  25864. 3: uint32(0x07fffffe),
  25865. 6: uint32(0x64092242),
  25866. 7: uint32(0x64092242),
  25867. },
  25868. },
  25869. 113: {
  25870. Fmap1: [8]TFcChar32{
  25871. 2: uint32(0x07fffffe),
  25872. 3: uint32(0x07fffffe),
  25873. 6: uint32(0x060cb301),
  25874. 7: uint32(0x060cb301),
  25875. },
  25876. },
  25877. 114: {
  25878. Fmap1: [8]TFcChar32{
  25879. 0: uint32(0x00000c7e),
  25880. 1: uint32(0x031f8000),
  25881. 2: uint32(0x0063f200),
  25882. 3: uint32(0x000df840),
  25883. 4: uint32(0x00037e08),
  25884. 5: uint32(0x08000dfa),
  25885. 6: uint32(0x0df901bf),
  25886. 7: uint32(0x5437e400),
  25887. },
  25888. },
  25889. 115: {
  25890. Fmap1: [8]TFcChar32{
  25891. 0: uint32(0x00000025),
  25892. 1: uint32(0x40006fc0),
  25893. 2: uint32(0x27f91be4),
  25894. 3: uint32(0xdee00000),
  25895. 4: uint32(0x007ff83f),
  25896. 5: uint32(0x00007f7f),
  25897. },
  25898. },
  25899. 116: {
  25900. Fmap1: [8]TFcChar32{
  25901. 3: uint32(0x007f8000),
  25902. },
  25903. },
  25904. 117: {
  25905. Fmap1: [8]TFcChar32{
  25906. 0: uint32(0x000000a7),
  25907. 2: uint32(0xfffffffe),
  25908. 3: uint32(0xffffffff),
  25909. 4: uint32(0x780fffff),
  25910. 5: uint32(0xfffffffe),
  25911. 6: uint32(0xffffffff),
  25912. 7: uint32(0x787fffff),
  25913. },
  25914. },
  25915. 118: {
  25916. Fmap1: [8]TFcChar32{
  25917. 0: uint32(0x03506f8b),
  25918. 1: uint32(0x1b042042),
  25919. 2: uint32(0x62808020),
  25920. 3: uint32(0x400a0000),
  25921. 4: uint32(0x10341b41),
  25922. 5: uint32(0x04003812),
  25923. 6: uint32(0x03608c02),
  25924. 7: uint32(0x08454038),
  25925. },
  25926. },
  25927. 119: {
  25928. Fmap1: [8]TFcChar32{
  25929. 0: uint32(0x2403c002),
  25930. 1: uint32(0x15108000),
  25931. 2: uint32(0x1229e040),
  25932. 3: uint32(0x80280000),
  25933. 4: uint32(0x28002800),
  25934. 5: uint32(0x8060c002),
  25935. 6: uint32(0x2080040c),
  25936. 7: uint32(0x05284002),
  25937. },
  25938. },
  25939. 120: {
  25940. Fmap1: [8]TFcChar32{
  25941. 0: uint32(0x82042a00),
  25942. 1: uint32(0x02000818),
  25943. 2: uint32(0x10008200),
  25944. 3: uint32(0x20700020),
  25945. 4: uint32(0x03022000),
  25946. 5: uint32(0x40a41000),
  25947. 6: uint32(0x0420a020),
  25948. 7: uint32(0x00000080),
  25949. },
  25950. },
  25951. 121: {
  25952. Fmap1: [8]TFcChar32{
  25953. 0: uint32(0x80040011),
  25954. 1: uint32(0x00000400),
  25955. 2: uint32(0x04012b78),
  25956. 3: uint32(0x11a23920),
  25957. 4: uint32(0x02842460),
  25958. 5: uint32(0x00c01021),
  25959. 6: uint32(0x20002050),
  25960. 7: uint32(0x07400042),
  25961. },
  25962. },
  25963. 122: {
  25964. Fmap1: [8]TFcChar32{
  25965. 0: uint32(0x208205c9),
  25966. 1: uint32(0x0fc10230),
  25967. 2: uint32(0x08402480),
  25968. 3: uint32(0x00258018),
  25969. 4: uint32(0x88000080),
  25970. 5: uint32(0x42120609),
  25971. 6: uint32(0xa32002a8),
  25972. 7: uint32(0x40040094),
  25973. },
  25974. },
  25975. 123: {
  25976. Fmap1: [8]TFcChar32{
  25977. 0: uint32(0x00c00024),
  25978. 1: uint32(0x8e000001),
  25979. 2: uint32(0x059e058a),
  25980. 3: uint32(0x013b0001),
  25981. 4: uint32(0x85000010),
  25982. 5: uint32(0x08080000),
  25983. 6: uint32(0x02d07d04),
  25984. 7: uint32(0x018d9838),
  25985. },
  25986. },
  25987. 124: {
  25988. Fmap1: [8]TFcChar32{
  25989. 0: uint32(0x8803f310),
  25990. 1: uint32(0x03000840),
  25991. 2: uint32(0x00000704),
  25992. 3: uint32(0x30080500),
  25993. 4: uint32(0x00001000),
  25994. 5: uint32(0x20040000),
  25995. 6: uint32(0x00000003),
  25996. 7: uint32(0x04040002),
  25997. },
  25998. },
  25999. 125: {
  26000. Fmap1: [8]TFcChar32{
  26001. 0: uint32(0x000100d0),
  26002. 1: uint32(0x40028000),
  26003. 2: uint32(0x00088040),
  26004. 4: uint32(0x34000210),
  26005. 5: uint32(0x00400e00),
  26006. 6: uint32(0x00000020),
  26007. 7: uint32(0x00000008),
  26008. },
  26009. },
  26010. 126: {
  26011. Fmap1: [8]TFcChar32{
  26012. 0: uint32(0x00000040),
  26013. 1: uint32(0x00060000),
  26014. 3: uint32(0x00100100),
  26015. 4: uint32(0x00000080),
  26016. 6: uint32(0x4c000000),
  26017. 7: uint32(0x240d0009),
  26018. },
  26019. },
  26020. 127: {
  26021. Fmap1: [8]TFcChar32{
  26022. 0: uint32(0x80048000),
  26023. 1: uint32(0x00010180),
  26024. 2: uint32(0x00020484),
  26025. 3: uint32(0x00000400),
  26026. 4: uint32(0x00000804),
  26027. 5: uint32(0x00000008),
  26028. 6: uint32(0x80004800),
  26029. 7: uint32(0x16800000),
  26030. },
  26031. },
  26032. 128: {
  26033. Fmap1: [8]TFcChar32{
  26034. 0: uint32(0x00200065),
  26035. 1: uint32(0x00120410),
  26036. 2: uint32(0x44920403),
  26037. 3: uint32(0x40000200),
  26038. 4: uint32(0x10880008),
  26039. 5: uint32(0x40080100),
  26040. 6: uint32(0x00001482),
  26041. 7: uint32(0x00074800),
  26042. },
  26043. },
  26044. 129: {
  26045. Fmap1: [8]TFcChar32{
  26046. 0: uint32(0x14608200),
  26047. 1: uint32(0x00024e84),
  26048. 2: uint32(0x00128380),
  26049. 3: uint32(0x20184520),
  26050. 4: uint32(0x0240041c),
  26051. 5: uint32(0x0a001120),
  26052. 6: uint32(0x00180a00),
  26053. 7: uint32(0x88000800),
  26054. },
  26055. },
  26056. 130: {
  26057. Fmap1: [8]TFcChar32{
  26058. 0: uint32(0x01000002),
  26059. 1: uint32(0x00008001),
  26060. 2: uint32(0x04000040),
  26061. 3: uint32(0x80000040),
  26062. 4: uint32(0x08040000),
  26063. 6: uint32(0x00001202),
  26064. 7: uint32(0x00000002),
  26065. },
  26066. },
  26067. 131: {
  26068. Fmap1: [8]TFcChar32{
  26069. 1: uint32(0x00000004),
  26070. 2: uint32(0x21910000),
  26071. 3: uint32(0x00000858),
  26072. 4: uint32(0xbf8013a0),
  26073. 5: uint32(0x8279401c),
  26074. 6: uint32(0xa8041054),
  26075. 7: uint32(0xc5004282),
  26076. },
  26077. },
  26078. 132: {
  26079. Fmap1: [8]TFcChar32{
  26080. 0: uint32(0x0402ce56),
  26081. 1: uint32(0xfc020000),
  26082. 2: uint32(0x40200d21),
  26083. 3: uint32(0x00028030),
  26084. 4: uint32(0x00010000),
  26085. 5: uint32(0x01081202),
  26086. 7: uint32(0x00410003),
  26087. },
  26088. },
  26089. 133: {
  26090. Fmap1: [8]TFcChar32{
  26091. 0: uint32(0x00404080),
  26092. 1: uint32(0x00000200),
  26093. 2: uint32(0x00010000),
  26094. 6: uint32(0x60000000),
  26095. 7: uint32(0x480241ea),
  26096. },
  26097. },
  26098. 134: {
  26099. Fmap1: [8]TFcChar32{
  26100. 0: uint32(0x2000104c),
  26101. 1: uint32(0x2109a820),
  26102. 2: uint32(0x00200020),
  26103. 3: uint32(0x7b1c0008),
  26104. 4: uint32(0x10a0840a),
  26105. 5: uint32(0x01c028c0),
  26106. 6: uint32(0x00000608),
  26107. 7: uint32(0x04c00000),
  26108. },
  26109. },
  26110. 135: {
  26111. Fmap1: [8]TFcChar32{
  26112. 0: uint32(0x80398412),
  26113. 1: uint32(0x40a200e0),
  26114. 2: uint32(0x02080000),
  26115. 3: uint32(0x12030a04),
  26116. 4: uint32(0x008d1833),
  26117. 5: uint32(0x02184602),
  26118. 6: uint32(0x13803028),
  26119. 7: uint32(0x00200801),
  26120. },
  26121. },
  26122. 136: {
  26123. Fmap1: [8]TFcChar32{
  26124. 0: uint32(0x20440000),
  26125. 1: uint32(0x000005a1),
  26126. 2: uint32(0x00050800),
  26127. 3: uint32(0x0020a328),
  26128. 4: uint32(0x80100000),
  26129. 5: uint32(0x10040649),
  26130. 6: uint32(0x10020020),
  26131. 7: uint32(0x00090180),
  26132. },
  26133. },
  26134. 137: {
  26135. Fmap1: [8]TFcChar32{
  26136. 0: uint32(0x8c008202),
  26137. 2: uint32(0x00205910),
  26138. 3: uint32(0x0041410c),
  26139. 4: uint32(0x00004004),
  26140. 5: uint32(0x40441290),
  26141. 6: uint32(0x00010080),
  26142. 7: uint32(0x01040000),
  26143. },
  26144. },
  26145. 138: {
  26146. Fmap1: [8]TFcChar32{
  26147. 0: uint32(0x04070000),
  26148. 1: uint32(0x89108040),
  26149. 2: uint32(0x00282a81),
  26150. 3: uint32(0x82420000),
  26151. 4: uint32(0x51a20411),
  26152. 5: uint32(0x32220800),
  26153. 6: uint32(0x2b0d2220),
  26154. 7: uint32(0x40c83003),
  26155. },
  26156. },
  26157. 139: {
  26158. Fmap1: [8]TFcChar32{
  26159. 0: uint32(0x82020082),
  26160. 1: uint32(0x80008900),
  26161. 2: uint32(0x10a00200),
  26162. 3: uint32(0x08004100),
  26163. 4: uint32(0x09041108),
  26164. 5: uint32(0x000405a6),
  26165. 6: uint32(0x0c018000),
  26166. 7: uint32(0x04104002),
  26167. },
  26168. },
  26169. 140: {
  26170. Fmap1: [8]TFcChar32{
  26171. 0: uint32(0x00002000),
  26172. 1: uint32(0x44003000),
  26173. 2: uint32(0x01000004),
  26174. 3: uint32(0x00008200),
  26175. 4: uint32(0x00000008),
  26176. 5: uint32(0x00044010),
  26177. 6: uint32(0x00002002),
  26178. 7: uint32(0x00001040),
  26179. },
  26180. },
  26181. 141: {
  26182. Fmap1: [8]TFcChar32{
  26183. 1: uint32(0xca008000),
  26184. 2: uint32(0x02828020),
  26185. 3: uint32(0x00b1100c),
  26186. 4: uint32(0x12824280),
  26187. 5: uint32(0x22013030),
  26188. 6: uint32(0x00808820),
  26189. 7: uint32(0x040013e4),
  26190. },
  26191. },
  26192. 142: {
  26193. Fmap1: [8]TFcChar32{
  26194. 0: uint32(0x801840c0),
  26195. 1: uint32(0x1000a1a1),
  26196. 2: uint32(0x00000004),
  26197. 3: uint32(0x0050c200),
  26198. 4: uint32(0x00c20082),
  26199. 5: uint32(0x00104840),
  26200. 6: uint32(0x10400080),
  26201. 7: uint32(0xa3140000),
  26202. },
  26203. },
  26204. 143: {
  26205. Fmap1: [8]TFcChar32{
  26206. 0: uint32(0xa8a02301),
  26207. 1: uint32(0x24123d00),
  26208. 2: uint32(0x80030200),
  26209. 3: uint32(0xc0028022),
  26210. 4: uint32(0x34a10000),
  26211. 5: uint32(0x00408005),
  26212. 6: uint32(0x00190010),
  26213. 7: uint32(0x882a0000),
  26214. },
  26215. },
  26216. 144: {
  26217. Fmap1: [8]TFcChar32{
  26218. 0: uint32(0x00080018),
  26219. 1: uint32(0x33000402),
  26220. 2: uint32(0x9002010a),
  26221. 4: uint32(0x00800020),
  26222. 5: uint32(0x00010100),
  26223. 6: uint32(0x84040810),
  26224. 7: uint32(0x04004000),
  26225. },
  26226. },
  26227. 145: {
  26228. Fmap1: [8]TFcChar32{
  26229. 0: uint32(0x10006020),
  26230. 3: uint32(0x30a02000),
  26231. 4: uint32(0x00000004),
  26232. 6: uint32(0x01000800),
  26233. 7: uint32(0x20000000),
  26234. },
  26235. },
  26236. 146: {
  26237. Fmap1: [8]TFcChar32{
  26238. 0: uint32(0x02000000),
  26239. 1: uint32(0x02000602),
  26240. 2: uint32(0x80000800),
  26241. },
  26242. },
  26243. 147: {
  26244. Fmap1: [8]TFcChar32{
  26245. 0: uint32(0x00000010),
  26246. 1: uint32(0x44040083),
  26247. 2: uint32(0x00081000),
  26248. 3: uint32(0x0818824c),
  26249. 4: uint32(0x00400e00),
  26250. 5: uint32(0x8c300000),
  26251. 6: uint32(0x08146001),
  26252. },
  26253. },
  26254. 148: {
  26255. Fmap1: [8]TFcChar32{
  26256. 0: uint32(0x00828000),
  26257. 1: uint32(0x41900000),
  26258. 2: uint32(0x84804006),
  26259. 3: uint32(0x24010001),
  26260. 4: uint32(0x02400108),
  26261. 5: uint32(0x9b080006),
  26262. 6: uint32(0x00201602),
  26263. 7: uint32(0x0009012e),
  26264. },
  26265. },
  26266. 149: {
  26267. Fmap1: [8]TFcChar32{
  26268. 0: uint32(0x40800800),
  26269. 1: uint32(0x48000420),
  26270. 2: uint32(0x10000032),
  26271. 3: uint32(0x01904440),
  26272. 4: uint32(0x02000100),
  26273. 5: uint32(0x10048000),
  26274. 6: uint32(0x00020000),
  26275. 7: uint32(0x08820802),
  26276. },
  26277. },
  26278. 150: {
  26279. Fmap1: [8]TFcChar32{
  26280. 0: uint32(0x08080ba0),
  26281. 1: uint32(0x00009242),
  26282. 2: uint32(0x00400000),
  26283. 3: uint32(0xc0008080),
  26284. 4: uint32(0x20410001),
  26285. 5: uint32(0x04400000),
  26286. 6: uint32(0x60020820),
  26287. 7: uint32(0x00100000),
  26288. },
  26289. },
  26290. 151: {
  26291. Fmap1: [8]TFcChar32{
  26292. 0: uint32(0x00108046),
  26293. 1: uint32(0x01001805),
  26294. 2: uint32(0x90100000),
  26295. 3: uint32(0x00014010),
  26296. 4: uint32(0x00000010),
  26297. 6: uint32(0x0000000b),
  26298. 7: uint32(0x00008800),
  26299. },
  26300. },
  26301. 152: {
  26302. Fmap1: [8]TFcChar32{
  26303. 1: uint32(0x00001000),
  26304. 3: uint32(0x20018800),
  26305. 4: uint32(0x00004600),
  26306. 5: uint32(0x06002000),
  26307. 6: uint32(0x00000100),
  26308. },
  26309. },
  26310. 153: {
  26311. Fmap1: [8]TFcChar32{
  26312. 1: uint32(0x10400042),
  26313. 2: uint32(0x02004000),
  26314. 3: uint32(0x00004280),
  26315. 4: uint32(0x80000400),
  26316. 5: uint32(0x00020000),
  26317. 6: uint32(0x00000008),
  26318. 7: uint32(0x00000020),
  26319. },
  26320. },
  26321. 154: {
  26322. Fmap1: [8]TFcChar32{
  26323. 0: uint32(0x00000040),
  26324. 1: uint32(0x20600400),
  26325. 2: uint32(0x0a000180),
  26326. 3: uint32(0x02040280),
  26327. 5: uint32(0x00409001),
  26328. 6: uint32(0x02000004),
  26329. 7: uint32(0x00003200),
  26330. },
  26331. },
  26332. 155: {
  26333. Fmap1: [8]TFcChar32{
  26334. 0: uint32(0x88000000),
  26335. 1: uint32(0x80404800),
  26336. 2: uint32(0x00000010),
  26337. 3: uint32(0x00040008),
  26338. 4: uint32(0x00000a90),
  26339. 5: uint32(0x00000200),
  26340. 6: uint32(0x00002000),
  26341. 7: uint32(0x40002001),
  26342. },
  26343. },
  26344. 156: {
  26345. Fmap1: [8]TFcChar32{
  26346. 0: uint32(0x00000048),
  26347. 1: uint32(0x00100000),
  26348. 3: uint32(0x00000001),
  26349. 4: uint32(0x00000008),
  26350. 5: uint32(0x20010080),
  26351. 7: uint32(0x00400040),
  26352. },
  26353. },
  26354. 157: {
  26355. Fmap1: [8]TFcChar32{
  26356. 0: uint32(0x85000000),
  26357. 1: uint32(0x0c8f0108),
  26358. 2: uint32(0x32129000),
  26359. 3: uint32(0x80090420),
  26360. 4: uint32(0x00024000),
  26361. 5: uint32(0x40040800),
  26362. 6: uint32(0x092000a0),
  26363. 7: uint32(0x00100204),
  26364. },
  26365. },
  26366. 158: {
  26367. Fmap1: [8]TFcChar32{
  26368. 0: uint32(0x00002000),
  26369. 2: uint32(0x00440004),
  26370. 3: uint32(0x6c000000),
  26371. 4: uint32(0x000000d0),
  26372. 5: uint32(0x80004000),
  26373. 6: uint32(0x88800440),
  26374. 7: uint32(0x41144018),
  26375. },
  26376. },
  26377. 159: {
  26378. Fmap1: [8]TFcChar32{
  26379. 0: uint32(0x80001a02),
  26380. 1: uint32(0x14000001),
  26381. 2: uint32(0x00000001),
  26382. 3: uint32(0x0000004a),
  26383. 5: uint32(0x00083000),
  26384. 6: uint32(0x08000000),
  26385. 7: uint32(0x0008a024),
  26386. },
  26387. },
  26388. 160: {
  26389. Fmap1: [8]TFcChar32{
  26390. 0: uint32(0x00300004),
  26391. 1: uint32(0x00140000),
  26392. 2: uint32(0x20000000),
  26393. 3: uint32(0x00001800),
  26394. 4: uint32(0x00020002),
  26395. 5: uint32(0x04000000),
  26396. 6: uint32(0x00000002),
  26397. 7: uint32(0x00000100),
  26398. },
  26399. },
  26400. 161: {
  26401. Fmap1: [8]TFcChar32{
  26402. 0: uint32(0x00004002),
  26403. 1: uint32(0x54000000),
  26404. 2: uint32(0x60400300),
  26405. 3: uint32(0x00002120),
  26406. 4: uint32(0x0000a022),
  26407. 6: uint32(0x81060803),
  26408. 7: uint32(0x08010200),
  26409. },
  26410. },
  26411. 162: {
  26412. Fmap1: [8]TFcChar32{
  26413. 0: uint32(0x04004800),
  26414. 1: uint32(0xb0044000),
  26415. 2: uint32(0x0000a005),
  26416. 3: uint32(0x04500800),
  26417. 4: uint32(0x800c000a),
  26418. 5: uint32(0x0000c000),
  26419. 6: uint32(0x10000800),
  26420. 7: uint32(0x02408021),
  26421. },
  26422. },
  26423. 163: {
  26424. Fmap1: [8]TFcChar32{
  26425. 0: uint32(0x08020000),
  26426. 1: uint32(0x00001040),
  26427. 2: uint32(0x00540a40),
  26428. 4: uint32(0x00800880),
  26429. 5: uint32(0x01020002),
  26430. 6: uint32(0x00000211),
  26431. 7: uint32(0x00000010),
  26432. },
  26433. },
  26434. 164: {
  26435. Fmap1: [8]TFcChar32{
  26436. 1: uint32(0x80000002),
  26437. 2: uint32(0x00002000),
  26438. 3: uint32(0x00080001),
  26439. 4: uint32(0x09840a00),
  26440. 5: uint32(0x40000080),
  26441. 6: uint32(0x00400000),
  26442. 7: uint32(0x49000080),
  26443. },
  26444. },
  26445. 165: {
  26446. Fmap1: [8]TFcChar32{
  26447. 0: uint32(0x0e102831),
  26448. 1: uint32(0x06098807),
  26449. 2: uint32(0x40011014),
  26450. 3: uint32(0x02620042),
  26451. 4: uint32(0x06000000),
  26452. 5: uint32(0x88062000),
  26453. 6: uint32(0x04068400),
  26454. 7: uint32(0x08108301),
  26455. },
  26456. },
  26457. 166: {
  26458. Fmap1: [8]TFcChar32{
  26459. 0: uint32(0x08000012),
  26460. 1: uint32(0x40004840),
  26461. 2: uint32(0x00300402),
  26462. 3: uint32(0x00012000),
  26463. },
  26464. },
  26465. 167: {
  26466. Fmap1: [8]TFcChar32{
  26467. 1: uint32(0x00400000),
  26468. 3: uint32(0x00a54400),
  26469. 4: uint32(0x40004420),
  26470. 5: uint32(0x20000310),
  26471. 6: uint32(0x00041002),
  26472. 7: uint32(0x18000000),
  26473. },
  26474. },
  26475. 168: {
  26476. Fmap1: [8]TFcChar32{
  26477. 0: uint32(0x00a1002a),
  26478. 1: uint32(0x00080000),
  26479. 2: uint32(0x40400000),
  26480. 3: uint32(0x00900000),
  26481. 4: uint32(0x21401200),
  26482. 5: uint32(0x04048626),
  26483. 6: uint32(0x40005048),
  26484. 7: uint32(0x21100000),
  26485. },
  26486. },
  26487. 169: {
  26488. Fmap1: [8]TFcChar32{
  26489. 0: uint32(0x040005a4),
  26490. 1: uint32(0x000a0000),
  26491. 2: uint32(0x00214000),
  26492. 3: uint32(0x07010800),
  26493. 4: uint32(0x34000000),
  26494. 5: uint32(0x00080100),
  26495. 6: uint32(0x00080040),
  26496. 7: uint32(0x10182508),
  26497. },
  26498. },
  26499. 170: {
  26500. Fmap1: [8]TFcChar32{
  26501. 0: uint32(0xc0805100),
  26502. 1: uint32(0x02c01400),
  26503. 2: uint32(0x00000080),
  26504. 3: uint32(0x00448040),
  26505. 4: uint32(0x20000800),
  26506. 5: uint32(0x210a8000),
  26507. 6: uint32(0x08800000),
  26508. 7: uint32(0x00020060),
  26509. },
  26510. },
  26511. 171: {
  26512. Fmap1: [8]TFcChar32{
  26513. 0: uint32(0x00004004),
  26514. 1: uint32(0x00400100),
  26515. 2: uint32(0x01040200),
  26516. 3: uint32(0x00800000),
  26517. 6: uint32(0x10081400),
  26518. 7: uint32(0x00008000),
  26519. },
  26520. },
  26521. 172: {
  26522. Fmap1: [8]TFcChar32{
  26523. 0: uint32(0x00004000),
  26524. 1: uint32(0x20000000),
  26525. 2: uint32(0x08800200),
  26526. 3: uint32(0x00001000),
  26527. 5: uint32(0x01000000),
  26528. 6: uint32(0x00000810),
  26529. },
  26530. },
  26531. 173: {
  26532. Fmap1: [8]TFcChar32{
  26533. 0: uint32(0x00020000),
  26534. 1: uint32(0x20200000),
  26535. 4: uint32(0x00000010),
  26536. 5: uint32(0x00001c40),
  26537. 6: uint32(0x00002000),
  26538. 7: uint32(0x08000210),
  26539. },
  26540. },
  26541. 174: {
  26542. Fmap1: [8]TFcChar32{
  26543. 2: uint32(0x54014000),
  26544. 3: uint32(0x02000800),
  26545. 4: uint32(0x00200400),
  26546. 6: uint32(0x00002080),
  26547. 7: uint32(0x00004000),
  26548. },
  26549. },
  26550. 175: {
  26551. Fmap1: [8]TFcChar32{
  26552. 0: uint32(0x10000004),
  26553. 4: uint32(0x00002000),
  26554. },
  26555. },
  26556. 176: {
  26557. Fmap1: [8]TFcChar32{
  26558. 2: uint32(0x28881041),
  26559. 3: uint32(0x0081010a),
  26560. 4: uint32(0x00400800),
  26561. 5: uint32(0x00000800),
  26562. 6: uint32(0x10208026),
  26563. 7: uint32(0x61000000),
  26564. },
  26565. },
  26566. 177: {
  26567. Fmap1: [8]TFcChar32{
  26568. 0: uint32(0x00050080),
  26569. 2: uint32(0x80000000),
  26570. 3: uint32(0x80040000),
  26571. 4: uint32(0x044088c2),
  26572. 5: uint32(0x00080480),
  26573. 6: uint32(0x00040000),
  26574. 7: uint32(0x00000048),
  26575. },
  26576. },
  26577. 178: {
  26578. Fmap1: [8]TFcChar32{
  26579. 0: uint32(0x8188410d),
  26580. 1: uint32(0x141a2400),
  26581. 2: uint32(0x40310000),
  26582. 3: uint32(0x000f4249),
  26583. 4: uint32(0x41283280),
  26584. 5: uint32(0x80053011),
  26585. 6: uint32(0x00400880),
  26586. 7: uint32(0x410060c0),
  26587. },
  26588. },
  26589. 179: {
  26590. Fmap1: [8]TFcChar32{
  26591. 0: uint32(0x2a004013),
  26592. 1: uint32(0x02000002),
  26593. 2: uint32(0x11000000),
  26594. 3: uint32(0x00850040),
  26595. },
  26596. },
  26597. 180: {
  26598. Fmap1: [8]TFcChar32{
  26599. 1: uint32(0x00800000),
  26600. 2: uint32(0x04000440),
  26601. 3: uint32(0x00000402),
  26602. 4: uint32(0x60001000),
  26603. 5: uint32(0x99909f87),
  26604. 6: uint32(0x5808049d),
  26605. 7: uint32(0x10002445),
  26606. },
  26607. },
  26608. 181: {
  26609. Fmap1: [8]TFcChar32{
  26610. 0: uint32(0x00000100),
  26611. 3: uint32(0x00910050),
  26612. 4: uint32(0x00000420),
  26613. 5: uint32(0x00080008),
  26614. 6: uint32(0x20000000),
  26615. 7: uint32(0x00288002),
  26616. },
  26617. },
  26618. 182: {
  26619. Fmap1: [8]TFcChar32{
  26620. 0: uint32(0x00008400),
  26621. 1: uint32(0x00000400),
  26622. 3: uint32(0x00100000),
  26623. 4: uint32(0x00002000),
  26624. 5: uint32(0x00000800),
  26625. 6: uint32(0x80043400),
  26626. 7: uint32(0x21000004),
  26627. },
  26628. },
  26629. 183: {
  26630. Fmap1: [8]TFcChar32{
  26631. 0: uint32(0x20000208),
  26632. 1: uint32(0x01000600),
  26633. 2: uint32(0x00000010),
  26634. 4: uint32(0x48000000),
  26635. 5: uint32(0x14060008),
  26636. 6: uint32(0x00124020),
  26637. 7: uint32(0x20812800),
  26638. },
  26639. },
  26640. 184: {
  26641. Fmap1: [8]TFcChar32{
  26642. 0: uint32(0xa419804b),
  26643. 1: uint32(0x01064009),
  26644. 2: uint32(0x10386ca4),
  26645. 3: uint32(0x85a0620b),
  26646. 4: uint32(0x00000010),
  26647. 5: uint32(0x01000448),
  26648. 6: uint32(0x00004400),
  26649. 7: uint32(0x20a02102),
  26650. },
  26651. },
  26652. 185: {
  26653. Fmap1: [8]TFcChar32{
  26654. 2: uint32(0x00147000),
  26655. 3: uint32(0x01a01404),
  26656. 4: uint32(0x10040000),
  26657. 5: uint32(0x01000000),
  26658. 6: uint32(0x3002f180),
  26659. 7: uint32(0x00000008),
  26660. },
  26661. },
  26662. 186: {
  26663. Fmap1: [8]TFcChar32{
  26664. 0: uint32(0x00002000),
  26665. 1: uint32(0x00100000),
  26666. 2: uint32(0x08000010),
  26667. 3: uint32(0x00020004),
  26668. 4: uint32(0x01000029),
  26669. 5: uint32(0x00002000),
  26670. 7: uint32(0x10082000),
  26671. },
  26672. },
  26673. 187: {
  26674. Fmap1: [8]TFcChar32{
  26675. 1: uint32(0x0004d041),
  26676. 2: uint32(0x08000800),
  26677. 3: uint32(0x00200000),
  26678. 4: uint32(0x00401000),
  26679. 5: uint32(0x00004000),
  26680. 7: uint32(0x00000002),
  26681. },
  26682. },
  26683. 188: {
  26684. Fmap1: [8]TFcChar32{
  26685. 0: uint32(0x01000000),
  26686. 2: uint32(0x00020000),
  26687. },
  26688. },
  26689. 189: {
  26690. Fmap1: [8]TFcChar32{
  26691. 3: uint32(0x00800000),
  26692. 4: uint32(0x000a0a01),
  26693. 5: uint32(0x0004002c),
  26694. 6: uint32(0x01000080),
  26695. },
  26696. },
  26697. 190: {
  26698. Fmap1: [8]TFcChar32{
  26699. 0: uint32(0x10000000),
  26700. 1: uint32(0x08040400),
  26701. 2: uint32(0x08012010),
  26702. 3: uint32(0x2569043c),
  26703. 4: uint32(0x1a10c460),
  26704. 5: uint32(0x08800009),
  26705. 6: uint32(0x000210f0),
  26706. 7: uint32(0x08c5050c),
  26707. },
  26708. },
  26709. 191: {
  26710. Fmap1: [8]TFcChar32{
  26711. 0: uint32(0x10000481),
  26712. 1: uint32(0x00040080),
  26713. 2: uint32(0x42040000),
  26714. 3: uint32(0x00100204),
  26715. 6: uint32(0x00080000),
  26716. 7: uint32(0x88080000),
  26717. },
  26718. },
  26719. 192: {
  26720. Fmap1: [8]TFcChar32{
  26721. 0: uint32(0x010f016c),
  26722. 1: uint32(0x18002000),
  26723. 2: uint32(0x41307000),
  26724. 3: uint32(0x00000080),
  26725. 5: uint32(0x00000100),
  26726. 6: uint32(0x88000000),
  26727. 7: uint32(0x70048004),
  26728. },
  26729. },
  26730. 193: {
  26731. Fmap1: [8]TFcChar32{
  26732. 0: uint32(0x00081420),
  26733. 1: uint32(0x00000100),
  26734. 4: uint32(0x02400000),
  26735. 5: uint32(0x00001000),
  26736. 6: uint32(0x00050070),
  26737. },
  26738. },
  26739. 194: {
  26740. Fmap1: [8]TFcChar32{
  26741. 0: uint32(0x000c4000),
  26742. 1: uint32(0x00010000),
  26743. 2: uint32(0x04000000),
  26744. 5: uint32(0x01000100),
  26745. 6: uint32(0x01000010),
  26746. 7: uint32(0x00000400),
  26747. },
  26748. },
  26749. 195: {
  26750. Fmap1: [8]TFcChar32{
  26751. 1: uint32(0x10020000),
  26752. 2: uint32(0x04100024),
  26753. 5: uint32(0x00004000),
  26754. 7: uint32(0x00000100),
  26755. },
  26756. },
  26757. 196: {
  26758. Fmap1: [8]TFcChar32{
  26759. 7: uint32(0x00100020),
  26760. },
  26761. },
  26762. 197: {
  26763. Fmap1: [8]TFcChar32{
  26764. 4: uint32(0x00008000),
  26765. 5: uint32(0x00100000),
  26766. },
  26767. },
  26768. 198: {
  26769. Fmap1: [8]TFcChar32{
  26770. 3: uint32(0x80000000),
  26771. 4: uint32(0x00880000),
  26772. 5: uint32(0x0c000040),
  26773. 6: uint32(0x02040010),
  26774. },
  26775. },
  26776. 199: {
  26777. Fmap1: [8]TFcChar32{
  26778. 0: uint32(0x00080000),
  26779. 1: uint32(0x08000000),
  26780. 3: uint32(0x00000004),
  26781. },
  26782. },
  26783. 200: {
  26784. Fmap1: [8]TFcChar32{
  26785. 2: uint32(0x07fffffe),
  26786. 3: uint32(0x07fffffe),
  26787. 6: uint32(0x00000300),
  26788. 7: uint32(0x00000300),
  26789. },
  26790. },
  26791. 201: {
  26792. Fmap1: [8]TFcChar32{
  26793. 6: uint32(0xffff0000),
  26794. 7: uint32(0x0001ffff),
  26795. },
  26796. },
  26797. 202: {
  26798. Fmap1: [8]TFcChar32{
  26799. 0: uint32(0xffff0002),
  26800. 1: uint32(0xffffffff),
  26801. 2: uint32(0x0002ffff),
  26802. 4: uint32(0x0c0c0000),
  26803. 5: uint32(0x000cc00c),
  26804. 6: uint32(0x03000000),
  26805. },
  26806. },
  26807. 203: {
  26808. Fmap1: [8]TFcChar32{
  26809. 1: uint32(0x00000300),
  26810. 3: uint32(0x00000300),
  26811. },
  26812. },
  26813. 204: {
  26814. Fmap1: [8]TFcChar32{
  26815. 0: uint32(0xffff0000),
  26816. 1: uint32(0xffffffff),
  26817. 2: uint32(0x0040ffff),
  26818. 4: uint32(0x0c0c0000),
  26819. 5: uint32(0x0c00000c),
  26820. 6: uint32(0x03000000),
  26821. 7: uint32(0x00000300),
  26822. },
  26823. },
  26824. 205: {
  26825. Fmap1: [8]TFcChar32{
  26826. 2: uint32(0x07fffffe),
  26827. 3: uint32(0x07fffffe),
  26828. 6: uint32(0x0d10646e),
  26829. 7: uint32(0x0d10646e),
  26830. },
  26831. },
  26832. 206: {
  26833. Fmap1: [8]TFcChar32{
  26834. 1: uint32(0x01000300),
  26835. 3: uint32(0x00000300),
  26836. },
  26837. },
  26838. 207: {
  26839. Fmap1: [8]TFcChar32{
  26840. 4: uint32(0x9fffffff),
  26841. 5: uint32(0xffcffee7),
  26842. 6: uint32(0x0000003f),
  26843. },
  26844. },
  26845. 208: {
  26846. Fmap1: [8]TFcChar32{
  26847. 4: uint32(0xfffddfec),
  26848. 5: uint32(0xc3effdff),
  26849. 6: uint32(0x40603ddf),
  26850. 7: uint32(0x00000003),
  26851. },
  26852. },
  26853. 209: {
  26854. Fmap1: [8]TFcChar32{
  26855. 1: uint32(0xfffe0000),
  26856. 2: uint32(0xffffffff),
  26857. 3: uint32(0xffffffef),
  26858. 4: uint32(0x00007fff),
  26859. },
  26860. },
  26861. 210: {
  26862. Fmap1: [8]TFcChar32{
  26863. 0: uint32(0x3eff0793),
  26864. 1: uint32(0x1303b011),
  26865. 2: uint32(0x11102801),
  26866. 3: uint32(0x05930000),
  26867. 4: uint32(0xb0111e7b),
  26868. 5: uint32(0x3b019703),
  26869. 6: uint32(0x00a01112),
  26870. 7: uint32(0x306b9593),
  26871. },
  26872. },
  26873. 211: {
  26874. Fmap1: [8]TFcChar32{
  26875. 0: uint32(0x1102b051),
  26876. 1: uint32(0x11303201),
  26877. 2: uint32(0x011102b0),
  26878. 3: uint32(0xb879300a),
  26879. 4: uint32(0x30011306),
  26880. 5: uint32(0x00800010),
  26881. 6: uint32(0x100b0113),
  26882. 7: uint32(0x93000011),
  26883. },
  26884. },
  26885. 212: {
  26886. Fmap1: [8]TFcChar32{
  26887. 0: uint32(0x00102b03),
  26888. 1: uint32(0x05930000),
  26889. 2: uint32(0xb051746b),
  26890. 3: uint32(0x3b011323),
  26891. 4: uint32(0x00001030),
  26892. 5: uint32(0x70000000),
  26893. 6: uint32(0x1303b011),
  26894. 7: uint32(0x11102900),
  26895. },
  26896. },
  26897. 213: {
  26898. Fmap1: [8]TFcChar32{
  26899. 0: uint32(0x00012180),
  26900. 1: uint32(0xb0153000),
  26901. 2: uint32(0x3001030e),
  26902. 3: uint32(0x02000030),
  26903. 4: uint32(0x10230111),
  26904. 5: uint32(0x13000000),
  26905. 6: uint32(0x10106b81),
  26906. 7: uint32(0x01130300),
  26907. },
  26908. },
  26909. 214: {
  26910. Fmap1: [8]TFcChar32{
  26911. 0: uint32(0x30111013),
  26912. 1: uint32(0x00000100),
  26913. 2: uint32(0x22b85530),
  26914. 3: uint32(0x30000000),
  26915. 4: uint32(0x9702b011),
  26916. 5: uint32(0x113afb07),
  26917. 6: uint32(0x011303b0),
  26918. 7: uint32(0x00000021),
  26919. },
  26920. },
  26921. 215: {
  26922. Fmap1: [8]TFcChar32{
  26923. 0: uint32(0x3b0d1b00),
  26924. 1: uint32(0x03b01138),
  26925. 2: uint32(0x11330113),
  26926. 3: uint32(0x13000001),
  26927. 4: uint32(0x111c2b05),
  26928. 5: uint32(0x00000100),
  26929. 6: uint32(0xb0111000),
  26930. 7: uint32(0x2a011300),
  26931. },
  26932. },
  26933. 216: {
  26934. Fmap1: [8]TFcChar32{
  26935. 0: uint32(0x02b01930),
  26936. 1: uint32(0x10100001),
  26937. 2: uint32(0x11000000),
  26938. 3: uint32(0x10300301),
  26939. 4: uint32(0x07130230),
  26940. 5: uint32(0x0011146b),
  26941. 6: uint32(0x2b051300),
  26942. 7: uint32(0x8fb8f974),
  26943. },
  26944. },
  26945. 217: {
  26946. Fmap1: [8]TFcChar32{
  26947. 0: uint32(0x103b0113),
  26948. 2: uint32(0xd9700000),
  26949. 3: uint32(0x01134ab0),
  26950. 4: uint32(0x0011103b),
  26951. 5: uint32(0x00001103),
  26952. 6: uint32(0x2ab15930),
  26953. 7: uint32(0x10000111),
  26954. },
  26955. },
  26956. 218: {
  26957. Fmap1: [8]TFcChar32{
  26958. 0: uint32(0x11010000),
  26959. 1: uint32(0x00100b01),
  26960. 2: uint32(0x01130000),
  26961. 3: uint32(0x0000102b),
  26962. 4: uint32(0x20000101),
  26963. 5: uint32(0x02a01110),
  26964. 6: uint32(0x30210111),
  26965. 7: uint32(0x0102b059),
  26966. },
  26967. },
  26968. 219: {
  26969. Fmap1: [8]TFcChar32{
  26970. 0: uint32(0x19300000),
  26971. 1: uint32(0x011307b0),
  26972. 2: uint32(0xb011383b),
  26973. 3: uint32(0x00000003),
  26974. 5: uint32(0x383b0d13),
  26975. 6: uint32(0x0103b011),
  26976. 7: uint32(0x00001000),
  26977. },
  26978. },
  26979. 220: {
  26980. Fmap1: [8]TFcChar32{
  26981. 0: uint32(0x01130000),
  26982. 1: uint32(0x00101020),
  26983. 2: uint32(0x00000100),
  26984. 3: uint32(0x00000110),
  26985. 4: uint32(0x30000000),
  26986. 5: uint32(0x00021811),
  26987. 6: uint32(0x00100000),
  26988. 7: uint32(0x01110000),
  26989. },
  26990. },
  26991. 221: {
  26992. Fmap1: [8]TFcChar32{
  26993. 0: uint32(0x00000023),
  26994. 1: uint32(0x0b019300),
  26995. 2: uint32(0x00301110),
  26996. 3: uint32(0x302b0111),
  26997. 4: uint32(0x13c7b011),
  26998. 5: uint32(0x01303b01),
  26999. 6: uint32(0x00000280),
  27000. 7: uint32(0xb0113000),
  27001. },
  27002. },
  27003. 222: {
  27004. Fmap1: [8]TFcChar32{
  27005. 0: uint32(0x2b011383),
  27006. 1: uint32(0x03b01130),
  27007. 2: uint32(0x300a0011),
  27008. 3: uint32(0x1102b011),
  27009. 4: uint32(0x00002000),
  27010. 5: uint32(0x01110100),
  27011. 6: uint32(0xa011102b),
  27012. 7: uint32(0x2b011302),
  27013. },
  27014. },
  27015. 223: {
  27016. Fmap1: [8]TFcChar32{
  27017. 0: uint32(0x01000010),
  27018. 1: uint32(0x30000001),
  27019. 2: uint32(0x13029011),
  27020. 3: uint32(0x11302b01),
  27021. 4: uint32(0x000066b0),
  27022. 5: uint32(0xb0113000),
  27023. 6: uint32(0x6b07d302),
  27024. 7: uint32(0x07b0113a),
  27025. },
  27026. },
  27027. 224: {
  27028. Fmap1: [8]TFcChar32{
  27029. 0: uint32(0x00200103),
  27030. 1: uint32(0x13000000),
  27031. 2: uint32(0x11386b05),
  27032. 3: uint32(0x011303b0),
  27033. 4: uint32(0x000010b8),
  27034. 5: uint32(0x2b051b00),
  27035. 6: uint32(0x03000110),
  27036. 7: uint32(0x10000000),
  27037. },
  27038. },
  27039. 225: {
  27040. Fmap1: [8]TFcChar32{
  27041. 0: uint32(0x1102a011),
  27042. 1: uint32(0x79700a01),
  27043. 2: uint32(0x0111a2b0),
  27044. 3: uint32(0x0000100a),
  27045. 4: uint32(0x00011100),
  27046. 5: uint32(0x00901110),
  27047. 6: uint32(0x00090111),
  27048. 7: uint32(0x93000000),
  27049. },
  27050. },
  27051. 226: {
  27052. Fmap1: [8]TFcChar32{
  27053. 0: uint32(0xf9f2bb05),
  27054. 1: uint32(0x011322b0),
  27055. 2: uint32(0x2001323b),
  27056. 4: uint32(0x06b05930),
  27057. 5: uint32(0x303b0193),
  27058. 6: uint32(0x1123a011),
  27059. 7: uint32(0x11700000),
  27060. },
  27061. },
  27062. 227: {
  27063. Fmap1: [8]TFcChar32{
  27064. 0: uint32(0x001102b0),
  27065. 1: uint32(0x00001010),
  27066. 2: uint32(0x03011301),
  27067. 3: uint32(0x00000110),
  27068. 4: uint32(0x162b0793),
  27069. 5: uint32(0x01010010),
  27070. 6: uint32(0x11300000),
  27071. 7: uint32(0x01110200),
  27072. },
  27073. },
  27074. 228: {
  27075. Fmap1: [8]TFcChar32{
  27076. 0: uint32(0xb0113029),
  27077. 2: uint32(0x0eb05130),
  27078. 3: uint32(0x383b0513),
  27079. 4: uint32(0x0303b011),
  27080. 5: uint32(0x00000100),
  27081. 6: uint32(0x01930000),
  27082. 7: uint32(0x00001039),
  27083. },
  27084. },
  27085. 229: {
  27086. Fmap1: [8]TFcChar32{
  27087. 0: uint32(0x3b000302),
  27088. 2: uint32(0x00230113),
  27089. 4: uint32(0x00100000),
  27090. 5: uint32(0x00010000),
  27091. 6: uint32(0x90113020),
  27092. 7: uint32(0x00000002),
  27093. },
  27094. },
  27095. 230: {
  27096. Fmap1: [8]TFcChar32{
  27097. 1: uint32(0x10000000),
  27098. 2: uint32(0x11020000),
  27099. 3: uint32(0x00000301),
  27100. 4: uint32(0x01130000),
  27101. 5: uint32(0xb079b02b),
  27102. 6: uint32(0x3b011323),
  27103. 7: uint32(0x02b01130),
  27104. },
  27105. },
  27106. 231: {
  27107. Fmap1: [8]TFcChar32{
  27108. 0: uint32(0xf0210111),
  27109. 1: uint32(0x1343b0d9),
  27110. 2: uint32(0x11303b01),
  27111. 3: uint32(0x011103b0),
  27112. 4: uint32(0xb0517020),
  27113. 5: uint32(0x20011322),
  27114. 6: uint32(0x01901110),
  27115. 7: uint32(0x300b0111),
  27116. },
  27117. },
  27118. 232: {
  27119. Fmap1: [8]TFcChar32{
  27120. 0: uint32(0x9302b011),
  27121. 1: uint32(0x0016ab01),
  27122. 2: uint32(0x01130100),
  27123. 3: uint32(0xb0113021),
  27124. 4: uint32(0x29010302),
  27125. 5: uint32(0x02b03130),
  27126. 6: uint32(0x30000000),
  27127. 7: uint32(0x1b42b819),
  27128. },
  27129. },
  27130. 233: {
  27131. Fmap1: [8]TFcChar32{
  27132. 0: uint32(0x11383301),
  27133. 1: uint32(0x00000330),
  27134. 2: uint32(0x00000020),
  27135. 3: uint32(0x33051300),
  27136. 4: uint32(0x00001110),
  27137. 6: uint32(0x93000000),
  27138. 7: uint32(0x01302305),
  27139. },
  27140. },
  27141. 234: {
  27142. Fmap1: [8]TFcChar32{
  27143. 0: uint32(0x00010100),
  27144. 1: uint32(0x30111010),
  27145. 2: uint32(0x00000100),
  27146. 3: uint32(0x02301130),
  27147. 4: uint32(0x10100001),
  27148. 5: uint32(0x11000000),
  27149. 7: uint32(0x85130200),
  27150. },
  27151. },
  27152. 235: {
  27153. Fmap1: [8]TFcChar32{
  27154. 0: uint32(0x10111003),
  27155. 1: uint32(0x2b011300),
  27156. 2: uint32(0x63b87730),
  27157. 3: uint32(0x303b0113),
  27158. 4: uint32(0x11a2b091),
  27159. 5: uint32(0x7b300201),
  27160. 6: uint32(0x011357f0),
  27161. 7: uint32(0xf0d1702b),
  27162. },
  27163. },
  27164. 236: {
  27165. Fmap1: [8]TFcChar32{
  27166. 0: uint32(0x1b0111e3),
  27167. 1: uint32(0x0ab97130),
  27168. 2: uint32(0x303b0113),
  27169. 3: uint32(0x13029001),
  27170. 4: uint32(0x11302b01),
  27171. 5: uint32(0x071302b0),
  27172. 6: uint32(0x3011302b),
  27173. 7: uint32(0x23011303),
  27174. },
  27175. },
  27176. 237: {
  27177. Fmap1: [8]TFcChar32{
  27178. 0: uint32(0x02b01130),
  27179. 1: uint32(0x30ab0113),
  27180. 2: uint32(0x11feb411),
  27181. 3: uint32(0x71300901),
  27182. 4: uint32(0x05d347b8),
  27183. 5: uint32(0xb011307b),
  27184. 6: uint32(0x21015303),
  27185. 7: uint32(0x00001110),
  27186. },
  27187. },
  27188. 238: {
  27189. Fmap1: [8]TFcChar32{
  27190. 0: uint32(0x306b0513),
  27191. 1: uint32(0x1102b011),
  27192. 2: uint32(0x00103301),
  27193. 3: uint32(0x05130000),
  27194. 4: uint32(0xa01038eb),
  27195. 5: uint32(0x30000102),
  27196. 6: uint32(0x02b01110),
  27197. 7: uint32(0x30200013),
  27198. },
  27199. },
  27200. 239: {
  27201. Fmap1: [8]TFcChar32{
  27202. 0: uint32(0x0102b071),
  27203. 1: uint32(0x00101000),
  27204. 2: uint32(0x01130000),
  27205. 3: uint32(0x1011100b),
  27206. 4: uint32(0x2b011300),
  27207. 6: uint32(0x366b0593),
  27208. 7: uint32(0x1303b095),
  27209. },
  27210. },
  27211. 240: {
  27212. Fmap1: [8]TFcChar32{
  27213. 0: uint32(0x01103b01),
  27214. 1: uint32(0x00000200),
  27215. 2: uint32(0xb0113000),
  27216. 3: uint32(0x20000103),
  27217. 4: uint32(0x01000010),
  27218. 5: uint32(0x30000000),
  27219. 6: uint32(0x030ab011),
  27220. 7: uint32(0x00101001),
  27221. },
  27222. },
  27223. 241: {
  27224. Fmap1: [8]TFcChar32{
  27225. 0: uint32(0x01110100),
  27226. 1: uint32(0x00000003),
  27227. 2: uint32(0x23011302),
  27228. 3: uint32(0x03000010),
  27229. 4: uint32(0x10000000),
  27230. 5: uint32(0x01000000),
  27231. 6: uint32(0x00100000),
  27232. 7: uint32(0x00000290),
  27233. },
  27234. },
  27235. 242: {
  27236. Fmap1: [8]TFcChar32{
  27237. 0: uint32(0x30113000),
  27238. 1: uint32(0x7b015386),
  27239. 2: uint32(0x03b01130),
  27240. 3: uint32(0x00210151),
  27241. 4: uint32(0x13000000),
  27242. 5: uint32(0x11303b01),
  27243. 6: uint32(0x001102b0),
  27244. 7: uint32(0x00011010),
  27245. },
  27246. },
  27247. 243: {
  27248. Fmap1: [8]TFcChar32{
  27249. 0: uint32(0x2b011302),
  27250. 1: uint32(0x02001110),
  27251. 2: uint32(0x10000000),
  27252. 3: uint32(0x0102b011),
  27253. 4: uint32(0x11300100),
  27254. 5: uint32(0x000102b0),
  27255. 6: uint32(0x00011010),
  27256. 7: uint32(0x2b011100),
  27257. },
  27258. },
  27259. 244: {
  27260. Fmap1: [8]TFcChar32{
  27261. 0: uint32(0x02101110),
  27262. 1: uint32(0x002b0113),
  27263. 2: uint32(0x93000000),
  27264. 3: uint32(0x11302b03),
  27265. 4: uint32(0x011302b0),
  27266. 5: uint32(0x0000303b),
  27267. 6: uint32(0x00000002),
  27268. 7: uint32(0x03b01930),
  27269. },
  27270. },
  27271. 245: {
  27272. Fmap1: [8]TFcChar32{
  27273. 0: uint32(0x102b0113),
  27274. 1: uint32(0x0103b011),
  27275. 2: uint32(0x11300000),
  27276. 3: uint32(0x011302b0),
  27277. 4: uint32(0x00001021),
  27278. 5: uint32(0x00010102),
  27279. 6: uint32(0x00000010),
  27280. 7: uint32(0x102b0113),
  27281. },
  27282. },
  27283. 246: {
  27284. Fmap1: [8]TFcChar32{
  27285. 0: uint32(0x01020011),
  27286. 1: uint32(0x11302000),
  27287. 2: uint32(0x011102b0),
  27288. 3: uint32(0x30113001),
  27289. 4: uint32(0x00000002),
  27290. 5: uint32(0x02b01130),
  27291. 6: uint32(0x303b0313),
  27292. 7: uint32(0x0103b011),
  27293. },
  27294. },
  27295. 247: {
  27296. Fmap1: [8]TFcChar32{
  27297. 0: uint32(0x00002000),
  27298. 1: uint32(0x05130000),
  27299. 2: uint32(0xb011303b),
  27300. 3: uint32(0x10001102),
  27301. 4: uint32(0x00000110),
  27302. 5: uint32(0x142b0113),
  27303. 6: uint32(0x01000001),
  27304. 7: uint32(0x01100000),
  27305. },
  27306. },
  27307. 248: {
  27308. Fmap1: [8]TFcChar32{
  27309. 0: uint32(0x00010280),
  27310. 1: uint32(0xb0113000),
  27311. 2: uint32(0x10000102),
  27312. 3: uint32(0x00000010),
  27313. 4: uint32(0x10230113),
  27314. 5: uint32(0x93021011),
  27315. 6: uint32(0x11100b05),
  27316. 7: uint32(0x01130030),
  27317. },
  27318. },
  27319. 249: {
  27320. Fmap1: [8]TFcChar32{
  27321. 0: uint32(0xb051702b),
  27322. 1: uint32(0x3b011323),
  27323. 2: uint32(0x00000030),
  27324. 3: uint32(0x30000000),
  27325. 4: uint32(0x1303b011),
  27326. 5: uint32(0x11102b01),
  27327. 6: uint32(0x01010330),
  27328. 7: uint32(0xb011300a),
  27329. },
  27330. },
  27331. 250: {
  27332. Fmap1: [8]TFcChar32{
  27333. 0: uint32(0x20000102),
  27334. 2: uint32(0x10000011),
  27335. 3: uint32(0x9300a011),
  27336. 4: uint32(0x00102b05),
  27337. 5: uint32(0x00000200),
  27338. 6: uint32(0x90111000),
  27339. 7: uint32(0x29011100),
  27340. },
  27341. },
  27342. 251: {
  27343. Fmap1: [8]TFcChar32{
  27344. 0: uint32(0x00b01110),
  27345. 1: uint32(0x30000000),
  27346. 2: uint32(0x1302b011),
  27347. 3: uint32(0x11302b21),
  27348. 4: uint32(0x000103b0),
  27349. 5: uint32(0x00000020),
  27350. 6: uint32(0x2b051300),
  27351. 7: uint32(0x02b01130),
  27352. },
  27353. },
  27354. 252: {
  27355. Fmap1: [8]TFcChar32{
  27356. 0: uint32(0x103b0113),
  27357. 1: uint32(0x13002011),
  27358. 2: uint32(0x11322b21),
  27359. 3: uint32(0x00130280),
  27360. 4: uint32(0xa0113028),
  27361. 5: uint32(0x0a011102),
  27362. 6: uint32(0x02921130),
  27363. 7: uint32(0x30210111),
  27364. },
  27365. },
  27366. 253: {
  27367. Fmap1: [8]TFcChar32{
  27368. 0: uint32(0x13020011),
  27369. 1: uint32(0x11302b01),
  27370. 2: uint32(0x03d30290),
  27371. 3: uint32(0x3011122b),
  27372. 4: uint32(0x2b011302),
  27373. },
  27374. },
  27375. 254: {
  27376. Fmap1: [8]TFcChar32{
  27377. 4: uint32(0x00004000),
  27378. 6: uint32(0x20000000),
  27379. },
  27380. },
  27381. 255: {
  27382. Fmap1: [8]TFcChar32{
  27383. 2: uint32(0x00003000),
  27384. },
  27385. },
  27386. 256: {
  27387. Fmap1: [8]TFcChar32{
  27388. 1: uint32(0x040001df),
  27389. 2: uint32(0x80800176),
  27390. 3: uint32(0x420c0000),
  27391. 4: uint32(0x01020140),
  27392. 5: uint32(0x44008200),
  27393. 6: uint32(0x00041018),
  27394. },
  27395. },
  27396. 257: {
  27397. Fmap1: [8]TFcChar32{
  27398. 0: uint32(0xffff0000),
  27399. 1: uint32(0xffff27bf),
  27400. 2: uint32(0x000027bf),
  27401. 5: uint32(0x0c000000),
  27402. 6: uint32(0x03000000),
  27403. 7: uint32(0x000000c0),
  27404. },
  27405. },
  27406. 258: {
  27407. Fmap1: [8]TFcChar32{
  27408. 0: uint32(0x3c000000),
  27409. },
  27410. },
  27411. 259: {
  27412. Fmap1: [8]TFcChar32{
  27413. 1: uint32(0x061ef5c0),
  27414. 2: uint32(0x000001f6),
  27415. 3: uint32(0x40000000),
  27416. 4: uint32(0x01040040),
  27417. 5: uint32(0x00208210),
  27418. 6: uint32(0x00005040),
  27419. },
  27420. },
  27421. 260: {
  27422. Fmap1: [8]TFcChar32{
  27423. 2: uint32(0x07fffffe),
  27424. 3: uint32(0x07fffffe),
  27425. 6: uint32(0x08004480),
  27426. 7: uint32(0x08004480),
  27427. },
  27428. },
  27429. 261: {
  27430. Fmap1: [8]TFcChar32{
  27431. 2: uint32(0xc0000000),
  27432. },
  27433. },
  27434. 262: {
  27435. Fmap1: [8]TFcChar32{
  27436. 0: uint32(0xffff0002),
  27437. 1: uint32(0xffffffff),
  27438. 2: uint32(0x0002ffff),
  27439. },
  27440. },
  27441. 263: {
  27442. Fmap1: [8]TFcChar32{
  27443. 0: uint32(0xffff0042),
  27444. 1: uint32(0xffffffff),
  27445. 2: uint32(0x0042ffff),
  27446. 7: uint32(0x000000c0),
  27447. },
  27448. },
  27449. 264: {
  27450. Fmap1: [8]TFcChar32{
  27451. 1: uint32(0x000c0000),
  27452. },
  27453. },
  27454. 265: {
  27455. Fmap1: [8]TFcChar32{
  27456. 0: uint32(0xffff0002),
  27457. 1: uint32(0xffffffff),
  27458. 2: uint32(0x0002ffff),
  27459. 5: uint32(0x0000c00c),
  27460. },
  27461. },
  27462. 266: {
  27463. Fmap1: [8]TFcChar32{
  27464. 0: uint32(0x000c0003),
  27465. 1: uint32(0x00003c00),
  27466. 2: uint32(0x0000f000),
  27467. 3: uint32(0x00003c00),
  27468. },
  27469. },
  27470. 267: {
  27471. Fmap1: [8]TFcChar32{
  27472. 1: uint32(0x040001de),
  27473. 2: uint32(0x00000176),
  27474. 3: uint32(0x42000000),
  27475. 4: uint32(0x01020140),
  27476. 5: uint32(0x44008200),
  27477. 6: uint32(0x00041008),
  27478. },
  27479. },
  27480. 268: {
  27481. Fmap1: [8]TFcChar32{
  27482. 2: uint32(0x07fffffe),
  27483. 3: uint32(0x07fffffe),
  27484. 6: uint32(0x98504f14),
  27485. 7: uint32(0x18504f14),
  27486. },
  27487. },
  27488. 269: {
  27489. Fmap1: [8]TFcChar32{
  27490. 2: uint32(0x00000c00),
  27491. },
  27492. },
  27493. 270: {
  27494. Fmap1: [8]TFcChar32{
  27495. 2: uint32(0x07fffffe),
  27496. 3: uint32(0x07fffffe),
  27497. 6: uint32(0x00480910),
  27498. 7: uint32(0x00480910),
  27499. },
  27500. },
  27501. 271: {
  27502. Fmap1: [8]TFcChar32{
  27503. 2: uint32(0x07fffffe),
  27504. 3: uint32(0x07fffffe),
  27505. 6: uint32(0x0c186606),
  27506. 7: uint32(0x0c186606),
  27507. },
  27508. },
  27509. 272: {
  27510. Fmap1: [8]TFcChar32{
  27511. 0: uint32(0x0c000000),
  27512. 4: uint32(0x00010040),
  27513. },
  27514. },
  27515. 273: {
  27516. Fmap1: [8]TFcChar32{
  27517. 0: uint32(0x00001006),
  27518. },
  27519. },
  27520. 274: {
  27521. Fmap1: [8]TFcChar32{
  27522. 4: uint32(0xfef02596),
  27523. 5: uint32(0x3bffecae),
  27524. 6: uint32(0x30003f5f),
  27525. },
  27526. },
  27527. 275: {
  27528. Fmap1: [8]TFcChar32{
  27529. 0: uint32(0x03c03030),
  27530. 1: uint32(0x0000c000),
  27531. 3: uint32(0x600c0c03),
  27532. },
  27533. },
  27534. 276: {
  27535. Fmap1: [8]TFcChar32{
  27536. 0: uint32(0x000c3003),
  27537. 1: uint32(0x18c00c0c),
  27538. 2: uint32(0x00c03060),
  27539. 3: uint32(0x60000c03),
  27540. },
  27541. },
  27542. 277: {
  27543. Fmap1: [8]TFcChar32{
  27544. 2: uint32(0x07fffffe),
  27545. 3: uint32(0x07fffffe),
  27546. 6: uint32(0x00100002),
  27547. 7: uint32(0x00100002),
  27548. },
  27549. },
  27550. 278: {
  27551. Fmap1: [8]TFcChar32{
  27552. 0: uint32(0x00000003),
  27553. 1: uint32(0x18000000),
  27554. 2: uint32(0x00003060),
  27555. 3: uint32(0x00000c00),
  27556. },
  27557. },
  27558. 279: {
  27559. Fmap1: [8]TFcChar32{
  27560. 1: uint32(0x00300000),
  27561. },
  27562. },
  27563. 280: {
  27564. Fmap1: [8]TFcChar32{
  27565. 0: uint32(0xfdffb729),
  27566. 1: uint32(0x000001ff),
  27567. 2: uint32(0xb7290000),
  27568. },
  27569. },
  27570. 281: {
  27571. Fmap1: [8]TFcChar32{
  27572. 0: uint32(0xfffddfec),
  27573. 1: uint32(0xc3fffdff),
  27574. 2: uint32(0x00803dcf),
  27575. 3: uint32(0x00000003),
  27576. },
  27577. },
  27578. 282: {
  27579. Fmap1: [8]TFcChar32{
  27580. 1: uint32(0xffffffff),
  27581. 2: uint32(0xffffffff),
  27582. 3: uint32(0x00ffffff),
  27583. 4: uint32(0xffffffff),
  27584. 5: uint32(0x000003ff),
  27585. },
  27586. },
  27587. 283: {
  27588. Fmap1: [8]TFcChar32{
  27589. 0: uint32(0xffff0002),
  27590. 1: uint32(0xffffffff),
  27591. 2: uint32(0x0002ffff),
  27592. 5: uint32(0x0000c000),
  27593. 7: uint32(0x00000300),
  27594. },
  27595. },
  27596. 284: {
  27597. Fmap1: [8]TFcChar32{
  27598. 3: uint32(0x00000010),
  27599. 4: uint32(0xfff99fee),
  27600. 5: uint32(0xf3c5fdff),
  27601. 6: uint32(0xb000798f),
  27602. 7: uint32(0x0002ffc0),
  27603. },
  27604. },
  27605. 285: {
  27606. Fmap1: [8]TFcChar32{
  27607. 2: uint32(0x07fffffe),
  27608. 3: uint32(0x07fffffe),
  27609. 6: uint32(0x00004004),
  27610. 7: uint32(0x00004004),
  27611. },
  27612. },
  27613. 286: {
  27614. Fmap1: [8]TFcChar32{
  27615. 0: uint32(0x0f000000),
  27616. },
  27617. },
  27618. 287: {
  27619. Fmap1: [8]TFcChar32{
  27620. 2: uint32(0x07fffffe),
  27621. 3: uint32(0x07fffffe),
  27622. 6: uint32(0x02045101),
  27623. 7: uint32(0x02045101),
  27624. },
  27625. },
  27626. 288: {
  27627. Fmap1: [8]TFcChar32{
  27628. 0: uint32(0x00000c00),
  27629. 1: uint32(0x000000c3),
  27630. 3: uint32(0x18000000),
  27631. },
  27632. },
  27633. 289: {
  27634. Fmap1: [8]TFcChar32{
  27635. 0: uint32(0xffffffff),
  27636. 1: uint32(0x0007f6fb),
  27637. },
  27638. },
  27639. 290: {
  27640. Fmap1: [8]TFcChar32{
  27641. 3: uint32(0x00000300),
  27642. },
  27643. },
  27644. 291: {
  27645. Fmap1: [8]TFcChar32{
  27646. 2: uint32(0x07fffffe),
  27647. 3: uint32(0x07fffffe),
  27648. 6: uint32(0x011c0661),
  27649. 7: uint32(0x011c0661),
  27650. },
  27651. },
  27652. 292: {
  27653. Fmap1: [8]TFcChar32{
  27654. 0: uint32(0xfff98fee),
  27655. 1: uint32(0xc3e5fdff),
  27656. 2: uint32(0x0001398f),
  27657. 3: uint32(0x0001fff0),
  27658. },
  27659. },
  27660. 293: {
  27661. Fmap1: [8]TFcChar32{
  27662. 2: uint32(0x07fffffe),
  27663. 3: uint32(0x07fffffe),
  27664. 6: uint32(0x1c58af16),
  27665. 7: uint32(0x1c58af16),
  27666. },
  27667. },
  27668. 294: {
  27669. Fmap1: [8]TFcChar32{
  27670. 2: uint32(0x07fffffe),
  27671. 3: uint32(0x07fffffe),
  27672. 6: uint32(0x115c0671),
  27673. 7: uint32(0x115c0671),
  27674. },
  27675. },
  27676. 295: {
  27677. Fmap1: [8]TFcChar32{
  27678. 6: uint32(0xffffffff),
  27679. 7: uint32(0x07ffffff),
  27680. },
  27681. },
  27682. 296: {
  27683. Fmap1: [8]TFcChar32{
  27684. 2: uint32(0x07fffffe),
  27685. 3: uint32(0x07fffffe),
  27686. 6: uint32(0x00100400),
  27687. 7: uint32(0x00100400),
  27688. },
  27689. },
  27690. 297: {
  27691. Fmap1: [8]TFcChar32{
  27692. 3: uint32(0x00000003),
  27693. },
  27694. },
  27695. 298: {
  27696. Fmap1: [8]TFcChar32{
  27697. 2: uint32(0x07fffffe),
  27698. 3: uint32(0x07fffffe),
  27699. 6: uint32(0x00082202),
  27700. 7: uint32(0x00082202),
  27701. },
  27702. },
  27703. 299: {
  27704. Fmap1: [8]TFcChar32{
  27705. 0: uint32(0x03000030),
  27706. 1: uint32(0x0000c000),
  27707. 2: uint32(0x00000006),
  27708. 7: uint32(0x00000c00),
  27709. },
  27710. },
  27711. 300: {
  27712. Fmap1: [8]TFcChar32{
  27713. 5: uint32(0x10000000),
  27714. },
  27715. },
  27716. 301: {
  27717. Fmap1: [8]TFcChar32{
  27718. 0: uint32(0x00000002),
  27719. },
  27720. },
  27721. 302: {
  27722. Fmap1: [8]TFcChar32{
  27723. 3: uint32(0x00300000),
  27724. },
  27725. },
  27726. 303: {
  27727. Fmap1: [8]TFcChar32{
  27728. 2: uint32(0x07fffffe),
  27729. 3: uint32(0x07fffffe),
  27730. 6: uint32(0x040c2383),
  27731. 7: uint32(0x040c2383),
  27732. },
  27733. },
  27734. 304: {
  27735. Fmap1: [8]TFcChar32{
  27736. 0: uint32(0xfff99fee),
  27737. 1: uint32(0xf3cdfdff),
  27738. 2: uint32(0xb0c0398f),
  27739. 3: uint32(0x00000003),
  27740. },
  27741. },
  27742. 305: {
  27743. Fmap1: [8]TFcChar32{
  27744. 1: uint32(0x07ffffc6),
  27745. 2: uint32(0x000001fe),
  27746. 3: uint32(0x40000000),
  27747. 4: uint32(0x01000040),
  27748. 5: uint32(0x0000a000),
  27749. 6: uint32(0x00001000),
  27750. },
  27751. },
  27752. 306: {
  27753. Fmap1: [8]TFcChar32{
  27754. 0: uint32(0xfff987e0),
  27755. 1: uint32(0xd36dfdff),
  27756. 2: uint32(0x1e003987),
  27757. 3: uint32(0x001f0000),
  27758. },
  27759. },
  27760. 307: {
  27761. Fmap1: [8]TFcChar32{
  27762. 2: uint32(0x07fffffe),
  27763. 3: uint32(0x07fffffe),
  27764. 6: uint32(0x160e2302),
  27765. 7: uint32(0x160e2302),
  27766. },
  27767. },
  27768. 308: {
  27769. Fmap1: [8]TFcChar32{
  27770. 2: uint32(0x07fffffe),
  27771. 3: uint32(0x07fffffe),
  27772. 6: uint32(0x00020000),
  27773. 7: uint32(0x00020000),
  27774. },
  27775. },
  27776. 309: {
  27777. Fmap1: [8]TFcChar32{
  27778. 0: uint32(0x030000f0),
  27779. 2: uint32(0x0c00001e),
  27780. 3: uint32(0x1e000000),
  27781. },
  27782. },
  27783. 310: {
  27784. Fmap1: [8]TFcChar32{
  27785. 1: uint32(0x07ffffde),
  27786. 2: uint32(0x000005f6),
  27787. 3: uint32(0x50000000),
  27788. 4: uint32(0x05480262),
  27789. 5: uint32(0x10000a00),
  27790. 6: uint32(0x00013000),
  27791. },
  27792. },
  27793. 311: {
  27794. Fmap1: [8]TFcChar32{
  27795. 1: uint32(0x07ffffde),
  27796. 2: uint32(0x000005f6),
  27797. 3: uint32(0x50000000),
  27798. 4: uint32(0x05480262),
  27799. 5: uint32(0x10000a00),
  27800. 6: uint32(0x00052000),
  27801. },
  27802. },
  27803. 312: {
  27804. Fmap1: [8]TFcChar32{
  27805. 2: uint32(0x07fffffe),
  27806. 3: uint32(0x07fffffe),
  27807. 6: uint32(0x143c278f),
  27808. 7: uint32(0x143c278f),
  27809. },
  27810. },
  27811. 313: {
  27812. Fmap1: [8]TFcChar32{
  27813. 6: uint32(0x00000100),
  27814. },
  27815. },
  27816. 314: {
  27817. Fmap1: [8]TFcChar32{
  27818. 2: uint32(0x07fffffe),
  27819. 3: uint32(0x07fffffe),
  27820. 6: uint32(0x02045301),
  27821. 7: uint32(0x02045301),
  27822. },
  27823. },
  27824. 315: {
  27825. Fmap1: [8]TFcChar32{
  27826. 0: uint32(0xffff0002),
  27827. 1: uint32(0xffffffff),
  27828. 2: uint32(0x0002ffff),
  27829. 4: uint32(0x00300000),
  27830. 5: uint32(0x0c00c030),
  27831. 6: uint32(0x03000000),
  27832. },
  27833. },
  27834. 316: {
  27835. Fmap1: [8]TFcChar32{
  27836. 0: uint32(0xfff987ee),
  27837. 1: uint32(0xf325fdff),
  27838. 2: uint32(0x00013987),
  27839. 3: uint32(0x0001fff0),
  27840. },
  27841. },
  27842. 317: {
  27843. Fmap1: [8]TFcChar32{
  27844. 2: uint32(0x07fffffe),
  27845. 3: uint32(0x07fffffe),
  27846. 6: uint32(0x02041101),
  27847. 7: uint32(0x02041101),
  27848. },
  27849. },
  27850. 318: {
  27851. Fmap1: [8]TFcChar32{
  27852. 5: uint32(0x00800000),
  27853. },
  27854. },
  27855. 319: {
  27856. Fmap1: [8]TFcChar32{
  27857. 0: uint32(0x30000000),
  27858. 4: uint32(0x00040000),
  27859. },
  27860. },
  27861. 320: {
  27862. Fmap1: [8]TFcChar32{
  27863. 1: uint32(0x07fffdd6),
  27864. 2: uint32(0x000005f6),
  27865. 3: uint32(0xec000000),
  27866. 4: uint32(0x0200b4d9),
  27867. 5: uint32(0x480a8640),
  27868. },
  27869. },
  27870. 321: {
  27871. Fmap1: [8]TFcChar32{
  27872. 2: uint32(0x07fffffe),
  27873. 3: uint32(0x07fffffe),
  27874. 6: uint32(0x00000002),
  27875. 7: uint32(0x00000002),
  27876. },
  27877. },
  27878. 322: {
  27879. Fmap1: [8]TFcChar32{
  27880. 0: uint32(0x00033000),
  27881. 2: uint32(0x00000c00),
  27882. 3: uint32(0x600000c3),
  27883. },
  27884. },
  27885. 323: {
  27886. Fmap1: [8]TFcChar32{
  27887. 2: uint32(0x07fffffe),
  27888. 3: uint32(0x07fffffe),
  27889. 6: uint32(0x1850cc14),
  27890. 7: uint32(0x1850cc14),
  27891. },
  27892. },
  27893. 324: {
  27894. Fmap1: [8]TFcChar32{
  27895. 0: uint32(0xffff8f04),
  27896. 1: uint32(0xffffffff),
  27897. 2: uint32(0x8f04ffff),
  27898. 4: uint32(0x030c0000),
  27899. 5: uint32(0x0c00cc0f),
  27900. 6: uint32(0x03000000),
  27901. 7: uint32(0x00000300),
  27902. },
  27903. },
  27904. 325: {
  27905. Fmap1: [8]TFcChar32{
  27906. 1: uint32(0x00800000),
  27907. 2: uint32(0x03bffbaa),
  27908. 3: uint32(0x03bffbaa),
  27909. 6: uint32(0x00002202),
  27910. 7: uint32(0x00002202),
  27911. },
  27912. },
  27913. 326: {
  27914. Fmap1: [8]TFcChar32{
  27915. 0: uint32(0x00080000),
  27916. },
  27917. },
  27918. 327: {
  27919. Fmap1: [8]TFcChar32{
  27920. 4: uint32(0xfc7e3fec),
  27921. 5: uint32(0x2ffbffbf),
  27922. 6: uint32(0x7f5f847f),
  27923. 7: uint32(0x00040000),
  27924. },
  27925. },
  27926. 328: {
  27927. Fmap1: [8]TFcChar32{
  27928. 0: uint32(0xff7fff7f),
  27929. 1: uint32(0xff01ff7f),
  27930. 2: uint32(0x3d7f3d7f),
  27931. 3: uint32(0xffff7fff),
  27932. 4: uint32(0xffff3d7f),
  27933. 5: uint32(0x003d7fff),
  27934. 6: uint32(0xff7f7f3d),
  27935. 7: uint32(0x00ff7fff),
  27936. },
  27937. },
  27938. 329: {
  27939. Fmap1: [8]TFcChar32{
  27940. 2: uint32(0x07fffffe),
  27941. 3: uint32(0x07fffffe),
  27942. 6: uint32(0x24182212),
  27943. 7: uint32(0x24182212),
  27944. },
  27945. },
  27946. 330: {
  27947. Fmap1: [8]TFcChar32{
  27948. 0: uint32(0x0000f000),
  27949. 1: uint32(0x66000000),
  27950. 2: uint32(0x00300180),
  27951. 3: uint32(0x60000033),
  27952. },
  27953. },
  27954. 331: {
  27955. Fmap1: [8]TFcChar32{
  27956. 2: uint32(0x07fffffe),
  27957. 3: uint32(0x07fffffe),
  27958. 6: uint32(0x00408030),
  27959. 7: uint32(0x00408030),
  27960. },
  27961. },
  27962. 332: {
  27963. Fmap1: [8]TFcChar32{
  27964. 2: uint32(0x07fffffe),
  27965. 3: uint32(0x07fffffe),
  27966. 6: uint32(0x00020032),
  27967. 7: uint32(0x00020032),
  27968. },
  27969. },
  27970. 333: {
  27971. Fmap1: [8]TFcChar32{
  27972. 2: uint32(0x07fffffe),
  27973. 3: uint32(0x07fffffe),
  27974. 6: uint32(0x00000016),
  27975. 7: uint32(0x00000016),
  27976. },
  27977. },
  27978. 334: {
  27979. Fmap1: [8]TFcChar32{
  27980. 0: uint32(0x00033000),
  27981. 2: uint32(0x00000c00),
  27982. 3: uint32(0x60000003),
  27983. },
  27984. },
  27985. 335: {
  27986. Fmap1: [8]TFcChar32{
  27987. 2: uint32(0x07fffffe),
  27988. 3: uint32(0x07fffffe),
  27989. 6: uint32(0x00200034),
  27990. 7: uint32(0x00200034),
  27991. },
  27992. },
  27993. 336: {
  27994. Fmap1: [8]TFcChar32{
  27995. 0: uint32(0x00033000),
  27996. 2: uint32(0x00000c00),
  27997. 3: uint32(0x60000003),
  27998. 5: uint32(0x00800000),
  27999. 7: uint32(0x0000c3f0),
  28000. },
  28001. },
  28002. 337: {
  28003. Fmap1: [8]TFcChar32{
  28004. 4: uint32(0x00040000),
  28005. },
  28006. },
  28007. 338: {
  28008. Fmap1: [8]TFcChar32{
  28009. 2: uint32(0x07fffffe),
  28010. 3: uint32(0x07fffffe),
  28011. 6: uint32(0x00000880),
  28012. 7: uint32(0x00000880),
  28013. },
  28014. },
  28015. 339: {
  28016. Fmap1: [8]TFcChar32{
  28017. 0: uint32(0xfdff8f04),
  28018. 1: uint32(0xfdff01ff),
  28019. 2: uint32(0x8f0401ff),
  28020. },
  28021. },
  28022. 340: {
  28023. Fmap1: [8]TFcChar32{
  28024. 2: uint32(0x07fffffe),
  28025. 3: uint32(0x07fffffe),
  28026. 6: uint32(0x10400a33),
  28027. 7: uint32(0x10400a33),
  28028. },
  28029. },
  28030. 341: {
  28031. Fmap1: [8]TFcChar32{
  28032. 0: uint32(0xffff0000),
  28033. 1: uint32(0xffff1fff),
  28034. },
  28035. },
  28036. 342: {
  28037. Fmap1: [8]TFcChar32{
  28038. 4: uint32(0xd63dc7e8),
  28039. 5: uint32(0xc3bfc718),
  28040. 6: uint32(0x00803dc7),
  28041. },
  28042. },
  28043. 343: {
  28044. Fmap1: [8]TFcChar32{
  28045. 0: uint32(0xfffddfee),
  28046. 1: uint32(0xc3effdff),
  28047. 2: uint32(0x00603ddf),
  28048. 3: uint32(0x00000003),
  28049. },
  28050. },
  28051. 344: {
  28052. Fmap1: [8]TFcChar32{
  28053. 0: uint32(0xffff0002),
  28054. 1: uint32(0xffffffff),
  28055. 2: uint32(0x0002ffff),
  28056. 4: uint32(0x0c0c0000),
  28057. 5: uint32(0x00cc0000),
  28058. 7: uint32(0x0000c00c),
  28059. },
  28060. },
  28061. 345: {
  28062. Fmap1: [8]TFcChar32{
  28063. 0: uint32(0xfffffffe),
  28064. 1: uint32(0x87ffffff),
  28065. 2: uint32(0x00007fff),
  28066. },
  28067. },
  28068. 346: {
  28069. Fmap1: [8]TFcChar32{
  28070. 0: uint32(0xff7fff7f),
  28071. 1: uint32(0xff01ff00),
  28072. 2: uint32(0x00003d7f),
  28073. 3: uint32(0xffff7fff),
  28074. 4: uint32(0x00ff0000),
  28075. 5: uint32(0x003d7f7f),
  28076. 6: uint32(0xff7f7f00),
  28077. 7: uint32(0x00ff7f00),
  28078. },
  28079. },
  28080. 347: {
  28081. Fmap1: [8]TFcChar32{
  28082. 2: uint32(0x07fffffe),
  28083. 3: uint32(0x07fffffe),
  28084. 6: uint32(0x30400090),
  28085. 7: uint32(0x30400090),
  28086. },
  28087. },
  28088. 348: {
  28089. Fmap1: [8]TFcChar32{
  28090. 2: uint32(0xc0000180),
  28091. 3: uint32(0x60000000),
  28092. },
  28093. },
  28094. 349: {
  28095. Fmap1: [8]TFcChar32{
  28096. 2: uint32(0x07fffffe),
  28097. 3: uint32(0x07fffffe),
  28098. 6: uint32(0x18404084),
  28099. 7: uint32(0x18404084),
  28100. },
  28101. },
  28102. 350: {
  28103. Fmap1: [8]TFcChar32{
  28104. 0: uint32(0xffff0002),
  28105. 1: uint32(0xffffffff),
  28106. 2: uint32(0x0002ffff),
  28107. 4: uint32(0x00c00000),
  28108. 5: uint32(0x0c00c00c),
  28109. 6: uint32(0x03000000),
  28110. },
  28111. },
  28112. 351: {
  28113. Fmap1: [8]TFcChar32{
  28114. 2: uint32(0x07fffffe),
  28115. 3: uint32(0x07fffffe),
  28116. 6: uint32(0x00008000),
  28117. 7: uint32(0x00008000),
  28118. },
  28119. },
  28120. 352: {
  28121. Fmap1: [8]TFcChar32{
  28122. 1: uint32(0x041ed5c0),
  28123. 2: uint32(0x0000077e),
  28124. 3: uint32(0x40000000),
  28125. 4: uint32(0x01000040),
  28126. 5: uint32(0x4000a000),
  28127. 6: uint32(0x002109c0),
  28128. },
  28129. },
  28130. 353: {
  28131. Fmap1: [8]TFcChar32{
  28132. 0: uint32(0xffff00d0),
  28133. 1: uint32(0xffffffff),
  28134. 2: uint32(0x00d0ffff),
  28135. 4: uint32(0x00030000),
  28136. },
  28137. },
  28138. 354: {
  28139. Fmap1: [8]TFcChar32{
  28140. 1: uint32(0xffffff7b),
  28141. 2: uint32(0x7fffffff),
  28142. 3: uint32(0x7ffffffe),
  28143. 5: uint32(0x80e310fe),
  28144. 6: uint32(0x00800000),
  28145. 7: uint32(0x00800000),
  28146. },
  28147. },
  28148. 355: {
  28149. Fmap1: [8]TFcChar32{
  28150. 1: uint32(0x00020000),
  28151. },
  28152. },
  28153. 356: {
  28154. Fmap1: [8]TFcChar32{
  28155. 0: uint32(0x00001500),
  28156. 1: uint32(0x01000000),
  28157. 4: uint32(0xfffe0000),
  28158. 5: uint32(0xfffe03db),
  28159. 6: uint32(0x006003fb),
  28160. 7: uint32(0x00030000),
  28161. },
  28162. },
  28163. 357: {
  28164. Fmap1: [8]TFcChar32{
  28165. 0: uint32(0x00400000),
  28166. 1: uint32(0x00000047),
  28167. 2: uint32(0x00800010),
  28168. 7: uint32(0x00000002),
  28169. },
  28170. },
  28171. 358: {
  28172. Fmap1: [8]TFcChar32{
  28173. 0: uint32(0x3f2fc004),
  28174. 1: uint32(0x00000010),
  28175. },
  28176. },
  28177. 359: {
  28178. Fmap1: [8]TFcChar32{
  28179. 0: uint32(0xe3ffbfff),
  28180. 1: uint32(0xfff007ff),
  28181. 2: uint32(0x00000001),
  28182. 4: uint32(0xfffff000),
  28183. 5: uint32(0x0000003f),
  28184. 6: uint32(0x0000e10f),
  28185. },
  28186. },
  28187. 360: {
  28188. Fmap1: [8]TFcChar32{
  28189. 0: uint32(0x00000f00),
  28190. 1: uint32(0x0000000c),
  28191. },
  28192. },
  28193. 361: {
  28194. Fmap1: [8]TFcChar32{
  28195. 5: uint32(0x00000003),
  28196. },
  28197. },
  28198. 362: {
  28199. Fmap1: [8]TFcChar32{
  28200. 7: uint32(0x000003c0),
  28201. },
  28202. },
  28203. 363: {
  28204. Fmap1: [8]TFcChar32{
  28205. 0: uint32(0xffffffff),
  28206. 1: uint32(0xffffffff),
  28207. 2: uint32(0xffdfffff),
  28208. 3: uint32(0xffffffff),
  28209. 4: uint32(0xdfffffff),
  28210. 5: uint32(0x00001e64),
  28211. },
  28212. },
  28213. 364: {
  28214. Fmap1: [8]TFcChar32{
  28215. 1: uint32(0x78000000),
  28216. 2: uint32(0x0001fc5f),
  28217. },
  28218. },
  28219. 365: {
  28220. Fmap1: [8]TFcChar32{
  28221. 5: uint32(0x00000030),
  28222. },
  28223. },
  28224. 366: {
  28225. Fmap1: [8]TFcChar32{
  28226. 0: uint32(0x0c000000),
  28227. 7: uint32(0x00091e00),
  28228. },
  28229. },
  28230. 367: {
  28231. Fmap1: [8]TFcChar32{
  28232. 7: uint32(0x60000000),
  28233. },
  28234. },
  28235. 368: {
  28236. Fmap1: [8]TFcChar32{
  28237. 0: uint32(0x00300000),
  28238. 2: uint32(0x000fff00),
  28239. 3: uint32(0x80000000),
  28240. 4: uint32(0x00080000),
  28241. 5: uint32(0x60000c02),
  28242. 6: uint32(0x00104030),
  28243. 7: uint32(0x242c0400),
  28244. },
  28245. },
  28246. 369: {
  28247. Fmap1: [8]TFcChar32{
  28248. 0: uint32(0x00000c20),
  28249. 1: uint32(0x00000100),
  28250. 2: uint32(0x00b85000),
  28251. 4: uint32(0x00e00000),
  28252. 5: uint32(0x80010000),
  28253. },
  28254. },
  28255. 370: {
  28256. Fmap1: [8]TFcChar32{
  28257. 0: uint32(0x18000000),
  28258. 2: uint32(0x00210000),
  28259. },
  28260. },
  28261. 371: {
  28262. Fmap1: [8]TFcChar32{
  28263. 0: uint32(0x00000010),
  28264. 6: uint32(0x00008000),
  28265. },
  28266. },
  28267. 372: {
  28268. Fmap1: [8]TFcChar32{
  28269. 4: uint32(0x07fe4000),
  28270. 7: uint32(0xffffffc0),
  28271. },
  28272. },
  28273. 373: {
  28274. Fmap1: [8]TFcChar32{
  28275. 0: uint32(0x04000002),
  28276. 1: uint32(0x077c8000),
  28277. 2: uint32(0x00030000),
  28278. },
  28279. },
  28280. 374: {
  28281. Fmap1: [8]TFcChar32{
  28282. 0: uint32(0xffffffff),
  28283. 1: uint32(0xffbf0001),
  28284. 2: uint32(0xffffffff),
  28285. 3: uint32(0x1fffffff),
  28286. 4: uint32(0x000fffff),
  28287. 5: uint32(0xffffffff),
  28288. 6: uint32(0x000007df),
  28289. 7: uint32(0x0001ffff),
  28290. },
  28291. },
  28292. 375: {
  28293. Fmap1: [8]TFcChar32{
  28294. 2: uint32(0xfffffffd),
  28295. 3: uint32(0xffffffff),
  28296. 4: uint32(0xffffffff),
  28297. 5: uint32(0xffffffff),
  28298. 6: uint32(0xffffffff),
  28299. 7: uint32(0x1effffff),
  28300. },
  28301. },
  28302. 376: {
  28303. Fmap1: [8]TFcChar32{
  28304. 0: uint32(0xffffffff),
  28305. 1: uint32(0x3fffffff),
  28306. 2: uint32(0xffff0000),
  28307. 3: uint32(0x000000ff),
  28308. 7: uint32(0xf8000000),
  28309. },
  28310. },
  28311. 377: {
  28312. Fmap1: [8]TFcChar32{
  28313. 0: uint32(0x755dfffe),
  28314. 1: uint32(0xffef2f3f),
  28315. 2: uint32(0x0000ffe1),
  28316. },
  28317. },
  28318. 378: {
  28319. Fmap1: [8]TFcChar32{
  28320. 0: uint32(0x000c0000),
  28321. 1: uint32(0x30000000),
  28322. 2: uint32(0x00000c30),
  28323. 3: uint32(0x00030000),
  28324. },
  28325. },
  28326. 379: {
  28327. Fmap1: [8]TFcChar32{
  28328. 2: uint32(0x07fffffe),
  28329. 3: uint32(0x07fffffe),
  28330. 6: uint32(0x263c370f),
  28331. 7: uint32(0x263c370f),
  28332. },
  28333. },
  28334. 380: {
  28335. Fmap1: [8]TFcChar32{
  28336. 0: uint32(0x0003000c),
  28337. 1: uint32(0x00000300),
  28338. 3: uint32(0x00000300),
  28339. 5: uint32(0x00018003),
  28340. },
  28341. },
  28342. 381: {
  28343. Fmap1: [8]TFcChar32{
  28344. 0: uint32(0x0800024f),
  28345. 1: uint32(0x00000008),
  28346. },
  28347. },
  28348. 382: {
  28349. Fmap1: [8]TFcChar32{
  28350. 5: uint32(0xffffffff),
  28351. 6: uint32(0xffffffff),
  28352. 7: uint32(0x03ffffff),
  28353. },
  28354. },
  28355. 383: {
  28356. Fmap1: [8]TFcChar32{
  28357. 2: uint32(0x077dfffe),
  28358. 3: uint32(0x077dfffe),
  28359. 6: uint32(0x10400010),
  28360. 7: uint32(0x10400010),
  28361. },
  28362. },
  28363. 384: {
  28364. Fmap1: [8]TFcChar32{
  28365. 2: uint32(0x07fffffe),
  28366. 3: uint32(0x07fffffe),
  28367. 6: uint32(0x10400010),
  28368. 7: uint32(0x10400010),
  28369. },
  28370. },
  28371. 385: {
  28372. Fmap1: [8]TFcChar32{
  28373. 2: uint32(0x07fffffe),
  28374. 3: uint32(0x07fffffe),
  28375. 6: uint32(0x081047a4),
  28376. 7: uint32(0x081047a4),
  28377. },
  28378. },
  28379. 386: {
  28380. Fmap1: [8]TFcChar32{
  28381. 0: uint32(0x0c0030c0),
  28382. 2: uint32(0x0f30001e),
  28383. 3: uint32(0x66000003),
  28384. },
  28385. },
  28386. 387: {
  28387. Fmap1: [8]TFcChar32{
  28388. 2: uint32(0x07fffffe),
  28389. 3: uint32(0x07fffffe),
  28390. 6: uint32(0x000a0a09),
  28391. 7: uint32(0x000a0a09),
  28392. },
  28393. },
  28394. 388: {
  28395. Fmap1: [8]TFcChar32{
  28396. 2: uint32(0x07fffffe),
  28397. 3: uint32(0x07fffffe),
  28398. 6: uint32(0x00400810),
  28399. 7: uint32(0x00400810),
  28400. },
  28401. },
  28402. 389: {
  28403. Fmap1: [8]TFcChar32{
  28404. 2: uint32(0x07fffffe),
  28405. 3: uint32(0x07fffffe),
  28406. 6: uint32(0x0e3c770f),
  28407. 7: uint32(0x0e3c770f),
  28408. },
  28409. },
  28410. 390: {
  28411. Fmap1: [8]TFcChar32{
  28412. 0: uint32(0x0c000000),
  28413. 1: uint32(0x00000300),
  28414. 2: uint32(0x00000018),
  28415. 3: uint32(0x00000300),
  28416. 6: uint32(0x001fe000),
  28417. 7: uint32(0x03000000),
  28418. },
  28419. },
  28420. 391: {
  28421. Fmap1: [8]TFcChar32{
  28422. 0: uint32(0x0000100f),
  28423. },
  28424. },
  28425. 392: {
  28426. Fmap1: [8]TFcChar32{
  28427. 1: uint32(0xc0000000),
  28428. 3: uint32(0x0000000c),
  28429. 5: uint32(0x33000000),
  28430. 6: uint32(0x00003000),
  28431. },
  28432. },
  28433. 393: {
  28434. Fmap1: [8]TFcChar32{
  28435. 6: uint32(0x00000280),
  28436. },
  28437. },
  28438. 394: {
  28439. Fmap1: [8]TFcChar32{
  28440. 0: uint32(0x7f7b7f8b),
  28441. 1: uint32(0xef553db4),
  28442. 2: uint32(0xf35dfba8),
  28443. 3: uint32(0x400b0243),
  28444. 4: uint32(0x8d3efb40),
  28445. 5: uint32(0x8c2c7bf7),
  28446. 6: uint32(0xe3fa6eff),
  28447. 7: uint32(0xa8ed1d3a),
  28448. },
  28449. },
  28450. 395: {
  28451. Fmap1: [8]TFcChar32{
  28452. 0: uint32(0xcf83e602),
  28453. 1: uint32(0x35558cf5),
  28454. 2: uint32(0xffabe048),
  28455. 3: uint32(0xd85992b9),
  28456. 4: uint32(0x2892ab18),
  28457. 5: uint32(0x8020d7e9),
  28458. 6: uint32(0xf583c438),
  28459. 7: uint32(0x450ae74a),
  28460. },
  28461. },
  28462. 396: {
  28463. Fmap1: [8]TFcChar32{
  28464. 0: uint32(0x9714b000),
  28465. 1: uint32(0x54007762),
  28466. 2: uint32(0x1420d188),
  28467. 3: uint32(0xc8c01020),
  28468. 4: uint32(0x00002121),
  28469. 5: uint32(0x0c0413a8),
  28470. 6: uint32(0x04408000),
  28471. 7: uint32(0x082870c0),
  28472. },
  28473. },
  28474. 397: {
  28475. Fmap1: [8]TFcChar32{
  28476. 0: uint32(0x000408c0),
  28477. 1: uint32(0x80000002),
  28478. 2: uint32(0x14722b7b),
  28479. 3: uint32(0x3bfb7924),
  28480. 4: uint32(0x1ae43327),
  28481. 5: uint32(0x38ef9835),
  28482. 6: uint32(0x28029ad1),
  28483. 7: uint32(0xbf69a813),
  28484. },
  28485. },
  28486. 398: {
  28487. Fmap1: [8]TFcChar32{
  28488. 0: uint32(0x2fc665cf),
  28489. 1: uint32(0xafc96b11),
  28490. 2: uint32(0x5053340f),
  28491. 3: uint32(0xa00486a2),
  28492. 4: uint32(0xe8090106),
  28493. 5: uint32(0xc00e3f0f),
  28494. 6: uint32(0x81450a88),
  28495. 7: uint32(0xc6010010),
  28496. },
  28497. },
  28498. 399: {
  28499. Fmap1: [8]TFcChar32{
  28500. 0: uint32(0x26e1a161),
  28501. 1: uint32(0xce00444b),
  28502. 2: uint32(0xd4eec7aa),
  28503. 3: uint32(0x85bbcadf),
  28504. 4: uint32(0xa5203a74),
  28505. 5: uint32(0x8840436c),
  28506. 6: uint32(0x8bd23f06),
  28507. 7: uint32(0x3befff79),
  28508. },
  28509. },
  28510. 400: {
  28511. Fmap1: [8]TFcChar32{
  28512. 0: uint32(0xe8eff75a),
  28513. 1: uint32(0x5b36fbcb),
  28514. 2: uint32(0x1bfd0d49),
  28515. 3: uint32(0x39ee0154),
  28516. 4: uint32(0x2e75d855),
  28517. 5: uint32(0xa91abfd8),
  28518. 6: uint32(0xf6bff3d7),
  28519. 7: uint32(0xb40c67e0),
  28520. },
  28521. },
  28522. 401: {
  28523. Fmap1: [8]TFcChar32{
  28524. 0: uint32(0x081382c2),
  28525. 1: uint32(0xd08bd49d),
  28526. 2: uint32(0x1061065a),
  28527. 3: uint32(0x59e074f2),
  28528. 4: uint32(0xb3128f9f),
  28529. 5: uint32(0x6aaa0080),
  28530. 6: uint32(0xb05e3230),
  28531. 7: uint32(0x60ac9d7a),
  28532. },
  28533. },
  28534. 402: {
  28535. Fmap1: [8]TFcChar32{
  28536. 0: uint32(0xc900d303),
  28537. 1: uint32(0x8a563098),
  28538. 2: uint32(0x13907000),
  28539. 3: uint32(0x18421f14),
  28540. 4: uint32(0x0008c060),
  28541. 5: uint32(0x10808008),
  28542. 6: uint32(0xec900400),
  28543. 7: uint32(0xe6332817),
  28544. },
  28545. },
  28546. 403: {
  28547. Fmap1: [8]TFcChar32{
  28548. 0: uint32(0x90000758),
  28549. 1: uint32(0x4e09f708),
  28550. 2: uint32(0xfc83f485),
  28551. 3: uint32(0x18c8af53),
  28552. 4: uint32(0x080c187c),
  28553. 5: uint32(0x01146adf),
  28554. 6: uint32(0xa734c80c),
  28555. 7: uint32(0x2710a011),
  28556. },
  28557. },
  28558. 404: {
  28559. Fmap1: [8]TFcChar32{
  28560. 0: uint32(0x422228c5),
  28561. 1: uint32(0x00210413),
  28562. 2: uint32(0x41123010),
  28563. 3: uint32(0x40001820),
  28564. 4: uint32(0xc60c022b),
  28565. 5: uint32(0x10000300),
  28566. 6: uint32(0x00220022),
  28567. 7: uint32(0x02495810),
  28568. },
  28569. },
  28570. 405: {
  28571. Fmap1: [8]TFcChar32{
  28572. 0: uint32(0x9670a094),
  28573. 1: uint32(0x1792eeb0),
  28574. 2: uint32(0x05f2cb96),
  28575. 3: uint32(0x23580025),
  28576. 4: uint32(0x42cc25de),
  28577. 5: uint32(0x4a04cf38),
  28578. 6: uint32(0x359f0c40),
  28579. 7: uint32(0x8a001128),
  28580. },
  28581. },
  28582. 406: {
  28583. Fmap1: [8]TFcChar32{
  28584. 0: uint32(0x910a13fa),
  28585. 1: uint32(0x10560229),
  28586. 2: uint32(0x04200641),
  28587. 3: uint32(0x84f00484),
  28588. 4: uint32(0x0c040000),
  28589. 5: uint32(0x412c0400),
  28590. 6: uint32(0x11541206),
  28591. 7: uint32(0x00020a4b),
  28592. },
  28593. },
  28594. 407: {
  28595. Fmap1: [8]TFcChar32{
  28596. 0: uint32(0x00c00200),
  28597. 1: uint32(0x00940000),
  28598. 2: uint32(0xbfbb0001),
  28599. 3: uint32(0x242b167c),
  28600. 4: uint32(0x7fa89bbb),
  28601. 5: uint32(0xe3790c7f),
  28602. 6: uint32(0xe00d10f4),
  28603. 7: uint32(0x9f014132),
  28604. },
  28605. },
  28606. 408: {
  28607. Fmap1: [8]TFcChar32{
  28608. 0: uint32(0x35728652),
  28609. 1: uint32(0xff1210b4),
  28610. 2: uint32(0x4223cf27),
  28611. 3: uint32(0x8602c06b),
  28612. 4: uint32(0x1fd33106),
  28613. 5: uint32(0xa1aa3a0c),
  28614. 6: uint32(0x02040812),
  28615. 7: uint32(0x08012572),
  28616. },
  28617. },
  28618. 409: {
  28619. Fmap1: [8]TFcChar32{
  28620. 0: uint32(0x485040cc),
  28621. 1: uint32(0x601062d0),
  28622. 2: uint32(0x29001c80),
  28623. 3: uint32(0x00109a00),
  28624. 4: uint32(0x22000004),
  28625. 5: uint32(0x00800000),
  28626. 6: uint32(0x68002020),
  28627. 7: uint32(0x609ecbe6),
  28628. },
  28629. },
  28630. 410: {
  28631. Fmap1: [8]TFcChar32{
  28632. 0: uint32(0x3f73916e),
  28633. 1: uint32(0x398260c0),
  28634. 2: uint32(0x48301034),
  28635. 3: uint32(0xbd5c0006),
  28636. 4: uint32(0xd6fb8cd1),
  28637. 5: uint32(0x43e820e1),
  28638. 6: uint32(0x084e0600),
  28639. 7: uint32(0xc4d00500),
  28640. },
  28641. },
  28642. 411: {
  28643. Fmap1: [8]TFcChar32{
  28644. 0: uint32(0x89aa8d1f),
  28645. 1: uint32(0x1602a6e1),
  28646. 2: uint32(0x21ed0001),
  28647. 3: uint32(0x1a8b3656),
  28648. 4: uint32(0x13a51fb7),
  28649. 5: uint32(0x30a06502),
  28650. 6: uint32(0x23c7b278),
  28651. 7: uint32(0xe9226c93),
  28652. },
  28653. },
  28654. 412: {
  28655. Fmap1: [8]TFcChar32{
  28656. 0: uint32(0x3a74e47f),
  28657. 1: uint32(0x98208fe3),
  28658. 2: uint32(0x2625280e),
  28659. 3: uint32(0xbf49bf9c),
  28660. 4: uint32(0xac543218),
  28661. 5: uint32(0x1916b949),
  28662. 6: uint32(0xb5220c60),
  28663. 7: uint32(0x0659fbc1),
  28664. },
  28665. },
  28666. 413: {
  28667. Fmap1: [8]TFcChar32{
  28668. 0: uint32(0x8420e343),
  28669. 1: uint32(0x800008d9),
  28670. 2: uint32(0x20225500),
  28671. 3: uint32(0x00a10184),
  28672. 4: uint32(0x20104800),
  28673. 5: uint32(0x40801380),
  28674. 6: uint32(0x00160d04),
  28675. 7: uint32(0x80200040),
  28676. },
  28677. },
  28678. 414: {
  28679. Fmap1: [8]TFcChar32{
  28680. 0: uint32(0x8de7fd40),
  28681. 1: uint32(0xe0985436),
  28682. 2: uint32(0x091e7b8b),
  28683. 3: uint32(0xd249fec8),
  28684. 4: uint32(0x8dee0611),
  28685. 5: uint32(0xba221937),
  28686. 6: uint32(0x9fdd77f4),
  28687. 7: uint32(0xf0daf3ec),
  28688. },
  28689. },
  28690. 415: {
  28691. Fmap1: [8]TFcChar32{
  28692. 0: uint32(0xec424386),
  28693. 1: uint32(0x26048d3f),
  28694. 2: uint32(0xc021fa6c),
  28695. 3: uint32(0x0cc2628e),
  28696. 4: uint32(0x0145d785),
  28697. 5: uint32(0x559977ad),
  28698. 6: uint32(0x4045e250),
  28699. 7: uint32(0xa154260b),
  28700. },
  28701. },
  28702. 416: {
  28703. Fmap1: [8]TFcChar32{
  28704. 0: uint32(0x58199827),
  28705. 1: uint32(0xa4103443),
  28706. 2: uint32(0x411405f2),
  28707. 3: uint32(0x07002280),
  28708. 4: uint32(0x426600b4),
  28709. 5: uint32(0x15a17210),
  28710. 6: uint32(0x41856025),
  28711. 7: uint32(0x00000054),
  28712. },
  28713. },
  28714. 417: {
  28715. Fmap1: [8]TFcChar32{
  28716. 0: uint32(0x01040201),
  28717. 1: uint32(0xcb70c820),
  28718. 2: uint32(0x6a629320),
  28719. 3: uint32(0x0095184c),
  28720. 4: uint32(0x9a8b1880),
  28721. 5: uint32(0x3201aab2),
  28722. 6: uint32(0x00c4d87a),
  28723. 7: uint32(0x04c3f3e5),
  28724. },
  28725. },
  28726. 418: {
  28727. Fmap1: [8]TFcChar32{
  28728. 0: uint32(0xa238d44d),
  28729. 1: uint32(0x5072a1a1),
  28730. 2: uint32(0x84fc980a),
  28731. 3: uint32(0x44d1c152),
  28732. 4: uint32(0x20c21094),
  28733. 5: uint32(0x42104180),
  28734. 6: uint32(0x3a000000),
  28735. 7: uint32(0xd29d0240),
  28736. },
  28737. },
  28738. 419: {
  28739. Fmap1: [8]TFcChar32{
  28740. 0: uint32(0xa8b12f01),
  28741. 1: uint32(0x2432bd40),
  28742. 2: uint32(0xd04bd34d),
  28743. 3: uint32(0xd0ada723),
  28744. 4: uint32(0x75a10a92),
  28745. 5: uint32(0x01e9adac),
  28746. 6: uint32(0x771f801a),
  28747. 7: uint32(0xa01b9225),
  28748. },
  28749. },
  28750. 420: {
  28751. Fmap1: [8]TFcChar32{
  28752. 0: uint32(0x20cadfa1),
  28753. 1: uint32(0x738c0602),
  28754. 2: uint32(0x003b577f),
  28755. 3: uint32(0x00d00bff),
  28756. 4: uint32(0x0088806a),
  28757. 5: uint32(0x0029a1c4),
  28758. 6: uint32(0x05242a05),
  28759. 7: uint32(0x16234009),
  28760. },
  28761. },
  28762. 421: {
  28763. Fmap1: [8]TFcChar32{
  28764. 0: uint32(0x80056822),
  28765. 1: uint32(0xa2112011),
  28766. 2: uint32(0x64900004),
  28767. 3: uint32(0x13824849),
  28768. 4: uint32(0x193023d5),
  28769. 5: uint32(0x08922980),
  28770. 6: uint32(0x88115402),
  28771. 7: uint32(0xa0042001),
  28772. },
  28773. },
  28774. 422: {
  28775. Fmap1: [8]TFcChar32{
  28776. 0: uint32(0x81800400),
  28777. 1: uint32(0x60228502),
  28778. 2: uint32(0x0b010090),
  28779. 3: uint32(0x12020022),
  28780. 4: uint32(0x00834011),
  28781. 5: uint32(0x00001a01),
  28782. },
  28783. },
  28784. 423: {
  28785. Fmap1: [8]TFcChar32{
  28786. 1: uint32(0x4684009f),
  28787. 2: uint32(0x020012c8),
  28788. 3: uint32(0x1a0004fc),
  28789. 4: uint32(0x0c4c2ede),
  28790. 5: uint32(0x80b80402),
  28791. 6: uint32(0x0afca826),
  28792. 7: uint32(0x22288c02),
  28793. },
  28794. },
  28795. 424: {
  28796. Fmap1: [8]TFcChar32{
  28797. 0: uint32(0x8f7ba0e0),
  28798. 1: uint32(0x2135c7d6),
  28799. 2: uint32(0xf8b106c7),
  28800. 3: uint32(0x62550713),
  28801. 4: uint32(0x8a19936e),
  28802. 5: uint32(0xfb0e6efa),
  28803. 6: uint32(0x48f91630),
  28804. 7: uint32(0x7debcd2f),
  28805. },
  28806. },
  28807. 425: {
  28808. Fmap1: [8]TFcChar32{
  28809. 0: uint32(0x4e845892),
  28810. 1: uint32(0x7a2e4ca0),
  28811. 2: uint32(0x561eedea),
  28812. 3: uint32(0x1190c649),
  28813. 4: uint32(0xe83a5324),
  28814. 5: uint32(0x8124cfdb),
  28815. 6: uint32(0x634218f1),
  28816. 7: uint32(0x1a8a5853),
  28817. },
  28818. },
  28819. 426: {
  28820. Fmap1: [8]TFcChar32{
  28821. 0: uint32(0x24d37420),
  28822. 1: uint32(0x0514aa3b),
  28823. 2: uint32(0x89586018),
  28824. 3: uint32(0xc0004800),
  28825. 4: uint32(0x91018268),
  28826. 5: uint32(0x2cd684a4),
  28827. 6: uint32(0xc4ba8886),
  28828. 7: uint32(0x02100377),
  28829. },
  28830. },
  28831. 427: {
  28832. Fmap1: [8]TFcChar32{
  28833. 0: uint32(0x00388244),
  28834. 1: uint32(0x404aae11),
  28835. 2: uint32(0x510028c0),
  28836. 3: uint32(0x15146044),
  28837. 4: uint32(0x10007310),
  28838. 5: uint32(0x02480082),
  28839. 6: uint32(0x40060205),
  28840. 7: uint32(0x0000c003),
  28841. },
  28842. },
  28843. 428: {
  28844. Fmap1: [8]TFcChar32{
  28845. 0: uint32(0x0c020000),
  28846. 1: uint32(0x02200008),
  28847. 2: uint32(0x40009000),
  28848. 3: uint32(0xd161b800),
  28849. 4: uint32(0x32744621),
  28850. 5: uint32(0x3b8af800),
  28851. 6: uint32(0x8b00050f),
  28852. 7: uint32(0x2280bbd0),
  28853. },
  28854. },
  28855. 429: {
  28856. Fmap1: [8]TFcChar32{
  28857. 0: uint32(0x07690600),
  28858. 1: uint32(0x00438040),
  28859. 2: uint32(0x50005420),
  28860. 3: uint32(0x250c41d0),
  28861. 4: uint32(0x83108410),
  28862. 5: uint32(0x02281101),
  28863. 6: uint32(0x00304008),
  28864. 7: uint32(0x020040a1),
  28865. },
  28866. },
  28867. 430: {
  28868. Fmap1: [8]TFcChar32{
  28869. 0: uint32(0x20000040),
  28870. 1: uint32(0xabe31500),
  28871. 2: uint32(0xaa443180),
  28872. 3: uint32(0xc624c2c6),
  28873. 4: uint32(0x8004ac13),
  28874. 5: uint32(0x03d1b000),
  28875. 6: uint32(0x4285611e),
  28876. 7: uint32(0x1d9ff303),
  28877. },
  28878. },
  28879. 431: {
  28880. Fmap1: [8]TFcChar32{
  28881. 0: uint32(0x78e8440a),
  28882. 1: uint32(0xc3925e26),
  28883. 2: uint32(0x00852000),
  28884. 3: uint32(0x4000b001),
  28885. 4: uint32(0x88424a90),
  28886. 5: uint32(0x0c8dca04),
  28887. 6: uint32(0x4203a705),
  28888. 7: uint32(0x000422a1),
  28889. },
  28890. },
  28891. 432: {
  28892. Fmap1: [8]TFcChar32{
  28893. 0: uint32(0x0c018668),
  28894. 1: uint32(0x10795564),
  28895. 2: uint32(0xdea00002),
  28896. 3: uint32(0x40c12000),
  28897. 4: uint32(0x5001488b),
  28898. 5: uint32(0x04000380),
  28899. 6: uint32(0x50040000),
  28900. 7: uint32(0x80d0c05d),
  28901. },
  28902. },
  28903. 433: {
  28904. Fmap1: [8]TFcChar32{
  28905. 0: uint32(0x970aa010),
  28906. 1: uint32(0x4dafbb20),
  28907. 2: uint32(0x1e10d921),
  28908. 3: uint32(0x83140460),
  28909. 4: uint32(0xa6d68848),
  28910. 5: uint32(0x733fd83b),
  28911. 6: uint32(0x497427bc),
  28912. 7: uint32(0x92130ddc),
  28913. },
  28914. },
  28915. 434: {
  28916. Fmap1: [8]TFcChar32{
  28917. 0: uint32(0x8ba1142b),
  28918. 1: uint32(0xd1392e75),
  28919. 2: uint32(0x50503009),
  28920. 3: uint32(0x69008808),
  28921. 4: uint32(0x024a49d4),
  28922. 5: uint32(0x80164010),
  28923. 6: uint32(0x89d7e564),
  28924. 7: uint32(0x5316c020),
  28925. },
  28926. },
  28927. 435: {
  28928. Fmap1: [8]TFcChar32{
  28929. 0: uint32(0x86002b92),
  28930. 1: uint32(0x15e0a345),
  28931. 2: uint32(0x0c03008b),
  28932. 3: uint32(0xe200196e),
  28933. 4: uint32(0x80067031),
  28934. 5: uint32(0xa82916a5),
  28935. 6: uint32(0x18802000),
  28936. 7: uint32(0xe1487aac),
  28937. },
  28938. },
  28939. 436: {
  28940. Fmap1: [8]TFcChar32{
  28941. 0: uint32(0xb5d63207),
  28942. 1: uint32(0x5f9132e8),
  28943. 2: uint32(0x20e550a1),
  28944. 3: uint32(0x10807c00),
  28945. 4: uint32(0x9d8a7280),
  28946. 5: uint32(0x421f00aa),
  28947. 6: uint32(0x02310e22),
  28948. 7: uint32(0x04941100),
  28949. },
  28950. },
  28951. 437: {
  28952. Fmap1: [8]TFcChar32{
  28953. 0: uint32(0x40080022),
  28954. 1: uint32(0x5c100010),
  28955. 2: uint32(0xfcc80343),
  28956. 3: uint32(0x0580a1a5),
  28957. 4: uint32(0x04008433),
  28958. 5: uint32(0x6e080080),
  28959. 6: uint32(0x81262a4b),
  28960. 7: uint32(0x2901aad8),
  28961. },
  28962. },
  28963. 438: {
  28964. Fmap1: [8]TFcChar32{
  28965. 0: uint32(0x4490684d),
  28966. 1: uint32(0xba880009),
  28967. 2: uint32(0x00820040),
  28968. 3: uint32(0x87d10000),
  28969. 4: uint32(0xb1e6215b),
  28970. 5: uint32(0x80083161),
  28971. 6: uint32(0xc2400800),
  28972. 7: uint32(0xa600a069),
  28973. },
  28974. },
  28975. 439: {
  28976. Fmap1: [8]TFcChar32{
  28977. 0: uint32(0x4a328d58),
  28978. 1: uint32(0x550a5d71),
  28979. 2: uint32(0x2d579aa0),
  28980. 3: uint32(0x4aa64005),
  28981. 4: uint32(0x30b12021),
  28982. 5: uint32(0x01123fc6),
  28983. 6: uint32(0x260a10c2),
  28984. 7: uint32(0x50824462),
  28985. },
  28986. },
  28987. 440: {
  28988. Fmap1: [8]TFcChar32{
  28989. 0: uint32(0x80409880),
  28990. 1: uint32(0x810004c0),
  28991. 2: uint32(0x00002003),
  28992. 3: uint32(0x38180000),
  28993. 4: uint32(0xf1a60200),
  28994. 5: uint32(0x720e4434),
  28995. 6: uint32(0x92e035a2),
  28996. 7: uint32(0x09008101),
  28997. },
  28998. },
  28999. 441: {
  29000. Fmap1: [8]TFcChar32{
  29001. 0: uint32(0x00000400),
  29002. 1: uint32(0x00008885),
  29003. 3: uint32(0x00804000),
  29004. 5: uint32(0x00004040),
  29005. },
  29006. },
  29007. 442: {
  29008. Fmap1: [8]TFcChar32{
  29009. 1: uint32(0x08000000),
  29010. 2: uint32(0x00000082),
  29011. 4: uint32(0x88000004),
  29012. 5: uint32(0xe7efbfff),
  29013. 6: uint32(0xffbfffff),
  29014. 7: uint32(0xfdffefef),
  29015. },
  29016. },
  29017. 443: {
  29018. Fmap1: [8]TFcChar32{
  29019. 0: uint32(0xbffefbff),
  29020. 1: uint32(0x057fffff),
  29021. 2: uint32(0x85b30034),
  29022. 3: uint32(0x42164706),
  29023. 4: uint32(0xe4105402),
  29024. 5: uint32(0xb3058092),
  29025. 6: uint32(0x81305422),
  29026. 7: uint32(0x180b4263),
  29027. },
  29028. },
  29029. 444: {
  29030. Fmap1: [8]TFcChar32{
  29031. 0: uint32(0x13f5387b),
  29032. 1: uint32(0xa9ea07e5),
  29033. 2: uint32(0x05143c4c),
  29034. 3: uint32(0x80020600),
  29035. 4: uint32(0xbd481ad9),
  29036. 5: uint32(0xf496ee37),
  29037. 6: uint32(0x7ec0705f),
  29038. 7: uint32(0x355fbfb2),
  29039. },
  29040. },
  29041. 445: {
  29042. Fmap1: [8]TFcChar32{
  29043. 0: uint32(0x455fe644),
  29044. 1: uint32(0x41469000),
  29045. 2: uint32(0x063b1d40),
  29046. 3: uint32(0xfe1362a1),
  29047. 4: uint32(0x39028505),
  29048. 5: uint32(0x0c080548),
  29049. 6: uint32(0x0000144f),
  29050. 7: uint32(0x58183488),
  29051. },
  29052. },
  29053. 446: {
  29054. Fmap1: [8]TFcChar32{
  29055. 0: uint32(0xd8153077),
  29056. 1: uint32(0x4bfbbd0e),
  29057. 2: uint32(0x85008a90),
  29058. 3: uint32(0xe61dc100),
  29059. 4: uint32(0xb386ed14),
  29060. 5: uint32(0x639bff72),
  29061. 6: uint32(0xd9befd92),
  29062. 7: uint32(0x0a92887b),
  29063. },
  29064. },
  29065. 447: {
  29066. Fmap1: [8]TFcChar32{
  29067. 0: uint32(0x1cb2d3fe),
  29068. 1: uint32(0x177ab980),
  29069. 2: uint32(0xdc1782c9),
  29070. 3: uint32(0x3980fffb),
  29071. 4: uint32(0x590c4260),
  29072. 5: uint32(0x37df0f01),
  29073. 6: uint32(0xb15094a3),
  29074. 7: uint32(0x23070623),
  29075. },
  29076. },
  29077. 448: {
  29078. Fmap1: [8]TFcChar32{
  29079. 0: uint32(0x3102f85a),
  29080. 1: uint32(0x310201f0),
  29081. 2: uint32(0x1e820040),
  29082. 3: uint32(0x056a3a0a),
  29083. 4: uint32(0x12805b84),
  29084. 5: uint32(0xa7148002),
  29085. 6: uint32(0xa04b2612),
  29086. 7: uint32(0x90011069),
  29087. },
  29088. },
  29089. 449: {
  29090. Fmap1: [8]TFcChar32{
  29091. 0: uint32(0x848a1000),
  29092. 1: uint32(0x3f801802),
  29093. 2: uint32(0x42400708),
  29094. 3: uint32(0x4e140110),
  29095. 4: uint32(0x180080b0),
  29096. 5: uint32(0x0281c510),
  29097. 6: uint32(0x10298202),
  29098. 7: uint32(0x88000210),
  29099. },
  29100. },
  29101. 450: {
  29102. Fmap1: [8]TFcChar32{
  29103. 0: uint32(0x00420020),
  29104. 1: uint32(0x11000280),
  29105. 2: uint32(0x4413e000),
  29106. 3: uint32(0xfe025804),
  29107. 4: uint32(0x30283c07),
  29108. 5: uint32(0x04739798),
  29109. 6: uint32(0xcb13ced1),
  29110. 7: uint32(0x431f6210),
  29111. },
  29112. },
  29113. 451: {
  29114. Fmap1: [8]TFcChar32{
  29115. 0: uint32(0x55ac278d),
  29116. 1: uint32(0xc892422e),
  29117. 2: uint32(0x02885380),
  29118. 3: uint32(0x78514039),
  29119. 4: uint32(0x8088292c),
  29120. 5: uint32(0x2428b900),
  29121. 6: uint32(0x080e0c41),
  29122. 7: uint32(0x42004421),
  29123. },
  29124. },
  29125. 452: {
  29126. Fmap1: [8]TFcChar32{
  29127. 0: uint32(0x08680408),
  29128. 1: uint32(0x12040006),
  29129. 2: uint32(0x02903031),
  29130. 3: uint32(0xe0855b3e),
  29131. 4: uint32(0x10442936),
  29132. 5: uint32(0x10822814),
  29133. 6: uint32(0x83344266),
  29134. 7: uint32(0x531b013c),
  29135. },
  29136. },
  29137. 453: {
  29138. Fmap1: [8]TFcChar32{
  29139. 0: uint32(0x0e0d0404),
  29140. 1: uint32(0x00510c22),
  29141. 2: uint32(0xc0000012),
  29142. 3: uint32(0x88000040),
  29143. 4: uint32(0x0000004a),
  29144. 6: uint32(0x5447dff6),
  29145. 7: uint32(0x00088868),
  29146. },
  29147. },
  29148. 454: {
  29149. Fmap1: [8]TFcChar32{
  29150. 0: uint32(0x00000081),
  29151. 1: uint32(0x40000000),
  29152. 2: uint32(0x00000100),
  29153. 3: uint32(0x02000000),
  29154. 4: uint32(0x00080600),
  29155. },
  29156. },
  29157. 455: {
  29158. Fmap1: [8]TFcChar32{
  29159. 0: uint32(0x00000080),
  29160. 1: uint32(0x00000040),
  29161. 3: uint32(0x00001040),
  29162. 5: uint32(0xf7fdefff),
  29163. 6: uint32(0xfffeff7f),
  29164. 7: uint32(0xfffffbff),
  29165. },
  29166. },
  29167. 456: {
  29168. Fmap1: [8]TFcChar32{
  29169. 0: uint32(0xbffffdff),
  29170. 1: uint32(0x00ffffff),
  29171. 2: uint32(0x042012c2),
  29172. 3: uint32(0x07080c06),
  29173. 4: uint32(0x01101624),
  29174. },
  29175. },
  29176. 457: {
  29177. Fmap1: [8]TFcChar32{
  29178. 0: uint32(0xe0000000),
  29179. 1: uint32(0xfffffffe),
  29180. 2: uint32(0x7f79ffff),
  29181. 3: uint32(0x00f928df),
  29182. 4: uint32(0x80120c32),
  29183. 5: uint32(0xd53a0008),
  29184. 6: uint32(0xecc2d858),
  29185. 7: uint32(0x2fa89d18),
  29186. },
  29187. },
  29188. 458: {
  29189. Fmap1: [8]TFcChar32{
  29190. 0: uint32(0xe0109620),
  29191. 1: uint32(0x2622d60c),
  29192. 2: uint32(0x02060f97),
  29193. 3: uint32(0x9055b240),
  29194. 4: uint32(0x501180a2),
  29195. 5: uint32(0x04049800),
  29196. 6: uint32(0x00004000),
  29197. },
  29198. },
  29199. 459: {
  29200. Fmap1: [8]TFcChar32{
  29201. 3: uint32(0xfffffbc0),
  29202. 4: uint32(0xdffbeffe),
  29203. 5: uint32(0x62430b08),
  29204. 6: uint32(0xfb3b41b6),
  29205. 7: uint32(0x23896f74),
  29206. },
  29207. },
  29208. 460: {
  29209. Fmap1: [8]TFcChar32{
  29210. 0: uint32(0xecd7ae7f),
  29211. 1: uint32(0x5960e047),
  29212. 2: uint32(0x098fa096),
  29213. 3: uint32(0xa030612c),
  29214. 4: uint32(0x2aaa090d),
  29215. 5: uint32(0x4f7bd44e),
  29216. 6: uint32(0x388bc4b2),
  29217. 7: uint32(0x6110a9c6),
  29218. },
  29219. },
  29220. 461: {
  29221. Fmap1: [8]TFcChar32{
  29222. 0: uint32(0x42000014),
  29223. 1: uint32(0x0202800c),
  29224. 2: uint32(0x6485fe48),
  29225. 3: uint32(0xe3f7d63e),
  29226. 4: uint32(0x0c073aa0),
  29227. 5: uint32(0x0430e40c),
  29228. 6: uint32(0x1002f680),
  29229. },
  29230. },
  29231. 462: {
  29232. Fmap1: [8]TFcChar32{
  29233. 3: uint32(0x00100000),
  29234. 4: uint32(0x00004000),
  29235. 5: uint32(0x00004000),
  29236. 6: uint32(0x00000100),
  29237. },
  29238. },
  29239. 463: {
  29240. Fmap1: [8]TFcChar32{
  29241. 1: uint32(0x40000000),
  29242. 3: uint32(0x00000400),
  29243. 4: uint32(0x00008000),
  29244. 6: uint32(0x00400400),
  29245. },
  29246. },
  29247. 464: {
  29248. Fmap1: [8]TFcChar32{
  29249. 1: uint32(0x40000000),
  29250. 3: uint32(0x00000800),
  29251. 4: uint32(0xfebdffe0),
  29252. 5: uint32(0xffffffff),
  29253. 6: uint32(0xfbe77f7f),
  29254. 7: uint32(0xf7ffffbf),
  29255. },
  29256. },
  29257. 465: {
  29258. Fmap1: [8]TFcChar32{
  29259. 0: uint32(0xefffffff),
  29260. 1: uint32(0xdff7ff7e),
  29261. 2: uint32(0xfbdff6f7),
  29262. 3: uint32(0x804fbffe),
  29263. 7: uint32(0x7fffef00),
  29264. },
  29265. },
  29266. 466: {
  29267. Fmap1: [8]TFcChar32{
  29268. 0: uint32(0xb6f7ff7f),
  29269. 1: uint32(0xb87e4406),
  29270. 2: uint32(0x88313bf5),
  29271. 3: uint32(0x00f41796),
  29272. 4: uint32(0x1391a960),
  29273. 5: uint32(0x72490080),
  29274. 6: uint32(0x0024f2f3),
  29275. 7: uint32(0x42c88701),
  29276. },
  29277. },
  29278. 467: {
  29279. Fmap1: [8]TFcChar32{
  29280. 0: uint32(0x5048e3d3),
  29281. 1: uint32(0x43052400),
  29282. 2: uint32(0x4a4c0000),
  29283. 3: uint32(0x10580227),
  29284. 4: uint32(0x01162820),
  29285. 5: uint32(0x0014a809),
  29286. 7: uint32(0x00683ec0),
  29287. },
  29288. },
  29289. 468: {
  29290. Fmap1: [8]TFcChar32{
  29291. 3: uint32(0xffe00000),
  29292. 4: uint32(0xfddbb7ff),
  29293. 5: uint32(0x000000f7),
  29294. 6: uint32(0xc72e4000),
  29295. 7: uint32(0x00000180),
  29296. },
  29297. },
  29298. 469: {
  29299. Fmap1: [8]TFcChar32{
  29300. 0: uint32(0x00012000),
  29301. 1: uint32(0x00004000),
  29302. 2: uint32(0x00300000),
  29303. 3: uint32(0xb4f7ffa8),
  29304. 4: uint32(0x03ffadf3),
  29305. 5: uint32(0x00000120),
  29306. },
  29307. },
  29308. 470: {
  29309. Fmap1: [8]TFcChar32{
  29310. 3: uint32(0xfffbf000),
  29311. 4: uint32(0xfdcf9df7),
  29312. 5: uint32(0x15c301bf),
  29313. 6: uint32(0x810a1827),
  29314. 7: uint32(0x0a00a842),
  29315. },
  29316. },
  29317. 471: {
  29318. Fmap1: [8]TFcChar32{
  29319. 0: uint32(0x80088108),
  29320. 1: uint32(0x18048008),
  29321. 2: uint32(0x0012a3be),
  29322. },
  29323. },
  29324. 472: {
  29325. Fmap1: [8]TFcChar32{
  29326. 3: uint32(0x90000000),
  29327. 4: uint32(0xdc3769e6),
  29328. 5: uint32(0x3dff6bff),
  29329. 6: uint32(0xf3f9fcf8),
  29330. 7: uint32(0x00000004),
  29331. },
  29332. },
  29333. 473: {
  29334. Fmap1: [8]TFcChar32{
  29335. 0: uint32(0x80000000),
  29336. 1: uint32(0xe7eebf6f),
  29337. 2: uint32(0x5da2dffe),
  29338. 3: uint32(0xc00b3fd8),
  29339. 4: uint32(0xa00c0984),
  29340. 5: uint32(0x69100040),
  29341. 6: uint32(0xb912e210),
  29342. 7: uint32(0x5a0086a5),
  29343. },
  29344. },
  29345. 474: {
  29346. Fmap1: [8]TFcChar32{
  29347. 0: uint32(0x02896800),
  29348. 1: uint32(0x6a809005),
  29349. 2: uint32(0x00030010),
  29350. 3: uint32(0x80000000),
  29351. 4: uint32(0x8e001ff9),
  29352. 5: uint32(0x00000001),
  29353. },
  29354. },
  29355. 475: {
  29356. Fmap1: [8]TFcChar32{
  29357. 0: uint32(0x00000080),
  29358. },
  29359. },
  29360. 476: {
  29361. Fmap1: [8]TFcChar32{
  29362. 2: uint32(0x00001000),
  29363. 3: uint32(0x64080010),
  29364. 4: uint32(0x00480000),
  29365. 5: uint32(0x10000020),
  29366. 6: uint32(0x80000102),
  29367. 7: uint32(0x08000010),
  29368. },
  29369. },
  29370. 477: {
  29371. Fmap1: [8]TFcChar32{
  29372. 0: uint32(0x00000040),
  29373. 1: uint32(0x40000000),
  29374. 2: uint32(0x00020000),
  29375. 3: uint32(0x01852002),
  29376. 4: uint32(0x00800010),
  29377. 5: uint32(0x80002022),
  29378. 6: uint32(0x084444a2),
  29379. 7: uint32(0x480e0000),
  29380. },
  29381. },
  29382. 478: {
  29383. Fmap1: [8]TFcChar32{
  29384. 0: uint32(0x04000200),
  29385. 1: uint32(0x02202008),
  29386. 2: uint32(0x80004380),
  29387. 3: uint32(0x04000000),
  29388. 4: uint32(0x00000002),
  29389. 5: uint32(0x12231420),
  29390. 6: uint32(0x2058003a),
  29391. 7: uint32(0x00200060),
  29392. },
  29393. },
  29394. 479: {
  29395. Fmap1: [8]TFcChar32{
  29396. 0: uint32(0x10002508),
  29397. 1: uint32(0x040d0028),
  29398. 2: uint32(0x00000009),
  29399. 3: uint32(0x00008004),
  29400. 4: uint32(0x00800000),
  29401. 5: uint32(0x42000001),
  29402. 7: uint32(0x09040000),
  29403. },
  29404. },
  29405. 480: {
  29406. Fmap1: [8]TFcChar32{
  29407. 0: uint32(0x02008000),
  29408. 1: uint32(0x01402001),
  29409. 3: uint32(0x00000008),
  29410. 5: uint32(0x00000001),
  29411. 6: uint32(0x00021008),
  29412. 7: uint32(0x04000000),
  29413. },
  29414. },
  29415. 481: {
  29416. Fmap1: [8]TFcChar32{
  29417. 0: uint32(0x00100100),
  29418. 1: uint32(0x80040080),
  29419. 2: uint32(0x00002000),
  29420. 3: uint32(0x00000008),
  29421. 4: uint32(0x08040601),
  29422. 5: uint32(0x01000012),
  29423. 6: uint32(0x10000000),
  29424. 7: uint32(0x49001024),
  29425. },
  29426. },
  29427. 482: {
  29428. Fmap1: [8]TFcChar32{
  29429. 0: uint32(0x0180004a),
  29430. 1: uint32(0x00100600),
  29431. 2: uint32(0x50840800),
  29432. 3: uint32(0x000000c0),
  29433. 4: uint32(0x00800000),
  29434. 5: uint32(0x20000800),
  29435. 6: uint32(0x40000000),
  29436. 7: uint32(0x08050000),
  29437. },
  29438. },
  29439. 483: {
  29440. Fmap1: [8]TFcChar32{
  29441. 0: uint32(0x02004000),
  29442. 1: uint32(0x02000804),
  29443. 2: uint32(0x01000004),
  29444. 3: uint32(0x18060001),
  29445. 4: uint32(0x02400001),
  29446. 5: uint32(0x40000002),
  29447. 6: uint32(0x20800014),
  29448. 7: uint32(0x000c1000),
  29449. },
  29450. },
  29451. 484: {
  29452. Fmap1: [8]TFcChar32{
  29453. 0: uint32(0x00222000),
  29454. 2: uint32(0x00100000),
  29455. 6: uint32(0x10422800),
  29456. 7: uint32(0x00000800),
  29457. },
  29458. },
  29459. 485: {
  29460. Fmap1: [8]TFcChar32{
  29461. 0: uint32(0x20080000),
  29462. 1: uint32(0x00040000),
  29463. 2: uint32(0x80025040),
  29464. 3: uint32(0x20208604),
  29465. 4: uint32(0x00028020),
  29466. 5: uint32(0x80102020),
  29467. 6: uint32(0x080820c0),
  29468. 7: uint32(0x10880800),
  29469. },
  29470. },
  29471. 486: {
  29472. Fmap1: [8]TFcChar32{
  29473. 2: uint32(0x00200109),
  29474. 3: uint32(0x00100000),
  29475. 5: uint32(0x81022700),
  29476. 6: uint32(0x40c21404),
  29477. 7: uint32(0x84010882),
  29478. },
  29479. },
  29480. 487: {
  29481. Fmap1: [8]TFcChar32{
  29482. 0: uint32(0x00004010),
  29483. 2: uint32(0x03000000),
  29484. 3: uint32(0x00000008),
  29485. 4: uint32(0x00080000),
  29486. 6: uint32(0x10800001),
  29487. 7: uint32(0x06002020),
  29488. },
  29489. },
  29490. 488: {
  29491. Fmap1: [8]TFcChar32{
  29492. 0: uint32(0x00000010),
  29493. 1: uint32(0x02000000),
  29494. 2: uint32(0x00880020),
  29495. 3: uint32(0x00008424),
  29496. 5: uint32(0x88000000),
  29497. 6: uint32(0x81000100),
  29498. 7: uint32(0x04000000),
  29499. },
  29500. },
  29501. 489: {
  29502. Fmap1: [8]TFcChar32{
  29503. 0: uint32(0x00004218),
  29504. 1: uint32(0x00040000),
  29505. 3: uint32(0x80005080),
  29506. 4: uint32(0x00010000),
  29507. 5: uint32(0x00040000),
  29508. 6: uint32(0x08008000),
  29509. 7: uint32(0x02008000),
  29510. },
  29511. },
  29512. 490: {
  29513. Fmap1: [8]TFcChar32{
  29514. 0: uint32(0x00020000),
  29515. 2: uint32(0x00000001),
  29516. 3: uint32(0x04000401),
  29517. 4: uint32(0x00100000),
  29518. 5: uint32(0x12200004),
  29519. 7: uint32(0x18100000),
  29520. },
  29521. },
  29522. 491: {
  29523. Fmap1: [8]TFcChar32{
  29524. 1: uint32(0x00000800),
  29525. 3: uint32(0x00004000),
  29526. 4: uint32(0x00800000),
  29527. 5: uint32(0x04000000),
  29528. 6: uint32(0x82000002),
  29529. 7: uint32(0x00042000),
  29530. },
  29531. },
  29532. 492: {
  29533. Fmap1: [8]TFcChar32{
  29534. 0: uint32(0x00080006),
  29535. 3: uint32(0x04000000),
  29536. 4: uint32(0x80008000),
  29537. 5: uint32(0x00810001),
  29538. 6: uint32(0xa0000000),
  29539. 7: uint32(0x00100410),
  29540. },
  29541. },
  29542. 493: {
  29543. Fmap1: [8]TFcChar32{
  29544. 0: uint32(0x00400218),
  29545. 1: uint32(0x88084080),
  29546. 2: uint32(0x00260008),
  29547. 3: uint32(0x00800404),
  29548. 4: uint32(0x00000020),
  29549. 7: uint32(0x00000200),
  29550. },
  29551. },
  29552. 494: {
  29553. Fmap1: [8]TFcChar32{
  29554. 0: uint32(0x00a08048),
  29555. 2: uint32(0x08000000),
  29556. 3: uint32(0x04000000),
  29557. 6: uint32(0x00018000),
  29558. 7: uint32(0x00200000),
  29559. },
  29560. },
  29561. 495: {
  29562. Fmap1: [8]TFcChar32{
  29563. 0: uint32(0x01000000),
  29564. 3: uint32(0x10000000),
  29565. 6: uint32(0x00200000),
  29566. 7: uint32(0x00102000),
  29567. },
  29568. },
  29569. 496: {
  29570. Fmap1: [8]TFcChar32{
  29571. 0: uint32(0x00000801),
  29572. 3: uint32(0x00020000),
  29573. 4: uint32(0x08000000),
  29574. 5: uint32(0x00002000),
  29575. 6: uint32(0x20010000),
  29576. 7: uint32(0x04002000),
  29577. },
  29578. },
  29579. 497: {
  29580. Fmap1: [8]TFcChar32{
  29581. 0: uint32(0x40000040),
  29582. 1: uint32(0x50202400),
  29583. 2: uint32(0x000a0020),
  29584. 3: uint32(0x00040420),
  29585. 4: uint32(0x00000200),
  29586. 5: uint32(0x00000080),
  29587. 6: uint32(0x80000000),
  29588. 7: uint32(0x00000020),
  29589. },
  29590. },
  29591. 498: {
  29592. Fmap1: [8]TFcChar32{
  29593. 0: uint32(0x20008000),
  29594. 1: uint32(0x00200010),
  29595. 4: uint32(0x00400000),
  29596. 5: uint32(0x01100000),
  29597. 6: uint32(0x00020000),
  29598. 7: uint32(0x80000010),
  29599. },
  29600. },
  29601. 499: {
  29602. Fmap1: [8]TFcChar32{
  29603. 0: uint32(0x02000000),
  29604. 1: uint32(0x00801000),
  29605. 3: uint32(0x48058000),
  29606. 4: uint32(0x20c94000),
  29607. 5: uint32(0x60000000),
  29608. 6: uint32(0x00000001),
  29609. },
  29610. },
  29611. 500: {
  29612. Fmap1: [8]TFcChar32{
  29613. 0: uint32(0x00004090),
  29614. 1: uint32(0x48000000),
  29615. 2: uint32(0x08000000),
  29616. 3: uint32(0x28802000),
  29617. 4: uint32(0x00000002),
  29618. 5: uint32(0x00014000),
  29619. 6: uint32(0x00002000),
  29620. 7: uint32(0x00002002),
  29621. },
  29622. },
  29623. 501: {
  29624. Fmap1: [8]TFcChar32{
  29625. 0: uint32(0x00010200),
  29626. 1: uint32(0x00100000),
  29627. 3: uint32(0x00800000),
  29628. 4: uint32(0x10020000),
  29629. },
  29630. },
  29631. 502: {
  29632. Fmap1: [8]TFcChar32{
  29633. 0: uint32(0x00000010),
  29634. 1: uint32(0x00000402),
  29635. 2: uint32(0x0c000000),
  29636. 3: uint32(0x01000400),
  29637. 4: uint32(0x01000021),
  29638. 6: uint32(0x00004000),
  29639. 7: uint32(0x00004000),
  29640. },
  29641. },
  29642. 503: {
  29643. Fmap1: [8]TFcChar32{
  29644. 1: uint32(0x00800000),
  29645. 7: uint32(0x02000020),
  29646. },
  29647. },
  29648. 504: {
  29649. Fmap1: [8]TFcChar32{
  29650. 0: uint32(0x00000100),
  29651. 1: uint32(0x08000000),
  29652. 6: uint32(0x00002000),
  29653. },
  29654. },
  29655. 505: {
  29656. Fmap1: [8]TFcChar32{
  29657. 0: uint32(0x00006000),
  29658. 3: uint32(0x00000400),
  29659. 4: uint32(0x04000040),
  29660. 5: uint32(0x003c0180),
  29661. 6: uint32(0x00000200),
  29662. 7: uint32(0x00102000),
  29663. },
  29664. },
  29665. 506: {
  29666. Fmap1: [8]TFcChar32{
  29667. 0: uint32(0x00000800),
  29668. 1: uint32(0x101000c0),
  29669. 2: uint32(0x00800000),
  29670. 4: uint32(0x00008000),
  29671. 5: uint32(0x02200000),
  29672. 6: uint32(0x00020020),
  29673. },
  29674. },
  29675. 507: {
  29676. Fmap1: [8]TFcChar32{
  29677. 1: uint32(0x01000000),
  29678. 3: uint32(0x20100000),
  29679. 4: uint32(0x00080000),
  29680. 5: uint32(0x00000141),
  29681. 6: uint32(0x02001002),
  29682. 7: uint32(0x40400001),
  29683. },
  29684. },
  29685. 508: {
  29686. Fmap1: [8]TFcChar32{
  29687. 0: uint32(0x00580000),
  29688. 1: uint32(0x00000002),
  29689. 2: uint32(0x00003000),
  29690. 3: uint32(0x00002400),
  29691. 4: uint32(0x00988000),
  29692. 5: uint32(0x00040010),
  29693. 6: uint32(0x00002800),
  29694. 7: uint32(0x00000008),
  29695. },
  29696. },
  29697. 509: {
  29698. Fmap1: [8]TFcChar32{
  29699. 0: uint32(0x40080004),
  29700. 1: uint32(0x00000020),
  29701. 2: uint32(0x20080000),
  29702. 3: uint32(0x02060a00),
  29703. 4: uint32(0x00010040),
  29704. 5: uint32(0x14010200),
  29705. 6: uint32(0x40800000),
  29706. 7: uint32(0x08031000),
  29707. },
  29708. },
  29709. 510: {
  29710. Fmap1: [8]TFcChar32{
  29711. 0: uint32(0x40020020),
  29712. 1: uint32(0x0000202c),
  29713. 2: uint32(0x2014a008),
  29714. 4: uint32(0x80040200),
  29715. 5: uint32(0x82020012),
  29716. 6: uint32(0x00400000),
  29717. 7: uint32(0x20000000),
  29718. },
  29719. },
  29720. 511: {
  29721. Fmap1: [8]TFcChar32{
  29722. 2: uint32(0x00000004),
  29723. 3: uint32(0x04000000),
  29724. 6: uint32(0x40800100),
  29725. },
  29726. },
  29727. 512: {
  29728. Fmap1: [8]TFcChar32{
  29729. 0: uint32(0x00000008),
  29730. 1: uint32(0x04000040),
  29731. 2: uint32(0x00000001),
  29732. 3: uint32(0x000c0200),
  29733. 5: uint32(0x08000400),
  29734. 7: uint32(0x080c0001),
  29735. },
  29736. },
  29737. 513: {
  29738. Fmap1: [8]TFcChar32{
  29739. 0: uint32(0x00000400),
  29740. 3: uint32(0x00200000),
  29741. 4: uint32(0x80000000),
  29742. 5: uint32(0x00001000),
  29743. 6: uint32(0x00000200),
  29744. 7: uint32(0x01000800),
  29745. },
  29746. },
  29747. 514: {
  29748. Fmap1: [8]TFcChar32{
  29749. 1: uint32(0x00000800),
  29750. 3: uint32(0x40000000),
  29751. 7: uint32(0x04040000),
  29752. },
  29753. },
  29754. 515: {
  29755. Fmap1: [8]TFcChar32{
  29756. 2: uint32(0x00000040),
  29757. 3: uint32(0x00002000),
  29758. 4: uint32(0xa0000000),
  29759. 6: uint32(0x08000008),
  29760. 7: uint32(0x00080000),
  29761. },
  29762. },
  29763. 516: {
  29764. Fmap1: [8]TFcChar32{
  29765. 0: uint32(0x00000020),
  29766. 2: uint32(0x40000400),
  29767. 7: uint32(0x00008000),
  29768. },
  29769. },
  29770. 517: {
  29771. Fmap1: [8]TFcChar32{
  29772. 4: uint32(0x00000800),
  29773. 7: uint32(0x00200000),
  29774. },
  29775. },
  29776. 518: {
  29777. Fmap1: [8]TFcChar32{
  29778. 3: uint32(0x04000000),
  29779. 4: uint32(0x00000008),
  29780. 6: uint32(0x00010000),
  29781. 7: uint32(0x1b000000),
  29782. },
  29783. },
  29784. 519: {
  29785. Fmap1: [8]TFcChar32{
  29786. 0: uint32(0x00007000),
  29787. 2: uint32(0x10000000),
  29788. 5: uint32(0x00000080),
  29789. 6: uint32(0x80000000),
  29790. },
  29791. },
  29792. 520: {
  29793. Fmap1: [8]TFcChar32{
  29794. 1: uint32(0x00020000),
  29795. 3: uint32(0x00200000),
  29796. 4: uint32(0x40000000),
  29797. 5: uint32(0x00000010),
  29798. 6: uint32(0x00800000),
  29799. 7: uint32(0x00000008),
  29800. },
  29801. },
  29802. 521: {
  29803. Fmap1: [8]TFcChar32{
  29804. 2: uint32(0x02000000),
  29805. 3: uint32(0x20000010),
  29806. 4: uint32(0x00000080),
  29807. 6: uint32(0x00010000),
  29808. },
  29809. },
  29810. 522: {
  29811. Fmap1: [8]TFcChar32{
  29812. 1: uint32(0x02000000),
  29813. 4: uint32(0x20000000),
  29814. 5: uint32(0x00000040),
  29815. 6: uint32(0x00200028),
  29816. },
  29817. },
  29818. 523: {
  29819. Fmap1: [8]TFcChar32{
  29820. 1: uint32(0x00020000),
  29821. 3: uint32(0x02000000),
  29822. 5: uint32(0x02000000),
  29823. 6: uint32(0x40020000),
  29824. 7: uint32(0x51000040),
  29825. },
  29826. },
  29827. 524: {
  29828. Fmap1: [8]TFcChar32{
  29829. 0: uint32(0x00000080),
  29830. 1: uint32(0x04040000),
  29831. 3: uint32(0x10000000),
  29832. 4: uint32(0x00022000),
  29833. 5: uint32(0x00100000),
  29834. 6: uint32(0x20000000),
  29835. 7: uint32(0x00000082),
  29836. },
  29837. },
  29838. 525: {
  29839. Fmap1: [8]TFcChar32{
  29840. 0: uint32(0x40000000),
  29841. 1: uint32(0x00010000),
  29842. 2: uint32(0x00002000),
  29843. 4: uint32(0x00000240),
  29844. 7: uint32(0x00000008),
  29845. },
  29846. },
  29847. 526: {
  29848. Fmap1: [8]TFcChar32{
  29849. 1: uint32(0x00010000),
  29850. 2: uint32(0x00000810),
  29851. 3: uint32(0x00080880),
  29852. 4: uint32(0x00004000),
  29853. 7: uint32(0x00020000),
  29854. },
  29855. },
  29856. 527: {
  29857. Fmap1: [8]TFcChar32{
  29858. 1: uint32(0x00400020),
  29859. 3: uint32(0x00000082),
  29860. 5: uint32(0x00020001),
  29861. },
  29862. },
  29863. 528: {
  29864. Fmap1: [8]TFcChar32{
  29865. 0: uint32(0x40000018),
  29866. 1: uint32(0x00000004),
  29867. 4: uint32(0x01000000),
  29868. 5: uint32(0x00400000),
  29869. },
  29870. },
  29871. 529: {
  29872. Fmap1: [8]TFcChar32{
  29873. 0: uint32(0x00000001),
  29874. 1: uint32(0x00400000),
  29875. 3: uint32(0x00080002),
  29876. 4: uint32(0x00000400),
  29877. 5: uint32(0x00040000),
  29878. },
  29879. },
  29880. 530: {
  29881. Fmap1: [8]TFcChar32{
  29882. 0: uint32(0x00000800),
  29883. 1: uint32(0x00000800),
  29884. 6: uint32(0x00000100),
  29885. },
  29886. },
  29887. 531: {
  29888. Fmap1: [8]TFcChar32{
  29889. 1: uint32(0x00200000),
  29890. 3: uint32(0x04108000),
  29891. 7: uint32(0x00000002),
  29892. },
  29893. },
  29894. 532: {
  29895. Fmap1: [8]TFcChar32{
  29896. 1: uint32(0x02800000),
  29897. 2: uint32(0x04000000),
  29898. 5: uint32(0x00000004),
  29899. 7: uint32(0x00000400),
  29900. },
  29901. },
  29902. 533: {
  29903. Fmap1: [8]TFcChar32{
  29904. 2: uint32(0x10000000),
  29905. 3: uint32(0x00040000),
  29906. 4: uint32(0x00400000),
  29907. },
  29908. },
  29909. 534: {
  29910. Fmap1: [8]TFcChar32{
  29911. 0: uint32(0x00200000),
  29912. 1: uint32(0x00000200),
  29913. 3: uint32(0x10000000),
  29914. 6: uint32(0x2a000000),
  29915. },
  29916. },
  29917. 535: {
  29918. Fmap1: [8]TFcChar32{
  29919. 0: uint32(0x00400000),
  29920. 2: uint32(0x00400000),
  29921. 4: uint32(0x00000002),
  29922. 5: uint32(0x40000000),
  29923. 7: uint32(0x00400000),
  29924. },
  29925. },
  29926. 536: {
  29927. Fmap1: [8]TFcChar32{
  29928. 0: uint32(0x40000000),
  29929. 1: uint32(0x00001000),
  29930. 4: uint32(0x00000202),
  29931. 5: uint32(0x02000000),
  29932. 6: uint32(0x80000000),
  29933. 7: uint32(0x00020000),
  29934. },
  29935. },
  29936. 537: {
  29937. Fmap1: [8]TFcChar32{
  29938. 0: uint32(0x00000020),
  29939. 1: uint32(0x00000800),
  29940. 2: uint32(0x00020421),
  29941. 3: uint32(0x00020000),
  29942. 7: uint32(0x00400000),
  29943. },
  29944. },
  29945. 538: {
  29946. Fmap1: [8]TFcChar32{
  29947. 0: uint32(0x00200000),
  29948. 2: uint32(0x00000001),
  29949. 4: uint32(0x00000084),
  29950. },
  29951. },
  29952. 539: {
  29953. Fmap1: [8]TFcChar32{
  29954. 1: uint32(0x00004400),
  29955. 2: uint32(0x00000002),
  29956. 3: uint32(0x00100000),
  29957. 6: uint32(0x00008200),
  29958. },
  29959. },
  29960. 540: {
  29961. Fmap1: [8]TFcChar32{
  29962. 1: uint32(0x12000000),
  29963. 2: uint32(0x00000100),
  29964. 3: uint32(0x00000001),
  29965. },
  29966. },
  29967. 541: {
  29968. Fmap1: [8]TFcChar32{
  29969. 0: uint32(0x00000020),
  29970. 1: uint32(0x08100000),
  29971. 2: uint32(0x000a0400),
  29972. 3: uint32(0x00000081),
  29973. 4: uint32(0x00006000),
  29974. 5: uint32(0x00120000),
  29975. },
  29976. },
  29977. 542: {
  29978. Fmap1: [8]TFcChar32{
  29979. 0: uint32(0x00000004),
  29980. 1: uint32(0x08000000),
  29981. 2: uint32(0x00004000),
  29982. 3: uint32(0x044000c0),
  29983. },
  29984. },
  29985. 543: {
  29986. Fmap1: [8]TFcChar32{
  29987. 0: uint32(0x40001000),
  29988. 2: uint32(0x01000001),
  29989. 3: uint32(0x05000000),
  29990. 4: uint32(0x00080000),
  29991. 5: uint32(0x02000000),
  29992. 6: uint32(0x00000800),
  29993. },
  29994. },
  29995. 544: {
  29996. Fmap1: [8]TFcChar32{
  29997. 0: uint32(0x00000100),
  29998. 4: uint32(0x00002002),
  29999. 5: uint32(0x01020000),
  30000. 6: uint32(0x00800000),
  30001. },
  30002. },
  30003. 545: {
  30004. Fmap1: [8]TFcChar32{
  30005. 0: uint32(0x00000040),
  30006. 1: uint32(0x00004000),
  30007. 2: uint32(0x01000000),
  30008. 3: uint32(0x00000004),
  30009. 4: uint32(0x00020000),
  30010. 6: uint32(0x00000010),
  30011. },
  30012. },
  30013. 546: {
  30014. Fmap1: [8]TFcChar32{
  30015. 4: uint32(0x00080000),
  30016. 5: uint32(0x00010000),
  30017. 6: uint32(0x30000300),
  30018. 7: uint32(0x00000400),
  30019. },
  30020. },
  30021. 547: {
  30022. Fmap1: [8]TFcChar32{
  30023. 0: uint32(0x00000800),
  30024. 1: uint32(0x02000000),
  30025. 3: uint32(0x00008000),
  30026. },
  30027. },
  30028. 548: {
  30029. Fmap1: [8]TFcChar32{
  30030. 0: uint32(0x00200000),
  30031. 5: uint32(0x000040c0),
  30032. 6: uint32(0x00002200),
  30033. 7: uint32(0x12002000),
  30034. },
  30035. },
  30036. 549: {
  30037. Fmap1: [8]TFcChar32{
  30038. 1: uint32(0x00000020),
  30039. 2: uint32(0x20000000),
  30040. 4: uint32(0x00000200),
  30041. 5: uint32(0x00080800),
  30042. 6: uint32(0x1000a000),
  30043. },
  30044. },
  30045. 550: {
  30046. Fmap1: [8]TFcChar32{
  30047. 3: uint32(0x00004000),
  30048. },
  30049. },
  30050. 551: {
  30051. Fmap1: [8]TFcChar32{
  30052. 2: uint32(0x00004280),
  30053. 3: uint32(0x01000000),
  30054. 4: uint32(0x00800000),
  30055. 5: uint32(0x00000008),
  30056. },
  30057. },
  30058. 552: {
  30059. Fmap1: [8]TFcChar32{
  30060. 3: uint32(0x00000002),
  30061. 5: uint32(0x20400000),
  30062. 6: uint32(0x00000040),
  30063. },
  30064. },
  30065. 553: {
  30066. Fmap1: [8]TFcChar32{
  30067. 0: uint32(0x00800080),
  30068. 1: uint32(0x00800000),
  30069. 5: uint32(0x00400020),
  30070. 7: uint32(0x00008000),
  30071. },
  30072. },
  30073. 554: {
  30074. Fmap1: [8]TFcChar32{
  30075. 0: uint32(0x01000000),
  30076. 1: uint32(0x00000040),
  30077. 3: uint32(0x00400000),
  30078. 5: uint32(0x00000440),
  30079. 7: uint32(0x00800000),
  30080. },
  30081. },
  30082. 555: {
  30083. Fmap1: [8]TFcChar32{
  30084. 0: uint32(0x01000000),
  30085. 6: uint32(0x00080000),
  30086. },
  30087. },
  30088. 556: {
  30089. Fmap1: [8]TFcChar32{
  30090. 0: uint32(0x01000000),
  30091. 1: uint32(0x00000001),
  30092. 3: uint32(0x00020000),
  30093. 5: uint32(0x20002000),
  30094. 7: uint32(0x00000004),
  30095. },
  30096. },
  30097. 557: {
  30098. Fmap1: [8]TFcChar32{
  30099. 0: uint32(0x00000008),
  30100. 1: uint32(0x00100000),
  30101. 3: uint32(0x00010000),
  30102. },
  30103. },
  30104. 558: {
  30105. Fmap1: [8]TFcChar32{
  30106. 0: uint32(0x00000004),
  30107. 1: uint32(0x00008000),
  30108. 7: uint32(0x00008000),
  30109. },
  30110. },
  30111. 559: {
  30112. Fmap1: [8]TFcChar32{
  30113. 4: uint32(0x00000040),
  30114. 6: uint32(0x00004000),
  30115. },
  30116. },
  30117. 560: {
  30118. Fmap1: [8]TFcChar32{
  30119. 0: uint32(0x00000010),
  30120. 1: uint32(0x00002000),
  30121. 2: uint32(0x40000040),
  30122. 4: uint32(0x10000000),
  30123. 6: uint32(0x00008080),
  30124. },
  30125. },
  30126. 561: {
  30127. Fmap1: [8]TFcChar32{
  30128. 2: uint32(0x00000080),
  30129. 4: uint32(0x00100080),
  30130. 5: uint32(0x000000a0),
  30131. },
  30132. },
  30133. 562: {
  30134. Fmap1: [8]TFcChar32{
  30135. 4: uint32(0x00100000),
  30136. },
  30137. },
  30138. 563: {
  30139. Fmap1: [8]TFcChar32{
  30140. 2: uint32(0x00001000),
  30141. 4: uint32(0x0001000a),
  30142. },
  30143. },
  30144. 564: {
  30145. Fmap1: [8]TFcChar32{
  30146. 6: uint32(0x08002000),
  30147. },
  30148. },
  30149. 565: {
  30150. Fmap1: [8]TFcChar32{
  30151. 0: uint32(0x00000808),
  30152. },
  30153. },
  30154. 566: {
  30155. Fmap1: [8]TFcChar32{
  30156. 0: uint32(0x00004000),
  30157. 1: uint32(0x00002400),
  30158. 2: uint32(0x00008000),
  30159. 3: uint32(0x40000000),
  30160. 4: uint32(0x00000001),
  30161. 5: uint32(0x00002000),
  30162. 6: uint32(0x04000000),
  30163. 7: uint32(0x00040004),
  30164. },
  30165. },
  30166. 567: {
  30167. Fmap1: [8]TFcChar32{
  30168. 1: uint32(0x00002000),
  30169. 5: uint32(0x1c200000),
  30170. 7: uint32(0x02000000),
  30171. },
  30172. },
  30173. 568: {
  30174. Fmap1: [8]TFcChar32{
  30175. 1: uint32(0x00080000),
  30176. 2: uint32(0x00400000),
  30177. 3: uint32(0x00000002),
  30178. 5: uint32(0x00000100),
  30179. },
  30180. },
  30181. 569: {
  30182. Fmap1: [8]TFcChar32{
  30183. 3: uint32(0x00400000),
  30184. },
  30185. },
  30186. 570: {
  30187. Fmap1: [8]TFcChar32{
  30188. 0: uint32(0x00004100),
  30189. 1: uint32(0x00000400),
  30190. 2: uint32(0x20200010),
  30191. 3: uint32(0x00004004),
  30192. 5: uint32(0x42000000),
  30193. },
  30194. },
  30195. 571: {
  30196. Fmap1: [8]TFcChar32{
  30197. 0: uint32(0x00000080),
  30198. 2: uint32(0x00000121),
  30199. 3: uint32(0x00000200),
  30200. 4: uint32(0x000000b0),
  30201. 5: uint32(0x80002000),
  30202. 7: uint32(0x00010000),
  30203. },
  30204. },
  30205. 572: {
  30206. Fmap1: [8]TFcChar32{
  30207. 0: uint32(0x00000010),
  30208. 1: uint32(0x000000c0),
  30209. 2: uint32(0x08100000),
  30210. 3: uint32(0x00000020),
  30211. },
  30212. },
  30213. 573: {
  30214. Fmap1: [8]TFcChar32{
  30215. 4: uint32(0x02000000),
  30216. 5: uint32(0x00000404),
  30217. },
  30218. },
  30219. 574: {
  30220. Fmap1: [8]TFcChar32{
  30221. 4: uint32(0x00400000),
  30222. 5: uint32(0x00000008),
  30223. },
  30224. },
  30225. 575: {
  30226. Fmap1: [8]TFcChar32{
  30227. 1: uint32(0x00000002),
  30228. 2: uint32(0x00020000),
  30229. 3: uint32(0x00002000),
  30230. 7: uint32(0x00204000),
  30231. },
  30232. },
  30233. 576: {
  30234. Fmap1: [8]TFcChar32{
  30235. 1: uint32(0x00100000),
  30236. 5: uint32(0x00800000),
  30237. 6: uint32(0x00000100),
  30238. 7: uint32(0x00000001),
  30239. },
  30240. },
  30241. 577: {
  30242. Fmap1: [8]TFcChar32{
  30243. 0: uint32(0x10000000),
  30244. 1: uint32(0x01000000),
  30245. 2: uint32(0x00002400),
  30246. 3: uint32(0x00000004),
  30247. 6: uint32(0x00000020),
  30248. 7: uint32(0x00000002),
  30249. },
  30250. },
  30251. 578: {
  30252. Fmap1: [8]TFcChar32{
  30253. 0: uint32(0x00010000),
  30254. },
  30255. },
  30256. 579: {
  30257. Fmap1: [8]TFcChar32{
  30258. 1: uint32(0x00002400),
  30259. 4: uint32(0x00004802),
  30260. 7: uint32(0x80022000),
  30261. },
  30262. },
  30263. 580: {
  30264. Fmap1: [8]TFcChar32{
  30265. 0: uint32(0x00001004),
  30266. 1: uint32(0x04208000),
  30267. 2: uint32(0x20000020),
  30268. 3: uint32(0x00040000),
  30269. },
  30270. },
  30271. 581: {
  30272. Fmap1: [8]TFcChar32{
  30273. 1: uint32(0x00100000),
  30274. 2: uint32(0x40010000),
  30275. 4: uint32(0x00080000),
  30276. 6: uint32(0x00100211),
  30277. },
  30278. },
  30279. 582: {
  30280. Fmap1: [8]TFcChar32{
  30281. 0: uint32(0x00001400),
  30282. 4: uint32(0x00610000),
  30283. 5: uint32(0x80008c00),
  30284. },
  30285. },
  30286. 583: {
  30287. Fmap1: [8]TFcChar32{
  30288. 0: uint32(0x00000100),
  30289. 1: uint32(0x00000040),
  30290. 3: uint32(0x00000004),
  30291. 4: uint32(0x00004000),
  30292. },
  30293. },
  30294. 584: {
  30295. Fmap1: [8]TFcChar32{
  30296. 6: uint32(0x00000400),
  30297. },
  30298. },
  30299. 585: {
  30300. Fmap1: [8]TFcChar32{
  30301. 5: uint32(0x00000210),
  30302. },
  30303. },
  30304. 586: {
  30305. Fmap1: [8]TFcChar32{
  30306. 1: uint32(0x00000020),
  30307. 2: uint32(0x00000002),
  30308. },
  30309. },
  30310. 587: {
  30311. Fmap1: [8]TFcChar32{
  30312. 0: uint32(0x00004000),
  30313. 3: uint32(0x02000000),
  30314. },
  30315. },
  30316. 588: {
  30317. Fmap1: [8]TFcChar32{
  30318. 2: uint32(0x00080002),
  30319. 3: uint32(0x01000020),
  30320. 4: uint32(0x00400000),
  30321. 5: uint32(0x00200000),
  30322. 6: uint32(0x00008000),
  30323. },
  30324. },
  30325. 589: {
  30326. Fmap1: [8]TFcChar32{
  30327. 1: uint32(0x00020000),
  30328. 3: uint32(0xc0020000),
  30329. 4: uint32(0x10000000),
  30330. 5: uint32(0x00000080),
  30331. },
  30332. },
  30333. 590: {
  30334. Fmap1: [8]TFcChar32{
  30335. 0: uint32(0x00000210),
  30336. 2: uint32(0x00001000),
  30337. 3: uint32(0x04480000),
  30338. 4: uint32(0x20000000),
  30339. 5: uint32(0x00000004),
  30340. 6: uint32(0x00800000),
  30341. 7: uint32(0x02000000),
  30342. },
  30343. },
  30344. 591: {
  30345. Fmap1: [8]TFcChar32{
  30346. 1: uint32(0x08006000),
  30347. 2: uint32(0x00001000),
  30348. 5: uint32(0x00100000),
  30349. 7: uint32(0x00000400),
  30350. },
  30351. },
  30352. 592: {
  30353. Fmap1: [8]TFcChar32{
  30354. 0: uint32(0x00100000),
  30355. 2: uint32(0x10000000),
  30356. 3: uint32(0x08608000),
  30357. 6: uint32(0x00080002),
  30358. },
  30359. },
  30360. 593: {
  30361. Fmap1: [8]TFcChar32{
  30362. 1: uint32(0x20000000),
  30363. 2: uint32(0x00008020),
  30364. },
  30365. },
  30366. 594: {
  30367. Fmap1: [8]TFcChar32{
  30368. 3: uint32(0x10000000),
  30369. },
  30370. },
  30371. 595: {
  30372. Fmap1: [8]TFcChar32{
  30373. 1: uint32(0x00100000),
  30374. },
  30375. },
  30376. 596: {
  30377. Fmap1: [8]TFcChar32{
  30378. 1: uint32(0x00000400),
  30379. },
  30380. },
  30381. 597: {
  30382. Fmap1: [8]TFcChar32{
  30383. 7: uint32(0x02000000),
  30384. },
  30385. },
  30386. 598: {
  30387. Fmap1: [8]TFcChar32{
  30388. 6: uint32(0x00000080),
  30389. },
  30390. },
  30391. 599: {
  30392. Fmap1: [8]TFcChar32{
  30393. 5: uint32(0x00000002),
  30394. },
  30395. },
  30396. 600: {
  30397. Fmap1: [8]TFcChar32{
  30398. 6: uint32(0x00008000),
  30399. },
  30400. },
  30401. 601: {
  30402. Fmap1: [8]TFcChar32{
  30403. 2: uint32(0x00000008),
  30404. 6: uint32(0x00000400),
  30405. },
  30406. },
  30407. 602: {
  30408. Fmap1: [8]TFcChar32{
  30409. 2: uint32(0x00220000),
  30410. 3: uint32(0x00000004),
  30411. 5: uint32(0x00040000),
  30412. 6: uint32(0x00000004),
  30413. },
  30414. },
  30415. 603: {
  30416. Fmap1: [8]TFcChar32{
  30417. 2: uint32(0x00001000),
  30418. 3: uint32(0x00000080),
  30419. 4: uint32(0x00002000),
  30420. 7: uint32(0x00004000),
  30421. },
  30422. },
  30423. 604: {
  30424. Fmap1: [8]TFcChar32{
  30425. 3: uint32(0x00100000),
  30426. },
  30427. },
  30428. 605: {
  30429. Fmap1: [8]TFcChar32{
  30430. 4: uint32(0x00200000),
  30431. },
  30432. },
  30433. 606: {
  30434. Fmap1: [8]TFcChar32{
  30435. 5: uint32(0x04000000),
  30436. },
  30437. },
  30438. 607: {
  30439. Fmap1: [8]TFcChar32{
  30440. 4: uint32(0x00000200),
  30441. },
  30442. },
  30443. 608: {
  30444. Fmap1: [8]TFcChar32{
  30445. 4: uint32(0x00000001),
  30446. },
  30447. },
  30448. 609: {
  30449. Fmap1: [8]TFcChar32{
  30450. 6: uint32(0x00080000),
  30451. },
  30452. },
  30453. 610: {
  30454. Fmap1: [8]TFcChar32{
  30455. 5: uint32(0x01000000),
  30456. 7: uint32(0x00000400),
  30457. },
  30458. },
  30459. 611: {
  30460. Fmap1: [8]TFcChar32{
  30461. 5: uint32(0x00000080),
  30462. },
  30463. },
  30464. 612: {
  30465. Fmap1: [8]TFcChar32{
  30466. 1: uint32(0x00000800),
  30467. 2: uint32(0x00000100),
  30468. 3: uint32(0x40000000),
  30469. },
  30470. },
  30471. 613: {
  30472. Fmap1: [8]TFcChar32{
  30473. 1: uint32(0x00200000),
  30474. },
  30475. },
  30476. 614: {
  30477. Fmap1: [8]TFcChar32{
  30478. 2: uint32(0x01000000),
  30479. },
  30480. },
  30481. 615: {
  30482. Fmap1: [8]TFcChar32{
  30483. 6: uint32(0x04000000),
  30484. },
  30485. },
  30486. 616: {
  30487. Fmap1: [8]TFcChar32{
  30488. 6: uint32(0x00001000),
  30489. },
  30490. },
  30491. 617: {
  30492. Fmap1: [8]TFcChar32{
  30493. 4: uint32(0x00000400),
  30494. },
  30495. },
  30496. 618: {
  30497. Fmap1: [8]TFcChar32{
  30498. 7: uint32(0x04040000),
  30499. },
  30500. },
  30501. 619: {
  30502. Fmap1: [8]TFcChar32{
  30503. 4: uint32(0x00000020),
  30504. },
  30505. },
  30506. 620: {
  30507. Fmap1: [8]TFcChar32{
  30508. 2: uint32(0x00800000),
  30509. },
  30510. },
  30511. 621: {
  30512. Fmap1: [8]TFcChar32{
  30513. 1: uint32(0x00200000),
  30514. 2: uint32(0x40000000),
  30515. },
  30516. },
  30517. 622: {
  30518. Fmap1: [8]TFcChar32{
  30519. 4: uint32(0x20000000),
  30520. },
  30521. },
  30522. 623: {
  30523. Fmap1: [8]TFcChar32{
  30524. 3: uint32(0x04000000),
  30525. 5: uint32(0x00000001),
  30526. },
  30527. },
  30528. 624: {
  30529. Fmap1: [8]TFcChar32{
  30530. 1: uint32(0x40000000),
  30531. 2: uint32(0x02000000),
  30532. },
  30533. },
  30534. 625: {
  30535. Fmap1: [8]TFcChar32{
  30536. 3: uint32(0x00080000),
  30537. },
  30538. },
  30539. 626: {
  30540. Fmap1: [8]TFcChar32{
  30541. 1: uint32(0x00000010),
  30542. 5: uint32(0x20000000),
  30543. },
  30544. },
  30545. 627: {
  30546. Fmap1: [8]TFcChar32{
  30547. 2: uint32(0x20000000),
  30548. },
  30549. },
  30550. 628: {
  30551. Fmap1: [8]TFcChar32{
  30552. 0: uint32(0x00000080),
  30553. 7: uint32(0x00000004),
  30554. },
  30555. },
  30556. 629: {
  30557. Fmap1: [8]TFcChar32{
  30558. 3: uint32(0x00002000),
  30559. },
  30560. },
  30561. 630: {
  30562. Fmap1: [8]TFcChar32{
  30563. 6: uint32(0x10000001),
  30564. },
  30565. },
  30566. 631: {
  30567. Fmap1: [8]TFcChar32{
  30568. 0: uint32(0x00008000),
  30569. },
  30570. },
  30571. 632: {
  30572. Fmap1: [8]TFcChar32{
  30573. 2: uint32(0x00004040),
  30574. },
  30575. },
  30576. 633: {
  30577. Fmap1: [8]TFcChar32{
  30578. 6: uint32(0x00042400),
  30579. },
  30580. },
  30581. 634: {
  30582. Fmap1: [8]TFcChar32{
  30583. 4: uint32(0x02000000),
  30584. },
  30585. },
  30586. 635: {
  30587. Fmap1: [8]TFcChar32{
  30588. 7: uint32(0x00000080),
  30589. },
  30590. },
  30591. 636: {
  30592. Fmap1: [8]TFcChar32{
  30593. 7: uint32(0x00000020),
  30594. },
  30595. },
  30596. 637: {
  30597. Fmap1: [8]TFcChar32{
  30598. 1: uint32(0x00000001),
  30599. },
  30600. },
  30601. 638: {
  30602. Fmap1: [8]TFcChar32{
  30603. 6: uint32(0x00020000),
  30604. },
  30605. },
  30606. 639: {
  30607. Fmap1: [8]TFcChar32{
  30608. 2: uint32(0x00002000),
  30609. },
  30610. },
  30611. 640: {
  30612. Fmap1: [8]TFcChar32{
  30613. 4: uint32(0x01000000),
  30614. },
  30615. },
  30616. 641: {
  30617. Fmap1: [8]TFcChar32{
  30618. 1: uint32(0x00040000),
  30619. 2: uint32(0x08000000),
  30620. },
  30621. },
  30622. 642: {
  30623. Fmap1: [8]TFcChar32{
  30624. 0: uint32(0xc373ff8b),
  30625. 1: uint32(0x1b0f6840),
  30626. 2: uint32(0xf34ce9ac),
  30627. 3: uint32(0xc0080200),
  30628. 4: uint32(0xca3e795c),
  30629. 5: uint32(0x06487976),
  30630. 6: uint32(0xf7f02fdf),
  30631. 7: uint32(0xa8ff033a),
  30632. },
  30633. },
  30634. 643: {
  30635. Fmap1: [8]TFcChar32{
  30636. 0: uint32(0x233fef37),
  30637. 1: uint32(0xfd59b004),
  30638. 2: uint32(0xfffff3ca),
  30639. 3: uint32(0xfff9de9f),
  30640. 4: uint32(0x7df7abff),
  30641. 5: uint32(0x8eecc000),
  30642. 6: uint32(0xffdbeebf),
  30643. 7: uint32(0x45fad003),
  30644. },
  30645. },
  30646. 644: {
  30647. Fmap1: [8]TFcChar32{
  30648. 0: uint32(0xdffefae1),
  30649. 1: uint32(0x10abbfef),
  30650. 2: uint32(0xfcaaffeb),
  30651. 3: uint32(0x24fdef3f),
  30652. 4: uint32(0x7f7678ad),
  30653. 5: uint32(0xedfff00c),
  30654. 6: uint32(0x2cfacff6),
  30655. 7: uint32(0xeb6bf7f9),
  30656. },
  30657. },
  30658. 645: {
  30659. Fmap1: [8]TFcChar32{
  30660. 0: uint32(0x95bf1ffd),
  30661. 1: uint32(0xbfbf6677),
  30662. 2: uint32(0xfeb43bfb),
  30663. 3: uint32(0x11e27bae),
  30664. 4: uint32(0x41bea681),
  30665. 5: uint32(0x72c31435),
  30666. 6: uint32(0x71917d70),
  30667. 7: uint32(0x276b0003),
  30668. },
  30669. },
  30670. 646: {
  30671. Fmap1: [8]TFcChar32{
  30672. 0: uint32(0x70cf57cb),
  30673. 1: uint32(0x0def4732),
  30674. 2: uint32(0xfc747eda),
  30675. 3: uint32(0xbdb4fe06),
  30676. 4: uint32(0x8bca3f9f),
  30677. 5: uint32(0x58007e49),
  30678. 6: uint32(0xebec228f),
  30679. 7: uint32(0xddbb8a5c),
  30680. },
  30681. },
  30682. 647: {
  30683. Fmap1: [8]TFcChar32{
  30684. 0: uint32(0xb6e7ef60),
  30685. 1: uint32(0xf293a40f),
  30686. 2: uint32(0x549e37bb),
  30687. 3: uint32(0x9bafd04b),
  30688. 4: uint32(0xf7d4c414),
  30689. 5: uint32(0x0a1430b0),
  30690. 6: uint32(0x88d02f08),
  30691. 7: uint32(0x192fff7e),
  30692. },
  30693. },
  30694. 648: {
  30695. Fmap1: [8]TFcChar32{
  30696. 0: uint32(0xfb07ffda),
  30697. 1: uint32(0x7beb7ff1),
  30698. 2: uint32(0x0010c5ef),
  30699. 3: uint32(0xfdff99ff),
  30700. 4: uint32(0x056779d7),
  30701. 5: uint32(0xfdcbffe7),
  30702. 6: uint32(0x4040c3ff),
  30703. 7: uint32(0xbd8e6ff7),
  30704. },
  30705. },
  30706. 649: {
  30707. Fmap1: [8]TFcChar32{
  30708. 0: uint32(0x0497dffa),
  30709. 1: uint32(0x5bfff4c0),
  30710. 2: uint32(0xd0e7ed7b),
  30711. 3: uint32(0xf8e0047e),
  30712. 4: uint32(0xb73eff9f),
  30713. 5: uint32(0x882e7dfe),
  30714. 6: uint32(0xbe7ffffd),
  30715. 7: uint32(0xf6c483fe),
  30716. },
  30717. },
  30718. 650: {
  30719. Fmap1: [8]TFcChar32{
  30720. 0: uint32(0xb8fdf357),
  30721. 1: uint32(0xef7dd680),
  30722. 2: uint32(0x47885767),
  30723. 3: uint32(0xc3dfff7d),
  30724. 4: uint32(0x37a9f0ff),
  30725. 5: uint32(0x70fc7de0),
  30726. 6: uint32(0xec9a3f6f),
  30727. 7: uint32(0x86814cb3),
  30728. },
  30729. },
  30730. 651: {
  30731. Fmap1: [8]TFcChar32{
  30732. 0: uint32(0xdd5c3f9e),
  30733. 1: uint32(0x4819f70d),
  30734. 2: uint32(0x0007fea3),
  30735. 3: uint32(0x38ffaf56),
  30736. 4: uint32(0xefb8980d),
  30737. 5: uint32(0xb760403d),
  30738. 6: uint32(0x9035d8ce),
  30739. 7: uint32(0x3fff72bf),
  30740. },
  30741. },
  30742. 652: {
  30743. Fmap1: [8]TFcChar32{
  30744. 0: uint32(0x7a117ff7),
  30745. 1: uint32(0xabfff7bb),
  30746. 2: uint32(0x6fbeff00),
  30747. 3: uint32(0xfe72a93c),
  30748. 4: uint32(0xf11bcfef),
  30749. 5: uint32(0xf40adb6b),
  30750. 6: uint32(0xef7ec3e6),
  30751. 7: uint32(0xf6109b9c),
  30752. },
  30753. },
  30754. 653: {
  30755. Fmap1: [8]TFcChar32{
  30756. 0: uint32(0x16f4f048),
  30757. 1: uint32(0x5182feb5),
  30758. 2: uint32(0x15bbc7b1),
  30759. 3: uint32(0xfbdf6e87),
  30760. 4: uint32(0x63cde43f),
  30761. 5: uint32(0x7e7ec1ff),
  30762. 6: uint32(0x7d5ffdeb),
  30763. 7: uint32(0xfcfe777b),
  30764. },
  30765. },
  30766. 654: {
  30767. Fmap1: [8]TFcChar32{
  30768. 0: uint32(0xdbea960b),
  30769. 1: uint32(0x53e86229),
  30770. 2: uint32(0xfdef37df),
  30771. 3: uint32(0xbd8136f5),
  30772. 4: uint32(0xfcbddc18),
  30773. 5: uint32(0xffffd2e4),
  30774. 6: uint32(0xffe03fd7),
  30775. 7: uint32(0xabf87f6f),
  30776. },
  30777. },
  30778. 655: {
  30779. Fmap1: [8]TFcChar32{
  30780. 0: uint32(0x6ed99bae),
  30781. 1: uint32(0xf115f5fb),
  30782. 2: uint32(0xbdfb79a9),
  30783. 3: uint32(0xadaf5a3c),
  30784. 4: uint32(0x1facdbba),
  30785. 5: uint32(0x837971fc),
  30786. 6: uint32(0xc35f7cf7),
  30787. 7: uint32(0x0567dfff),
  30788. },
  30789. },
  30790. 656: {
  30791. Fmap1: [8]TFcChar32{
  30792. 0: uint32(0x8467ff9a),
  30793. 1: uint32(0xdf8b1534),
  30794. 2: uint32(0x3373f9f3),
  30795. 3: uint32(0x5e1af7bd),
  30796. 4: uint32(0xa03fbf40),
  30797. 5: uint32(0x01ebffff),
  30798. 6: uint32(0xcfdddfc0),
  30799. 7: uint32(0xabd37500),
  30800. },
  30801. },
  30802. 657: {
  30803. Fmap1: [8]TFcChar32{
  30804. 0: uint32(0xeed6f8c3),
  30805. 1: uint32(0xb7ff43fd),
  30806. 2: uint32(0x42275eaf),
  30807. 3: uint32(0xf6869bac),
  30808. 4: uint32(0xf6bc27d7),
  30809. 5: uint32(0x35b7f787),
  30810. 6: uint32(0xe176aacd),
  30811. 7: uint32(0xe29f49e7),
  30812. },
  30813. },
  30814. 658: {
  30815. Fmap1: [8]TFcChar32{
  30816. 0: uint32(0xaff2545c),
  30817. 1: uint32(0x61d82b3f),
  30818. 2: uint32(0xbbb8fc3b),
  30819. 3: uint32(0x7b7dffcf),
  30820. 4: uint32(0x1ce0bf95),
  30821. 5: uint32(0x43ff7dfd),
  30822. 6: uint32(0xfffe5ff6),
  30823. 7: uint32(0xc4ced3ef),
  30824. },
  30825. },
  30826. 659: {
  30827. Fmap1: [8]TFcChar32{
  30828. 0: uint32(0xadbc8db6),
  30829. 1: uint32(0x11eb63dc),
  30830. 2: uint32(0x23d0df59),
  30831. 3: uint32(0xf3dbbeb4),
  30832. 4: uint32(0xdbc71fe7),
  30833. 5: uint32(0xfae4ff63),
  30834. 6: uint32(0x63f7b22b),
  30835. 7: uint32(0xadbaed3b),
  30836. },
  30837. },
  30838. 660: {
  30839. Fmap1: [8]TFcChar32{
  30840. 0: uint32(0x7efffe01),
  30841. 1: uint32(0x02bcfff7),
  30842. 2: uint32(0xef3932ff),
  30843. 3: uint32(0x8005fffc),
  30844. 4: uint32(0xbcf577fb),
  30845. 5: uint32(0xfff7010d),
  30846. 6: uint32(0xbf3afffb),
  30847. 7: uint32(0xdfff0057),
  30848. },
  30849. },
  30850. 661: {
  30851. Fmap1: [8]TFcChar32{
  30852. 0: uint32(0xbd7def7b),
  30853. 1: uint32(0xc8d4db88),
  30854. 2: uint32(0xed7cfff3),
  30855. 3: uint32(0x56ff5dee),
  30856. 4: uint32(0xac5f7e0d),
  30857. 5: uint32(0xd57fff96),
  30858. 6: uint32(0xc1403fee),
  30859. 7: uint32(0xffe76ff9),
  30860. },
  30861. },
  30862. 662: {
  30863. Fmap1: [8]TFcChar32{
  30864. 0: uint32(0x8e77779b),
  30865. 1: uint32(0xe45d6ebf),
  30866. 2: uint32(0x5f1f6fcf),
  30867. 3: uint32(0xfedfe07f),
  30868. 4: uint32(0x01fed7db),
  30869. 5: uint32(0xfb7bff00),
  30870. 6: uint32(0x1fdfffd4),
  30871. 7: uint32(0xfffff800),
  30872. },
  30873. },
  30874. 663: {
  30875. Fmap1: [8]TFcChar32{
  30876. 0: uint32(0x007bfb8f),
  30877. 1: uint32(0x7f5cbf00),
  30878. 2: uint32(0x07f3ffff),
  30879. 3: uint32(0x3de7eba0),
  30880. 4: uint32(0xfbd7f7bf),
  30881. 5: uint32(0x6003ffbf),
  30882. 6: uint32(0xbfedfffd),
  30883. 7: uint32(0x027fefbb),
  30884. },
  30885. },
  30886. 664: {
  30887. Fmap1: [8]TFcChar32{
  30888. 0: uint32(0xddfdfe40),
  30889. 1: uint32(0xe2f9fdff),
  30890. 2: uint32(0xfb1f680b),
  30891. 3: uint32(0xaffdfbe3),
  30892. 4: uint32(0xf7ed9fa4),
  30893. 5: uint32(0xf80f7a7d),
  30894. 6: uint32(0x0fd5eebe),
  30895. 7: uint32(0xfd9fbb5d),
  30896. },
  30897. },
  30898. 665: {
  30899. Fmap1: [8]TFcChar32{
  30900. 0: uint32(0x3bf9f2db),
  30901. 1: uint32(0xebccfe7f),
  30902. 2: uint32(0x73fa876a),
  30903. 3: uint32(0x9ffc95fc),
  30904. 4: uint32(0xfaf7109f),
  30905. 5: uint32(0xbbcdddb7),
  30906. 6: uint32(0xeccdf87e),
  30907. 7: uint32(0x3c3ff366),
  30908. },
  30909. },
  30910. 666: {
  30911. Fmap1: [8]TFcChar32{
  30912. 0: uint32(0xb03ffffd),
  30913. 1: uint32(0x067ee9f7),
  30914. 2: uint32(0xfe0696ae),
  30915. 3: uint32(0x5fd7d576),
  30916. 4: uint32(0xa3f33fd1),
  30917. 5: uint32(0x6fb7cf07),
  30918. 6: uint32(0x7f449fd1),
  30919. 7: uint32(0xd3dd7b59),
  30920. },
  30921. },
  30922. 667: {
  30923. Fmap1: [8]TFcChar32{
  30924. 0: uint32(0xa9bdaf3b),
  30925. 1: uint32(0xff3a7dcf),
  30926. 2: uint32(0xf6ebfbe0),
  30927. 3: uint32(0xffffb401),
  30928. 4: uint32(0xb7bf7afa),
  30929. 5: uint32(0x0ffdc000),
  30930. 6: uint32(0xff1fff7f),
  30931. 7: uint32(0x95fffefc),
  30932. },
  30933. },
  30934. 668: {
  30935. Fmap1: [8]TFcChar32{
  30936. 0: uint32(0xb5dc0000),
  30937. 1: uint32(0x3f3eef63),
  30938. 2: uint32(0x001bfb7f),
  30939. 3: uint32(0xfbf6e800),
  30940. 4: uint32(0xb8df9eef),
  30941. 5: uint32(0x003fff9f),
  30942. 6: uint32(0xf5ff7bd0),
  30943. 7: uint32(0x3fffdfdb),
  30944. },
  30945. },
  30946. 669: {
  30947. Fmap1: [8]TFcChar32{
  30948. 0: uint32(0x00bffdf0),
  30949. 1: uint32(0xbbbd8420),
  30950. 2: uint32(0xffdedf37),
  30951. 3: uint32(0x0ff3ff6d),
  30952. 4: uint32(0x5efb604c),
  30953. 5: uint32(0xfafbfffb),
  30954. 6: uint32(0x0219fe5e),
  30955. 7: uint32(0xf9de79f4),
  30956. },
  30957. },
  30958. 670: {
  30959. Fmap1: [8]TFcChar32{
  30960. 0: uint32(0xebfaa7f7),
  30961. 1: uint32(0xff3401eb),
  30962. 2: uint32(0xef73ebd3),
  30963. 3: uint32(0xc040afd7),
  30964. 4: uint32(0xdcff72bb),
  30965. 5: uint32(0x2fd8f17f),
  30966. 6: uint32(0xfe0bb8ec),
  30967. 7: uint32(0x1f0bdda3),
  30968. },
  30969. },
  30970. 671: {
  30971. Fmap1: [8]TFcChar32{
  30972. 0: uint32(0x47cf8f1d),
  30973. 1: uint32(0xffdeb12b),
  30974. 2: uint32(0xda737fee),
  30975. 3: uint32(0xcbc424ff),
  30976. 4: uint32(0xcbf2f75d),
  30977. 5: uint32(0xb4edecfd),
  30978. 6: uint32(0x4dddbff9),
  30979. 7: uint32(0xfb8d99dd),
  30980. },
  30981. },
  30982. 672: {
  30983. Fmap1: [8]TFcChar32{
  30984. 0: uint32(0xaf7bbb7f),
  30985. 1: uint32(0xc959ddfb),
  30986. 2: uint32(0xfab5fc4f),
  30987. 3: uint32(0x6d5fafe3),
  30988. 4: uint32(0x3f7dffff),
  30989. 5: uint32(0xffdb7800),
  30990. 6: uint32(0x7effb6ff),
  30991. 7: uint32(0x022ffbaf),
  30992. },
  30993. },
  30994. 673: {
  30995. Fmap1: [8]TFcChar32{
  30996. 0: uint32(0xefc7ff9b),
  30997. 1: uint32(0xffffffa5),
  30998. 2: uint32(0xc7000007),
  30999. 3: uint32(0xfff1f7ff),
  31000. 4: uint32(0x01bf7ffd),
  31001. 5: uint32(0xfdbcdc00),
  31002. 6: uint32(0xffffbff5),
  31003. 7: uint32(0x3effff7f),
  31004. },
  31005. },
  31006. 674: {
  31007. Fmap1: [8]TFcChar32{
  31008. 0: uint32(0xbe000029),
  31009. 1: uint32(0xff7ff9ff),
  31010. 2: uint32(0xfd7e6efb),
  31011. 3: uint32(0x039ecbff),
  31012. 4: uint32(0xfbdde300),
  31013. 5: uint32(0xf6dfccff),
  31014. 6: uint32(0x117fffff),
  31015. 7: uint32(0xfbf6f800),
  31016. },
  31017. },
  31018. 675: {
  31019. Fmap1: [8]TFcChar32{
  31020. 0: uint32(0xd73ce7ef),
  31021. 1: uint32(0xdfeffeef),
  31022. 2: uint32(0xedbfc00b),
  31023. 3: uint32(0xfdcdfedf),
  31024. 4: uint32(0x40fd7bf5),
  31025. 5: uint32(0xb75fffff),
  31026. 6: uint32(0xf930ffdf),
  31027. 7: uint32(0xdc97fbdf),
  31028. },
  31029. },
  31030. 676: {
  31031. Fmap1: [8]TFcChar32{
  31032. 0: uint32(0xbff2fef3),
  31033. 1: uint32(0xdfbf8fdf),
  31034. 2: uint32(0xede6177f),
  31035. 3: uint32(0x35530f7f),
  31036. 4: uint32(0x877e447c),
  31037. 5: uint32(0x45bbfa12),
  31038. 6: uint32(0x779eede0),
  31039. 7: uint32(0xbfd98017),
  31040. },
  31041. },
  31042. 677: {
  31043. Fmap1: [8]TFcChar32{
  31044. 0: uint32(0xde897e55),
  31045. 1: uint32(0x0447c16f),
  31046. 2: uint32(0xf75d7ade),
  31047. 3: uint32(0x290557ff),
  31048. 4: uint32(0xfe9586f7),
  31049. 5: uint32(0xf32f97b3),
  31050. 6: uint32(0x9f75cfff),
  31051. 7: uint32(0xfb1771f7),
  31052. },
  31053. },
  31054. 678: {
  31055. Fmap1: [8]TFcChar32{
  31056. 0: uint32(0xee1934ee),
  31057. 1: uint32(0xef6137cc),
  31058. 2: uint32(0xef4c9fd6),
  31059. 3: uint32(0xfbddd68f),
  31060. 4: uint32(0x6def7b73),
  31061. 5: uint32(0xa431d7fe),
  31062. 6: uint32(0x97d75e7f),
  31063. 7: uint32(0xffd80f5b),
  31064. },
  31065. },
  31066. 679: {
  31067. Fmap1: [8]TFcChar32{
  31068. 0: uint32(0x7bce9d83),
  31069. 1: uint32(0xdcff22ec),
  31070. 2: uint32(0xef87763d),
  31071. 3: uint32(0xfdeddfe7),
  31072. 4: uint32(0xa0fc4fff),
  31073. 5: uint32(0xdbfc3b77),
  31074. 6: uint32(0x7fdc3ded),
  31075. 7: uint32(0xf5706fa9),
  31076. },
  31077. },
  31078. 680: {
  31079. Fmap1: [8]TFcChar32{
  31080. 0: uint32(0x2c403ffb),
  31081. 1: uint32(0x847fff7f),
  31082. 2: uint32(0xdeb7ec57),
  31083. 3: uint32(0xf22fe69c),
  31084. 4: uint32(0xd5b50feb),
  31085. 5: uint32(0xede7afeb),
  31086. 6: uint32(0xfff08c2f),
  31087. 7: uint32(0xe8f0537f),
  31088. },
  31089. },
  31090. 681: {
  31091. Fmap1: [8]TFcChar32{
  31092. 0: uint32(0xb5ffb99d),
  31093. 1: uint32(0xe78fff66),
  31094. 2: uint32(0xbe10d981),
  31095. 3: uint32(0xe3c19c7c),
  31096. 4: uint32(0x27339cd1),
  31097. 5: uint32(0xff6d0cbc),
  31098. 6: uint32(0xefb7fcb7),
  31099. 7: uint32(0xffffa0df),
  31100. },
  31101. },
  31102. 682: {
  31103. Fmap1: [8]TFcChar32{
  31104. 0: uint32(0xfe7bbf0b),
  31105. 1: uint32(0x353fa3ff),
  31106. 2: uint32(0x97cd13cc),
  31107. 3: uint32(0xfb277637),
  31108. 4: uint32(0x7e6ccfd6),
  31109. 5: uint32(0xed31ec50),
  31110. 6: uint32(0xfc1c677c),
  31111. 7: uint32(0x5fbff6fa),
  31112. },
  31113. },
  31114. 683: {
  31115. Fmap1: [8]TFcChar32{
  31116. 0: uint32(0xae2f0fba),
  31117. 1: uint32(0x7ffea3ad),
  31118. 2: uint32(0xde74fcf0),
  31119. 3: uint32(0xf200ffef),
  31120. 4: uint32(0xfea2fbbf),
  31121. 5: uint32(0xbcff3daf),
  31122. 6: uint32(0x5fb9f694),
  31123. 7: uint32(0x3f8ff3ad),
  31124. },
  31125. },
  31126. 684: {
  31127. Fmap1: [8]TFcChar32{
  31128. 0: uint32(0xa01ff26c),
  31129. 1: uint32(0x01bfffef),
  31130. 2: uint32(0x70057728),
  31131. 3: uint32(0xda03ff35),
  31132. 4: uint32(0xc7fad2f9),
  31133. 5: uint32(0x5c1d3fbf),
  31134. 6: uint32(0xec33ff3a),
  31135. 7: uint32(0xfe9cb7af),
  31136. },
  31137. },
  31138. 685: {
  31139. Fmap1: [8]TFcChar32{
  31140. 0: uint32(0x7a9f5236),
  31141. 1: uint32(0xe722bffa),
  31142. 2: uint32(0xfcff9ff7),
  31143. 3: uint32(0xb61d2fbb),
  31144. 4: uint32(0x1dfded06),
  31145. 5: uint32(0xefdf7dd7),
  31146. 6: uint32(0xf166eb23),
  31147. 7: uint32(0x0dc07ed9),
  31148. },
  31149. },
  31150. 686: {
  31151. Fmap1: [8]TFcChar32{
  31152. 0: uint32(0xdfbf3d3d),
  31153. 1: uint32(0xba83c945),
  31154. 2: uint32(0x9dd07dd1),
  31155. 3: uint32(0xcf737b87),
  31156. 4: uint32(0xc3f59ff3),
  31157. 5: uint32(0xc5fedf0d),
  31158. 6: uint32(0x83020cb3),
  31159. 7: uint32(0xaec0e879),
  31160. },
  31161. },
  31162. 687: {
  31163. Fmap1: [8]TFcChar32{
  31164. 0: uint32(0x6f0fc773),
  31165. 1: uint32(0x093ffd7d),
  31166. 2: uint32(0x0157fff1),
  31167. 3: uint32(0x01ff62fb),
  31168. 4: uint32(0x3bf3fdb4),
  31169. 5: uint32(0x43b2b013),
  31170. 6: uint32(0xff305ed3),
  31171. 7: uint32(0xeb9f0fff),
  31172. },
  31173. },
  31174. 688: {
  31175. Fmap1: [8]TFcChar32{
  31176. 0: uint32(0xf203feef),
  31177. 1: uint32(0xfb893fef),
  31178. 2: uint32(0x9e9937a9),
  31179. 3: uint32(0xa72cdef9),
  31180. 4: uint32(0xc1f63733),
  31181. 5: uint32(0xfe3e812e),
  31182. 6: uint32(0xf2f75d20),
  31183. 7: uint32(0x69d7d585),
  31184. },
  31185. },
  31186. 689: {
  31187. Fmap1: [8]TFcChar32{
  31188. 0: uint32(0xffffffff),
  31189. 1: uint32(0xff6fdb07),
  31190. 2: uint32(0xd97fc4ff),
  31191. 3: uint32(0xbe0fefce),
  31192. 4: uint32(0xf05ef17b),
  31193. 5: uint32(0xffb7f6cf),
  31194. 6: uint32(0xef845ef7),
  31195. 7: uint32(0x0edfd7cb),
  31196. },
  31197. },
  31198. 690: {
  31199. Fmap1: [8]TFcChar32{
  31200. 0: uint32(0xfcffff08),
  31201. 1: uint32(0xffffee3f),
  31202. 2: uint32(0xd7ff13ff),
  31203. 3: uint32(0x7ffdaf0f),
  31204. 4: uint32(0x1ffabdc7),
  31205. },
  31206. },
  31207. 691: {
  31208. Fmap1: [8]TFcChar32{
  31209. 1: uint32(0xe7400000),
  31210. 2: uint32(0xf933bd38),
  31211. 3: uint32(0xfeed7feb),
  31212. 4: uint32(0x7c767fe8),
  31213. 5: uint32(0xffefb3f7),
  31214. 6: uint32(0xd8b7feaf),
  31215. 7: uint32(0xfbbfff6f),
  31216. },
  31217. },
  31218. 692: {
  31219. Fmap1: [8]TFcChar32{
  31220. 0: uint32(0xdbf7f8fb),
  31221. 1: uint32(0xe2f91752),
  31222. 2: uint32(0x754785c8),
  31223. 3: uint32(0xe3ef9090),
  31224. 4: uint32(0x3f6d9ef4),
  31225. 5: uint32(0x0536ee2e),
  31226. 6: uint32(0x7ff3f7bc),
  31227. 7: uint32(0x7f3fa07b),
  31228. },
  31229. },
  31230. 693: {
  31231. Fmap1: [8]TFcChar32{
  31232. 0: uint32(0xeb600567),
  31233. 1: uint32(0x6601babe),
  31234. 2: uint32(0x583ffcd8),
  31235. 3: uint32(0x87dfcaf7),
  31236. 4: uint32(0xffa0bfcd),
  31237. 5: uint32(0xfebf5bcd),
  31238. 6: uint32(0xefa7b6fd),
  31239. 7: uint32(0xdf9c77ef),
  31240. },
  31241. },
  31242. 694: {
  31243. Fmap1: [8]TFcChar32{
  31244. 0: uint32(0xf8773fb7),
  31245. 1: uint32(0xb7fc9d27),
  31246. 2: uint32(0xdfefcab5),
  31247. 3: uint32(0xf1b6fb5a),
  31248. 4: uint32(0xef1fec39),
  31249. 5: uint32(0x7ffbfbbf),
  31250. 6: uint32(0xdafe000d),
  31251. 7: uint32(0x4e7fbdfb),
  31252. },
  31253. },
  31254. 695: {
  31255. Fmap1: [8]TFcChar32{
  31256. 0: uint32(0x5ac033ff),
  31257. 1: uint32(0x9ffebff5),
  31258. 2: uint32(0x005fffbf),
  31259. 3: uint32(0xfdf80000),
  31260. 4: uint32(0x6ffdffca),
  31261. 5: uint32(0xa001cffd),
  31262. 6: uint32(0xfbf2dfff),
  31263. 7: uint32(0xff7fdfbf),
  31264. },
  31265. },
  31266. 696: {
  31267. Fmap1: [8]TFcChar32{
  31268. 0: uint32(0x080ffeda),
  31269. 1: uint32(0xbfffba08),
  31270. 2: uint32(0xeed77afd),
  31271. 3: uint32(0x67f9fbeb),
  31272. 4: uint32(0xff93e044),
  31273. 5: uint32(0x9f57df97),
  31274. 6: uint32(0x08dffef7),
  31275. 7: uint32(0xfedfdf80),
  31276. },
  31277. },
  31278. 697: {
  31279. Fmap1: [8]TFcChar32{
  31280. 0: uint32(0xf7feffc5),
  31281. 1: uint32(0x6803fffb),
  31282. 2: uint32(0x6bfa67fb),
  31283. 3: uint32(0x5fe27fff),
  31284. 4: uint32(0xff73ffff),
  31285. 5: uint32(0xe7fb87df),
  31286. 6: uint32(0xf7a7ebfd),
  31287. 7: uint32(0xefc7bf7e),
  31288. },
  31289. },
  31290. 698: {
  31291. Fmap1: [8]TFcChar32{
  31292. 0: uint32(0xdf821ef3),
  31293. 1: uint32(0xdf7e76ff),
  31294. 2: uint32(0xda7d79c9),
  31295. 3: uint32(0x1e9befbe),
  31296. 4: uint32(0x77fb7ce0),
  31297. 5: uint32(0xfffb87be),
  31298. 6: uint32(0xffdb1bff),
  31299. 7: uint32(0x4fe03f5c),
  31300. },
  31301. },
  31302. 699: {
  31303. Fmap1: [8]TFcChar32{
  31304. 0: uint32(0x5f0e7fff),
  31305. 1: uint32(0xddbf77ff),
  31306. 2: uint32(0xfffff04f),
  31307. 3: uint32(0x0ff8ffff),
  31308. 4: uint32(0xfddfa3be),
  31309. 5: uint32(0xfffdfc1c),
  31310. 6: uint32(0xfb9e1f7d),
  31311. 7: uint32(0xdedcbdff),
  31312. },
  31313. },
  31314. 700: {
  31315. Fmap1: [8]TFcChar32{
  31316. 0: uint32(0xbafb3f6f),
  31317. 1: uint32(0xfbefdf7f),
  31318. 2: uint32(0x2eec7d1b),
  31319. 3: uint32(0xf2f7af8e),
  31320. 4: uint32(0xcfee7b0f),
  31321. 5: uint32(0x77c61d96),
  31322. 6: uint32(0xfff57e07),
  31323. 7: uint32(0x7fdfd982),
  31324. },
  31325. },
  31326. 701: {
  31327. Fmap1: [8]TFcChar32{
  31328. 0: uint32(0xc7ff5ee6),
  31329. 1: uint32(0x79effeee),
  31330. 2: uint32(0xffcf9a56),
  31331. 3: uint32(0xde5efe5f),
  31332. 4: uint32(0xf9e8896e),
  31333. 5: uint32(0xe6c4f45e),
  31334. 6: uint32(0xbe7c0001),
  31335. 7: uint32(0xdddf3b7f),
  31336. },
  31337. },
  31338. 702: {
  31339. Fmap1: [8]TFcChar32{
  31340. 0: uint32(0xe9efd59d),
  31341. 1: uint32(0xde5334ac),
  31342. 2: uint32(0x4bf7f573),
  31343. 3: uint32(0x9eff7b4f),
  31344. 4: uint32(0x476eb8fe),
  31345. 5: uint32(0xff450dfb),
  31346. 6: uint32(0xfbfeabfd),
  31347. 7: uint32(0xddffe9d7),
  31348. },
  31349. },
  31350. 703: {
  31351. Fmap1: [8]TFcChar32{
  31352. 0: uint32(0x7fffedf7),
  31353. 1: uint32(0x7eebddfd),
  31354. 2: uint32(0xb7ffcfe7),
  31355. 3: uint32(0xef91bde9),
  31356. 4: uint32(0xd77c5d75),
  31357. },
  31358. },
  31359. 704: {
  31360. Fmap1: [8]TFcChar32{
  31361. 1: uint32(0xfa800000),
  31362. 2: uint32(0xb4f1ffee),
  31363. 3: uint32(0x2fefbf76),
  31364. 4: uint32(0x77bfb677),
  31365. 5: uint32(0xfffd9fbf),
  31366. 6: uint32(0xf6ae95bf),
  31367. 7: uint32(0x7f3b75ff),
  31368. },
  31369. },
  31370. 705: {
  31371. Fmap1: [8]TFcChar32{
  31372. 0: uint32(0x0af9a7f5),
  31373. 3: uint32(0x2bddfbd0),
  31374. 4: uint32(0x9a7ff633),
  31375. 5: uint32(0xd6fcfdab),
  31376. 6: uint32(0xbfebf9e6),
  31377. 7: uint32(0xf41fdfdf),
  31378. },
  31379. },
  31380. 706: {
  31381. Fmap1: [8]TFcChar32{
  31382. 0: uint32(0xffffa6fd),
  31383. 1: uint32(0xf37b4aff),
  31384. 2: uint32(0xfef97fb7),
  31385. 3: uint32(0x1d5cb6ff),
  31386. 4: uint32(0xe5ff7ff6),
  31387. 5: uint32(0x24041f7b),
  31388. 6: uint32(0xf99ebe05),
  31389. 7: uint32(0xdff2dbe3),
  31390. },
  31391. },
  31392. 707: {
  31393. Fmap1: [8]TFcChar32{
  31394. 0: uint32(0xfdff6fef),
  31395. 1: uint32(0xcbfcd679),
  31396. 2: uint32(0xefffebfd),
  31397. 3: uint32(0x0000001f),
  31398. 4: uint32(0x98000000),
  31399. 5: uint32(0x8017e148),
  31400. 6: uint32(0x00fe6a74),
  31401. 7: uint32(0xfdf16d7f),
  31402. },
  31403. },
  31404. 708: {
  31405. Fmap1: [8]TFcChar32{
  31406. 0: uint32(0xfef3b87f),
  31407. 1: uint32(0xf176e01f),
  31408. 2: uint32(0x7b3fee96),
  31409. 3: uint32(0xfffdeb8d),
  31410. 4: uint32(0xcbb3adff),
  31411. 5: uint32(0xe17f84ef),
  31412. 6: uint32(0xbff04daa),
  31413. 7: uint32(0xfe3fbf3f),
  31414. },
  31415. },
  31416. 709: {
  31417. Fmap1: [8]TFcChar32{
  31418. 0: uint32(0xffd7ebff),
  31419. 1: uint32(0xcf7fffdf),
  31420. 2: uint32(0x85edfffb),
  31421. 3: uint32(0x07bcd73f),
  31422. 4: uint32(0xfe0faeff),
  31423. 5: uint32(0x76bffdaf),
  31424. 6: uint32(0x37bbfaef),
  31425. 7: uint32(0xa3ba7fdc),
  31426. },
  31427. },
  31428. 710: {
  31429. Fmap1: [8]TFcChar32{
  31430. 0: uint32(0x56f7b6ff),
  31431. 1: uint32(0xe7df60f8),
  31432. 2: uint32(0x4cdfff61),
  31433. 3: uint32(0xff45b0fb),
  31434. 4: uint32(0x3ffa7ded),
  31435. 5: uint32(0x18fc1fff),
  31436. 6: uint32(0xe3afffff),
  31437. 7: uint32(0xdf83c7d3),
  31438. },
  31439. },
  31440. 711: {
  31441. Fmap1: [8]TFcChar32{
  31442. 0: uint32(0xef7dfb57),
  31443. 1: uint32(0x1378efff),
  31444. 2: uint32(0x5ff7fec0),
  31445. 3: uint32(0x5ee334bb),
  31446. 4: uint32(0xeff6f70d),
  31447. 5: uint32(0x00bfd7fe),
  31448. 6: uint32(0xf7f7f59d),
  31449. 7: uint32(0xffe051de),
  31450. },
  31451. },
  31452. 712: {
  31453. Fmap1: [8]TFcChar32{
  31454. 0: uint32(0x037ffec9),
  31455. 1: uint32(0xbfef5f01),
  31456. 2: uint32(0x60a79ff1),
  31457. 3: uint32(0xf1ffef1d),
  31458. 4: uint32(0x0000000f),
  31459. },
  31460. },
  31461. 713: {
  31462. Fmap1: [8]TFcChar32{
  31463. 3: uint32(0x3c800000),
  31464. 4: uint32(0xd91ffb4d),
  31465. 5: uint32(0xfee37b3a),
  31466. 6: uint32(0xdc7f3fe9),
  31467. 7: uint32(0x0000003f),
  31468. },
  31469. },
  31470. 714: {
  31471. Fmap1: [8]TFcChar32{
  31472. 0: uint32(0x50000000),
  31473. 1: uint32(0xbe07f51f),
  31474. 2: uint32(0xf91bfc1d),
  31475. 3: uint32(0x71ffbc1e),
  31476. 4: uint32(0x5bbe6ff9),
  31477. 5: uint32(0x9b1b5796),
  31478. 6: uint32(0xfffc7fff),
  31479. 7: uint32(0xafe7872e),
  31480. },
  31481. },
  31482. 715: {
  31483. Fmap1: [8]TFcChar32{
  31484. 0: uint32(0xf34febf5),
  31485. 1: uint32(0xe725dffd),
  31486. 2: uint32(0x5d440bdc),
  31487. 3: uint32(0xfddd5747),
  31488. 4: uint32(0x7790ed3f),
  31489. 5: uint32(0x8ac87d7f),
  31490. 6: uint32(0xf3f9fafa),
  31491. 7: uint32(0xef4b202a),
  31492. },
  31493. },
  31494. 716: {
  31495. Fmap1: [8]TFcChar32{
  31496. 0: uint32(0x79cff5ff),
  31497. 1: uint32(0x0ba5abd3),
  31498. 2: uint32(0xfb8ff77a),
  31499. 3: uint32(0x001f8ebd),
  31500. 5: uint32(0xfd4ef300),
  31501. 6: uint32(0x88001a57),
  31502. 7: uint32(0x7654aeac),
  31503. },
  31504. },
  31505. 717: {
  31506. Fmap1: [8]TFcChar32{
  31507. 0: uint32(0xcdff17ad),
  31508. 1: uint32(0xf42fffb2),
  31509. 2: uint32(0xdbff5baa),
  31510. 3: uint32(0x00000002),
  31511. 4: uint32(0x73c00000),
  31512. 5: uint32(0x2e3ff9ea),
  31513. 6: uint32(0xbbfffa8e),
  31514. 7: uint32(0xffd376bc),
  31515. },
  31516. },
  31517. 718: {
  31518. Fmap1: [8]TFcChar32{
  31519. 0: uint32(0x7e72eefe),
  31520. 1: uint32(0xe7f77ebd),
  31521. 2: uint32(0xcefdf77f),
  31522. 3: uint32(0x00000ff5),
  31523. 5: uint32(0xdb9ba900),
  31524. 6: uint32(0x917fa4c7),
  31525. 7: uint32(0x7ecef8ca),
  31526. },
  31527. },
  31528. 719: {
  31529. Fmap1: [8]TFcChar32{
  31530. 0: uint32(0xc7e77d7a),
  31531. 1: uint32(0xdcaecbbd),
  31532. 2: uint32(0x8f76fd7e),
  31533. 3: uint32(0x7cf391d3),
  31534. 4: uint32(0x4c2f01e5),
  31535. 5: uint32(0xa360ed77),
  31536. 6: uint32(0x5ef807db),
  31537. 7: uint32(0x21811df7),
  31538. },
  31539. },
  31540. 720: {
  31541. Fmap1: [8]TFcChar32{
  31542. 0: uint32(0x309c6be0),
  31543. 1: uint32(0xfade3b3a),
  31544. 2: uint32(0xc3f57f53),
  31545. 3: uint32(0x07ba61cd),
  31546. 7: uint32(0xbefe26e0),
  31547. },
  31548. },
  31549. 721: {
  31550. Fmap1: [8]TFcChar32{
  31551. 0: uint32(0xebb503f9),
  31552. 1: uint32(0xe9cbe36d),
  31553. 2: uint32(0xbfde9c2f),
  31554. 3: uint32(0xabbf9f83),
  31555. 4: uint32(0xffd51ff7),
  31556. 5: uint32(0xdffeb7df),
  31557. 6: uint32(0xffeffdae),
  31558. 7: uint32(0xeffdfb7e),
  31559. },
  31560. },
  31561. 722: {
  31562. Fmap1: [8]TFcChar32{
  31563. 0: uint32(0x6ebfaaff),
  31564. 3: uint32(0xb6200000),
  31565. 4: uint32(0xbe9e7fcd),
  31566. 5: uint32(0x58f162b3),
  31567. 6: uint32(0xfd7bf10d),
  31568. 7: uint32(0xbefde9f1),
  31569. },
  31570. },
  31571. 723: {
  31572. Fmap1: [8]TFcChar32{
  31573. 0: uint32(0x5f6dc6c3),
  31574. 1: uint32(0x69ffff3d),
  31575. 2: uint32(0xfbf4ffcf),
  31576. 3: uint32(0x4ff7dcfb),
  31577. 4: uint32(0x11372000),
  31578. 5: uint32(0x00000015),
  31579. },
  31580. },
  31581. 724: {
  31582. Fmap1: [8]TFcChar32{
  31583. 0: uint32(0x00003000),
  31584. },
  31585. },
  31586. },
  31587. Fleaf_offsets: [780]Tuintptr_t{
  31588. 0: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(8)),
  31589. 1: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(8)),
  31590. 2: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  31591. 3: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(8)),
  31592. 4: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31593. 5: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(5)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31594. 6: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31595. 7: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(7)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31596. 8: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(8)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(8)),
  31597. 9: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  31598. 10: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(8)),
  31599. 11: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(8)),
  31600. 12: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(8)),
  31601. 13: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(8)),
  31602. 14: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  31603. 15: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(8)),
  31604. 16: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(15)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(8)),
  31605. 17: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(8)),
  31606. 18: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31607. 19: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31608. 20: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(19)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(8)),
  31609. 21: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(20)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(8)),
  31610. 22: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(8)),
  31611. 23: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(8)),
  31612. 24: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31613. 25: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31614. 26: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(25)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31615. 27: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(26)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(8)),
  31616. 28: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(27)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(8)),
  31617. 29: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(8)),
  31618. 30: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(8)),
  31619. 31: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(8)),
  31620. 32: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31621. 33: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31622. 34: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(33)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(8)),
  31623. 35: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31624. 36: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(34)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31625. 37: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(8)),
  31626. 38: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(36)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(8)),
  31627. 39: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(37)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(8)),
  31628. 40: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(8)),
  31629. 41: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(8)),
  31630. 42: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  31631. 43: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(8)),
  31632. 44: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(8)),
  31633. 45: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  31634. 46: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(8)),
  31635. 47: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  31636. 48: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(8)),
  31637. 49: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(46)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(8)),
  31638. 50: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(8)),
  31639. 51: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(48)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(8)),
  31640. 52: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  31641. 53: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(8)),
  31642. 54: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  31643. 55: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(8)),
  31644. 56: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  31645. 57: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(8)),
  31646. 58: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(55)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  31647. 59: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(8)),
  31648. 60: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(57)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(8)),
  31649. 61: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  31650. 62: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(59)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(8)),
  31651. 63: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31652. 64: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31653. 65: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(62)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(8)),
  31654. 66: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(8)),
  31655. 67: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(64)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(8)),
  31656. 68: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(65)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(8)),
  31657. 69: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(8)),
  31658. 70: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31659. 71: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31660. 72: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31661. 73: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(8)),
  31662. 74: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(8)),
  31663. 75: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(71)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(8)),
  31664. 76: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  31665. 77: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(72)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(8)),
  31666. 78: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(73)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  31667. 79: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(8)),
  31668. 80: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(8)),
  31669. 81: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31670. 82: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31671. 83: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(77)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(8)),
  31672. 84: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  31673. 85: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(8)),
  31674. 86: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(79)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(8)),
  31675. 87: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8)),
  31676. 88: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(8)),
  31677. 89: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(8)),
  31678. 90: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(82)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(8)),
  31679. 91: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(83)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31680. 92: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31681. 93: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(85)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(8)),
  31682. 94: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(8)),
  31683. 95: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  31684. 96: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(8)),
  31685. 97: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31686. 98: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31687. 99: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(8)),
  31688. 100: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(92)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(8)),
  31689. 101: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(93)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(8)),
  31690. 102: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31691. 103: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31692. 104: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(8)),
  31693. 105: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31694. 106: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31695. 107: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(8)),
  31696. 108: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(98)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(8)),
  31697. 109: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  31698. 110: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(8)),
  31699. 111: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(8)),
  31700. 112: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  31701. 113: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(103)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(8)),
  31702. 114: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(104)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(8)),
  31703. 115: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31704. 116: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31705. 117: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(106)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(8)),
  31706. 118: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(107)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(8)),
  31707. 119: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  31708. 120: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31709. 121: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31710. 122: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31711. 123: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31712. 124: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31713. 125: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31714. 126: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(110)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31715. 127: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8)),
  31716. 128: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8)),
  31717. 129: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(113)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  31718. 130: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31719. 131: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31720. 132: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(116)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31721. 133: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(117)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31722. 134: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31723. 135: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31724. 136: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31725. 137: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31726. 138: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31727. 139: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(123)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31728. 140: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(124)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31729. 141: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(125)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31730. 142: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31731. 143: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31732. 144: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31733. 145: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31734. 146: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31735. 147: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(131)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31736. 148: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31737. 149: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31738. 150: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(134)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31739. 151: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(135)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31740. 152: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(136)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31741. 153: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(137)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31742. 154: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(138)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31743. 155: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(139)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31744. 156: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(140)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31745. 157: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(141)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31746. 158: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(142)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31747. 159: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(143)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31748. 160: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(144)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31749. 161: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(145)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31750. 162: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(146)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31751. 163: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(147)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31752. 164: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(148)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31753. 165: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(149)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31754. 166: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(150)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31755. 167: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(151)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31756. 168: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(152)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31757. 169: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(153)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31758. 170: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(154)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31759. 171: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(155)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31760. 172: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(156)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31761. 173: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(157)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31762. 174: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(158)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31763. 175: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(159)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31764. 176: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(160)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31765. 177: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(161)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31766. 178: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(162)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31767. 179: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(163)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31768. 180: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(164)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31769. 181: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(165)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31770. 182: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(166)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31771. 183: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(167)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31772. 184: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(168)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31773. 185: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(169)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31774. 186: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(170)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31775. 187: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(171)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31776. 188: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(172)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31777. 189: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(173)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31778. 190: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(174)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31779. 191: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(175)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31780. 192: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(176)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31781. 193: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(177)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31782. 194: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(178)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31783. 195: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(179)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31784. 196: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(180)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31785. 197: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(181)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31786. 198: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(182)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31787. 199: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(183)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31788. 200: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(184)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31789. 201: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(185)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31790. 202: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(186)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31791. 203: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(187)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31792. 204: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(188)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31793. 205: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(189)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31794. 206: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(190)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31795. 207: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(191)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31796. 208: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(192)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31797. 209: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(193)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31798. 210: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(194)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31799. 211: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(195)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31800. 212: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(196)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31801. 213: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(197)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31802. 214: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(198)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31803. 215: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(199)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31804. 216: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(200)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8)),
  31805. 217: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(201)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8)),
  31806. 218: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(202)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  31807. 219: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  31808. 220: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(203)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  31809. 221: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(204)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  31810. 222: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(205)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  31811. 223: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(206)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  31812. 224: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(207)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8)),
  31813. 225: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(208)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  31814. 226: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(209)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31815. 227: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(210)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31816. 228: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(211)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31817. 229: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(212)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31818. 230: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(213)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31819. 231: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(214)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31820. 232: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31821. 233: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31822. 234: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31823. 235: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31824. 236: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31825. 237: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31826. 238: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31827. 239: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31828. 240: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31829. 241: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31830. 242: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31831. 243: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31832. 244: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(227)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31833. 245: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(228)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31834. 246: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(229)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31835. 247: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(230)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31836. 248: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(231)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31837. 249: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(232)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31838. 250: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(233)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31839. 251: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(234)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31840. 252: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(235)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31841. 253: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(236)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31842. 254: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(237)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31843. 255: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(238)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31844. 256: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(239)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31845. 257: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(240)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31846. 258: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(241)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31847. 259: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(242)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31848. 260: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(243)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31849. 261: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(244)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31850. 262: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(245)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31851. 263: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(246)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31852. 264: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(247)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31853. 265: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(248)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31854. 266: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(249)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31855. 267: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(250)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31856. 268: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(251)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31857. 269: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(252)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31858. 270: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(253)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31859. 271: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31860. 272: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(254)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31861. 273: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(255)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31862. 274: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(256)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  31863. 275: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(257)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  31864. 276: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(258)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  31865. 277: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(259)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  31866. 278: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(260)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  31867. 279: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(261)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  31868. 280: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8)),
  31869. 281: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(263)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  31870. 282: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31871. 283: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31872. 284: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(264)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31873. 285: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(265)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  31874. 286: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  31875. 287: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(266)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  31876. 288: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(267)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8)),
  31877. 289: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(268)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  31878. 290: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  31879. 291: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  31880. 292: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  31881. 293: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31882. 294: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(272)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31883. 295: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31884. 296: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31885. 297: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  31886. 298: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  31887. 299: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  31888. 300: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  31889. 301: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  31890. 302: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  31891. 303: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  31892. 304: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  31893. 305: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31894. 306: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31895. 307: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31896. 308: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8)),
  31897. 309: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8)),
  31898. 310: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8)),
  31899. 311: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(283)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8)),
  31900. 312: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  31901. 313: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31902. 314: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31903. 315: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31904. 316: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31905. 317: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  31906. 318: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  31907. 319: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  31908. 320: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  31909. 321: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  31910. 322: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8)),
  31911. 323: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8)),
  31912. 324: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8)),
  31913. 325: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(294)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8)),
  31914. 326: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(295)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  31915. 327: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  31916. 328: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  31917. 329: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31918. 330: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31919. 331: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31920. 332: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31921. 333: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  31922. 334: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  31923. 335: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8)),
  31924. 336: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8)),
  31925. 337: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8)),
  31926. 338: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(306)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8)),
  31927. 339: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8)),
  31928. 340: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  31929. 341: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  31930. 342: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  31931. 343: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8)),
  31932. 344: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8)),
  31933. 345: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  31934. 346: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  31935. 347: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  31936. 348: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(314)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  31937. 349: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31938. 350: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31939. 351: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31940. 352: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(315)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8)),
  31941. 353: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8)),
  31942. 354: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  31943. 355: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31944. 356: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31945. 357: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31946. 358: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  31947. 359: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  31948. 360: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  31949. 361: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  31950. 362: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31951. 363: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31952. 364: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31953. 365: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  31954. 366: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  31955. 367: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  31956. 368: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  31957. 369: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  31958. 370: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  31959. 371: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(330)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  31960. 372: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  31961. 373: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  31962. 374: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(331)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8)),
  31963. 375: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  31964. 376: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  31965. 377: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  31966. 378: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31967. 379: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31968. 380: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31969. 381: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8)),
  31970. 382: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8)),
  31971. 383: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8)),
  31972. 384: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8)),
  31973. 385: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8)),
  31974. 386: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8)),
  31975. 387: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8)),
  31976. 388: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  31977. 389: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  31978. 390: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  31979. 391: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  31980. 392: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  31981. 393: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  31982. 394: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  31983. 395: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(350)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  31984. 396: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31985. 397: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31986. 398: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31987. 399: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8)),
  31988. 400: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  31989. 401: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31990. 402: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31991. 403: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(356)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31992. 404: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31993. 405: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31994. 406: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31995. 407: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31996. 408: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31997. 409: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31998. 410: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(363)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31999. 411: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32000. 412: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  32001. 413: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32002. 414: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32003. 415: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32004. 416: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32005. 417: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32006. 418: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32007. 419: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32008. 420: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32009. 421: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32010. 422: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32011. 423: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32012. 424: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  32013. 425: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  32014. 426: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  32015. 427: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(379)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32016. 428: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32017. 429: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32018. 430: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  32019. 431: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  32020. 432: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  32021. 433: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  32022. 434: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  32023. 435: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  32024. 436: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  32025. 437: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  32026. 438: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  32027. 439: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  32028. 440: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32029. 441: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32030. 442: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32031. 443: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  32032. 444: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32033. 445: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32034. 446: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32035. 447: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32036. 448: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(397)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32037. 449: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32038. 450: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32039. 451: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32040. 452: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32041. 453: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(402)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32042. 454: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(403)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32043. 455: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(404)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32044. 456: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(405)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32045. 457: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(406)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32046. 458: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(407)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32047. 459: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(408)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32048. 460: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(409)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32049. 461: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(410)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32050. 462: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(411)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32051. 463: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32052. 464: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32053. 465: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(414)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32054. 466: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(415)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32055. 467: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(416)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32056. 468: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(417)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32057. 469: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(418)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32058. 470: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(419)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32059. 471: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(420)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32060. 472: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(421)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32061. 473: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(422)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32062. 474: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(423)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32063. 475: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32064. 476: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32065. 477: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32066. 478: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32067. 479: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(428)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32068. 480: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(429)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32069. 481: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32070. 482: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32071. 483: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32072. 484: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32073. 485: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32074. 486: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32075. 487: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32076. 488: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32077. 489: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32078. 490: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32079. 491: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32080. 492: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(441)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32081. 493: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(442)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32082. 494: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32083. 495: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32084. 496: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(445)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32085. 497: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(446)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32086. 498: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(447)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32087. 499: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(448)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32088. 500: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(449)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32089. 501: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(450)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32090. 502: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(451)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32091. 503: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(452)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32092. 504: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(453)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32093. 505: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(454)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32094. 506: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(455)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32095. 507: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(456)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32096. 508: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(457)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32097. 509: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(458)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32098. 510: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(459)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32099. 511: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(460)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32100. 512: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(461)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32101. 513: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(462)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32102. 514: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(463)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32103. 515: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(464)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32104. 516: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(465)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32105. 517: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(466)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32106. 518: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(467)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32107. 519: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(468)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32108. 520: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(469)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32109. 521: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(470)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32110. 522: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(471)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32111. 523: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(472)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32112. 524: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(473)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32113. 525: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(474)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  32114. 526: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(475)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32115. 527: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(476)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32116. 528: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(477)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32117. 529: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(478)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32118. 530: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(479)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32119. 531: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(480)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32120. 532: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(481)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32121. 533: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(482)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32122. 534: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(483)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32123. 535: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(484)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32124. 536: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(485)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32125. 537: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(486)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32126. 538: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(487)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32127. 539: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(488)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32128. 540: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(489)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32129. 541: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(490)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32130. 542: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(491)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32131. 543: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(492)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32132. 544: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(493)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32133. 545: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(494)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32134. 546: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(495)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32135. 547: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(496)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32136. 548: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(497)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32137. 549: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(498)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32138. 550: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(499)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32139. 551: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(500)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32140. 552: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(501)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32141. 553: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(502)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32142. 554: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(503)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32143. 555: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(504)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32144. 556: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(505)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32145. 557: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(506)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32146. 558: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(507)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32147. 559: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(508)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32148. 560: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(509)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32149. 561: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(510)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32150. 562: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(511)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32151. 563: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(512)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32152. 564: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(513)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32153. 565: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(514)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32154. 566: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(515)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32155. 567: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(516)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32156. 568: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(517)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32157. 569: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(518)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32158. 570: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(519)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32159. 571: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(520)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32160. 572: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(521)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32161. 573: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(522)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32162. 574: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(523)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32163. 575: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(524)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32164. 576: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32165. 577: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32166. 578: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(527)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32167. 579: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(528)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32168. 580: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(529)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32169. 581: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(530)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32170. 582: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(531)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32171. 583: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(532)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32172. 584: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(533)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32173. 585: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(534)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32174. 586: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(535)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32175. 587: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(536)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32176. 588: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(537)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32177. 589: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(538)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32178. 590: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(539)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32179. 591: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(540)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32180. 592: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(541)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32181. 593: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(542)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32182. 594: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(543)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32183. 595: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(544)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32184. 596: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(545)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32185. 597: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(546)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32186. 598: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(547)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32187. 599: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(548)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32188. 600: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(549)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32189. 601: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(550)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32190. 602: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(551)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32191. 603: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(552)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32192. 604: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(553)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32193. 605: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(554)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32194. 606: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(555)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32195. 607: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(556)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32196. 608: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(557)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32197. 609: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(558)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32198. 610: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(559)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32199. 611: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(560)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32200. 612: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(561)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32201. 613: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(562)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32202. 614: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(563)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32203. 615: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(564)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32204. 616: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(565)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32205. 617: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(566)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32206. 618: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(567)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32207. 619: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(568)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32208. 620: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(569)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32209. 621: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(570)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32210. 622: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(571)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32211. 623: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(572)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32212. 624: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(573)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32213. 625: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(574)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32214. 626: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(575)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32215. 627: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(576)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32216. 628: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(577)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32217. 629: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(578)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32218. 630: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(579)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32219. 631: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(580)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32220. 632: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(581)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32221. 633: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(582)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32222. 634: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(583)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32223. 635: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(584)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32224. 636: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(585)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32225. 637: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(586)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32226. 638: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(587)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32227. 639: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(588)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32228. 640: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(589)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32229. 641: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(590)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32230. 642: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(591)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32231. 643: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(592)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32232. 644: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(593)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32233. 645: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(594)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32234. 646: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(595)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32235. 647: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(596)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32236. 648: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(597)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32237. 649: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(598)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32238. 650: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(599)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32239. 651: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(600)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32240. 652: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(601)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32241. 653: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(602)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32242. 654: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(603)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32243. 655: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32244. 656: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32245. 657: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(605)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32246. 658: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(606)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32247. 659: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32248. 660: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(607)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32249. 661: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(608)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32250. 662: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(609)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32251. 663: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(610)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32252. 664: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(611)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32253. 665: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(612)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32254. 666: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(613)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32255. 667: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32256. 668: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(614)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32257. 669: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(615)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32258. 670: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(616)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32259. 671: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(617)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32260. 672: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(618)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32261. 673: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(619)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32262. 674: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32263. 675: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(620)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32264. 676: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(621)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32265. 677: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(622)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32266. 678: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(623)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32267. 679: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(624)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32268. 680: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(625)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32269. 681: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(626)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32270. 682: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(627)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32271. 683: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(628)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32272. 684: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(629)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32273. 685: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(630)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32274. 686: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(631)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32275. 687: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(632)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32276. 688: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(633)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32277. 689: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(634)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32278. 690: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(635)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32279. 691: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(636)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32280. 692: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(637)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32281. 693: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(638)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32282. 694: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(639)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32283. 695: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(640)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32284. 696: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(641)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  32285. 697: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(642)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32286. 698: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(643)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32287. 699: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(644)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32288. 700: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(645)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32289. 701: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(646)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32290. 702: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(647)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32291. 703: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(648)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32292. 704: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(649)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32293. 705: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(650)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32294. 706: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(651)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32295. 707: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(652)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32296. 708: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(653)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32297. 709: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(654)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32298. 710: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(655)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32299. 711: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(656)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32300. 712: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(657)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32301. 713: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(658)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32302. 714: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(659)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32303. 715: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(660)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32304. 716: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(661)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32305. 717: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(662)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32306. 718: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(663)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32307. 719: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(664)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32308. 720: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(665)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32309. 721: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(666)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32310. 722: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(667)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32311. 723: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(668)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32312. 724: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(669)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32313. 725: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(670)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32314. 726: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(671)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32315. 727: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(672)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32316. 728: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(673)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32317. 729: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(674)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32318. 730: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(675)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32319. 731: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(676)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32320. 732: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(677)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32321. 733: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(678)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32322. 734: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(679)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32323. 735: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(680)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32324. 736: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(681)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32325. 737: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(682)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32326. 738: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(683)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32327. 739: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(684)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32328. 740: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(685)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32329. 741: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(686)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32330. 742: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(687)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32331. 743: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(688)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32332. 744: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(689)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32333. 745: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(690)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32334. 746: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(691)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32335. 747: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(692)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32336. 748: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(693)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32337. 749: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(694)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32338. 750: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(695)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32339. 751: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32340. 752: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32341. 753: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(698)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32342. 754: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(699)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32343. 755: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(700)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32344. 756: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(701)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32345. 757: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(702)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32346. 758: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(703)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32347. 759: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(704)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32348. 760: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(705)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32349. 761: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(706)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32350. 762: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(707)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32351. 763: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(708)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32352. 764: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(709)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32353. 765: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(710)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32354. 766: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(711)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32355. 767: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(712)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32356. 768: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(713)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32357. 769: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(714)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32358. 770: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(715)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32359. 771: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(716)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32360. 772: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(717)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32361. 773: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(718)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32362. 774: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(719)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32363. 775: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(720)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32364. 776: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(721)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32365. 777: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(722)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32366. 778: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(723)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32367. 779: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(724)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  32368. },
  32369. Fnumbers: [780]TFcChar16{
  32370. 1: uint16(0x0004),
  32371. 3: uint16(0x0001),
  32372. 5: uint16(0x0001),
  32373. 6: uint16(0x0002),
  32374. 7: uint16(0x0003),
  32375. 8: uint16(0x001e),
  32376. 9: uint16(0x0012),
  32377. 10: uint16(0x0013),
  32378. 12: uint16(0x0006),
  32379. 13: uint16(0x0009),
  32380. 15: uint16(0x001e),
  32381. 16: uint16(0x0004),
  32382. 19: uint16(0x0001),
  32383. 20: uint16(0x0002),
  32384. 21: uint16(0x0006),
  32385. 22: uint16(0x0004),
  32386. 23: uint16(0x0004),
  32387. 25: uint16(0x0001),
  32388. 26: uint16(0x0002),
  32389. 27: uint16(0x001e),
  32390. 28: uint16(0x002d),
  32391. 29: uint16(0x0004),
  32392. 30: uint16(0x0009),
  32393. 33: uint16(0x0003),
  32394. 34: uint16(0x001e),
  32395. 36: uint16(0x0001),
  32396. 37: uint16(0x0002),
  32397. 38: uint16(0x0009),
  32398. 39: uint16(0x000f),
  32399. 41: uint16(0x0009),
  32400. 43: uint16(0x0001),
  32401. 44: uint16(0x0004),
  32402. 45: uint16(0x0012),
  32403. 46: uint16(0x0013),
  32404. 48: uint16(0x0001),
  32405. 50: uint16(0x0004),
  32406. 51: uint16(0x0013),
  32407. 53: uint16(0x0001),
  32408. 55: uint16(0x0001),
  32409. 57: uint16(0x0001),
  32410. 59: uint16(0x0001),
  32411. 60: uint16(0x0004),
  32412. 61: uint16(0x0001),
  32413. 62: uint16(0x0004),
  32414. 64: uint16(0x0001),
  32415. 65: uint16(0x001e),
  32416. 68: uint16(0x0009),
  32417. 69: uint16(0x0007),
  32418. 71: uint16(0x0001),
  32419. 72: uint16(0x0002),
  32420. 73: uint16(0x0003),
  32421. 74: uint16(0x0003),
  32422. 77: uint16(0x0001),
  32423. 79: uint16(0x0001),
  32424. 82: uint16(0x0001),
  32425. 83: uint16(0x0002),
  32426. 85: uint16(0x0001),
  32427. 92: uint16(0x0001),
  32428. 93: uint16(0x001e),
  32429. 95: uint16(0x0012),
  32430. 96: uint16(0x0013),
  32431. 98: uint16(0x0001),
  32432. 99: uint16(0x001e),
  32433. 100: uint16(0x000a),
  32434. 103: uint16(0x0001),
  32435. 104: uint16(0x0002),
  32436. 106: uint16(0x0001),
  32437. 107: uint16(0x0002),
  32438. 108: uint16(0x0005),
  32439. 110: uint16(0x0001),
  32440. 113: uint16(0x0001),
  32441. 114: uint16(0x0005),
  32442. 116: uint16(0x0003),
  32443. 117: uint16(0x001e),
  32444. 121: uint16(0x001e),
  32445. 122: uint16(0x00a0),
  32446. 123: uint16(0x00a1),
  32447. 124: uint16(0x00a2),
  32448. 125: uint16(0x00a3),
  32449. 126: uint16(0x00a4),
  32450. 127: uint16(0x0004),
  32451. 130: uint16(0x0014),
  32452. 131: uint16(0x0015),
  32453. 132: uint16(0x0016),
  32454. 133: uint16(0x0030),
  32455. 134: uint16(0x004e),
  32456. 135: uint16(0x004f),
  32457. 136: uint16(0x0050),
  32458. 137: uint16(0x0051),
  32459. 138: uint16(0x0052),
  32460. 139: uint16(0x0053),
  32461. 140: uint16(0x0054),
  32462. 141: uint16(0x0055),
  32463. 142: uint16(0x0056),
  32464. 143: uint16(0x0057),
  32465. 144: uint16(0x0058),
  32466. 145: uint16(0x0059),
  32467. 146: uint16(0x005a),
  32468. 147: uint16(0x005b),
  32469. 148: uint16(0x005c),
  32470. 149: uint16(0x005d),
  32471. 150: uint16(0x005e),
  32472. 151: uint16(0x005f),
  32473. 152: uint16(0x0060),
  32474. 153: uint16(0x0061),
  32475. 154: uint16(0x0062),
  32476. 155: uint16(0x0063),
  32477. 156: uint16(0x0064),
  32478. 157: uint16(0x0065),
  32479. 158: uint16(0x0066),
  32480. 159: uint16(0x0067),
  32481. 160: uint16(0x0068),
  32482. 161: uint16(0x0069),
  32483. 162: uint16(0x006a),
  32484. 163: uint16(0x006b),
  32485. 164: uint16(0x006c),
  32486. 165: uint16(0x006d),
  32487. 166: uint16(0x006e),
  32488. 167: uint16(0x006f),
  32489. 168: uint16(0x0070),
  32490. 169: uint16(0x0071),
  32491. 170: uint16(0x0072),
  32492. 171: uint16(0x0073),
  32493. 172: uint16(0x0074),
  32494. 173: uint16(0x0075),
  32495. 174: uint16(0x0076),
  32496. 175: uint16(0x0077),
  32497. 176: uint16(0x0078),
  32498. 177: uint16(0x0079),
  32499. 178: uint16(0x007a),
  32500. 179: uint16(0x007b),
  32501. 180: uint16(0x007c),
  32502. 181: uint16(0x007d),
  32503. 182: uint16(0x007e),
  32504. 183: uint16(0x007f),
  32505. 184: uint16(0x0080),
  32506. 185: uint16(0x0081),
  32507. 186: uint16(0x0082),
  32508. 187: uint16(0x0083),
  32509. 188: uint16(0x0084),
  32510. 189: uint16(0x0085),
  32511. 190: uint16(0x0086),
  32512. 191: uint16(0x0087),
  32513. 192: uint16(0x0088),
  32514. 193: uint16(0x0089),
  32515. 194: uint16(0x008a),
  32516. 195: uint16(0x008b),
  32517. 196: uint16(0x008c),
  32518. 197: uint16(0x008d),
  32519. 198: uint16(0x008e),
  32520. 199: uint16(0x008f),
  32521. 200: uint16(0x0090),
  32522. 201: uint16(0x0091),
  32523. 202: uint16(0x0092),
  32524. 203: uint16(0x0093),
  32525. 204: uint16(0x0094),
  32526. 205: uint16(0x0095),
  32527. 206: uint16(0x0096),
  32528. 207: uint16(0x0097),
  32529. 208: uint16(0x0098),
  32530. 209: uint16(0x0099),
  32531. 210: uint16(0x009a),
  32532. 211: uint16(0x009b),
  32533. 212: uint16(0x009c),
  32534. 213: uint16(0x009d),
  32535. 214: uint16(0x009e),
  32536. 215: uint16(0x009f),
  32537. 217: uint16(0x0010),
  32538. 218: uint16(0x0004),
  32539. 220: uint16(0x0001),
  32540. 221: uint16(0x0004),
  32541. 223: uint16(0x0001),
  32542. 224: uint16(0x0017),
  32543. 225: uint16(0x000c),
  32544. 226: uint16(0x0031),
  32545. 227: uint16(0x00ac),
  32546. 228: uint16(0x00ad),
  32547. 229: uint16(0x00ae),
  32548. 230: uint16(0x00af),
  32549. 231: uint16(0x00b0),
  32550. 232: uint16(0x00b1),
  32551. 233: uint16(0x00b2),
  32552. 234: uint16(0x00b3),
  32553. 235: uint16(0x00b4),
  32554. 236: uint16(0x00b5),
  32555. 237: uint16(0x00b6),
  32556. 238: uint16(0x00b7),
  32557. 239: uint16(0x00b8),
  32558. 240: uint16(0x00b9),
  32559. 241: uint16(0x00ba),
  32560. 242: uint16(0x00bb),
  32561. 243: uint16(0x00bc),
  32562. 244: uint16(0x00bd),
  32563. 245: uint16(0x00be),
  32564. 246: uint16(0x00bf),
  32565. 247: uint16(0x00c0),
  32566. 248: uint16(0x00c1),
  32567. 249: uint16(0x00c2),
  32568. 250: uint16(0x00c3),
  32569. 251: uint16(0x00c4),
  32570. 252: uint16(0x00c5),
  32571. 253: uint16(0x00c6),
  32572. 254: uint16(0x00c7),
  32573. 255: uint16(0x00c8),
  32574. 256: uint16(0x00c9),
  32575. 257: uint16(0x00ca),
  32576. 258: uint16(0x00cb),
  32577. 259: uint16(0x00cc),
  32578. 260: uint16(0x00cd),
  32579. 261: uint16(0x00ce),
  32580. 262: uint16(0x00cf),
  32581. 263: uint16(0x00d0),
  32582. 264: uint16(0x00d1),
  32583. 265: uint16(0x00d2),
  32584. 266: uint16(0x00d3),
  32585. 267: uint16(0x00d4),
  32586. 268: uint16(0x00d5),
  32587. 269: uint16(0x00d6),
  32588. 270: uint16(0x00d7),
  32589. 272: uint16(0x0001),
  32590. 273: uint16(0x0002),
  32591. 274: uint16(0x0006),
  32592. 275: uint16(0x0004),
  32593. 276: uint16(0x0005),
  32594. 277: uint16(0x0006),
  32595. 279: uint16(0x0001),
  32596. 280: uint16(0x0004),
  32597. 281: uint16(0x0004),
  32598. 283: uint16(0x0001),
  32599. 284: uint16(0x0002),
  32600. 285: uint16(0x0004),
  32601. 287: uint16(0x0001),
  32602. 288: uint16(0x0006),
  32603. 291: uint16(0x0001),
  32604. 294: uint16(0x0001),
  32605. 295: uint16(0x0002),
  32606. 296: uint16(0x0003),
  32607. 297: uint16(0x000e),
  32608. 299: uint16(0x0001),
  32609. 301: uint16(0x0001),
  32610. 304: uint16(0x0001),
  32611. 306: uint16(0x0001),
  32612. 307: uint16(0x001e),
  32613. 308: uint16(0x0004),
  32614. 309: uint16(0x000d),
  32615. 310: uint16(0x0018),
  32616. 311: uint16(0x0004),
  32617. 312: uint16(0x0009),
  32618. 314: uint16(0x0001),
  32619. 315: uint16(0x0002),
  32620. 316: uint16(0x0004),
  32621. 318: uint16(0x0001),
  32622. 319: uint16(0x0010),
  32623. 321: uint16(0x0001),
  32624. 323: uint16(0x0009),
  32625. 326: uint16(0x0007),
  32626. 328: uint16(0x0001),
  32627. 330: uint16(0x0001),
  32628. 331: uint16(0x0002),
  32629. 332: uint16(0x0003),
  32630. 334: uint16(0x0001),
  32631. 336: uint16(0x000b),
  32632. 337: uint16(0x0006),
  32633. 338: uint16(0x000a),
  32634. 342: uint16(0x0001),
  32635. 343: uint16(0x0006),
  32636. 344: uint16(0x0006),
  32637. 347: uint16(0x0002),
  32638. 350: uint16(0x0001),
  32639. 351: uint16(0x0002),
  32640. 352: uint16(0x0004),
  32641. 353: uint16(0x0009),
  32642. 356: uint16(0x0001),
  32643. 357: uint16(0x0002),
  32644. 358: uint16(0x0006),
  32645. 360: uint16(0x0001),
  32646. 363: uint16(0x0001),
  32647. 364: uint16(0x0004),
  32648. 366: uint16(0x0003),
  32649. 367: uint16(0x000d),
  32650. 368: uint16(0x0012),
  32651. 369: uint16(0x0013),
  32652. 371: uint16(0x0001),
  32653. 373: uint16(0x0002),
  32654. 377: uint16(0x0001),
  32655. 379: uint16(0x0001),
  32656. 380: uint16(0x0002),
  32657. 382: uint16(0x0004),
  32658. 384: uint16(0x0007),
  32659. 385: uint16(0x000b),
  32660. 386: uint16(0x000c),
  32661. 387: uint16(0x0004),
  32662. 388: uint16(0x000e),
  32663. 389: uint16(0x0012),
  32664. 390: uint16(0x0013),
  32665. 392: uint16(0x0001),
  32666. 394: uint16(0x0001),
  32667. 395: uint16(0x0004),
  32668. 397: uint16(0x0001),
  32669. 398: uint16(0x0002),
  32670. 399: uint16(0x0006),
  32671. 400: uint16(0x0004),
  32672. 402: uint16(0x0001),
  32673. 403: uint16(0x0003),
  32674. 404: uint16(0x0020),
  32675. 405: uint16(0x0021),
  32676. 406: uint16(0x0022),
  32677. 407: uint16(0x0023),
  32678. 408: uint16(0x0025),
  32679. 409: uint16(0x0027),
  32680. 410: uint16(0x01d4),
  32681. 411: uint16(0x01d5),
  32682. 412: uint16(0x01d6),
  32683. 413: uint16(0x0023),
  32684. 414: uint16(0x0025),
  32685. 415: uint16(0x0026),
  32686. 416: uint16(0x0027),
  32687. 417: uint16(0x002b),
  32688. 418: uint16(0x01f0),
  32689. 419: uint16(0x01f1),
  32690. 420: uint16(0x01f2),
  32691. 421: uint16(0x01f3),
  32692. 422: uint16(0x01f4),
  32693. 423: uint16(0x01f5),
  32694. 424: uint16(0x01f6),
  32695. 426: uint16(0x001e),
  32696. 428: uint16(0x0001),
  32697. 429: uint16(0x0003),
  32698. 430: uint16(0x001e),
  32699. 433: uint16(0x0001),
  32700. 436: uint16(0x0001),
  32701. 438: uint16(0x0001),
  32702. 441: uint16(0x0001),
  32703. 442: uint16(0x0003),
  32704. 443: uint16(0x001e),
  32705. 444: uint16(0x0002),
  32706. 445: uint16(0x004e),
  32707. 446: uint16(0x004f),
  32708. 447: uint16(0x0050),
  32709. 448: uint16(0x0051),
  32710. 449: uint16(0x0052),
  32711. 450: uint16(0x0053),
  32712. 451: uint16(0x0054),
  32713. 452: uint16(0x0055),
  32714. 453: uint16(0x0056),
  32715. 454: uint16(0x0057),
  32716. 455: uint16(0x0058),
  32717. 456: uint16(0x0059),
  32718. 457: uint16(0x005a),
  32719. 458: uint16(0x005b),
  32720. 459: uint16(0x005c),
  32721. 460: uint16(0x005d),
  32722. 461: uint16(0x005e),
  32723. 462: uint16(0x005f),
  32724. 463: uint16(0x0060),
  32725. 464: uint16(0x0061),
  32726. 465: uint16(0x0062),
  32727. 466: uint16(0x0063),
  32728. 467: uint16(0x0064),
  32729. 468: uint16(0x0065),
  32730. 469: uint16(0x0066),
  32731. 470: uint16(0x0067),
  32732. 471: uint16(0x0068),
  32733. 472: uint16(0x0069),
  32734. 473: uint16(0x006a),
  32735. 474: uint16(0x006b),
  32736. 475: uint16(0x006c),
  32737. 476: uint16(0x006d),
  32738. 477: uint16(0x006e),
  32739. 478: uint16(0x006f),
  32740. 479: uint16(0x0070),
  32741. 480: uint16(0x0071),
  32742. 481: uint16(0x0072),
  32743. 482: uint16(0x0073),
  32744. 483: uint16(0x0074),
  32745. 484: uint16(0x0075),
  32746. 485: uint16(0x0076),
  32747. 486: uint16(0x0077),
  32748. 487: uint16(0x0078),
  32749. 488: uint16(0x0079),
  32750. 489: uint16(0x007a),
  32751. 490: uint16(0x007b),
  32752. 491: uint16(0x007c),
  32753. 492: uint16(0x007d),
  32754. 493: uint16(0x007e),
  32755. 494: uint16(0x007f),
  32756. 495: uint16(0x0080),
  32757. 496: uint16(0x0081),
  32758. 497: uint16(0x0082),
  32759. 498: uint16(0x0083),
  32760. 499: uint16(0x0084),
  32761. 500: uint16(0x0085),
  32762. 501: uint16(0x0086),
  32763. 502: uint16(0x0087),
  32764. 503: uint16(0x0088),
  32765. 504: uint16(0x0089),
  32766. 505: uint16(0x008a),
  32767. 506: uint16(0x008b),
  32768. 507: uint16(0x008c),
  32769. 508: uint16(0x008d),
  32770. 509: uint16(0x008e),
  32771. 510: uint16(0x008f),
  32772. 511: uint16(0x0090),
  32773. 512: uint16(0x0091),
  32774. 513: uint16(0x0092),
  32775. 514: uint16(0x0093),
  32776. 515: uint16(0x0094),
  32777. 516: uint16(0x0095),
  32778. 517: uint16(0x0096),
  32779. 518: uint16(0x0097),
  32780. 519: uint16(0x0098),
  32781. 520: uint16(0x0099),
  32782. 521: uint16(0x009a),
  32783. 522: uint16(0x009b),
  32784. 523: uint16(0x009c),
  32785. 524: uint16(0x009e),
  32786. 525: uint16(0x009f),
  32787. 526: uint16(0x0030),
  32788. 527: uint16(0x0034),
  32789. 528: uint16(0x0035),
  32790. 529: uint16(0x0036),
  32791. 530: uint16(0x0037),
  32792. 531: uint16(0x0038),
  32793. 532: uint16(0x0039),
  32794. 533: uint16(0x003a),
  32795. 534: uint16(0x003b),
  32796. 535: uint16(0x003c),
  32797. 536: uint16(0x003d),
  32798. 537: uint16(0x003e),
  32799. 538: uint16(0x003f),
  32800. 539: uint16(0x0040),
  32801. 540: uint16(0x0041),
  32802. 541: uint16(0x0042),
  32803. 542: uint16(0x0043),
  32804. 543: uint16(0x0044),
  32805. 544: uint16(0x0045),
  32806. 545: uint16(0x0046),
  32807. 546: uint16(0x0047),
  32808. 547: uint16(0x0048),
  32809. 548: uint16(0x0049),
  32810. 549: uint16(0x004a),
  32811. 550: uint16(0x004b),
  32812. 551: uint16(0x004c),
  32813. 552: uint16(0x004d),
  32814. 553: uint16(0x004e),
  32815. 554: uint16(0x004f),
  32816. 555: uint16(0x0050),
  32817. 556: uint16(0x0051),
  32818. 557: uint16(0x0052),
  32819. 558: uint16(0x0053),
  32820. 559: uint16(0x0054),
  32821. 560: uint16(0x0055),
  32822. 561: uint16(0x0056),
  32823. 562: uint16(0x0057),
  32824. 563: uint16(0x0058),
  32825. 564: uint16(0x0059),
  32826. 565: uint16(0x005a),
  32827. 566: uint16(0x005b),
  32828. 567: uint16(0x005c),
  32829. 568: uint16(0x005d),
  32830. 569: uint16(0x005e),
  32831. 570: uint16(0x005f),
  32832. 571: uint16(0x0060),
  32833. 572: uint16(0x0061),
  32834. 573: uint16(0x0062),
  32835. 574: uint16(0x0063),
  32836. 575: uint16(0x0064),
  32837. 576: uint16(0x0065),
  32838. 577: uint16(0x0066),
  32839. 578: uint16(0x0067),
  32840. 579: uint16(0x0068),
  32841. 580: uint16(0x0069),
  32842. 581: uint16(0x006a),
  32843. 582: uint16(0x006b),
  32844. 583: uint16(0x006c),
  32845. 584: uint16(0x006d),
  32846. 585: uint16(0x006e),
  32847. 586: uint16(0x006f),
  32848. 587: uint16(0x0070),
  32849. 588: uint16(0x0071),
  32850. 589: uint16(0x0072),
  32851. 590: uint16(0x0073),
  32852. 591: uint16(0x0074),
  32853. 592: uint16(0x0075),
  32854. 593: uint16(0x0076),
  32855. 594: uint16(0x0077),
  32856. 595: uint16(0x0078),
  32857. 596: uint16(0x0079),
  32858. 597: uint16(0x007a),
  32859. 598: uint16(0x007b),
  32860. 599: uint16(0x007c),
  32861. 600: uint16(0x007d),
  32862. 601: uint16(0x007e),
  32863. 602: uint16(0x007f),
  32864. 603: uint16(0x0080),
  32865. 604: uint16(0x0081),
  32866. 605: uint16(0x0082),
  32867. 606: uint16(0x0083),
  32868. 607: uint16(0x0084),
  32869. 608: uint16(0x0085),
  32870. 609: uint16(0x0086),
  32871. 610: uint16(0x0087),
  32872. 611: uint16(0x0088),
  32873. 612: uint16(0x0089),
  32874. 613: uint16(0x008a),
  32875. 614: uint16(0x008b),
  32876. 615: uint16(0x008c),
  32877. 616: uint16(0x008d),
  32878. 617: uint16(0x008e),
  32879. 618: uint16(0x008f),
  32880. 619: uint16(0x0090),
  32881. 620: uint16(0x0091),
  32882. 621: uint16(0x0092),
  32883. 622: uint16(0x0093),
  32884. 623: uint16(0x0094),
  32885. 624: uint16(0x0095),
  32886. 625: uint16(0x0096),
  32887. 626: uint16(0x0097),
  32888. 627: uint16(0x0098),
  32889. 628: uint16(0x0099),
  32890. 629: uint16(0x009a),
  32891. 630: uint16(0x009b),
  32892. 631: uint16(0x009c),
  32893. 632: uint16(0x009d),
  32894. 633: uint16(0x009e),
  32895. 634: uint16(0x009f),
  32896. 635: uint16(0x0200),
  32897. 636: uint16(0x0201),
  32898. 637: uint16(0x0203),
  32899. 638: uint16(0x0207),
  32900. 639: uint16(0x020c),
  32901. 640: uint16(0x020d),
  32902. 641: uint16(0x020e),
  32903. 642: uint16(0x020f),
  32904. 643: uint16(0x0210),
  32905. 644: uint16(0x0211),
  32906. 645: uint16(0x0219),
  32907. 646: uint16(0x021a),
  32908. 647: uint16(0x021c),
  32909. 648: uint16(0x021d),
  32910. 649: uint16(0x0220),
  32911. 650: uint16(0x0221),
  32912. 651: uint16(0x022a),
  32913. 652: uint16(0x022b),
  32914. 653: uint16(0x022c),
  32915. 654: uint16(0x022d),
  32916. 655: uint16(0x022f),
  32917. 656: uint16(0x0232),
  32918. 657: uint16(0x0235),
  32919. 658: uint16(0x0236),
  32920. 659: uint16(0x023c),
  32921. 660: uint16(0x023e),
  32922. 661: uint16(0x023f),
  32923. 662: uint16(0x0244),
  32924. 663: uint16(0x024d),
  32925. 664: uint16(0x024e),
  32926. 665: uint16(0x0251),
  32927. 666: uint16(0x0255),
  32928. 667: uint16(0x025e),
  32929. 668: uint16(0x0262),
  32930. 669: uint16(0x0266),
  32931. 670: uint16(0x0267),
  32932. 671: uint16(0x0268),
  32933. 672: uint16(0x0269),
  32934. 673: uint16(0x0272),
  32935. 674: uint16(0x0275),
  32936. 675: uint16(0x0276),
  32937. 676: uint16(0x0277),
  32938. 677: uint16(0x0278),
  32939. 678: uint16(0x0279),
  32940. 679: uint16(0x027a),
  32941. 680: uint16(0x027d),
  32942. 681: uint16(0x0280),
  32943. 682: uint16(0x0281),
  32944. 683: uint16(0x0282),
  32945. 684: uint16(0x0283),
  32946. 685: uint16(0x0289),
  32947. 686: uint16(0x028a),
  32948. 687: uint16(0x028b),
  32949. 688: uint16(0x028c),
  32950. 689: uint16(0x028d),
  32951. 690: uint16(0x028e),
  32952. 691: uint16(0x0294),
  32953. 692: uint16(0x0297),
  32954. 693: uint16(0x0298),
  32955. 694: uint16(0x029a),
  32956. 695: uint16(0x029d),
  32957. 696: uint16(0x02a6),
  32958. 697: uint16(0x004e),
  32959. 698: uint16(0x004f),
  32960. 699: uint16(0x0050),
  32961. 700: uint16(0x0051),
  32962. 701: uint16(0x0052),
  32963. 702: uint16(0x0053),
  32964. 703: uint16(0x0054),
  32965. 704: uint16(0x0055),
  32966. 705: uint16(0x0056),
  32967. 706: uint16(0x0057),
  32968. 707: uint16(0x0058),
  32969. 708: uint16(0x0059),
  32970. 709: uint16(0x005a),
  32971. 710: uint16(0x005b),
  32972. 711: uint16(0x005c),
  32973. 712: uint16(0x005d),
  32974. 713: uint16(0x005e),
  32975. 714: uint16(0x005f),
  32976. 715: uint16(0x0060),
  32977. 716: uint16(0x0061),
  32978. 717: uint16(0x0062),
  32979. 718: uint16(0x0063),
  32980. 719: uint16(0x0064),
  32981. 720: uint16(0x0065),
  32982. 721: uint16(0x0066),
  32983. 722: uint16(0x0067),
  32984. 723: uint16(0x0068),
  32985. 724: uint16(0x0069),
  32986. 725: uint16(0x006a),
  32987. 726: uint16(0x006b),
  32988. 727: uint16(0x006c),
  32989. 728: uint16(0x006d),
  32990. 729: uint16(0x006e),
  32991. 730: uint16(0x006f),
  32992. 731: uint16(0x0070),
  32993. 732: uint16(0x0071),
  32994. 733: uint16(0x0072),
  32995. 734: uint16(0x0073),
  32996. 735: uint16(0x0074),
  32997. 736: uint16(0x0075),
  32998. 737: uint16(0x0076),
  32999. 738: uint16(0x0077),
  33000. 739: uint16(0x0078),
  33001. 740: uint16(0x0079),
  33002. 741: uint16(0x007a),
  33003. 742: uint16(0x007b),
  33004. 743: uint16(0x007c),
  33005. 744: uint16(0x007d),
  33006. 745: uint16(0x007e),
  33007. 746: uint16(0x007f),
  33008. 747: uint16(0x0080),
  33009. 748: uint16(0x0081),
  33010. 749: uint16(0x0082),
  33011. 750: uint16(0x0083),
  33012. 751: uint16(0x0084),
  33013. 752: uint16(0x0085),
  33014. 753: uint16(0x0086),
  33015. 754: uint16(0x0087),
  33016. 755: uint16(0x0088),
  33017. 756: uint16(0x0089),
  33018. 757: uint16(0x008a),
  33019. 758: uint16(0x008b),
  33020. 759: uint16(0x008c),
  33021. 760: uint16(0x008d),
  33022. 761: uint16(0x008e),
  33023. 762: uint16(0x008f),
  33024. 763: uint16(0x0090),
  33025. 764: uint16(0x0091),
  33026. 765: uint16(0x0092),
  33027. 766: uint16(0x0093),
  33028. 767: uint16(0x0094),
  33029. 768: uint16(0x0095),
  33030. 769: uint16(0x0096),
  33031. 770: uint16(0x0097),
  33032. 771: uint16(0x0098),
  33033. 772: uint16(0x0099),
  33034. 773: uint16(0x009a),
  33035. 774: uint16(0x009b),
  33036. 775: uint16(0x009c),
  33037. 776: uint16(0x009d),
  33038. 777: uint16(0x009e),
  33039. 778: uint16(0x009f),
  33040. 779: uint16(0x00fa),
  33041. },
  33042. FlangIndices: [246]TFcChar8{
  33043. 1: uint8(1),
  33044. 2: uint8(2),
  33045. 3: uint8(190),
  33046. 4: uint8(3),
  33047. 5: uint8(191),
  33048. 6: uint8(4),
  33049. 7: uint8(5),
  33050. 8: uint8(6),
  33051. 9: uint8(7),
  33052. 10: uint8(8),
  33053. 11: uint8(9),
  33054. 12: uint8(10),
  33055. 13: uint8(11),
  33056. 14: uint8(13),
  33057. 15: uint8(192),
  33058. 16: uint8(193),
  33059. 17: uint8(14),
  33060. 18: uint8(15),
  33061. 19: uint8(16),
  33062. 20: uint8(17),
  33063. 21: uint8(18),
  33064. 22: uint8(12),
  33065. 23: uint8(19),
  33066. 24: uint8(20),
  33067. 25: uint8(21),
  33068. 26: uint8(240),
  33069. 27: uint8(22),
  33070. 28: uint8(23),
  33071. 29: uint8(194),
  33072. 30: uint8(24),
  33073. 31: uint8(25),
  33074. 32: uint8(26),
  33075. 33: uint8(27),
  33076. 34: uint8(28),
  33077. 35: uint8(29),
  33078. 36: uint8(195),
  33079. 37: uint8(30),
  33080. 38: uint8(196),
  33081. 39: uint8(31),
  33082. 40: uint8(32),
  33083. 41: uint8(33),
  33084. 42: uint8(34),
  33085. 43: uint8(35),
  33086. 44: uint8(242),
  33087. 45: uint8(197),
  33088. 46: uint8(36),
  33089. 47: uint8(198),
  33090. 48: uint8(37),
  33091. 49: uint8(38),
  33092. 50: uint8(39),
  33093. 51: uint8(40),
  33094. 52: uint8(41),
  33095. 53: uint8(42),
  33096. 54: uint8(43),
  33097. 55: uint8(199),
  33098. 56: uint8(48),
  33099. 57: uint8(44),
  33100. 58: uint8(200),
  33101. 59: uint8(45),
  33102. 60: uint8(46),
  33103. 61: uint8(47),
  33104. 62: uint8(49),
  33105. 63: uint8(50),
  33106. 64: uint8(51),
  33107. 65: uint8(52),
  33108. 66: uint8(53),
  33109. 67: uint8(54),
  33110. 68: uint8(55),
  33111. 69: uint8(56),
  33112. 70: uint8(57),
  33113. 71: uint8(58),
  33114. 72: uint8(59),
  33115. 73: uint8(60),
  33116. 74: uint8(61),
  33117. 75: uint8(201),
  33118. 76: uint8(62),
  33119. 77: uint8(63),
  33120. 78: uint8(202),
  33121. 79: uint8(203),
  33122. 80: uint8(64),
  33123. 81: uint8(65),
  33124. 82: uint8(204),
  33125. 83: uint8(66),
  33126. 84: uint8(68),
  33127. 85: uint8(69),
  33128. 86: uint8(67),
  33129. 87: uint8(205),
  33130. 88: uint8(70),
  33131. 89: uint8(71),
  33132. 90: uint8(72),
  33133. 91: uint8(73),
  33134. 92: uint8(74),
  33135. 93: uint8(75),
  33136. 94: uint8(206),
  33137. 95: uint8(76),
  33138. 96: uint8(77),
  33139. 97: uint8(207),
  33140. 98: uint8(78),
  33141. 99: uint8(208),
  33142. 100: uint8(79),
  33143. 101: uint8(80),
  33144. 102: uint8(81),
  33145. 103: uint8(82),
  33146. 104: uint8(83),
  33147. 105: uint8(84),
  33148. 106: uint8(209),
  33149. 107: uint8(85),
  33150. 108: uint8(86),
  33151. 109: uint8(210),
  33152. 110: uint8(87),
  33153. 111: uint8(211),
  33154. 112: uint8(88),
  33155. 113: uint8(89),
  33156. 114: uint8(90),
  33157. 115: uint8(212),
  33158. 116: uint8(91),
  33159. 117: uint8(92),
  33160. 118: uint8(238),
  33161. 119: uint8(93),
  33162. 120: uint8(94),
  33163. 121: uint8(213),
  33164. 122: uint8(214),
  33165. 123: uint8(95),
  33166. 124: uint8(96),
  33167. 125: uint8(97),
  33168. 126: uint8(98),
  33169. 127: uint8(215),
  33170. 128: uint8(99),
  33171. 129: uint8(100),
  33172. 130: uint8(101),
  33173. 131: uint8(102),
  33174. 132: uint8(103),
  33175. 133: uint8(104),
  33176. 134: uint8(216),
  33177. 135: uint8(243),
  33178. 136: uint8(105),
  33179. 137: uint8(106),
  33180. 138: uint8(217),
  33181. 139: uint8(107),
  33182. 140: uint8(108),
  33183. 141: uint8(218),
  33184. 142: uint8(109),
  33185. 143: uint8(110),
  33186. 144: uint8(111),
  33187. 145: uint8(219),
  33188. 146: uint8(112),
  33189. 147: uint8(113),
  33190. 148: uint8(114),
  33191. 149: uint8(239),
  33192. 150: uint8(115),
  33193. 151: uint8(116),
  33194. 152: uint8(220),
  33195. 153: uint8(117),
  33196. 154: uint8(118),
  33197. 155: uint8(119),
  33198. 156: uint8(120),
  33199. 157: uint8(121),
  33200. 158: uint8(221),
  33201. 159: uint8(122),
  33202. 160: uint8(222),
  33203. 161: uint8(223),
  33204. 162: uint8(224),
  33205. 163: uint8(123),
  33206. 164: uint8(124),
  33207. 165: uint8(125),
  33208. 166: uint8(126),
  33209. 167: uint8(225),
  33210. 168: uint8(226),
  33211. 169: uint8(127),
  33212. 170: uint8(227),
  33213. 171: uint8(128),
  33214. 172: uint8(129),
  33215. 173: uint8(228),
  33216. 174: uint8(130),
  33217. 175: uint8(131),
  33218. 176: uint8(241),
  33219. 177: uint8(229),
  33220. 178: uint8(132),
  33221. 179: uint8(230),
  33222. 180: uint8(133),
  33223. 181: uint8(134),
  33224. 182: uint8(231),
  33225. 183: uint8(135),
  33226. 184: uint8(136),
  33227. 185: uint8(137),
  33228. 186: uint8(232),
  33229. 187: uint8(138),
  33230. 188: uint8(139),
  33231. 189: uint8(140),
  33232. 190: uint8(141),
  33233. 191: uint8(142),
  33234. 192: uint8(143),
  33235. 193: uint8(144),
  33236. 194: uint8(233),
  33237. 195: uint8(145),
  33238. 196: uint8(146),
  33239. 197: uint8(147),
  33240. 198: uint8(148),
  33241. 199: uint8(149),
  33242. 200: uint8(234),
  33243. 201: uint8(150),
  33244. 202: uint8(151),
  33245. 203: uint8(152),
  33246. 204: uint8(153),
  33247. 205: uint8(154),
  33248. 206: uint8(155),
  33249. 207: uint8(156),
  33250. 208: uint8(157),
  33251. 209: uint8(158),
  33252. 210: uint8(159),
  33253. 211: uint8(160),
  33254. 212: uint8(161),
  33255. 213: uint8(162),
  33256. 214: uint8(163),
  33257. 215: uint8(164),
  33258. 216: uint8(165),
  33259. 217: uint8(166),
  33260. 218: uint8(167),
  33261. 219: uint8(235),
  33262. 220: uint8(168),
  33263. 221: uint8(169),
  33264. 222: uint8(170),
  33265. 223: uint8(245),
  33266. 224: uint8(244),
  33267. 225: uint8(171),
  33268. 226: uint8(172),
  33269. 227: uint8(173),
  33270. 228: uint8(174),
  33271. 229: uint8(175),
  33272. 230: uint8(176),
  33273. 231: uint8(177),
  33274. 232: uint8(236),
  33275. 233: uint8(178),
  33276. 234: uint8(179),
  33277. 235: uint8(180),
  33278. 236: uint8(181),
  33279. 237: uint8(182),
  33280. 238: uint8(183),
  33281. 239: uint8(237),
  33282. 240: uint8(184),
  33283. 241: uint8(185),
  33284. 242: uint8(186),
  33285. 243: uint8(187),
  33286. 244: uint8(188),
  33287. 245: uint8(189),
  33288. },
  33289. FlangIndicesInv: [246]TFcChar8{
  33290. 1: uint8(1),
  33291. 2: uint8(2),
  33292. 3: uint8(4),
  33293. 4: uint8(6),
  33294. 5: uint8(7),
  33295. 6: uint8(8),
  33296. 7: uint8(9),
  33297. 8: uint8(10),
  33298. 9: uint8(11),
  33299. 10: uint8(12),
  33300. 11: uint8(13),
  33301. 12: uint8(22),
  33302. 13: uint8(14),
  33303. 14: uint8(17),
  33304. 15: uint8(18),
  33305. 16: uint8(19),
  33306. 17: uint8(20),
  33307. 18: uint8(21),
  33308. 19: uint8(23),
  33309. 20: uint8(24),
  33310. 21: uint8(25),
  33311. 22: uint8(27),
  33312. 23: uint8(28),
  33313. 24: uint8(30),
  33314. 25: uint8(31),
  33315. 26: uint8(32),
  33316. 27: uint8(33),
  33317. 28: uint8(34),
  33318. 29: uint8(35),
  33319. 30: uint8(37),
  33320. 31: uint8(39),
  33321. 32: uint8(40),
  33322. 33: uint8(41),
  33323. 34: uint8(42),
  33324. 35: uint8(43),
  33325. 36: uint8(46),
  33326. 37: uint8(48),
  33327. 38: uint8(49),
  33328. 39: uint8(50),
  33329. 40: uint8(51),
  33330. 41: uint8(52),
  33331. 42: uint8(53),
  33332. 43: uint8(54),
  33333. 44: uint8(57),
  33334. 45: uint8(59),
  33335. 46: uint8(60),
  33336. 47: uint8(61),
  33337. 48: uint8(56),
  33338. 49: uint8(62),
  33339. 50: uint8(63),
  33340. 51: uint8(64),
  33341. 52: uint8(65),
  33342. 53: uint8(66),
  33343. 54: uint8(67),
  33344. 55: uint8(68),
  33345. 56: uint8(69),
  33346. 57: uint8(70),
  33347. 58: uint8(71),
  33348. 59: uint8(72),
  33349. 60: uint8(73),
  33350. 61: uint8(74),
  33351. 62: uint8(76),
  33352. 63: uint8(77),
  33353. 64: uint8(80),
  33354. 65: uint8(81),
  33355. 66: uint8(83),
  33356. 67: uint8(86),
  33357. 68: uint8(84),
  33358. 69: uint8(85),
  33359. 70: uint8(88),
  33360. 71: uint8(89),
  33361. 72: uint8(90),
  33362. 73: uint8(91),
  33363. 74: uint8(92),
  33364. 75: uint8(93),
  33365. 76: uint8(95),
  33366. 77: uint8(96),
  33367. 78: uint8(98),
  33368. 79: uint8(100),
  33369. 80: uint8(101),
  33370. 81: uint8(102),
  33371. 82: uint8(103),
  33372. 83: uint8(104),
  33373. 84: uint8(105),
  33374. 85: uint8(107),
  33375. 86: uint8(108),
  33376. 87: uint8(110),
  33377. 88: uint8(112),
  33378. 89: uint8(113),
  33379. 90: uint8(114),
  33380. 91: uint8(116),
  33381. 92: uint8(117),
  33382. 93: uint8(119),
  33383. 94: uint8(120),
  33384. 95: uint8(123),
  33385. 96: uint8(124),
  33386. 97: uint8(125),
  33387. 98: uint8(126),
  33388. 99: uint8(128),
  33389. 100: uint8(129),
  33390. 101: uint8(130),
  33391. 102: uint8(131),
  33392. 103: uint8(132),
  33393. 104: uint8(133),
  33394. 105: uint8(136),
  33395. 106: uint8(137),
  33396. 107: uint8(139),
  33397. 108: uint8(140),
  33398. 109: uint8(142),
  33399. 110: uint8(143),
  33400. 111: uint8(144),
  33401. 112: uint8(146),
  33402. 113: uint8(147),
  33403. 114: uint8(148),
  33404. 115: uint8(150),
  33405. 116: uint8(151),
  33406. 117: uint8(153),
  33407. 118: uint8(154),
  33408. 119: uint8(155),
  33409. 120: uint8(156),
  33410. 121: uint8(157),
  33411. 122: uint8(159),
  33412. 123: uint8(163),
  33413. 124: uint8(164),
  33414. 125: uint8(165),
  33415. 126: uint8(166),
  33416. 127: uint8(169),
  33417. 128: uint8(171),
  33418. 129: uint8(172),
  33419. 130: uint8(174),
  33420. 131: uint8(175),
  33421. 132: uint8(178),
  33422. 133: uint8(180),
  33423. 134: uint8(181),
  33424. 135: uint8(183),
  33425. 136: uint8(184),
  33426. 137: uint8(185),
  33427. 138: uint8(187),
  33428. 139: uint8(188),
  33429. 140: uint8(189),
  33430. 141: uint8(190),
  33431. 142: uint8(191),
  33432. 143: uint8(192),
  33433. 144: uint8(193),
  33434. 145: uint8(195),
  33435. 146: uint8(196),
  33436. 147: uint8(197),
  33437. 148: uint8(198),
  33438. 149: uint8(199),
  33439. 150: uint8(201),
  33440. 151: uint8(202),
  33441. 152: uint8(203),
  33442. 153: uint8(204),
  33443. 154: uint8(205),
  33444. 155: uint8(206),
  33445. 156: uint8(207),
  33446. 157: uint8(208),
  33447. 158: uint8(209),
  33448. 159: uint8(210),
  33449. 160: uint8(211),
  33450. 161: uint8(212),
  33451. 162: uint8(213),
  33452. 163: uint8(214),
  33453. 164: uint8(215),
  33454. 165: uint8(216),
  33455. 166: uint8(217),
  33456. 167: uint8(218),
  33457. 168: uint8(220),
  33458. 169: uint8(221),
  33459. 170: uint8(222),
  33460. 171: uint8(225),
  33461. 172: uint8(226),
  33462. 173: uint8(227),
  33463. 174: uint8(228),
  33464. 175: uint8(229),
  33465. 176: uint8(230),
  33466. 177: uint8(231),
  33467. 178: uint8(233),
  33468. 179: uint8(234),
  33469. 180: uint8(235),
  33470. 181: uint8(236),
  33471. 182: uint8(237),
  33472. 183: uint8(238),
  33473. 184: uint8(240),
  33474. 185: uint8(241),
  33475. 186: uint8(242),
  33476. 187: uint8(243),
  33477. 188: uint8(244),
  33478. 189: uint8(245),
  33479. 190: uint8(3),
  33480. 191: uint8(5),
  33481. 192: uint8(15),
  33482. 193: uint8(16),
  33483. 194: uint8(29),
  33484. 195: uint8(36),
  33485. 196: uint8(38),
  33486. 197: uint8(45),
  33487. 198: uint8(47),
  33488. 199: uint8(55),
  33489. 200: uint8(58),
  33490. 201: uint8(75),
  33491. 202: uint8(78),
  33492. 203: uint8(79),
  33493. 204: uint8(82),
  33494. 205: uint8(87),
  33495. 206: uint8(94),
  33496. 207: uint8(97),
  33497. 208: uint8(99),
  33498. 209: uint8(106),
  33499. 210: uint8(109),
  33500. 211: uint8(111),
  33501. 212: uint8(115),
  33502. 213: uint8(121),
  33503. 214: uint8(122),
  33504. 215: uint8(127),
  33505. 216: uint8(134),
  33506. 217: uint8(138),
  33507. 218: uint8(141),
  33508. 219: uint8(145),
  33509. 220: uint8(152),
  33510. 221: uint8(158),
  33511. 222: uint8(160),
  33512. 223: uint8(161),
  33513. 224: uint8(162),
  33514. 225: uint8(167),
  33515. 226: uint8(168),
  33516. 227: uint8(170),
  33517. 228: uint8(173),
  33518. 229: uint8(177),
  33519. 230: uint8(179),
  33520. 231: uint8(182),
  33521. 232: uint8(186),
  33522. 233: uint8(194),
  33523. 234: uint8(200),
  33524. 235: uint8(219),
  33525. 236: uint8(232),
  33526. 237: uint8(239),
  33527. 238: uint8(118),
  33528. 239: uint8(149),
  33529. 240: uint8(26),
  33530. 241: uint8(176),
  33531. 242: uint8(44),
  33532. 243: uint8(135),
  33533. 244: uint8(224),
  33534. 245: uint8(223),
  33535. },
  33536. }
  33537. var _fcLangCountrySets = [10][8]TFcChar32{
  33538. 0: {
  33539. 0: uint32(0x00000600),
  33540. },
  33541. 1: {
  33542. 6: uint32(0x00000003),
  33543. },
  33544. 2: {
  33545. 2: uint32(0x00c00000),
  33546. 6: uint32(0x000c0000),
  33547. },
  33548. 3: {
  33549. 3: uint32(0x00000100),
  33550. 6: uint32(0x01000000),
  33551. },
  33552. 4: {
  33553. 6: uint32(0x40000000),
  33554. },
  33555. 5: {
  33556. 6: uint32(0x80000000),
  33557. 7: uint32(0x00000001),
  33558. },
  33559. 6: {
  33560. 3: uint32(0x30000000),
  33561. },
  33562. 7: {
  33563. 4: uint32(0x60000000),
  33564. },
  33565. 8: {
  33566. 7: uint32(0x00300000),
  33567. },
  33568. 9: {
  33569. 5: uint32(0x1f000000),
  33570. },
  33571. }
  33572. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  33573. 0: {
  33574. Fend: int32(12),
  33575. },
  33576. 1: {
  33577. Fbegin: int32(13),
  33578. Fend: int32(29),
  33579. },
  33580. 2: {
  33581. Fbegin: int32(30),
  33582. Fend: int32(41),
  33583. },
  33584. 3: {
  33585. Fbegin: int32(42),
  33586. Fend: int32(46),
  33587. },
  33588. 4: {
  33589. Fbegin: int32(47),
  33590. Fend: int32(53),
  33591. },
  33592. 5: {
  33593. Fbegin: int32(54),
  33594. Fend: int32(63),
  33595. },
  33596. 6: {
  33597. Fbegin: int32(64),
  33598. Fend: int32(70),
  33599. },
  33600. 7: {
  33601. Fbegin: int32(71),
  33602. Fend: int32(82),
  33603. },
  33604. 8: {
  33605. Fbegin: int32(83),
  33606. Fend: int32(92),
  33607. },
  33608. 9: {
  33609. Fbegin: int32(93),
  33610. Fend: int32(94),
  33611. },
  33612. 10: {
  33613. Fbegin: int32(95),
  33614. Fend: int32(116),
  33615. },
  33616. 11: {
  33617. Fbegin: int32(117),
  33618. Fend: int32(126),
  33619. },
  33620. 12: {
  33621. Fbegin: int32(127),
  33622. Fend: int32(140),
  33623. },
  33624. 13: {
  33625. Fbegin: int32(141),
  33626. Fend: int32(153),
  33627. },
  33628. 14: {
  33629. Fbegin: int32(154),
  33630. Fend: int32(158),
  33631. },
  33632. 15: {
  33633. Fbegin: int32(159),
  33634. Fend: int32(166),
  33635. },
  33636. 16: {
  33637. Fbegin: int32(167),
  33638. Fend: int32(168),
  33639. },
  33640. 17: {
  33641. Fbegin: int32(169),
  33642. Fend: int32(173),
  33643. },
  33644. 18: {
  33645. Fbegin: int32(174),
  33646. Fend: int32(203),
  33647. },
  33648. 19: {
  33649. Fbegin: int32(204),
  33650. Fend: int32(220),
  33651. },
  33652. 20: {
  33653. Fbegin: int32(221),
  33654. Fend: int32(226),
  33655. },
  33656. 21: {
  33657. Fbegin: int32(227),
  33658. Fend: int32(230),
  33659. },
  33660. 22: {
  33661. Fbegin: int32(231),
  33662. Fend: int32(234),
  33663. },
  33664. 23: {
  33665. Fbegin: int32(235),
  33666. Fend: int32(235),
  33667. },
  33668. 24: {
  33669. Fbegin: int32(236),
  33670. Fend: int32(238),
  33671. },
  33672. 25: {
  33673. Fbegin: int32(239),
  33674. Fend: int32(245),
  33675. },
  33676. }
  33677. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  33678. var bucket uint32
  33679. _ = bucket
  33680. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33681. bucket = id >> int32(5)
  33682. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33683. return
  33684. } /* shouldn't happen really */
  33685. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  33686. }
  33687. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  33688. var bucket uint32
  33689. var v1 int32
  33690. _, _ = bucket, v1
  33691. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33692. bucket = id >> int32(5)
  33693. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33694. return m_FcFalse
  33695. }
  33696. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  33697. v1 = int32(m_FcTrue)
  33698. } else {
  33699. v1 = m_FcFalse
  33700. }
  33701. return v1
  33702. }
  33703. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  33704. var bucket uint32
  33705. _ = bucket
  33706. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33707. bucket = id >> int32(5)
  33708. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33709. return
  33710. } /* shouldn't happen really */
  33711. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  33712. }
  33713. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  33714. bp := tls.Alloc(64)
  33715. defer tls.Free(64)
  33716. var exclusiveCharset, ls, missed uintptr
  33717. var i, i1, j, j1 int32
  33718. var missing, ucs4 TFcChar32
  33719. var _ /* map at bp+0 */ [8]TFcChar32
  33720. var _ /* next at bp+32 */ TFcChar32
  33721. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  33722. exclusiveCharset = uintptr(0)
  33723. if exclusiveLang != 0 {
  33724. exclusiveCharset = XFcLangGetCharSet(tls, exclusiveLang)
  33725. }
  33726. ls = XFcLangSetCreate(tls)
  33727. if !(ls != 0) {
  33728. return uintptr(0)
  33729. }
  33730. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33731. libc.Xprintf(tls, __ccgo_ts+5766, 0)
  33732. XFcCharSetPrint(tls, charset)
  33733. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33734. }
  33735. i = 0
  33736. for {
  33737. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33738. break
  33739. }
  33740. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33741. libc.Xprintf(tls, __ccgo_ts+5779, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  33742. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  33743. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33744. }
  33745. /*
  33746. * Check for Han charsets to make fonts
  33747. * which advertise support for a single language
  33748. * not support other Han languages
  33749. */
  33750. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  33751. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  33752. goto _1
  33753. }
  33754. j = 0
  33755. for {
  33756. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  33757. break
  33758. }
  33759. if uintptr(int64(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(Tintptr_t(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)+(*TFcCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)).Fleaves_offset) + uintptr(j)*8))) != uintptr(int64(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset))+*(*Tintptr_t)(unsafe.Pointer(uintptr(int64(exclusiveCharset)+(*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fleaves_offset) + uintptr(j)*8))) {
  33760. goto _2
  33761. }
  33762. goto _2
  33763. _2:
  33764. ;
  33765. j++
  33766. }
  33767. }
  33768. missing = XFcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  33769. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  33770. if missing != 0 && missing < uint32(10) {
  33771. missed = XFcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  33772. libc.Xprintf(tls, __ccgo_ts+5790, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  33773. libc.Xprintf(tls, __ccgo_ts+5799, 0)
  33774. ucs4 = XFcCharSetFirstPage(tls, missed, bp, bp+32)
  33775. for {
  33776. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  33777. break
  33778. }
  33779. i1 = 0
  33780. for {
  33781. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  33782. break
  33783. }
  33784. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  33785. j1 = 0
  33786. for {
  33787. if !(j1 < int32(32)) {
  33788. break
  33789. }
  33790. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  33791. libc.Xprintf(tls, __ccgo_ts+5801, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  33792. }
  33793. goto _5
  33794. _5:
  33795. ;
  33796. j1++
  33797. }
  33798. }
  33799. goto _4
  33800. _4:
  33801. ;
  33802. i1++
  33803. }
  33804. goto _3
  33805. _3:
  33806. ;
  33807. ucs4 = XFcCharSetNextPage(tls, missed, bp, bp+32)
  33808. }
  33809. libc.Xprintf(tls, __ccgo_ts+5807, 0)
  33810. XFcCharSetDestroy(tls, missed)
  33811. } else {
  33812. libc.Xprintf(tls, __ccgo_ts+5812, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  33813. }
  33814. }
  33815. if !(missing != 0) {
  33816. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  33817. }
  33818. goto _1
  33819. _1:
  33820. ;
  33821. i++
  33822. }
  33823. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  33824. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33825. }
  33826. return ls
  33827. }
  33828. func XFcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  33829. bp := tls.Alloc(32)
  33830. defer tls.Free(32)
  33831. var encoding, modifier, orig, result, s, territory uintptr
  33832. var llen, mlen, tlen Tsize_t
  33833. var v1 uint64
  33834. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  33835. result = libc.UintptrFromInt32(0)
  33836. tlen = uint64(0)
  33837. mlen = uint64(0)
  33838. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  33839. return libc.UintptrFromInt32(0)
  33840. }
  33841. /* might be called without initialization */
  33842. XFcInitDebug(tls)
  33843. if XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+4830) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5820) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5828) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5835) == 0 {
  33844. result = XFcStrCopy(tls, __ccgo_ts+2752)
  33845. goto bail
  33846. }
  33847. s = XFcStrCopy(tls, lang)
  33848. if !(s != 0) {
  33849. goto bail
  33850. }
  33851. /* from the comments in glibc:
  33852. *
  33853. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  33854. *
  33855. * language[_territory[.codeset]][@modifier]
  33856. *
  33857. * Beside the first all of them are allowed to be missing. If the
  33858. * full specified locale is not found, the less specific one are
  33859. * looked for. The various part will be stripped off according to
  33860. * the following order:
  33861. * (1) codeset
  33862. * (2) normalized codeset
  33863. * (3) territory
  33864. * (4) modifier
  33865. *
  33866. * So since we don't take care of the codeset part here, what patterns
  33867. * we need to deal with is:
  33868. *
  33869. * 1. language_territory@modifier
  33870. * 2. language@modifier
  33871. * 3. language
  33872. *
  33873. * then. and maybe no need to try language_territory here.
  33874. */
  33875. modifier = libc.Xstrchr(tls, s, int32('@'))
  33876. if modifier != 0 {
  33877. *(*int8)(unsafe.Pointer(modifier)) = 0
  33878. modifier++
  33879. mlen = libc.Xstrlen(tls, modifier)
  33880. }
  33881. encoding = libc.Xstrchr(tls, s, int32('.'))
  33882. if encoding != 0 {
  33883. *(*int8)(unsafe.Pointer(encoding)) = 0
  33884. encoding++
  33885. if modifier != 0 {
  33886. libc.X__builtin___memmove_chk(tls, encoding, modifier, mlen+uint64(1), ^t__predefined_size_t(0))
  33887. modifier = encoding
  33888. }
  33889. }
  33890. territory = libc.Xstrchr(tls, s, int32('_'))
  33891. if !(territory != 0) {
  33892. territory = libc.Xstrchr(tls, s, int32('-'))
  33893. }
  33894. if territory != 0 {
  33895. *(*int8)(unsafe.Pointer(territory)) = 0
  33896. territory++
  33897. tlen = libc.Xstrlen(tls, territory)
  33898. }
  33899. llen = libc.Xstrlen(tls, s)
  33900. if llen < uint64(2) || llen > uint64(3) {
  33901. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5841, libc.VaList(bp+8, lang))
  33902. goto bail0
  33903. }
  33904. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(int32(*(*int8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  33905. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5900, libc.VaList(bp+8, lang))
  33906. goto bail0
  33907. }
  33908. if territory != 0 {
  33909. *(*int8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = int8('-')
  33910. }
  33911. if modifier != 0 {
  33912. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = int8('@')
  33913. }
  33914. orig = XFcStrDowncase(tls, s)
  33915. if !(orig != 0) {
  33916. goto bail0
  33917. }
  33918. if territory != 0 {
  33919. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33920. libc.Xprintf(tls, __ccgo_ts+5957, libc.VaList(bp+8, s))
  33921. }
  33922. if _FcLangSetIndex(tls, s) < 0 {
  33923. if mlen > uint64(0) {
  33924. v1 = mlen + uint64(1)
  33925. } else {
  33926. v1 = uint64(0)
  33927. }
  33928. libc.X__builtin___memmove_chk(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1), ^t__predefined_size_t(0))
  33929. if modifier != 0 {
  33930. modifier = territory
  33931. }
  33932. } else {
  33933. result = s
  33934. /* we'll miss the opportunity to reduce the correct size
  33935. * of the allocated memory for the string after that.
  33936. */
  33937. s = libc.UintptrFromInt32(0)
  33938. goto bail1
  33939. }
  33940. }
  33941. if modifier != 0 {
  33942. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33943. libc.Xprintf(tls, __ccgo_ts+5957, libc.VaList(bp+8, s))
  33944. }
  33945. if _FcLangSetIndex(tls, s) < 0 {
  33946. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = 0
  33947. } else {
  33948. result = s
  33949. /* we'll miss the opportunity to reduce the correct size
  33950. * of the allocated memory for the string after that.
  33951. */
  33952. s = libc.UintptrFromInt32(0)
  33953. goto bail1
  33954. }
  33955. }
  33956. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33957. libc.Xprintf(tls, __ccgo_ts+5957, libc.VaList(bp+8, s))
  33958. }
  33959. if _FcLangSetIndex(tls, s) < 0 {
  33960. /* there seems no languages matched in orth.
  33961. * add the language as is for fallback.
  33962. */
  33963. result = orig
  33964. orig = libc.UintptrFromInt32(0)
  33965. } else {
  33966. result = s
  33967. /* we'll miss the opportunity to reduce the correct size
  33968. * of the allocated memory for the string after that.
  33969. */
  33970. s = libc.UintptrFromInt32(0)
  33971. }
  33972. goto bail1
  33973. bail1:
  33974. ;
  33975. if orig != 0 {
  33976. XFcStrFree(tls, orig)
  33977. }
  33978. goto bail0
  33979. bail0:
  33980. ;
  33981. if s != 0 {
  33982. libc.Xfree(tls, s)
  33983. }
  33984. goto bail
  33985. bail:
  33986. ;
  33987. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33988. if result != 0 {
  33989. libc.Xprintf(tls, __ccgo_ts+5992, libc.VaList(bp+8, lang, result))
  33990. } else {
  33991. libc.Xprintf(tls, __ccgo_ts+6014, libc.VaList(bp+8, lang))
  33992. }
  33993. }
  33994. return result
  33995. }
  33996. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  33997. var c1, c2 TFcChar8
  33998. var is_und TFcBool
  33999. var result TFcLangResult
  34000. var s1_orig, v7, v8 uintptr
  34001. var v1, v10, v11, v2, v4, v9 int32
  34002. var v3, v5 bool
  34003. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  34004. result = int32(_FcLangDifferentLang)
  34005. s1_orig = s1
  34006. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  34007. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  34008. } else {
  34009. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  34010. }
  34011. if v3 = v1 == int32('u'); v3 {
  34012. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  34013. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  34014. } else {
  34015. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  34016. }
  34017. }
  34018. if v5 = v3 && v2 == int32('n'); v5 {
  34019. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  34020. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  34021. } else {
  34022. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  34023. }
  34024. }
  34025. 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')))
  34026. for {
  34027. v7 = s1
  34028. s1++
  34029. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  34030. v8 = s2
  34031. s2++
  34032. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  34033. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  34034. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  34035. } else {
  34036. v9 = libc.Int32FromUint8(c1)
  34037. }
  34038. c1 = libc.Uint8FromInt32(v9)
  34039. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  34040. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  34041. } else {
  34042. v10 = libc.Int32FromUint8(c2)
  34043. }
  34044. c2 = libc.Uint8FromInt32(v10)
  34045. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  34046. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  34047. result = int32(_FcLangDifferentTerritory)
  34048. }
  34049. return result
  34050. } else {
  34051. if !(c1 != 0) {
  34052. if is_und != 0 {
  34053. v11 = result
  34054. } else {
  34055. v11 = int32(_FcLangEqual)
  34056. }
  34057. return v11
  34058. } else {
  34059. if libc.Int32FromUint8(c1) == int32('-') {
  34060. if !(is_und != 0) {
  34061. result = int32(_FcLangDifferentTerritory)
  34062. }
  34063. }
  34064. }
  34065. }
  34066. /* If we parsed past "und-", then do not consider it undefined anymore,
  34067. * as there's *something* specified. */
  34068. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  34069. is_und = m_FcFalse
  34070. }
  34071. goto _6
  34072. _6:
  34073. }
  34074. return r
  34075. }
  34076. /*
  34077. * Return FcTrue when super contains sub.
  34078. *
  34079. * super contains sub if super and sub have the same
  34080. * language and either the same country or one
  34081. * is missing the country
  34082. */
  34083. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  34084. var c1, c2 TFcChar8
  34085. var v2, v3 uintptr
  34086. var v4, v5 int32
  34087. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  34088. for {
  34089. v2 = super
  34090. super++
  34091. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  34092. v3 = sub
  34093. sub++
  34094. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  34095. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  34096. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  34097. } else {
  34098. v4 = libc.Int32FromUint8(c1)
  34099. }
  34100. c1 = libc.Uint8FromInt32(v4)
  34101. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  34102. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  34103. } else {
  34104. v5 = libc.Int32FromUint8(c2)
  34105. }
  34106. c2 = libc.Uint8FromInt32(v5)
  34107. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  34108. /* see if super has a country while sub is missing one */
  34109. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  34110. return int32(m_FcTrue)
  34111. }
  34112. /* see if sub has a country while super is missing one */
  34113. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  34114. return int32(m_FcTrue)
  34115. }
  34116. return m_FcFalse
  34117. } else {
  34118. if !(c1 != 0) {
  34119. return int32(m_FcTrue)
  34120. }
  34121. }
  34122. goto _1
  34123. _1:
  34124. }
  34125. return r
  34126. }
  34127. func XFcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  34128. var country, i int32
  34129. _, _ = country, i
  34130. country = -int32(1)
  34131. i = 0
  34132. for {
  34133. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34134. break
  34135. }
  34136. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  34137. case int32(_FcLangEqual):
  34138. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  34139. case int32(_FcLangDifferentTerritory):
  34140. if country == -int32(1) {
  34141. country = i
  34142. }
  34143. fallthrough
  34144. case int32(_FcLangDifferentLang):
  34145. fallthrough
  34146. default:
  34147. break
  34148. }
  34149. goto _1
  34150. _1:
  34151. ;
  34152. i++
  34153. }
  34154. if country == -int32(1) {
  34155. return uintptr(0)
  34156. }
  34157. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  34158. }
  34159. func XFcGetLangs(tls *libc.TLS) (r uintptr) {
  34160. var i int32
  34161. var langs uintptr
  34162. _, _ = i, langs
  34163. langs = XFcStrSetCreate(tls)
  34164. if !(langs != 0) {
  34165. return uintptr(0)
  34166. }
  34167. i = 0
  34168. for {
  34169. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34170. break
  34171. }
  34172. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34173. goto _1
  34174. _1:
  34175. ;
  34176. i++
  34177. }
  34178. return langs
  34179. }
  34180. func XFcLangSetCreate(tls *libc.TLS) (r uintptr) {
  34181. var ls uintptr
  34182. _ = ls
  34183. ls = libc.Xmalloc(tls, uint64(48))
  34184. if !(ls != 0) {
  34185. return uintptr(0)
  34186. }
  34187. libc.X__builtin___memset_chk(tls, ls+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34188. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34189. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  34190. return ls
  34191. }
  34192. func XFcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  34193. if !(ls != 0) {
  34194. return
  34195. }
  34196. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34197. XFcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34198. }
  34199. libc.Xfree(tls, ls)
  34200. }
  34201. func XFcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  34202. var extra, list, new1, v2 uintptr
  34203. var v1 uint64
  34204. _, _, _, _, _ = extra, list, new1, v1, v2
  34205. if !(ls != 0) {
  34206. return libc.UintptrFromInt32(0)
  34207. }
  34208. new1 = XFcLangSetCreate(tls)
  34209. if !(new1 != 0) {
  34210. goto bail0
  34211. }
  34212. libc.X__builtin___memset_chk(tls, new1+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34213. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  34214. v1 = libc.Uint64FromInt64(32)
  34215. } else {
  34216. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  34217. }
  34218. libc.X__builtin___memcpy_chk(tls, new1+12, ls+12, v1, ^t__predefined_size_t(0))
  34219. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34220. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XFcStrSetCreate(tls)
  34221. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  34222. goto bail1
  34223. }
  34224. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34225. if !(list != 0) {
  34226. goto bail1
  34227. }
  34228. for {
  34229. v2 = XFcStrListNext(tls, list)
  34230. extra = v2
  34231. if !(v2 != 0) {
  34232. break
  34233. }
  34234. if !(XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  34235. XFcStrListDone(tls, list)
  34236. goto bail1
  34237. }
  34238. }
  34239. XFcStrListDone(tls, list)
  34240. }
  34241. return new1
  34242. goto bail1
  34243. bail1:
  34244. ;
  34245. XFcLangSetDestroy(tls, new1)
  34246. goto bail0
  34247. bail0:
  34248. ;
  34249. return uintptr(0)
  34250. return r
  34251. }
  34252. // C documentation
  34253. //
  34254. // /* When the language isn't found, the return value r is such that:
  34255. // * 1) r < 0
  34256. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  34257. // * after the 'lang' argument in lexicographic order.
  34258. // *
  34259. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  34260. // * wouldn't be able to distinguish between “language found, id is 0” and
  34261. // * “language not found, sorts right before the language with id 0”).
  34262. // */
  34263. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  34264. var cmp, high, low, mid, v1, v2, v3 int32
  34265. var firstChar, secondChar TFcChar8
  34266. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  34267. mid = 0
  34268. cmp = 0
  34269. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  34270. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  34271. } else {
  34272. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  34273. }
  34274. firstChar = libc.Uint8FromInt32(v1)
  34275. if firstChar != 0 {
  34276. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  34277. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  34278. } else {
  34279. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  34280. }
  34281. v2 = v3
  34282. } else {
  34283. v2 = int32('\000')
  34284. }
  34285. secondChar = libc.Uint8FromInt32(v2)
  34286. if libc.Int32FromUint8(firstChar) < int32('a') {
  34287. low = 0
  34288. high = _fcLangCharSetRanges[0].Fbegin
  34289. } else {
  34290. if libc.Int32FromUint8(firstChar) > int32('z') {
  34291. low = _fcLangCharSetRanges[int32(25)].Fbegin
  34292. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  34293. } else {
  34294. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  34295. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  34296. /* no matches */
  34297. if low > high {
  34298. return -(low + int32(1))
  34299. } /* one past next entry after where it would be */
  34300. }
  34301. }
  34302. for low <= high {
  34303. mid = (high + low) >> int32(1)
  34304. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != libc.Int32FromUint8(firstChar) {
  34305. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  34306. } else {
  34307. /* fast path for resolving 2-letter languages (by far the most common) after
  34308. * finding the first char (probably already true because of the hash table) */
  34309. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - libc.Int32FromUint8(secondChar)
  34310. if cmp == 0 && (libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 2))) != int32('\000') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  34311. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  34312. }
  34313. }
  34314. if cmp == 0 {
  34315. return mid
  34316. }
  34317. if cmp < 0 {
  34318. low = mid + int32(1)
  34319. } else {
  34320. high = mid - int32(1)
  34321. }
  34322. }
  34323. if cmp < 0 {
  34324. mid++
  34325. }
  34326. return -(mid + int32(1))
  34327. }
  34328. func XFcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34329. var id int32
  34330. _ = id
  34331. id = _FcLangSetIndex(tls, lang)
  34332. if id >= 0 {
  34333. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  34334. return int32(m_FcTrue)
  34335. }
  34336. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  34337. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XFcStrSetCreate(tls)
  34338. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  34339. return m_FcFalse
  34340. }
  34341. }
  34342. return XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  34343. }
  34344. func XFcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34345. var id int32
  34346. _ = id
  34347. id = _FcLangSetIndex(tls, lang)
  34348. if id >= 0 {
  34349. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  34350. } else {
  34351. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34352. XFcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  34353. }
  34354. }
  34355. return int32(m_FcTrue)
  34356. }
  34357. func XFcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  34358. var best, r TFcLangResult
  34359. var extra, list, v3 uintptr
  34360. var i, id int32
  34361. var v4 bool
  34362. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  34363. id = _FcLangSetIndex(tls, lang)
  34364. if id < 0 {
  34365. id = -id - int32(1)
  34366. } else {
  34367. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  34368. return int32(_FcLangEqual)
  34369. }
  34370. }
  34371. best = int32(_FcLangDifferentLang)
  34372. i = id - int32(1)
  34373. for {
  34374. if !(i >= 0) {
  34375. break
  34376. }
  34377. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34378. if r == int32(_FcLangDifferentLang) {
  34379. break
  34380. }
  34381. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  34382. best = r
  34383. }
  34384. goto _1
  34385. _1:
  34386. ;
  34387. i--
  34388. }
  34389. i = id
  34390. for {
  34391. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34392. break
  34393. }
  34394. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34395. if r == int32(_FcLangDifferentLang) {
  34396. break
  34397. }
  34398. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  34399. best = r
  34400. }
  34401. goto _2
  34402. _2:
  34403. ;
  34404. i++
  34405. }
  34406. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34407. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34408. if list != 0 {
  34409. for {
  34410. if v4 = best > int32(_FcLangEqual); v4 {
  34411. v3 = XFcStrListNext(tls, list)
  34412. extra = v3
  34413. }
  34414. if !(v4 && v3 != 0) {
  34415. break
  34416. }
  34417. r = XFcLangCompare(tls, lang, extra)
  34418. if r < best {
  34419. best = r
  34420. }
  34421. }
  34422. XFcStrListDone(tls, list)
  34423. }
  34424. }
  34425. return best
  34426. }
  34427. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  34428. var best, r TFcLangResult
  34429. var extra, list, v1 uintptr
  34430. var v2 bool
  34431. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  34432. list = XFcStrListCreate(tls, set)
  34433. best = int32(_FcLangDifferentLang)
  34434. if list != 0 {
  34435. for {
  34436. if v2 = best > int32(_FcLangEqual); v2 {
  34437. v1 = XFcStrListNext(tls, list)
  34438. extra = v1
  34439. }
  34440. if !(v2 && v1 != 0) {
  34441. break
  34442. }
  34443. r = XFcLangSetHasLang(tls, ls, extra)
  34444. if r < best {
  34445. best = r
  34446. }
  34447. }
  34448. XFcStrListDone(tls, list)
  34449. }
  34450. return best
  34451. }
  34452. func XFcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  34453. var aInCountrySet, bInCountrySet TFcChar32
  34454. var best, r TFcLangResult
  34455. var count, i, j, v2 int32
  34456. var v1 uint32
  34457. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  34458. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34459. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34460. } else {
  34461. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34462. }
  34463. count = libc.Int32FromUint32(v1)
  34464. if int32(m_NUM_LANG_SET_MAP) < count {
  34465. v2 = int32(m_NUM_LANG_SET_MAP)
  34466. } else {
  34467. v2 = count
  34468. }
  34469. count = v2
  34470. i = 0
  34471. for {
  34472. if !(i < count) {
  34473. break
  34474. }
  34475. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  34476. return int32(_FcLangEqual)
  34477. }
  34478. goto _3
  34479. _3:
  34480. ;
  34481. i++
  34482. }
  34483. best = int32(_FcLangDifferentLang)
  34484. j = 0
  34485. for {
  34486. if !(j < int32(m_NUM_COUNTRY_SET)) {
  34487. break
  34488. }
  34489. aInCountrySet = uint32(0)
  34490. bInCountrySet = uint32(0)
  34491. i = 0
  34492. for {
  34493. if !(i < count) {
  34494. break
  34495. }
  34496. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  34497. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  34498. if aInCountrySet != 0 && bInCountrySet != 0 {
  34499. best = int32(_FcLangDifferentTerritory)
  34500. break
  34501. }
  34502. goto _5
  34503. _5:
  34504. ;
  34505. i++
  34506. }
  34507. goto _4
  34508. _4:
  34509. ;
  34510. j++
  34511. }
  34512. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  34513. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  34514. if r < best {
  34515. best = r
  34516. }
  34517. }
  34518. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34519. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34520. if r < best {
  34521. best = r
  34522. }
  34523. }
  34524. return best
  34525. }
  34526. // C documentation
  34527. //
  34528. // /*
  34529. // * Used in computing values -- mustn't allocate any storage
  34530. // */
  34531. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  34532. var buf uintptr
  34533. var id int32
  34534. _, _ = buf, id
  34535. buf = vbuf
  34536. libc.X__builtin___memset_chk(tls, buf+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34537. (*struct {
  34538. Fls TFcLangSet
  34539. Fstrs TFcStrSet
  34540. Fstr uintptr
  34541. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34542. (*struct {
  34543. Fls TFcLangSet
  34544. Fstrs TFcStrSet
  34545. Fstr uintptr
  34546. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  34547. if lang != 0 {
  34548. id = _FcLangSetIndex(tls, lang)
  34549. if id >= 0 {
  34550. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  34551. } else {
  34552. (*struct {
  34553. Fls TFcLangSet
  34554. Fstrs TFcStrSet
  34555. Fstr uintptr
  34556. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  34557. (*struct {
  34558. Fls TFcLangSet
  34559. Fstrs TFcStrSet
  34560. Fstr uintptr
  34561. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  34562. (*struct {
  34563. Fls TFcLangSet
  34564. Fstrs TFcStrSet
  34565. Fstr uintptr
  34566. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  34567. (*struct {
  34568. Fls TFcLangSet
  34569. Fstrs TFcStrSet
  34570. Fstr uintptr
  34571. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  34572. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  34573. (*struct {
  34574. Fls TFcLangSet
  34575. Fstrs TFcStrSet
  34576. Fstr uintptr
  34577. })(unsafe.Pointer(buf)).Fstr = lang
  34578. }
  34579. }
  34580. return buf
  34581. }
  34582. func XFcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  34583. var count, i int32
  34584. var h TFcChar32
  34585. var v1 uint32
  34586. _, _, _, _ = count, h, i, v1
  34587. h = uint32(0)
  34588. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  34589. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  34590. } else {
  34591. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  34592. }
  34593. count = libc.Int32FromUint32(v1)
  34594. i = 0
  34595. for {
  34596. if !(i < count) {
  34597. break
  34598. }
  34599. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  34600. goto _2
  34601. _2:
  34602. ;
  34603. i++
  34604. }
  34605. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34606. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  34607. }
  34608. return h
  34609. }
  34610. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  34611. bp := tls.Alloc(32)
  34612. defer tls.Free(32)
  34613. var c TFcChar8
  34614. var i int32
  34615. var ls, v3 uintptr
  34616. var _ /* lang at bp+0 */ [32]TFcChar8
  34617. _, _, _, _ = c, i, ls, v3
  34618. c = uint8(0)
  34619. ls = XFcLangSetCreate(tls)
  34620. if !(ls != 0) {
  34621. goto bail0
  34622. }
  34623. for {
  34624. i = 0
  34625. for {
  34626. if !(i < int32(31)) {
  34627. break
  34628. }
  34629. v3 = string1
  34630. string1++
  34631. c = *(*TFcChar8)(unsafe.Pointer(v3))
  34632. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  34633. break
  34634. } /* end of this code */
  34635. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  34636. goto _2
  34637. _2:
  34638. ;
  34639. i++
  34640. }
  34641. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  34642. if !(XFcLangSetAdd(tls, ls, bp) != 0) {
  34643. goto bail1
  34644. }
  34645. if libc.Int32FromUint8(c) == int32('\000') {
  34646. break
  34647. }
  34648. goto _1
  34649. _1:
  34650. }
  34651. return ls
  34652. goto bail1
  34653. bail1:
  34654. ;
  34655. XFcLangSetDestroy(tls, ls)
  34656. goto bail0
  34657. bail0:
  34658. ;
  34659. return uintptr(0)
  34660. return r
  34661. }
  34662. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  34663. var bit, count, i, id int32
  34664. var bits, v3 TFcChar32
  34665. var extra, list, v5 uintptr
  34666. var first TFcBool
  34667. var v1 uint32
  34668. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  34669. first = int32(m_FcTrue)
  34670. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  34671. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  34672. } else {
  34673. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  34674. }
  34675. count = libc.Int32FromUint32(v1)
  34676. i = 0
  34677. for {
  34678. if !(i < count) {
  34679. break
  34680. }
  34681. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  34682. bits = v3
  34683. if v3 != 0 {
  34684. bit = 0
  34685. for {
  34686. if !(bit <= int32(31)) {
  34687. break
  34688. }
  34689. if bits&(uint32(1)<<bit) != 0 {
  34690. id = i<<int32(5) | bit
  34691. if !(first != 0) {
  34692. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  34693. return m_FcFalse
  34694. }
  34695. }
  34696. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(id))))*40) != 0) {
  34697. return m_FcFalse
  34698. }
  34699. first = m_FcFalse
  34700. }
  34701. goto _4
  34702. _4:
  34703. ;
  34704. bit++
  34705. }
  34706. }
  34707. goto _2
  34708. _2:
  34709. ;
  34710. i++
  34711. }
  34712. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34713. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34714. if !(list != 0) {
  34715. return m_FcFalse
  34716. }
  34717. for {
  34718. v5 = XFcStrListNext(tls, list)
  34719. extra = v5
  34720. if !(v5 != 0) {
  34721. break
  34722. }
  34723. if !(first != 0) {
  34724. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  34725. XFcStrListDone(tls, list)
  34726. return m_FcFalse
  34727. }
  34728. }
  34729. if !(XFcStrBufString(tls, buf, extra) != 0) {
  34730. XFcStrListDone(tls, list)
  34731. return m_FcFalse
  34732. }
  34733. first = m_FcFalse
  34734. }
  34735. XFcStrListDone(tls, list)
  34736. }
  34737. return int32(m_FcTrue)
  34738. }
  34739. func XFcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  34740. var count, i, v2 int32
  34741. var v1 uint32
  34742. _, _, _, _ = count, i, v1, v2
  34743. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34744. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34745. } else {
  34746. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34747. }
  34748. count = libc.Int32FromUint32(v1)
  34749. if int32(m_NUM_LANG_SET_MAP) < count {
  34750. v2 = int32(m_NUM_LANG_SET_MAP)
  34751. } else {
  34752. v2 = count
  34753. }
  34754. count = v2
  34755. i = 0
  34756. for {
  34757. if !(i < count) {
  34758. break
  34759. }
  34760. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  34761. return m_FcFalse
  34762. }
  34763. goto _3
  34764. _3:
  34765. ;
  34766. i++
  34767. }
  34768. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  34769. return int32(m_FcTrue)
  34770. }
  34771. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34772. return XFcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34773. }
  34774. return m_FcFalse
  34775. }
  34776. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34777. var extra, list, v3 uintptr
  34778. var i, id int32
  34779. _, _, _, _, _ = extra, i, id, list, v3
  34780. id = _FcLangSetIndex(tls, lang)
  34781. if id < 0 {
  34782. id = -id - int32(1)
  34783. } else {
  34784. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  34785. return int32(m_FcTrue)
  34786. }
  34787. }
  34788. /*
  34789. * search up and down among equal languages for a match
  34790. */
  34791. i = id - int32(1)
  34792. for {
  34793. if !(i >= 0) {
  34794. break
  34795. }
  34796. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  34797. break
  34798. }
  34799. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  34800. return int32(m_FcTrue)
  34801. }
  34802. goto _1
  34803. _1:
  34804. ;
  34805. i--
  34806. }
  34807. i = id
  34808. for {
  34809. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34810. break
  34811. }
  34812. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  34813. break
  34814. }
  34815. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  34816. return int32(m_FcTrue)
  34817. }
  34818. goto _2
  34819. _2:
  34820. ;
  34821. i++
  34822. }
  34823. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34824. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34825. if list != 0 {
  34826. for {
  34827. v3 = XFcStrListNext(tls, list)
  34828. extra = v3
  34829. if !(v3 != 0) {
  34830. break
  34831. }
  34832. if _FcLangContains(tls, extra, lang) != 0 {
  34833. break
  34834. }
  34835. }
  34836. XFcStrListDone(tls, list)
  34837. if extra != 0 {
  34838. return int32(m_FcTrue)
  34839. }
  34840. }
  34841. }
  34842. return m_FcFalse
  34843. }
  34844. // C documentation
  34845. //
  34846. // /*
  34847. // * return FcTrue if lsa contains every language in lsb
  34848. // */
  34849. func XFcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  34850. bp := tls.Alloc(16)
  34851. defer tls.Free(16)
  34852. var count, i, j, v2 int32
  34853. var extra, list, v5 uintptr
  34854. var missing TFcChar32
  34855. var v1 uint32
  34856. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  34857. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34858. libc.Xprintf(tls, __ccgo_ts+6038, 0)
  34859. XFcLangSetPrint(tls, lsa)
  34860. libc.Xprintf(tls, __ccgo_ts+6049, 0)
  34861. XFcLangSetPrint(tls, lsb)
  34862. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  34863. }
  34864. /*
  34865. * check bitmaps for missing language support
  34866. */
  34867. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34868. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34869. } else {
  34870. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34871. }
  34872. count = libc.Int32FromUint32(v1)
  34873. if int32(m_NUM_LANG_SET_MAP) < count {
  34874. v2 = int32(m_NUM_LANG_SET_MAP)
  34875. } else {
  34876. v2 = count
  34877. }
  34878. count = v2
  34879. i = 0
  34880. for {
  34881. if !(i < count) {
  34882. break
  34883. }
  34884. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  34885. if missing != 0 {
  34886. j = 0
  34887. for {
  34888. if !(j < int32(32)) {
  34889. break
  34890. }
  34891. if missing&(uint32(1)<<j) != 0 {
  34892. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40) != 0) {
  34893. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34894. libc.Xprintf(tls, __ccgo_ts+6060, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40))
  34895. }
  34896. return m_FcFalse
  34897. }
  34898. }
  34899. goto _4
  34900. _4:
  34901. ;
  34902. j++
  34903. }
  34904. }
  34905. goto _3
  34906. _3:
  34907. ;
  34908. i++
  34909. }
  34910. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34911. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34912. if list != 0 {
  34913. for {
  34914. v5 = XFcStrListNext(tls, list)
  34915. extra = v5
  34916. if !(v5 != 0) {
  34917. break
  34918. }
  34919. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  34920. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34921. libc.Xprintf(tls, __ccgo_ts+6080, libc.VaList(bp+8, extra))
  34922. }
  34923. break
  34924. }
  34925. }
  34926. XFcStrListDone(tls, list)
  34927. if extra != 0 {
  34928. return m_FcFalse
  34929. }
  34930. }
  34931. }
  34932. return int32(m_FcTrue)
  34933. }
  34934. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  34935. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  34936. return m_FcFalse
  34937. }
  34938. return int32(m_FcTrue)
  34939. }
  34940. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  34941. var l_serialize uintptr
  34942. var v1 uint64
  34943. _, _ = l_serialize, v1
  34944. l_serialize = XFcSerializePtr(tls, serialize, l)
  34945. if !(l_serialize != 0) {
  34946. return libc.UintptrFromInt32(0)
  34947. }
  34948. libc.X__builtin___memset_chk(tls, l_serialize+12, int32('\000'), uint64(32), ^t__predefined_size_t(0))
  34949. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  34950. v1 = libc.Uint64FromInt64(32)
  34951. } else {
  34952. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  34953. }
  34954. libc.X__builtin___memcpy_chk(tls, l_serialize+12, l+12, v1, ^t__predefined_size_t(0))
  34955. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34956. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  34957. return l_serialize
  34958. }
  34959. func XFcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  34960. var extra, langs, list, v2 uintptr
  34961. var i int32
  34962. _, _, _, _, _ = extra, i, langs, list, v2
  34963. langs = XFcStrSetCreate(tls)
  34964. if !(langs != 0) {
  34965. return uintptr(0)
  34966. }
  34967. i = 0
  34968. for {
  34969. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34970. break
  34971. }
  34972. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  34973. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34974. }
  34975. goto _1
  34976. _1:
  34977. ;
  34978. i++
  34979. }
  34980. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34981. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34982. if list != 0 {
  34983. for {
  34984. v2 = XFcStrListNext(tls, list)
  34985. extra = v2
  34986. if !(v2 != 0) {
  34987. break
  34988. }
  34989. XFcStrSetAdd(tls, langs, extra)
  34990. }
  34991. XFcStrListDone(tls, list)
  34992. }
  34993. }
  34994. return langs
  34995. }
  34996. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  34997. var langset, set, sl, str, v1 uintptr
  34998. _, _, _, _, _ = langset, set, sl, str, v1
  34999. langset = XFcLangSetCopy(tls, a)
  35000. set = XFcLangSetGetLangs(tls, b)
  35001. sl = XFcStrListCreate(tls, set)
  35002. XFcStrSetDestroy(tls, set)
  35003. for {
  35004. v1 = XFcStrListNext(tls, sl)
  35005. str = v1
  35006. if !(v1 != 0) {
  35007. break
  35008. }
  35009. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  35010. }
  35011. XFcStrListDone(tls, sl)
  35012. return langset
  35013. }
  35014. func XFcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  35015. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetAdd))
  35016. }
  35017. func XFcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  35018. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetDel))
  35019. }
  35020. const m_FC_LIST_HASH_SIZE = 4099
  35021. /*
  35022. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  35023. *
  35024. * @APPLE_LICENSE_HEADER_START@
  35025. *
  35026. * This file contains Original Code and/or Modifications of Original Code
  35027. * as defined in and that are subject to the Apple Public Source License
  35028. * Version 2.0 (the 'License'). You may not use this file except in
  35029. * compliance with the License. Please obtain a copy of the License at
  35030. * http://www.opensource.apple.com/apsl/ and read it before using this
  35031. * file.
  35032. *
  35033. * The Original Code and all software distributed under the License are
  35034. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  35035. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  35036. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  35037. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  35038. * Please see the License for the specific language governing rights and
  35039. * limitations under the License.
  35040. *
  35041. * @APPLE_LICENSE_HEADER_END@
  35042. */
  35043. /*-
  35044. * Copyright (c) 1990, 1993
  35045. * The Regents of the University of California. All rights reserved.
  35046. *
  35047. * Redistribution and use in source and binary forms, with or without
  35048. * modification, are permitted provided that the following conditions
  35049. * are met:
  35050. * 1. Redistributions of source code must retain the above copyright
  35051. * notice, this list of conditions and the following disclaimer.
  35052. * 2. Redistributions in binary form must reproduce the above copyright
  35053. * notice, this list of conditions and the following disclaimer in the
  35054. * documentation and/or other materials provided with the distribution.
  35055. * 3. All advertising materials mentioning features or use of this software
  35056. * must display the following acknowledgement:
  35057. * This product includes software developed by the University of
  35058. * California, Berkeley and its contributors.
  35059. * 4. Neither the name of the University nor the names of its contributors
  35060. * may be used to endorse or promote products derived from this software
  35061. * without specific prior written permission.
  35062. *
  35063. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  35064. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35065. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  35066. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  35067. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  35068. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  35069. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35070. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35071. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35072. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35073. * SUCH DAMAGE.
  35074. *
  35075. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  35076. */
  35077. /*
  35078. * Copyright (c) 2023 Apple Inc. All rights reserved.
  35079. *
  35080. * @APPLE_LICENSE_HEADER_START@
  35081. *
  35082. * This file contains Original Code and/or Modifications of Original Code
  35083. * as defined in and that are subject to the Apple Public Source License
  35084. * Version 2.0 (the 'License'). You may not use this file except in
  35085. * compliance with the License. Please obtain a copy of the License at
  35086. * http://www.opensource.apple.com/apsl/ and read it before using this
  35087. * file.
  35088. *
  35089. * The Original Code and all software distributed under the License are
  35090. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  35091. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  35092. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  35093. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  35094. * Please see the License for the specific language governing rights and
  35095. * limitations under the License.
  35096. *
  35097. * @APPLE_LICENSE_HEADER_END@
  35098. */
  35099. /*-
  35100. * Copyright (c) 1990, 1993
  35101. * The Regents of the University of California. All rights reserved.
  35102. *
  35103. * Redistribution and use in source and binary forms, with or without
  35104. * modification, are permitted provided that the following conditions
  35105. * are met:
  35106. * 1. Redistributions of source code must retain the above copyright
  35107. * notice, this list of conditions and the following disclaimer.
  35108. * 2. Redistributions in binary form must reproduce the above copyright
  35109. * notice, this list of conditions and the following disclaimer in the
  35110. * documentation and/or other materials provided with the distribution.
  35111. * 3. All advertising materials mentioning features or use of this software
  35112. * must display the following acknowledgement:
  35113. * This product includes software developed by the University of
  35114. * California, Berkeley and its contributors.
  35115. * 4. Neither the name of the University nor the names of its contributors
  35116. * may be used to endorse or promote products derived from this software
  35117. * without specific prior written permission.
  35118. *
  35119. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  35120. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  35121. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  35122. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  35123. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  35124. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  35125. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  35126. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  35127. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  35128. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  35129. * SUCH DAMAGE.
  35130. *
  35131. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  35132. */
  35133. func XFcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  35134. var os uintptr
  35135. _ = os
  35136. os = libc.Xmalloc(tls, uint64(16))
  35137. if !(os != 0) {
  35138. return uintptr(0)
  35139. }
  35140. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  35141. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  35142. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  35143. return os
  35144. }
  35145. func XFcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  35146. var c, high, low, mid, s int32
  35147. var objects uintptr
  35148. _, _, _, _, _, _ = c, high, low, mid, objects, s
  35149. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  35150. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  35151. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  35152. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint64FromInt32(s)*uint64(8))
  35153. } else {
  35154. objects = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(8))
  35155. }
  35156. if !(objects != 0) {
  35157. return m_FcFalse
  35158. }
  35159. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  35160. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  35161. }
  35162. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  35163. low = 0
  35164. mid = 0
  35165. c = int32(1)
  35166. object = libc.Xstrdup(tls, object)
  35167. for low <= high {
  35168. mid = (low + high) >> int32(1)
  35169. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  35170. if c == 0 {
  35171. libc.Xfree(tls, object)
  35172. return int32(m_FcTrue)
  35173. }
  35174. if c < 0 {
  35175. low = mid + int32(1)
  35176. } else {
  35177. high = mid - int32(1)
  35178. }
  35179. }
  35180. if c < 0 {
  35181. mid++
  35182. }
  35183. libc.X__builtin___memmove_chk(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8, libc.Uint64FromInt32((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint64(8), ^t__predefined_size_t(0))
  35184. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  35185. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  35186. return int32(m_FcTrue)
  35187. }
  35188. func XFcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  35189. var i int32
  35190. _ = i
  35191. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  35192. i = 0
  35193. for {
  35194. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35195. break
  35196. }
  35197. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  35198. goto _1
  35199. _1:
  35200. ;
  35201. i++
  35202. }
  35203. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  35204. }
  35205. libc.Xfree(tls, os)
  35206. }
  35207. func XFcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  35208. var __ob__, __os__, ret uintptr
  35209. _, _, _ = __ob__, __os__, ret
  35210. ret = uintptr(0)
  35211. __os__ = XFcObjectSetCreate(tls)
  35212. if !(__os__ != 0) {
  35213. goto _FcObjectSetVapBuild_bail0
  35214. }
  35215. __ob__ = first
  35216. for __ob__ != 0 {
  35217. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  35218. goto _FcObjectSetVapBuild_bail1
  35219. }
  35220. __ob__ = libc.VaUintptr(&va)
  35221. }
  35222. ret = __os__
  35223. goto _FcObjectSetVapBuild_bail1
  35224. _FcObjectSetVapBuild_bail1:
  35225. ;
  35226. if !(ret != 0) && __os__ != 0 {
  35227. XFcObjectSetDestroy(tls, __os__)
  35228. }
  35229. goto _FcObjectSetVapBuild_bail0
  35230. _FcObjectSetVapBuild_bail0:
  35231. ;
  35232. return ret
  35233. }
  35234. func XFcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  35235. var __ob__, __os__, os uintptr
  35236. var va Tva_list
  35237. _, _, _, _ = __ob__, __os__, os, va
  35238. va = va1
  35239. os = uintptr(0)
  35240. __os__ = XFcObjectSetCreate(tls)
  35241. if !(__os__ != 0) {
  35242. goto _FcObjectSetVapBuild_bail0
  35243. }
  35244. __ob__ = first
  35245. for __ob__ != 0 {
  35246. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  35247. goto _FcObjectSetVapBuild_bail1
  35248. }
  35249. __ob__ = libc.VaUintptr(&va)
  35250. }
  35251. os = __os__
  35252. goto _FcObjectSetVapBuild_bail1
  35253. _FcObjectSetVapBuild_bail1:
  35254. ;
  35255. if !(os != 0) && __os__ != 0 {
  35256. XFcObjectSetDestroy(tls, __os__)
  35257. }
  35258. goto _FcObjectSetVapBuild_bail0
  35259. _FcObjectSetVapBuild_bail0:
  35260. ;
  35261. _ = va
  35262. return os
  35263. }
  35264. // C documentation
  35265. //
  35266. // /*
  35267. // * Font must have a containing value for every value in the pattern
  35268. // */
  35269. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  35270. /* font */
  35271. var fnt, pat TFcValueListPtr
  35272. var v3, v4 uintptr
  35273. _, _, _, _ = fnt, pat, v3, v4
  35274. pat = patOrig
  35275. for {
  35276. if !(pat != libc.UintptrFromInt32(0)) {
  35277. break
  35278. }
  35279. fnt = fntOrig
  35280. for {
  35281. if !(fnt != libc.UintptrFromInt32(0)) {
  35282. break
  35283. }
  35284. /*
  35285. * make sure the font 'contains' the pattern.
  35286. * (OpListing is OpContains except for strings
  35287. * where it requires an exact match)
  35288. */
  35289. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  35290. break
  35291. }
  35292. goto _2
  35293. _2:
  35294. ;
  35295. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  35296. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35297. } else {
  35298. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  35299. }
  35300. fnt = v3
  35301. }
  35302. if fnt == libc.UintptrFromInt32(0) {
  35303. return m_FcFalse
  35304. }
  35305. goto _1
  35306. _1:
  35307. ;
  35308. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  35309. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35310. } else {
  35311. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  35312. }
  35313. pat = v4
  35314. }
  35315. return int32(m_FcTrue)
  35316. }
  35317. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  35318. var v1, v2 TFcValueListPtr
  35319. var v3, v4, v7, v8 uintptr
  35320. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  35321. v1 = v1orig
  35322. for {
  35323. if !(v1 != libc.UintptrFromInt32(0)) {
  35324. break
  35325. }
  35326. v2 = v2orig
  35327. for {
  35328. if !(v2 != libc.UintptrFromInt32(0)) {
  35329. break
  35330. }
  35331. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  35332. break
  35333. }
  35334. goto _2
  35335. _2:
  35336. ;
  35337. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  35338. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35339. } else {
  35340. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  35341. }
  35342. v2 = v3
  35343. }
  35344. if v2 == libc.UintptrFromInt32(0) {
  35345. return m_FcFalse
  35346. }
  35347. goto _1
  35348. _1:
  35349. ;
  35350. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  35351. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35352. } else {
  35353. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  35354. }
  35355. v1 = v4
  35356. }
  35357. v2 = v2orig
  35358. for {
  35359. if !(v2 != libc.UintptrFromInt32(0)) {
  35360. break
  35361. }
  35362. v1 = v1orig
  35363. for {
  35364. if !(v1 != libc.UintptrFromInt32(0)) {
  35365. break
  35366. }
  35367. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  35368. break
  35369. }
  35370. goto _6
  35371. _6:
  35372. ;
  35373. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  35374. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35375. } else {
  35376. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  35377. }
  35378. v1 = v7
  35379. }
  35380. if v1 == libc.UintptrFromInt32(0) {
  35381. return m_FcFalse
  35382. }
  35383. goto _5
  35384. _5:
  35385. ;
  35386. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  35387. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35388. } else {
  35389. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  35390. }
  35391. v2 = v8
  35392. }
  35393. return int32(m_FcTrue)
  35394. }
  35395. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  35396. var e1, e2, v2, v3 uintptr
  35397. var i int32
  35398. _, _, _, _, _ = e1, e2, i, v2, v3
  35399. i = 0
  35400. for {
  35401. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35402. break
  35403. }
  35404. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  35405. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  35406. if !(e1 != 0) && !(e2 != 0) {
  35407. goto _1
  35408. }
  35409. if !(e1 != 0) || !(e2 != 0) {
  35410. return m_FcFalse
  35411. }
  35412. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  35413. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35414. } else {
  35415. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  35416. }
  35417. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  35418. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35419. } else {
  35420. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  35421. }
  35422. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  35423. return m_FcFalse
  35424. }
  35425. goto _1
  35426. _1:
  35427. ;
  35428. i++
  35429. }
  35430. return int32(m_FcTrue)
  35431. }
  35432. /*
  35433. * FcTrue iff all objects in "p" match "font"
  35434. */
  35435. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  35436. var fe, pe, v2, v3 uintptr
  35437. var i int32
  35438. _, _, _, _, _ = fe, i, pe, v2, v3
  35439. if !(p != 0) {
  35440. return m_FcFalse
  35441. }
  35442. i = 0
  35443. for {
  35444. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  35445. break
  35446. }
  35447. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  35448. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  35449. /* "namelang" object is the alias object to change "familylang",
  35450. * "stylelang" and "fullnamelang" object all together. it won't be
  35451. * available on the font pattern. so checking its availability
  35452. * causes no results. we should ignore it here.
  35453. */
  35454. goto _1
  35455. }
  35456. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  35457. if !(fe != 0) {
  35458. return m_FcFalse
  35459. }
  35460. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  35461. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35462. } else {
  35463. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  35464. }
  35465. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  35466. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35467. } else {
  35468. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  35469. }
  35470. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  35471. return m_FcFalse
  35472. }
  35473. goto _1
  35474. _1:
  35475. ;
  35476. i++
  35477. }
  35478. return int32(m_FcTrue)
  35479. }
  35480. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  35481. var xx, xy, yx, yy int32
  35482. _, _, _, _ = xx, xy, yx, yy
  35483. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  35484. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  35485. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  35486. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  35487. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  35488. }
  35489. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  35490. bp := tls.Alloc(16)
  35491. defer tls.Free(16)
  35492. var _ /* v at bp+0 */ TFcValue
  35493. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  35494. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  35495. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35496. case int32(_FcTypeUnknown):
  35497. fallthrough
  35498. case int32(_FcTypeVoid):
  35499. return uint32(0)
  35500. case int32(_FcTypeInteger):
  35501. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  35502. case int32(_FcTypeDouble):
  35503. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  35504. case int32(_FcTypeString):
  35505. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35506. case int32(_FcTypeBool):
  35507. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  35508. case int32(_FcTypeMatrix):
  35509. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35510. case int32(_FcTypeCharSet):
  35511. return XFcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35512. case int32(_FcTypeFTFace):
  35513. return libc.Uint32FromInt64(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  35514. case int32(_FcTypeLangSet):
  35515. return XFcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35516. case int32(_FcTypeRange):
  35517. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35518. }
  35519. return uint32(0)
  35520. }
  35521. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  35522. var h TFcChar32
  35523. var v1 uintptr
  35524. _, _ = h, v1
  35525. h = uint32(0)
  35526. for list != libc.UintptrFromInt32(0) {
  35527. h = h ^ _FcListValueHash(tls, list+8)
  35528. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  35529. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35530. } else {
  35531. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  35532. }
  35533. list = v1
  35534. }
  35535. return h
  35536. }
  35537. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  35538. var e, v2 uintptr
  35539. var h TFcChar32
  35540. var n int32
  35541. _, _, _, _ = e, h, n, v2
  35542. h = uint32(0)
  35543. n = 0
  35544. for {
  35545. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35546. break
  35547. }
  35548. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  35549. if e != 0 {
  35550. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35551. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35552. } else {
  35553. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35554. }
  35555. h = h ^ _FcListValueListHash(tls, v2)
  35556. }
  35557. goto _1
  35558. _1:
  35559. ;
  35560. n++
  35561. }
  35562. return h
  35563. }
  35564. type TFcListBucket = struct {
  35565. Fnext uintptr
  35566. Fhash TFcChar32
  35567. Fpattern uintptr
  35568. }
  35569. type T_FcListBucket = TFcListBucket
  35570. type TFcListHashTable = struct {
  35571. Fentries int32
  35572. Fbuckets [4099]uintptr
  35573. }
  35574. type T_FcListHashTable = TFcListHashTable
  35575. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  35576. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  35577. libc.X__builtin___memset_chk(tls, table+8, int32('\000'), uint64(32792), ^t__predefined_size_t(0))
  35578. }
  35579. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  35580. var bucket, next uintptr
  35581. var i int32
  35582. _, _, _ = bucket, i, next
  35583. i = 0
  35584. for {
  35585. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  35586. break
  35587. }
  35588. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  35589. for {
  35590. if !(bucket != 0) {
  35591. break
  35592. }
  35593. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  35594. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  35595. libc.Xfree(tls, bucket)
  35596. goto _2
  35597. _2:
  35598. ;
  35599. bucket = next
  35600. }
  35601. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  35602. goto _1
  35603. _1:
  35604. ;
  35605. i++
  35606. }
  35607. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  35608. }
  35609. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  35610. bp := tls.Alloc(16)
  35611. defer tls.Free(16)
  35612. var defidx, i, idx, v4, v5 int32
  35613. var e, v2, v3 uintptr
  35614. var res TFcLangResult
  35615. var v TFcValueListPtr
  35616. var _ /* value at bp+0 */ TFcValue
  35617. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  35618. e = XFcPatternObjectFindElt(tls, font, object)
  35619. idx = -int32(1)
  35620. defidx = -int32(1)
  35621. if e != 0 {
  35622. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35623. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35624. } else {
  35625. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35626. }
  35627. v = v2
  35628. i = libc.Int32FromInt32(0)
  35629. for {
  35630. if !(v != 0) {
  35631. break
  35632. }
  35633. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  35634. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  35635. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  35636. if res == int32(_FcLangEqual) {
  35637. return i
  35638. }
  35639. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  35640. idx = i
  35641. }
  35642. if defidx < 0 {
  35643. /* workaround for fonts that has non-English value
  35644. * at the head of values.
  35645. */
  35646. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2752)
  35647. if res == int32(_FcLangEqual) {
  35648. defidx = i
  35649. }
  35650. }
  35651. }
  35652. goto _1
  35653. _1:
  35654. ;
  35655. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  35656. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35657. } else {
  35658. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35659. }
  35660. v = v3
  35661. i++
  35662. }
  35663. }
  35664. if idx > 0 {
  35665. v4 = idx
  35666. } else {
  35667. if defidx > 0 {
  35668. v5 = defidx
  35669. } else {
  35670. v5 = 0
  35671. }
  35672. v4 = v5
  35673. }
  35674. return v4
  35675. }
  35676. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  35677. var bucket, e, prev, v2, v5, v6 uintptr
  35678. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  35679. var hash TFcChar32
  35680. var v TFcValueListPtr
  35681. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  35682. familyidx = -int32(1)
  35683. fullnameidx = -int32(1)
  35684. styleidx = -int32(1)
  35685. defidx = 0
  35686. hash = _FcListPatternHash(tls, font, os)
  35687. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  35688. for {
  35689. v2 = *(*uintptr)(unsafe.Pointer(prev))
  35690. bucket = v2
  35691. if !(v2 != 0) {
  35692. break
  35693. }
  35694. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  35695. return int32(m_FcTrue)
  35696. }
  35697. goto _1
  35698. _1:
  35699. ;
  35700. prev = bucket
  35701. }
  35702. bucket = libc.Xmalloc(tls, uint64(24))
  35703. if !(bucket != 0) {
  35704. goto bail0
  35705. }
  35706. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  35707. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  35708. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XFcPatternCreate(tls)
  35709. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  35710. goto bail1
  35711. }
  35712. o = 0
  35713. for {
  35714. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  35715. break
  35716. }
  35717. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6100) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6107) != 0) {
  35718. if familyidx < 0 {
  35719. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  35720. }
  35721. defidx = familyidx
  35722. } else {
  35723. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6118) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6127) != 0) {
  35724. if fullnameidx < 0 {
  35725. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  35726. }
  35727. defidx = fullnameidx
  35728. } else {
  35729. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4688) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6140) != 0) {
  35730. if styleidx < 0 {
  35731. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  35732. }
  35733. defidx = styleidx
  35734. } else {
  35735. defidx = 0
  35736. }
  35737. }
  35738. }
  35739. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  35740. if e != 0 {
  35741. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  35742. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35743. } else {
  35744. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  35745. }
  35746. v = v5
  35747. idx = libc.Int32FromInt32(0)
  35748. for {
  35749. if !(v != 0) {
  35750. break
  35751. }
  35752. if !(XFcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  35753. goto bail2
  35754. }
  35755. goto _4
  35756. _4:
  35757. ;
  35758. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  35759. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35760. } else {
  35761. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35762. }
  35763. v = v6
  35764. idx++
  35765. }
  35766. }
  35767. goto _3
  35768. _3:
  35769. ;
  35770. o++
  35771. }
  35772. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  35773. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  35774. return int32(m_FcTrue)
  35775. goto bail2
  35776. bail2:
  35777. ;
  35778. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  35779. goto bail1
  35780. bail1:
  35781. ;
  35782. libc.Xfree(tls, bucket)
  35783. goto bail0
  35784. bail0:
  35785. ;
  35786. return m_FcFalse
  35787. return r
  35788. }
  35789. func XFcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  35790. bp := tls.Alloc(32816)
  35791. defer tls.Free(32816)
  35792. var bucket, ret, s, v4 uintptr
  35793. var destroy_os, f, i, set int32
  35794. var _ /* lang at bp+32800 */ uintptr
  35795. var _ /* table at bp+0 */ TFcListHashTable
  35796. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  35797. destroy_os = 0
  35798. if !(config != 0) {
  35799. if !(XFcInitBringUptoDate(tls) != 0) {
  35800. goto bail0
  35801. }
  35802. }
  35803. config = XFcConfigReference(tls, config)
  35804. if !(config != 0) {
  35805. goto bail0
  35806. }
  35807. _FcListHashTableInit(tls, bp)
  35808. if !(os != 0) {
  35809. os = XFcObjectGetSet(tls)
  35810. destroy_os = int32(1)
  35811. }
  35812. /*
  35813. * Walk all available fonts adding those that
  35814. * match to the hash table
  35815. */
  35816. set = 0
  35817. for {
  35818. if !(set < nsets) {
  35819. break
  35820. }
  35821. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  35822. if !(s != 0) {
  35823. goto _1
  35824. }
  35825. f = 0
  35826. for {
  35827. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  35828. break
  35829. }
  35830. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  35831. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  35832. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  35833. }
  35834. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  35835. goto bail1
  35836. }
  35837. }
  35838. goto _2
  35839. _2:
  35840. ;
  35841. f++
  35842. }
  35843. goto _1
  35844. _1:
  35845. ;
  35846. set++
  35847. }
  35848. /*
  35849. * Walk the hash table and build
  35850. * a font set
  35851. */
  35852. ret = XFcFontSetCreate(tls)
  35853. if !(ret != 0) {
  35854. goto bail1
  35855. }
  35856. i = 0
  35857. for {
  35858. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  35859. break
  35860. }
  35861. for {
  35862. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  35863. bucket = v4
  35864. if !(v4 != 0) {
  35865. break
  35866. }
  35867. if !(XFcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  35868. goto bail2
  35869. }
  35870. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  35871. libc.Xfree(tls, bucket)
  35872. }
  35873. goto _3
  35874. _3:
  35875. ;
  35876. i++
  35877. }
  35878. if destroy_os != 0 {
  35879. XFcObjectSetDestroy(tls, os)
  35880. }
  35881. XFcConfigDestroy(tls, config)
  35882. return ret
  35883. goto bail2
  35884. bail2:
  35885. ;
  35886. XFcFontSetDestroy(tls, ret)
  35887. goto bail1
  35888. bail1:
  35889. ;
  35890. _FcListHashTableCleanup(tls, bp)
  35891. XFcConfigDestroy(tls, config)
  35892. goto bail0
  35893. bail0:
  35894. ;
  35895. if destroy_os != 0 {
  35896. XFcObjectSetDestroy(tls, os)
  35897. }
  35898. return uintptr(0)
  35899. }
  35900. func XFcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  35901. bp := tls.Alloc(16)
  35902. defer tls.Free(16)
  35903. var nsets, v1, v2 int32
  35904. var ret uintptr
  35905. var _ /* sets at bp+0 */ [2]uintptr
  35906. _, _, _, _ = nsets, ret, v1, v2
  35907. if !(config != 0) {
  35908. if !(XFcInitBringUptoDate(tls) != 0) {
  35909. return uintptr(0)
  35910. }
  35911. }
  35912. config = XFcConfigReference(tls, config)
  35913. if !(config != 0) {
  35914. return libc.UintptrFromInt32(0)
  35915. }
  35916. nsets = 0
  35917. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  35918. v1 = nsets
  35919. nsets++
  35920. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  35921. }
  35922. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  35923. v2 = nsets
  35924. nsets++
  35925. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  35926. }
  35927. ret = XFcFontSetList(tls, config, bp, nsets, p, os)
  35928. XFcConfigDestroy(tls, config)
  35929. return ret
  35930. }
  35931. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  35932. var v, v1, v2 float64
  35933. _, _, _ = v, v1, v2
  35934. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  35935. case int32(_FcTypeInteger):
  35936. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  35937. case int32(_FcTypeDouble):
  35938. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  35939. default:
  35940. return -libc.Float64FromFloat64(1)
  35941. }
  35942. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  35943. case int32(_FcTypeInteger):
  35944. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  35945. case int32(_FcTypeDouble):
  35946. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  35947. default:
  35948. return -libc.Float64FromFloat64(1)
  35949. }
  35950. v = v2 - v1
  35951. if v < libc.Float64FromInt32(0) {
  35952. v = -v
  35953. }
  35954. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  35955. return v
  35956. }
  35957. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35958. var v11, v21 uintptr
  35959. _, _ = v11, v21
  35960. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35961. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35962. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35963. } else {
  35964. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35965. }
  35966. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35967. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35968. } else {
  35969. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35970. }
  35971. return float64(libc.Bool32(float64(XFcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  35972. }
  35973. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35974. var v1_string, v2_string, v11, v21 uintptr
  35975. var v3, v4 int32
  35976. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  35977. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35978. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35979. } else {
  35980. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35981. }
  35982. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  35983. * families are always FcTypeString. */
  35984. v1_string = v11
  35985. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35986. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35987. } else {
  35988. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35989. }
  35990. v2_string = v21
  35991. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35992. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  35993. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  35994. } else {
  35995. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  35996. }
  35997. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  35998. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  35999. } else {
  36000. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  36001. }
  36002. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  36003. return float64(1)
  36004. }
  36005. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  36006. }
  36007. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36008. var len1, len2, mlen Tsize_t
  36009. var n, v3, v4 int32
  36010. var v1_string, v2_string, v11, v21 uintptr
  36011. var v5 uint64
  36012. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  36013. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36014. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36015. } else {
  36016. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36017. }
  36018. v1_string = v11
  36019. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36020. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36021. } else {
  36022. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36023. }
  36024. v2_string = v21
  36025. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36026. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  36027. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  36028. } else {
  36029. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  36030. }
  36031. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  36032. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  36033. } else {
  36034. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  36035. }
  36036. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  36037. return float64(1)
  36038. }
  36039. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6150)
  36040. len1 = libc.Xstrlen(tls, v1_string)
  36041. len2 = libc.Xstrlen(tls, v2_string)
  36042. if len1 > len2 {
  36043. v5 = len1
  36044. } else {
  36045. v5 = len2
  36046. }
  36047. mlen = v5
  36048. return float64(mlen-libc.Uint64FromInt32(n)) / float64(mlen)
  36049. }
  36050. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36051. var result TFcLangResult
  36052. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  36053. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  36054. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  36055. case int32(_FcTypeLangSet):
  36056. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  36057. case int32(_FcTypeLangSet):
  36058. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36059. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36060. } else {
  36061. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36062. }
  36063. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36064. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36065. } else {
  36066. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36067. }
  36068. result = XFcLangSetCompare(tls, v11, v21)
  36069. case int32(_FcTypeString):
  36070. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36071. v3 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36072. } else {
  36073. v3 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36074. }
  36075. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36076. v4 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36077. } else {
  36078. v4 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36079. }
  36080. result = XFcLangSetHasLang(tls, v3, v4)
  36081. default:
  36082. return -libc.Float64FromFloat64(1)
  36083. }
  36084. case int32(_FcTypeString):
  36085. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  36086. case int32(_FcTypeLangSet):
  36087. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36088. v5 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36089. } else {
  36090. v5 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36091. }
  36092. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36093. v6 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36094. } else {
  36095. v6 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36096. }
  36097. result = XFcLangSetHasLang(tls, v5, v6)
  36098. case int32(_FcTypeString):
  36099. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36100. v7 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36101. } else {
  36102. v7 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36103. }
  36104. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36105. v8 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36106. } else {
  36107. v8 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36108. }
  36109. result = XFcLangCompare(tls, v7, v8)
  36110. default:
  36111. return -libc.Float64FromFloat64(1)
  36112. }
  36113. default:
  36114. return -libc.Float64FromFloat64(1)
  36115. }
  36116. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36117. switch result {
  36118. case int32(_FcLangEqual):
  36119. return libc.Float64FromInt32(0)
  36120. case int32(_FcLangDifferentCountry):
  36121. return libc.Float64FromInt32(1)
  36122. case int32(_FcLangDifferentLang):
  36123. fallthrough
  36124. default:
  36125. return libc.Float64FromInt32(2)
  36126. }
  36127. return r
  36128. }
  36129. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36130. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  36131. return -libc.Float64FromFloat64(1)
  36132. }
  36133. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  36134. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  36135. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  36136. } else {
  36137. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  36138. }
  36139. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  36140. }
  36141. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36142. var v11, v21 uintptr
  36143. _, _ = v11, v21
  36144. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  36145. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36146. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36147. } else {
  36148. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36149. }
  36150. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36151. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36152. } else {
  36153. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36154. }
  36155. return float64(XFcCharSetSubtractCount(tls, v11, v21))
  36156. }
  36157. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36158. bp := tls.Alloc(32)
  36159. defer tls.Free(32)
  36160. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  36161. var _ /* value1 at bp+0 */ TFcValue
  36162. var _ /* value2 at bp+16 */ TFcValue
  36163. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  36164. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  36165. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  36166. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  36167. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  36168. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36169. case int32(_FcTypeInteger):
  36170. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36171. e1 = v11
  36172. b1 = v11
  36173. case int32(_FcTypeDouble):
  36174. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  36175. e1 = v21
  36176. b1 = v21
  36177. case int32(_FcTypeRange):
  36178. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  36179. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  36180. default:
  36181. return float64(-libc.Int32FromInt32(1))
  36182. }
  36183. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36184. case int32(_FcTypeInteger):
  36185. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36186. e2 = v3
  36187. b2 = v3
  36188. case int32(_FcTypeDouble):
  36189. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  36190. e2 = v4
  36191. b2 = v4
  36192. case int32(_FcTypeRange):
  36193. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  36194. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  36195. default:
  36196. return float64(-libc.Int32FromInt32(1))
  36197. }
  36198. if e1 < b2 {
  36199. d = b2
  36200. } else {
  36201. if e2 < b1 {
  36202. d = e2
  36203. } else {
  36204. if b1 > b2 {
  36205. v5 = b1
  36206. } else {
  36207. v5 = b2
  36208. }
  36209. if e1 < e2 {
  36210. v6 = e1
  36211. } else {
  36212. v6 = e2
  36213. }
  36214. d = (v5 + v6) * float64(0.5)
  36215. }
  36216. }
  36217. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  36218. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  36219. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  36220. if e1 < b2 || e2 < b1 {
  36221. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  36222. v7 = libc.Xfabs(tls, b2-e1)
  36223. } else {
  36224. v7 = libc.Xfabs(tls, b1-e2)
  36225. }
  36226. return v7
  36227. } else {
  36228. return float64(0)
  36229. }
  36230. return r
  36231. }
  36232. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36233. bp := tls.Alloc(32)
  36234. defer tls.Free(32)
  36235. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  36236. var _ /* value1 at bp+0 */ TFcValue
  36237. var _ /* value2 at bp+16 */ TFcValue
  36238. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  36239. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  36240. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  36241. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  36242. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  36243. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36244. case int32(_FcTypeInteger):
  36245. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36246. e1 = v11
  36247. b1 = v11
  36248. case int32(_FcTypeDouble):
  36249. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  36250. e1 = v21
  36251. b1 = v21
  36252. case int32(_FcTypeRange):
  36253. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  36254. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  36255. default:
  36256. return float64(-libc.Int32FromInt32(1))
  36257. }
  36258. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  36259. case int32(_FcTypeInteger):
  36260. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  36261. e2 = v3
  36262. b2 = v3
  36263. case int32(_FcTypeDouble):
  36264. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  36265. e2 = v4
  36266. b2 = v4
  36267. case int32(_FcTypeRange):
  36268. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  36269. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  36270. default:
  36271. return float64(-libc.Int32FromInt32(1))
  36272. }
  36273. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  36274. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  36275. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  36276. if e1 < b2 || e2 < b1 {
  36277. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  36278. v5 = libc.Xfabs(tls, b2-e1)
  36279. } else {
  36280. v5 = libc.Xfabs(tls, b1-e2)
  36281. }
  36282. return v5
  36283. }
  36284. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  36285. return float64(1e-15)
  36286. } else {
  36287. return float64(0)
  36288. }
  36289. return r
  36290. }
  36291. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  36292. var s1, s2, v11, v21 uintptr
  36293. _, _, _, _ = s1, s2, v11, v21
  36294. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  36295. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  36296. } else {
  36297. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  36298. }
  36299. s1 = v11
  36300. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  36301. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  36302. } else {
  36303. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  36304. }
  36305. s2 = v21
  36306. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  36307. if XFcStrCmp(tls, s1, s2) == 0 {
  36308. return float64(0)
  36309. } else {
  36310. if XFcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  36311. return float64(1)
  36312. } else {
  36313. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  36314. return float64(2)
  36315. } else {
  36316. return float64(3)
  36317. }
  36318. }
  36319. }
  36320. return r
  36321. }
  36322. /* Define priorities to -1 for objects that don't have a compare function. */
  36323. type TFcMatcherPriorityDummy = int32
  36324. /* Define priorities to -1 for objects that don't have a compare function. */
  36325. type __FcMatcherPriorityDummy = int32
  36326. const _PRI_FAMILYLANG_STRONG = -1
  36327. const _PRI_FAMILYLANG_WEAK = -1
  36328. const _PRI_STYLELANG_STRONG = -1
  36329. const _PRI_STYLELANG_WEAK = -1
  36330. const _PRI_FULLNAME_STRONG = -1
  36331. const _PRI_FULLNAME_WEAK = -1
  36332. const _PRI_FULLNAMELANG_STRONG = -1
  36333. const _PRI_FULLNAMELANG_WEAK = -1
  36334. const _PRI_ASPECT_STRONG = -1
  36335. const _PRI_ASPECT_WEAK = -1
  36336. const _PRI_HINT_STYLE_STRONG = -1
  36337. const _PRI_HINT_STYLE_WEAK = -1
  36338. const _PRI_HINTING_STRONG = -1
  36339. const _PRI_HINTING_WEAK = -1
  36340. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  36341. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  36342. const _PRI_AUTOHINT_STRONG = -1
  36343. const _PRI_AUTOHINT_WEAK = -1
  36344. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  36345. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  36346. const _PRI_INDEX_STRONG = -1
  36347. const _PRI_INDEX_WEAK = -1
  36348. const _PRI_DPI_STRONG = -1
  36349. const _PRI_DPI_WEAK = -1
  36350. const _PRI_RGBA_STRONG = -1
  36351. const _PRI_RGBA_WEAK = -1
  36352. const _PRI_SCALE_STRONG = -1
  36353. const _PRI_SCALE_WEAK = -1
  36354. const _PRI_MINSPACE_STRONG = -1
  36355. const _PRI_MINSPACE_WEAK = -1
  36356. const _PRI_CHARWIDTH_STRONG = -1
  36357. const _PRI_CHARWIDTH_WEAK = -1
  36358. const _PRI_CHAR_HEIGHT_STRONG = -1
  36359. const _PRI_CHAR_HEIGHT_WEAK = -1
  36360. const _PRI_MATRIX_STRONG = -1
  36361. const _PRI_MATRIX_WEAK = -1
  36362. const _PRI_CAPABILITY_STRONG = -1
  36363. const _PRI_CAPABILITY_WEAK = -1
  36364. const _PRI_EMBOLDEN_STRONG = -1
  36365. const _PRI_EMBOLDEN_WEAK = -1
  36366. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  36367. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  36368. const _PRI_LCD_FILTER_STRONG = -1
  36369. const _PRI_LCD_FILTER_WEAK = -1
  36370. const _PRI_NAMELANG_STRONG = -1
  36371. const _PRI_NAMELANG_WEAK = -1
  36372. const _PRI_FONT_FEATURES_STRONG = -1
  36373. const _PRI_FONT_FEATURES_WEAK = -1
  36374. const _PRI_PRGNAME_STRONG = -1
  36375. const _PRI_PRGNAME_WEAK = -1
  36376. const _PRI_HASH_STRONG = -1
  36377. const _PRI_HASH_WEAK = -1
  36378. const _PRI_FONT_VARIATIONS_STRONG = -1
  36379. const _PRI_FONT_VARIATIONS_WEAK = -1
  36380. /* Canonical match priority order. */
  36381. type TFcMatcherPriority = int32
  36382. /* Canonical match priority order. */
  36383. type __FcMatcherPriority = int32
  36384. const _PRI_FILE = 0
  36385. const _PRI_FILE_STRONG = 0
  36386. const _PRI_FILE_WEAK = 0
  36387. const _PRI_FONTFORMAT = 1
  36388. const _PRI_FONTFORMAT_STRONG = 1
  36389. const _PRI_FONTFORMAT_WEAK = 1
  36390. const _PRI_VARIABLE = 2
  36391. const _PRI_VARIABLE_STRONG = 2
  36392. const _PRI_VARIABLE_WEAK = 2
  36393. const _PRI_SCALABLE = 3
  36394. const _PRI_SCALABLE_STRONG = 3
  36395. const _PRI_SCALABLE_WEAK = 3
  36396. const _PRI_COLOR = 4
  36397. const _PRI_COLOR_STRONG = 4
  36398. const _PRI_COLOR_WEAK = 4
  36399. const _PRI_FOUNDRY = 5
  36400. const _PRI_FOUNDRY_STRONG = 5
  36401. const _PRI_FOUNDRY_WEAK = 5
  36402. const _PRI_CHARSET = 6
  36403. const _PRI_CHARSET_STRONG = 6
  36404. const _PRI_CHARSET_WEAK = 6
  36405. const _PRI_FAMILY_STRONG = 7
  36406. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  36407. const _PRI_LANG = 9
  36408. const _PRI_LANG_STRONG = 9
  36409. const _PRI_LANG_WEAK = 9
  36410. const _PRI_FAMILY_WEAK = 10
  36411. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  36412. const _PRI_SYMBOL = 12
  36413. const _PRI_SYMBOL_STRONG = 12
  36414. const _PRI_SYMBOL_WEAK = 12
  36415. const _PRI_SPACING = 13
  36416. const _PRI_SPACING_STRONG = 13
  36417. const _PRI_SPACING_WEAK = 13
  36418. const _PRI_SIZE = 14
  36419. const _PRI_SIZE_STRONG = 14
  36420. const _PRI_SIZE_WEAK = 14
  36421. const _PRI_PIXEL_SIZE = 15
  36422. const _PRI_PIXEL_SIZE_STRONG = 15
  36423. const _PRI_PIXEL_SIZE_WEAK = 15
  36424. const _PRI_STYLE = 16
  36425. const _PRI_STYLE_STRONG = 16
  36426. const _PRI_STYLE_WEAK = 16
  36427. const _PRI_SLANT = 17
  36428. const _PRI_SLANT_STRONG = 17
  36429. const _PRI_SLANT_WEAK = 17
  36430. const _PRI_WEIGHT = 18
  36431. const _PRI_WEIGHT_STRONG = 18
  36432. const _PRI_WEIGHT_WEAK = 18
  36433. const _PRI_WIDTH = 19
  36434. const _PRI_WIDTH_STRONG = 19
  36435. const _PRI_WIDTH_WEAK = 19
  36436. const _PRI_FONT_HAS_HINT = 20
  36437. const _PRI_FONT_HAS_HINT_STRONG = 20
  36438. const _PRI_FONT_HAS_HINT_WEAK = 20
  36439. const _PRI_DECORATIVE = 21
  36440. const _PRI_DECORATIVE_STRONG = 21
  36441. const _PRI_DECORATIVE_WEAK = 21
  36442. const _PRI_ANTIALIAS = 22
  36443. const _PRI_ANTIALIAS_STRONG = 22
  36444. const _PRI_ANTIALIAS_WEAK = 22
  36445. const _PRI_RASTERIZER = 23
  36446. const _PRI_RASTERIZER_STRONG = 23
  36447. const _PRI_RASTERIZER_WEAK = 23
  36448. const _PRI_OUTLINE = 24
  36449. const _PRI_OUTLINE_STRONG = 24
  36450. const _PRI_OUTLINE_WEAK = 24
  36451. const _PRI_ORDER = 25
  36452. const _PRI_ORDER_STRONG = 25
  36453. const _PRI_ORDER_WEAK = 25
  36454. const _PRI_FONTVERSION = 26
  36455. const _PRI_FONTVERSION_STRONG = 26
  36456. const _PRI_FONTVERSION_WEAK = 26
  36457. const _PRI_END = 27
  36458. type TFcMatcher = struct {
  36459. Fobject TFcObject
  36460. Fcompare uintptr
  36461. Fstrong int32
  36462. Fweak int32
  36463. }
  36464. type T_FcMatcher = TFcMatcher
  36465. // C documentation
  36466. //
  36467. // /*
  36468. // * Order is significant, it defines the precedence of
  36469. // * each value, earlier values are more significant than
  36470. // * later values
  36471. // */
  36472. var __FcMatchers = [53]TFcMatcher{
  36473. 0: {
  36474. Fstrong: -int32(1),
  36475. Fweak: -int32(1),
  36476. },
  36477. 1: {
  36478. Fobject: int32(_FC_FAMILY_OBJECT),
  36479. Fstrong: int32(_PRI_FAMILY_STRONG),
  36480. Fweak: int32(_PRI_FAMILY_WEAK),
  36481. },
  36482. 2: {
  36483. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  36484. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  36485. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  36486. },
  36487. 3: {
  36488. Fobject: int32(_FC_STYLE_OBJECT),
  36489. Fstrong: int32(_PRI_STYLE_STRONG),
  36490. Fweak: int32(_PRI_STYLE_WEAK),
  36491. },
  36492. 4: {
  36493. Fobject: int32(_FC_STYLELANG_OBJECT),
  36494. Fstrong: int32(_PRI_STYLELANG_STRONG),
  36495. Fweak: int32(_PRI_STYLELANG_WEAK),
  36496. },
  36497. 5: {
  36498. Fobject: int32(_FC_FULLNAME_OBJECT),
  36499. Fstrong: int32(_PRI_FULLNAME_STRONG),
  36500. Fweak: int32(_PRI_FULLNAME_WEAK),
  36501. },
  36502. 6: {
  36503. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  36504. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  36505. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  36506. },
  36507. 7: {
  36508. Fobject: int32(_FC_SLANT_OBJECT),
  36509. Fstrong: int32(_PRI_SLANT_STRONG),
  36510. Fweak: int32(_PRI_SLANT_WEAK),
  36511. },
  36512. 8: {
  36513. Fobject: int32(_FC_WEIGHT_OBJECT),
  36514. Fstrong: int32(_PRI_WEIGHT_STRONG),
  36515. Fweak: int32(_PRI_WEIGHT_WEAK),
  36516. },
  36517. 9: {
  36518. Fobject: int32(_FC_WIDTH_OBJECT),
  36519. Fstrong: int32(_PRI_WIDTH_STRONG),
  36520. Fweak: int32(_PRI_WIDTH_WEAK),
  36521. },
  36522. 10: {
  36523. Fobject: int32(_FC_SIZE_OBJECT),
  36524. Fstrong: int32(_PRI_SIZE_STRONG),
  36525. Fweak: int32(_PRI_SIZE_WEAK),
  36526. },
  36527. 11: {
  36528. Fobject: int32(_FC_ASPECT_OBJECT),
  36529. Fstrong: int32(_PRI_ASPECT_STRONG),
  36530. Fweak: int32(_PRI_ASPECT_WEAK),
  36531. },
  36532. 12: {
  36533. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  36534. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  36535. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  36536. },
  36537. 13: {
  36538. Fobject: int32(_FC_SPACING_OBJECT),
  36539. Fstrong: int32(_PRI_SPACING_STRONG),
  36540. Fweak: int32(_PRI_SPACING_WEAK),
  36541. },
  36542. 14: {
  36543. Fobject: int32(_FC_FOUNDRY_OBJECT),
  36544. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  36545. Fweak: int32(_PRI_FOUNDRY_WEAK),
  36546. },
  36547. 15: {
  36548. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  36549. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  36550. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  36551. },
  36552. 16: {
  36553. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  36554. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  36555. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  36556. },
  36557. 17: {
  36558. Fobject: int32(_FC_HINTING_OBJECT),
  36559. Fstrong: int32(_PRI_HINTING_STRONG),
  36560. Fweak: int32(_PRI_HINTING_WEAK),
  36561. },
  36562. 18: {
  36563. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  36564. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  36565. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  36566. },
  36567. 19: {
  36568. Fobject: int32(_FC_AUTOHINT_OBJECT),
  36569. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  36570. Fweak: int32(_PRI_AUTOHINT_WEAK),
  36571. },
  36572. 20: {
  36573. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  36574. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  36575. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  36576. },
  36577. 21: {
  36578. Fobject: int32(_FC_FILE_OBJECT),
  36579. },
  36580. 22: {
  36581. Fobject: int32(_FC_INDEX_OBJECT),
  36582. Fstrong: int32(_PRI_INDEX_STRONG),
  36583. Fweak: int32(_PRI_INDEX_WEAK),
  36584. },
  36585. 23: {
  36586. Fobject: int32(_FC_RASTERIZER_OBJECT),
  36587. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  36588. Fweak: int32(_PRI_RASTERIZER_WEAK),
  36589. },
  36590. 24: {
  36591. Fobject: int32(_FC_OUTLINE_OBJECT),
  36592. Fstrong: int32(_PRI_OUTLINE_STRONG),
  36593. Fweak: int32(_PRI_OUTLINE_WEAK),
  36594. },
  36595. 25: {
  36596. Fobject: int32(_FC_SCALABLE_OBJECT),
  36597. Fstrong: int32(_PRI_SCALABLE_STRONG),
  36598. Fweak: int32(_PRI_SCALABLE_WEAK),
  36599. },
  36600. 26: {
  36601. Fobject: int32(_FC_DPI_OBJECT),
  36602. Fstrong: int32(_PRI_DPI_STRONG),
  36603. Fweak: int32(_PRI_DPI_WEAK),
  36604. },
  36605. 27: {
  36606. Fobject: int32(_FC_RGBA_OBJECT),
  36607. Fstrong: int32(_PRI_RGBA_STRONG),
  36608. Fweak: int32(_PRI_RGBA_WEAK),
  36609. },
  36610. 28: {
  36611. Fobject: int32(_FC_SCALE_OBJECT),
  36612. Fstrong: int32(_PRI_SCALE_STRONG),
  36613. Fweak: int32(_PRI_SCALE_WEAK),
  36614. },
  36615. 29: {
  36616. Fobject: int32(_FC_MINSPACE_OBJECT),
  36617. Fstrong: int32(_PRI_MINSPACE_STRONG),
  36618. Fweak: int32(_PRI_MINSPACE_WEAK),
  36619. },
  36620. 30: {
  36621. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  36622. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  36623. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  36624. },
  36625. 31: {
  36626. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  36627. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  36628. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  36629. },
  36630. 32: {
  36631. Fobject: int32(_FC_MATRIX_OBJECT),
  36632. Fstrong: int32(_PRI_MATRIX_STRONG),
  36633. Fweak: int32(_PRI_MATRIX_WEAK),
  36634. },
  36635. 33: {
  36636. Fobject: int32(_FC_CHARSET_OBJECT),
  36637. Fstrong: int32(_PRI_CHARSET_STRONG),
  36638. Fweak: int32(_PRI_CHARSET_WEAK),
  36639. },
  36640. 34: {
  36641. Fobject: int32(_FC_LANG_OBJECT),
  36642. Fstrong: int32(_PRI_LANG_STRONG),
  36643. Fweak: int32(_PRI_LANG_WEAK),
  36644. },
  36645. 35: {
  36646. Fobject: int32(_FC_FONTVERSION_OBJECT),
  36647. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  36648. Fweak: int32(_PRI_FONTVERSION_WEAK),
  36649. },
  36650. 36: {
  36651. Fobject: int32(_FC_CAPABILITY_OBJECT),
  36652. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  36653. Fweak: int32(_PRI_CAPABILITY_WEAK),
  36654. },
  36655. 37: {
  36656. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  36657. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  36658. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  36659. },
  36660. 38: {
  36661. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  36662. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  36663. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  36664. },
  36665. 39: {
  36666. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  36667. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  36668. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  36669. },
  36670. 40: {
  36671. Fobject: int32(_FC_DECORATIVE_OBJECT),
  36672. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  36673. Fweak: int32(_PRI_DECORATIVE_WEAK),
  36674. },
  36675. 41: {
  36676. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  36677. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  36678. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  36679. },
  36680. 42: {
  36681. Fobject: int32(_FC_NAMELANG_OBJECT),
  36682. Fstrong: int32(_PRI_NAMELANG_STRONG),
  36683. Fweak: int32(_PRI_NAMELANG_WEAK),
  36684. },
  36685. 43: {
  36686. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  36687. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  36688. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  36689. },
  36690. 44: {
  36691. Fobject: int32(_FC_PRGNAME_OBJECT),
  36692. Fstrong: int32(_PRI_PRGNAME_STRONG),
  36693. Fweak: int32(_PRI_PRGNAME_WEAK),
  36694. },
  36695. 45: {
  36696. Fobject: int32(_FC_HASH_OBJECT),
  36697. Fstrong: int32(_PRI_HASH_STRONG),
  36698. Fweak: int32(_PRI_HASH_WEAK),
  36699. },
  36700. 46: {
  36701. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  36702. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  36703. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  36704. },
  36705. 47: {
  36706. Fobject: int32(_FC_COLOR_OBJECT),
  36707. Fstrong: int32(_PRI_COLOR_STRONG),
  36708. Fweak: int32(_PRI_COLOR_WEAK),
  36709. },
  36710. 48: {
  36711. Fobject: int32(_FC_SYMBOL_OBJECT),
  36712. Fstrong: int32(_PRI_SYMBOL_STRONG),
  36713. Fweak: int32(_PRI_SYMBOL_WEAK),
  36714. },
  36715. 49: {
  36716. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  36717. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  36718. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  36719. },
  36720. 50: {
  36721. Fobject: int32(_FC_VARIABLE_OBJECT),
  36722. Fstrong: int32(_PRI_VARIABLE_STRONG),
  36723. Fweak: int32(_PRI_VARIABLE_WEAK),
  36724. },
  36725. 51: {
  36726. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  36727. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  36728. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  36729. },
  36730. 52: {
  36731. Fobject: int32(_FC_ORDER_OBJECT),
  36732. Fstrong: int32(_PRI_ORDER_STRONG),
  36733. Fweak: int32(_PRI_ORDER_WEAK),
  36734. },
  36735. }
  36736. func init() {
  36737. p := unsafe.Pointer(&__FcMatchers)
  36738. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  36739. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  36740. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  36741. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  36742. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  36743. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  36744. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  36745. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  36746. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  36747. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  36748. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  36749. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  36750. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  36751. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  36752. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  36753. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  36754. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  36755. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  36756. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  36757. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  36758. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  36759. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  36760. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  36761. *(*uintptr)(unsafe.Add(p, 1232)) = __ccgo_fp(_FcCompareBool)
  36762. *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_FcCompareNumber)
  36763. }
  36764. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  36765. if include_lang != 0 {
  36766. switch object {
  36767. case int32(_FC_FAMILYLANG_OBJECT):
  36768. fallthrough
  36769. case int32(_FC_STYLELANG_OBJECT):
  36770. fallthrough
  36771. case int32(_FC_FULLNAMELANG_OBJECT):
  36772. object = int32(_FC_LANG_OBJECT)
  36773. break
  36774. }
  36775. }
  36776. 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) {
  36777. return libc.UintptrFromInt32(0)
  36778. }
  36779. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  36780. }
  36781. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  36782. bp := tls.Alloc(48)
  36783. defer tls.Free(48)
  36784. var best, bestStrong, bestWeak, v float64
  36785. var j, k, pos, strong, weak, v3 int32
  36786. var v1, v2 TFcValueListPtr
  36787. var v4, v5 uintptr
  36788. var _ /* matchValue at bp+0 */ TFcValue
  36789. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  36790. pos = 0
  36791. if !(match != 0) {
  36792. if bestValue != 0 {
  36793. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  36794. }
  36795. if n != 0 {
  36796. *(*int32)(unsafe.Pointer(n)) = 0
  36797. }
  36798. return int32(m_FcTrue)
  36799. }
  36800. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  36801. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  36802. best = float64(1e+99)
  36803. bestStrong = float64(1e+99)
  36804. bestWeak = float64(1e+99)
  36805. v1 = v1orig
  36806. j = libc.Int32FromInt32(0)
  36807. for {
  36808. if !(v1 != 0) {
  36809. break
  36810. }
  36811. v2 = v2orig
  36812. k = libc.Int32FromInt32(0)
  36813. for {
  36814. if !(v2 != 0) {
  36815. break
  36816. }
  36817. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  36818. if v < libc.Float64FromInt32(0) {
  36819. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  36820. return m_FcFalse
  36821. }
  36822. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  36823. v3 = int32(1)
  36824. } else {
  36825. v3 = 0
  36826. }
  36827. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  36828. if v < best {
  36829. if bestValue != 0 {
  36830. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  36831. }
  36832. best = v
  36833. pos = k
  36834. }
  36835. if weak == strong {
  36836. /* found the best possible match */
  36837. if best < libc.Float64FromInt32(1000) {
  36838. goto done
  36839. }
  36840. } else {
  36841. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  36842. if v < bestStrong {
  36843. bestStrong = v
  36844. }
  36845. } else {
  36846. if v < bestWeak {
  36847. bestWeak = v
  36848. }
  36849. }
  36850. }
  36851. goto _2
  36852. _2:
  36853. ;
  36854. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  36855. v4 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36856. } else {
  36857. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  36858. }
  36859. v2 = v4
  36860. k++
  36861. }
  36862. goto _1
  36863. _1:
  36864. ;
  36865. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  36866. v5 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36867. } else {
  36868. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  36869. }
  36870. v1 = v5
  36871. j++
  36872. }
  36873. goto done
  36874. done:
  36875. ;
  36876. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36877. libc.Xprintf(tls, __ccgo_ts+6153, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  36878. XFcValueListPrint(tls, v1orig)
  36879. libc.Xprintf(tls, __ccgo_ts+6162, 0)
  36880. XFcValueListPrint(tls, v2orig)
  36881. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  36882. }
  36883. if value != 0 {
  36884. if weak == strong {
  36885. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  36886. } else {
  36887. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  36888. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  36889. }
  36890. }
  36891. if n != 0 {
  36892. *(*int32)(unsafe.Pointer(n)) = pos
  36893. }
  36894. return int32(m_FcTrue)
  36895. }
  36896. // C documentation
  36897. //
  36898. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  36899. // * walking long lists of family names. We speed this up with a
  36900. // * hash table.
  36901. // */
  36902. type TFamilyEntry = struct {
  36903. Fstrong_value float64
  36904. Fweak_value float64
  36905. }
  36906. type TFcCompareData = struct {
  36907. Ffamily_hash uintptr
  36908. }
  36909. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  36910. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  36911. }
  36912. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  36913. bp := tls.Alloc(16)
  36914. defer tls.Free(16)
  36915. var elt, key, table, v2, v3, v4 uintptr
  36916. var i int32
  36917. var l TFcValueListPtr
  36918. var _ /* e at bp+0 */ uintptr
  36919. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  36920. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  36921. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  36922. if elt != 0 {
  36923. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  36924. v2 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36925. } else {
  36926. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  36927. }
  36928. l = v2
  36929. i = libc.Int32FromInt32(0)
  36930. for {
  36931. if !(l != 0) {
  36932. break
  36933. }
  36934. if int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(1) != 0 {
  36935. v3 = uintptr(Tintptr_t(l+8) + int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  36936. } else {
  36937. v3 = *(*uintptr)(unsafe.Pointer(l + 8 + 8))
  36938. }
  36939. key = v3
  36940. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  36941. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(16))
  36942. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  36943. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  36944. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  36945. }
  36946. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  36947. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  36948. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  36949. }
  36950. } else {
  36951. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  36952. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  36953. }
  36954. }
  36955. goto _1
  36956. _1:
  36957. ;
  36958. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36959. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36960. } else {
  36961. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36962. }
  36963. l = v4
  36964. i++
  36965. }
  36966. }
  36967. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  36968. }
  36969. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  36970. bp := tls.Alloc(32)
  36971. defer tls.Free(32)
  36972. var key, v21, v3 uintptr
  36973. var strong_value, weak_value float64
  36974. var v2 TFcValueListPtr
  36975. var _ /* e at bp+0 */ uintptr
  36976. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  36977. strong_value = float64(1e+99)
  36978. weak_value = float64(1e+99)
  36979. v2 = v2orig
  36980. for {
  36981. if !(v2 != 0) {
  36982. break
  36983. }
  36984. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(1) != 0 {
  36985. v21 = uintptr(Tintptr_t(v2+8) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  36986. } else {
  36987. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8 + 8))
  36988. }
  36989. key = v21
  36990. if XFcHashTableFind(tls, table, key, bp) != 0 {
  36991. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  36992. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  36993. }
  36994. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  36995. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  36996. }
  36997. }
  36998. goto _1
  36999. _1:
  37000. ;
  37001. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  37002. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37003. } else {
  37004. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  37005. }
  37006. v2 = v3
  37007. }
  37008. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37009. libc.Xprintf(tls, __ccgo_ts+6165, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  37010. XFcValueListPrint(tls, v1orig)
  37011. libc.Xprintf(tls, __ccgo_ts+6162, 0)
  37012. XFcValueListPrint(tls, v2orig)
  37013. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37014. }
  37015. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  37016. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  37017. return int32(m_FcTrue)
  37018. }
  37019. /*
  37020. * Return a value indicating the distance between the two lists of
  37021. * values
  37022. */
  37023. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  37024. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  37025. var i, i1, i2 int32
  37026. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  37027. i = 0
  37028. for {
  37029. if !(i < int32(_PRI_END)) {
  37030. break
  37031. }
  37032. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  37033. goto _1
  37034. _1:
  37035. ;
  37036. i++
  37037. }
  37038. i1 = 0
  37039. i2 = 0
  37040. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  37041. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  37042. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  37043. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  37044. if i > 0 {
  37045. i2++
  37046. } else {
  37047. if i < 0 {
  37048. i1++
  37049. } else {
  37050. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  37051. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  37052. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37053. } else {
  37054. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  37055. }
  37056. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  37057. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37058. } else {
  37059. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  37060. }
  37061. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  37062. return m_FcFalse
  37063. }
  37064. i1++
  37065. i2++
  37066. } else {
  37067. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  37068. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  37069. v4 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37070. } else {
  37071. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  37072. }
  37073. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  37074. v5 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37075. } else {
  37076. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  37077. }
  37078. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  37079. return m_FcFalse
  37080. }
  37081. i1++
  37082. i2++
  37083. }
  37084. }
  37085. }
  37086. }
  37087. return int32(m_FcTrue)
  37088. }
  37089. func XFcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  37090. bp := tls.Alloc(352)
  37091. defer tls.Free(352)
  37092. var binding TFcValueBinding
  37093. 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
  37094. var i, j int32
  37095. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  37096. var num float64
  37097. var v16 bool
  37098. var _ /* n at bp+176 */ int32
  37099. var _ /* result at bp+16 */ TFcResult
  37100. var _ /* temp at bp+180 */ [128]TFcChar8
  37101. var _ /* v at bp+0 */ TFcValue
  37102. var _ /* variable at bp+20 */ TFcBool
  37103. var _ /* variations at bp+24 */ TFcStrBuf
  37104. var _ /* vars at bp+312 */ uintptr
  37105. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  37106. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  37107. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  37108. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  37109. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  37110. }
  37111. new1 = XFcPatternCreate(tls)
  37112. if !(new1 != 0) {
  37113. return libc.UintptrFromInt32(0)
  37114. }
  37115. i = 0
  37116. for {
  37117. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  37118. break
  37119. }
  37120. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  37121. 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) {
  37122. /* ignore those objects. we need to deal with them
  37123. * another way */
  37124. goto _1
  37125. }
  37126. 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) {
  37127. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  37128. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  37129. if fel != 0 && pel != 0 {
  37130. /* The font has name languages, and pattern asks for specific language(s).
  37131. * Match on language and and prefer that result.
  37132. * Note: Currently the code only give priority to first matching language.
  37133. */
  37134. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  37135. ln = libc.UintptrFromInt32(0)
  37136. ll = libc.UintptrFromInt32(0)
  37137. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  37138. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  37139. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37140. } else {
  37141. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  37142. }
  37143. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37144. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37145. } else {
  37146. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37147. }
  37148. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  37149. XFcPatternDestroy(tls, new1)
  37150. return libc.UintptrFromInt32(0)
  37151. }
  37152. j = 0
  37153. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37154. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37155. } else {
  37156. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37157. }
  37158. l1 = v5
  37159. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37160. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37161. } else {
  37162. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37163. }
  37164. l2 = v6
  37165. for {
  37166. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  37167. break
  37168. }
  37169. binding = int32(_FcValueBindingEnd)
  37170. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  37171. binding = int32(_FcValueBindingStrong)
  37172. func1 = __ccgo_fp(XFcValueListPrepend)
  37173. } else {
  37174. func1 = __ccgo_fp(XFcValueListAppend)
  37175. }
  37176. if l1 != 0 {
  37177. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+8), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  37178. }
  37179. if l2 != 0 {
  37180. if binding == int32(_FcValueBindingEnd) {
  37181. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  37182. }
  37183. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+8), binding)
  37184. }
  37185. goto _4
  37186. _4:
  37187. ;
  37188. j++
  37189. if l1 != 0 {
  37190. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  37191. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37192. } else {
  37193. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  37194. }
  37195. v7 = v8
  37196. } else {
  37197. v7 = libc.UintptrFromInt32(0)
  37198. }
  37199. l1 = v7
  37200. if l2 != 0 {
  37201. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  37202. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37203. } else {
  37204. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  37205. }
  37206. v9 = v10
  37207. } else {
  37208. v9 = libc.UintptrFromInt32(0)
  37209. }
  37210. l2 = v9
  37211. }
  37212. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  37213. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  37214. goto _1
  37215. } else {
  37216. if fel != 0 {
  37217. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37218. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37219. } else {
  37220. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37221. }
  37222. l11 = XFcValueListDuplicate(tls, v11)
  37223. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  37224. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37225. } else {
  37226. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  37227. }
  37228. l21 = XFcValueListDuplicate(tls, v12)
  37229. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  37230. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  37231. goto _1
  37232. }
  37233. }
  37234. }
  37235. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  37236. if pe != 0 {
  37237. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  37238. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  37239. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37240. } else {
  37241. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  37242. }
  37243. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37244. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37245. } else {
  37246. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37247. }
  37248. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  37249. XFcPatternDestroy(tls, new1)
  37250. return libc.UintptrFromInt32(0)
  37251. }
  37252. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  37253. /* Set font-variations settings for standard axes in variable fonts. */
  37254. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  37255. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37256. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37257. } else {
  37258. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37259. }
  37260. }
  37261. 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)) {
  37262. tag = __ccgo_ts + 6173
  37263. num = *(*float64)(unsafe.Pointer(bp + 8))
  37264. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  37265. XFcStrBufChar(tls, bp+24, uint8(','))
  37266. }
  37267. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  37268. case int32(_FC_WEIGHT_OBJECT):
  37269. tag = __ccgo_ts + 6178
  37270. num = float64(XFcWeightToOpenType(tls, int32(num)))
  37271. case int32(_FC_WIDTH_OBJECT):
  37272. tag = __ccgo_ts + 6183
  37273. case int32(_FC_SIZE_OBJECT):
  37274. tag = __ccgo_ts + 6188
  37275. break
  37276. }
  37277. libc.X__builtin___sprintf_chk(tls, bp+180, 0, ^t__predefined_size_t(0), __ccgo_ts+6193, libc.VaList(bp+328, tag, num))
  37278. XFcStrBufString(tls, bp+24, bp+180)
  37279. }
  37280. } else {
  37281. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  37282. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37283. } else {
  37284. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  37285. }
  37286. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  37287. }
  37288. goto _1
  37289. _1:
  37290. ;
  37291. i++
  37292. }
  37293. i = 0
  37294. for {
  37295. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  37296. break
  37297. }
  37298. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  37299. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  37300. 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) {
  37301. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  37302. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37303. } else {
  37304. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  37305. }
  37306. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  37307. }
  37308. goto _18
  37309. _18:
  37310. ;
  37311. i++
  37312. }
  37313. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  37314. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  37315. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  37316. XFcStrBufChar(tls, bp+24, uint8(','))
  37317. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  37318. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  37319. }
  37320. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  37321. XFcStrBufDestroy(tls, bp+24)
  37322. }
  37323. XFcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  37324. return new1
  37325. }
  37326. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  37327. bp := tls.Alloc(240)
  37328. defer tls.Free(240)
  37329. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  37330. var bestscore [27]float64
  37331. var binding TFcValueBinding
  37332. var f, i, set int32
  37333. var f1 TFcBool
  37334. var l, ll, new1, t, v10 TFcValueListPtr
  37335. var len1 Tsize_t
  37336. var v TFcValue
  37337. var _ /* data at bp+216 */ TFcCompareData
  37338. var _ /* score at bp+0 */ [27]float64
  37339. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  37340. pat = libc.UintptrFromInt32(0)
  37341. i = 0
  37342. for {
  37343. if !(i < int32(_PRI_END)) {
  37344. break
  37345. }
  37346. bestscore[i] = libc.Float64FromInt32(0)
  37347. goto _1
  37348. _1:
  37349. ;
  37350. i++
  37351. }
  37352. best = uintptr(0)
  37353. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37354. libc.Xprintf(tls, __ccgo_ts+6200, 0)
  37355. XFcPatternPrint(tls, p)
  37356. }
  37357. _FcCompareDataInit(tls, p, bp+216)
  37358. set = 0
  37359. for {
  37360. if !(set < nsets) {
  37361. break
  37362. }
  37363. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37364. if !(s != 0) {
  37365. goto _2
  37366. }
  37367. f = 0
  37368. for {
  37369. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  37370. break
  37371. }
  37372. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37373. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+232, f))
  37374. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  37375. }
  37376. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result, bp+216) != 0) {
  37377. _FcCompareDataClear(tls, bp+216)
  37378. return uintptr(0)
  37379. }
  37380. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37381. libc.Xprintf(tls, __ccgo_ts+6207, 0)
  37382. i = 0
  37383. for {
  37384. if !(i < int32(_PRI_END)) {
  37385. break
  37386. }
  37387. libc.Xprintf(tls, __ccgo_ts+6213, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  37388. goto _4
  37389. _4:
  37390. ;
  37391. i++
  37392. }
  37393. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37394. }
  37395. i = 0
  37396. for {
  37397. if !(i < int32(_PRI_END)) {
  37398. break
  37399. }
  37400. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  37401. break
  37402. }
  37403. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  37404. i = 0
  37405. for {
  37406. if !(i < int32(_PRI_END)) {
  37407. break
  37408. }
  37409. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  37410. goto _6
  37411. _6:
  37412. ;
  37413. i++
  37414. }
  37415. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  37416. break
  37417. }
  37418. goto _5
  37419. _5:
  37420. ;
  37421. i++
  37422. }
  37423. goto _3
  37424. _3:
  37425. ;
  37426. f++
  37427. }
  37428. goto _2
  37429. _2:
  37430. ;
  37431. set++
  37432. }
  37433. _FcCompareDataClear(tls, bp+216)
  37434. /* Update the binding according to the score to indicate how exactly values matches on. */
  37435. if best != 0 {
  37436. pat = XFcPatternCreate(tls)
  37437. elt = uintptr(int64(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  37438. i = 0
  37439. for {
  37440. if !(i < XFcPatternObjectCount(tls, best)) {
  37441. break
  37442. }
  37443. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, m_FcFalse)
  37444. if int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37445. v8 = uintptr(Tintptr_t(elt+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37446. } else {
  37447. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16)).Fvalues
  37448. }
  37449. l = v8
  37450. if !(match != 0) {
  37451. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  37452. } else {
  37453. binding = int32(_FcValueBindingWeak)
  37454. new1 = libc.UintptrFromInt32(0)
  37455. t = libc.UintptrFromInt32(0)
  37456. /* If the value was matched exactly, update the binding to Strong. */
  37457. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  37458. binding = int32(_FcValueBindingStrong)
  37459. }
  37460. ll = l
  37461. for {
  37462. if !(ll != libc.UintptrFromInt32(0)) {
  37463. break
  37464. }
  37465. if !(new1 != 0) {
  37466. v10 = XFcValueListCreate(tls)
  37467. new1 = v10
  37468. t = v10
  37469. } else {
  37470. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  37471. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  37472. v11 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37473. } else {
  37474. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  37475. }
  37476. t = v11
  37477. }
  37478. v = XFcValueCanonicalize(tls, ll+8)
  37479. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  37480. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  37481. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  37482. goto _9
  37483. _9:
  37484. ;
  37485. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  37486. v12 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37487. } else {
  37488. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  37489. }
  37490. ll = v12
  37491. }
  37492. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, new1, int32(m_FcTrue))
  37493. }
  37494. goto _7
  37495. _7:
  37496. ;
  37497. i++
  37498. }
  37499. }
  37500. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37501. libc.Xprintf(tls, __ccgo_ts+6217, 0)
  37502. i = 0
  37503. for {
  37504. if !(i < int32(_PRI_END)) {
  37505. break
  37506. }
  37507. libc.Xprintf(tls, __ccgo_ts+6213, libc.VaList(bp+232, bestscore[i]))
  37508. goto _13
  37509. _13:
  37510. ;
  37511. i++
  37512. }
  37513. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37514. XFcPatternPrint(tls, pat)
  37515. }
  37516. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  37517. env = libc.Xgetenv(tls, __ccgo_ts+6228)
  37518. os = libc.UintptrFromInt32(0)
  37519. if env != 0 {
  37520. f1 = int32(m_FcTrue)
  37521. v14 = libc.Xstrdup(tls, env)
  37522. s1 = v14
  37523. ss = v14
  37524. os = XFcObjectSetCreate(tls)
  37525. for f1 != 0 {
  37526. v15 = libc.Xstrchr(tls, s1, int32(','))
  37527. p1 = v15
  37528. if !(v15 != 0) {
  37529. f1 = m_FcFalse
  37530. len1 = libc.Xstrlen(tls, s1)
  37531. } else {
  37532. len1 = libc.Uint64FromInt64(int64(p1) - int64(s1))
  37533. }
  37534. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  37535. if x != 0 {
  37536. libc.X__builtin___strcpy_chk(tls, x, s1, ^t__predefined_size_t(0))
  37537. if XFcObjectFromName(tls, x) > 0 {
  37538. XFcObjectSetAdd(tls, os, x)
  37539. }
  37540. s1 = p1 + uintptr(1)
  37541. libc.Xfree(tls, x)
  37542. }
  37543. }
  37544. libc.Xfree(tls, ss)
  37545. }
  37546. XFcPatternPrint2(tls, p, pat, os)
  37547. if os != 0 {
  37548. XFcObjectSetDestroy(tls, os)
  37549. }
  37550. }
  37551. /* assuming that 'result' is initialized with FcResultNoMatch
  37552. * outside this function */
  37553. if pat != 0 {
  37554. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  37555. }
  37556. return pat
  37557. }
  37558. func XFcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  37559. var best, ret uintptr
  37560. _, _ = best, ret
  37561. ret = libc.UintptrFromInt32(0)
  37562. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37563. config = XFcConfigReference(tls, config)
  37564. if !(config != 0) {
  37565. return libc.UintptrFromInt32(0)
  37566. }
  37567. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  37568. if best != 0 {
  37569. ret = XFcFontRenderPrepare(tls, config, p, best)
  37570. XFcPatternDestroy(tls, best)
  37571. }
  37572. XFcConfigDestroy(tls, config)
  37573. return ret
  37574. }
  37575. func XFcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  37576. bp := tls.Alloc(16)
  37577. defer tls.Free(16)
  37578. var best, ret uintptr
  37579. var nsets, v1, v2 int32
  37580. var _ /* sets at bp+0 */ [2]uintptr
  37581. _, _, _, _, _ = best, nsets, ret, v1, v2
  37582. ret = libc.UintptrFromInt32(0)
  37583. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37584. config = XFcConfigReference(tls, config)
  37585. if !(config != 0) {
  37586. return libc.UintptrFromInt32(0)
  37587. }
  37588. nsets = 0
  37589. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  37590. v1 = nsets
  37591. nsets++
  37592. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  37593. }
  37594. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  37595. v2 = nsets
  37596. nsets++
  37597. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  37598. }
  37599. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  37600. if best != 0 {
  37601. ret = XFcFontRenderPrepare(tls, config, p, best)
  37602. XFcPatternDestroy(tls, best)
  37603. }
  37604. XFcConfigDestroy(tls, config)
  37605. return ret
  37606. }
  37607. type TFcSortNode = struct {
  37608. Fpattern uintptr
  37609. Fscore [27]float64
  37610. }
  37611. type T_FcSortNode = TFcSortNode
  37612. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  37613. var a, as, b, bs, v3, v5 uintptr
  37614. var ad, bd, v2, v4 float64
  37615. var i, v1, v7, v8 int32
  37616. var v6 bool
  37617. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  37618. a = *(*uintptr)(unsafe.Pointer(aa))
  37619. b = *(*uintptr)(unsafe.Pointer(ab))
  37620. as = a + 8
  37621. bs = b + 8
  37622. ad = libc.Float64FromInt32(0)
  37623. bd = libc.Float64FromInt32(0)
  37624. i = int32(_PRI_END)
  37625. for {
  37626. v1 = i
  37627. i--
  37628. if v6 = v1 != 0; v6 {
  37629. v3 = as
  37630. as += 8
  37631. v2 = *(*float64)(unsafe.Pointer(v3))
  37632. ad = v2
  37633. v5 = bs
  37634. bs += 8
  37635. v4 = *(*float64)(unsafe.Pointer(v5))
  37636. bd = v4
  37637. }
  37638. if !(v6 && v2 == v4) {
  37639. break
  37640. }
  37641. }
  37642. if ad < bd {
  37643. v7 = -int32(1)
  37644. } else {
  37645. if ad > bd {
  37646. v8 = int32(1)
  37647. } else {
  37648. v8 = 0
  37649. }
  37650. v7 = v8
  37651. }
  37652. return v7
  37653. }
  37654. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  37655. bp := tls.Alloc(16)
  37656. defer tls.Free(16)
  37657. var cs, node, v2 uintptr
  37658. var i int32
  37659. var ret TFcBool
  37660. var _ /* adds_chars at bp+0 */ TFcBool
  37661. var _ /* ncs at bp+8 */ uintptr
  37662. _, _, _, _, _ = cs, i, node, ret, v2
  37663. ret = m_FcFalse
  37664. cs = uintptr(0)
  37665. if trim != 0 || csp != 0 {
  37666. cs = XFcCharSetCreate(tls)
  37667. if cs == libc.UintptrFromInt32(0) {
  37668. goto bail
  37669. }
  37670. }
  37671. i = 0
  37672. for {
  37673. if !(i < nnode) {
  37674. break
  37675. }
  37676. v2 = n
  37677. n += 8
  37678. node = *(*uintptr)(unsafe.Pointer(v2))
  37679. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  37680. /*
  37681. * Only fetch node charset if we'd need it
  37682. */
  37683. if cs != 0 {
  37684. if XFcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6248, 0, bp+8) != int32(_FcResultMatch) {
  37685. goto _1
  37686. }
  37687. if !(XFcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  37688. goto bail
  37689. }
  37690. }
  37691. /*
  37692. * If this font isn't a subset of the previous fonts,
  37693. * add it to the list
  37694. */
  37695. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  37696. XFcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37697. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37698. libc.Xprintf(tls, __ccgo_ts+6256, 0)
  37699. XFcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37700. }
  37701. if !(XFcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  37702. XFcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  37703. goto bail
  37704. }
  37705. }
  37706. goto _1
  37707. _1:
  37708. ;
  37709. i++
  37710. }
  37711. if csp != 0 {
  37712. *(*uintptr)(unsafe.Pointer(csp)) = cs
  37713. cs = uintptr(0)
  37714. }
  37715. ret = int32(m_FcTrue)
  37716. goto bail
  37717. bail:
  37718. ;
  37719. if cs != 0 {
  37720. XFcCharSetDestroy(tls, cs)
  37721. }
  37722. return ret
  37723. }
  37724. func XFcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  37725. XFcFontSetDestroy(tls, fs)
  37726. }
  37727. func XFcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  37728. bp := tls.Alloc(112)
  37729. defer tls.Free(112)
  37730. var compare float64
  37731. var f, i, nPatternLang, nnodes, set int32
  37732. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  37733. var satisfies TFcBool
  37734. var _ /* data at bp+16 */ TFcCompareData
  37735. var _ /* family at bp+56 */ uintptr
  37736. var _ /* matchValue at bp+40 */ TFcValue
  37737. var _ /* nodeLang at bp+24 */ TFcValue
  37738. var _ /* patternLang at bp+0 */ TFcValue
  37739. var _ /* style at bp+64 */ uintptr
  37740. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  37741. /* There are some implementation that relying on the result of
  37742. * "result" to check if the return value of FcFontSetSort
  37743. * is valid or not.
  37744. * So we should initialize it to the conservative way since
  37745. * this function doesn't return NULL anymore.
  37746. */
  37747. if result != 0 {
  37748. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37749. }
  37750. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37751. libc.Xprintf(tls, __ccgo_ts+6261, 0)
  37752. XFcPatternPrint(tls, p)
  37753. }
  37754. nnodes = 0
  37755. set = 0
  37756. for {
  37757. if !(set < nsets) {
  37758. break
  37759. }
  37760. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37761. if !(s != 0) {
  37762. goto _1
  37763. }
  37764. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  37765. goto _1
  37766. _1:
  37767. ;
  37768. set++
  37769. }
  37770. if !(nnodes != 0) {
  37771. return XFcFontSetCreate(tls)
  37772. }
  37773. nPatternLang = 0
  37774. for {
  37775. if !(XFcPatternGet(tls, p, __ccgo_ts+6267, nPatternLang, bp) == int32(_FcResultMatch)) {
  37776. break
  37777. }
  37778. goto _2
  37779. _2:
  37780. ;
  37781. nPatternLang++
  37782. }
  37783. /* freed below */
  37784. nodes = libc.Xmalloc(tls, libc.Uint64FromInt32(nnodes)*uint64(224)+libc.Uint64FromInt32(nnodes)*uint64(8)+libc.Uint64FromInt32(nPatternLang)*uint64(4))
  37785. if !(nodes != 0) {
  37786. goto bail0
  37787. }
  37788. nodeps = nodes + uintptr(nnodes)*224
  37789. patternLangSat = nodeps + uintptr(nnodes)*8
  37790. _FcCompareDataInit(tls, p, bp+16)
  37791. new1 = nodes
  37792. nodep = nodeps
  37793. set = 0
  37794. for {
  37795. if !(set < nsets) {
  37796. break
  37797. }
  37798. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37799. if !(s != 0) {
  37800. goto _3
  37801. }
  37802. f = 0
  37803. for {
  37804. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  37805. break
  37806. }
  37807. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37808. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+80, f))
  37809. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  37810. }
  37811. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  37812. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result, bp+16) != 0) {
  37813. goto bail1
  37814. }
  37815. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37816. libc.Xprintf(tls, __ccgo_ts+6207, 0)
  37817. i = 0
  37818. for {
  37819. if !(i < int32(_PRI_END)) {
  37820. break
  37821. }
  37822. libc.Xprintf(tls, __ccgo_ts+6213, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  37823. goto _5
  37824. _5:
  37825. ;
  37826. i++
  37827. }
  37828. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37829. }
  37830. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  37831. new1 += 224
  37832. nodep += 8
  37833. goto _4
  37834. _4:
  37835. ;
  37836. f++
  37837. }
  37838. goto _3
  37839. _3:
  37840. ;
  37841. set++
  37842. }
  37843. _FcCompareDataClear(tls, bp+16)
  37844. nnodes = int32((int64(new1) - int64(nodes)) / 224)
  37845. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  37846. i = 0
  37847. for {
  37848. if !(i < nPatternLang) {
  37849. break
  37850. }
  37851. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  37852. goto _6
  37853. _6:
  37854. ;
  37855. i++
  37856. }
  37857. f = 0
  37858. for {
  37859. if !(f < nnodes) {
  37860. break
  37861. }
  37862. satisfies = m_FcFalse
  37863. /*
  37864. * If this node matches any language, go check
  37865. * which ones and satisfy those entries
  37866. */
  37867. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  37868. i = 0
  37869. for {
  37870. if !(i < nPatternLang) {
  37871. break
  37872. }
  37873. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XFcPatternGet(tls, p, __ccgo_ts+6267, i, bp) == int32(_FcResultMatch) && XFcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+6267, 0, bp+24) == int32(_FcResultMatch) {
  37874. compare = _FcCompareLang(tls, bp, bp+24, bp+40)
  37875. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  37876. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37877. if XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+6100, 0, bp+56) == int32(_FcResultMatch) && XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4688, 0, bp+64) == int32(_FcResultMatch) {
  37878. libc.Xprintf(tls, __ccgo_ts+6272, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 56)), *(*uintptr)(unsafe.Pointer(bp + 64)), i))
  37879. }
  37880. }
  37881. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  37882. satisfies = int32(m_FcTrue)
  37883. break
  37884. }
  37885. }
  37886. goto _8
  37887. _8:
  37888. ;
  37889. i++
  37890. }
  37891. }
  37892. if !(satisfies != 0) {
  37893. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  37894. }
  37895. goto _7
  37896. _7:
  37897. ;
  37898. f++
  37899. }
  37900. /*
  37901. * Re-sort once the language issues have been settled
  37902. */
  37903. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  37904. ret = XFcFontSetCreate(tls)
  37905. if !(ret != 0) {
  37906. goto bail1
  37907. }
  37908. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  37909. goto bail2
  37910. }
  37911. libc.Xfree(tls, nodes)
  37912. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37913. libc.Xprintf(tls, __ccgo_ts+6304, 0)
  37914. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  37915. }
  37916. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  37917. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  37918. }
  37919. return ret
  37920. goto bail2
  37921. bail2:
  37922. ;
  37923. XFcFontSetDestroy(tls, ret)
  37924. goto bail1
  37925. bail1:
  37926. ;
  37927. libc.Xfree(tls, nodes)
  37928. goto bail0
  37929. bail0:
  37930. ;
  37931. return uintptr(0)
  37932. return r
  37933. }
  37934. func XFcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  37935. bp := tls.Alloc(16)
  37936. defer tls.Free(16)
  37937. var nsets, v1, v2 int32
  37938. var ret uintptr
  37939. var _ /* sets at bp+0 */ [2]uintptr
  37940. _, _, _, _ = nsets, ret, v1, v2
  37941. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37942. config = XFcConfigReference(tls, config)
  37943. if !(config != 0) {
  37944. return libc.UintptrFromInt32(0)
  37945. }
  37946. nsets = 0
  37947. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  37948. v1 = nsets
  37949. nsets++
  37950. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  37951. }
  37952. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  37953. v2 = nsets
  37954. nsets++
  37955. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  37956. }
  37957. ret = XFcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  37958. XFcConfigDestroy(tls, config)
  37959. return ret
  37960. }
  37961. func XFcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  37962. var r uintptr
  37963. _ = r
  37964. if !(mat != 0) {
  37965. return uintptr(0)
  37966. }
  37967. r = libc.Xmalloc(tls, uint64(32))
  37968. if !(r != 0) {
  37969. return uintptr(0)
  37970. }
  37971. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  37972. return r
  37973. }
  37974. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  37975. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  37976. libc.Xfree(tls, mat)
  37977. }
  37978. }
  37979. func XFcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  37980. if mat1 == mat2 {
  37981. return int32(m_FcTrue)
  37982. }
  37983. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  37984. return m_FcFalse
  37985. }
  37986. 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)
  37987. }
  37988. func XFcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  37989. var r TFcMatrix
  37990. _ = r
  37991. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  37992. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  37993. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  37994. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  37995. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  37996. }
  37997. func XFcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  37998. bp := tls.Alloc(32)
  37999. defer tls.Free(32)
  38000. var _ /* r at bp+0 */ TFcMatrix
  38001. /*
  38002. * X Coordinate system is upside down, swap to make
  38003. * rotations counterclockwise
  38004. */
  38005. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  38006. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  38007. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  38008. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  38009. XFcMatrixMultiply(tls, m, bp, m)
  38010. }
  38011. func XFcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  38012. bp := tls.Alloc(32)
  38013. defer tls.Free(32)
  38014. var _ /* r at bp+0 */ TFcMatrix
  38015. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  38016. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  38017. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  38018. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  38019. XFcMatrixMultiply(tls, m, bp, m)
  38020. }
  38021. func XFcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  38022. bp := tls.Alloc(32)
  38023. defer tls.Free(32)
  38024. var _ /* r at bp+0 */ TFcMatrix
  38025. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  38026. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  38027. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  38028. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  38029. XFcMatrixMultiply(tls, m, bp, m)
  38030. }
  38031. const m_FC_ESCAPE_FIXED = "\\-:,"
  38032. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  38033. /*
  38034. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  38035. *
  38036. * @APPLE_LICENSE_HEADER_START@
  38037. *
  38038. * This file contains Original Code and/or Modifications of Original Code
  38039. * as defined in and that are subject to the Apple Public Source License
  38040. * Version 2.0 (the 'License'). You may not use this file except in
  38041. * compliance with the License. Please obtain a copy of the License at
  38042. * http://www.opensource.apple.com/apsl/ and read it before using this
  38043. * file.
  38044. *
  38045. * The Original Code and all software distributed under the License are
  38046. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38047. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38048. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38049. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38050. * Please see the License for the specific language governing rights and
  38051. * limitations under the License.
  38052. *
  38053. * @APPLE_LICENSE_HEADER_END@
  38054. */
  38055. /*
  38056. * Copyright (c) 1989, 1993
  38057. * The Regents of the University of California. All rights reserved.
  38058. * (c) UNIX System Laboratories, Inc.
  38059. * All or some portions of this file are derived from material licensed
  38060. * to the University of California by American Telephone and Telegraph
  38061. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  38062. * the permission of UNIX System Laboratories, Inc.
  38063. *
  38064. * This code is derived from software contributed to Berkeley by
  38065. * Paul Borman at Krystal Technologies.
  38066. *
  38067. * Redistribution and use in source and binary forms, with or without
  38068. * modification, are permitted provided that the following conditions
  38069. * are met:
  38070. * 1. Redistributions of source code must retain the above copyright
  38071. * notice, this list of conditions and the following disclaimer.
  38072. * 2. Redistributions in binary form must reproduce the above copyright
  38073. * notice, this list of conditions and the following disclaimer in the
  38074. * documentation and/or other materials provided with the distribution.
  38075. * 3. All advertising materials mentioning features or use of this software
  38076. * must display the following acknowledgement:
  38077. * This product includes software developed by the University of
  38078. * California, Berkeley and its contributors.
  38079. * 4. Neither the name of the University nor the names of its contributors
  38080. * may be used to endorse or promote products derived from this software
  38081. * without specific prior written permission.
  38082. *
  38083. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38084. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38085. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38086. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38087. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38088. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38089. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38090. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38091. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38092. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38093. * SUCH DAMAGE.
  38094. *
  38095. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  38096. */
  38097. /*
  38098. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  38099. *
  38100. * @APPLE_LICENSE_HEADER_START@
  38101. *
  38102. * This file contains Original Code and/or Modifications of Original Code
  38103. * as defined in and that are subject to the Apple Public Source License
  38104. * Version 2.0 (the 'License'). You may not use this file except in
  38105. * compliance with the License. Please obtain a copy of the License at
  38106. * http://www.opensource.apple.com/apsl/ and read it before using this
  38107. * file.
  38108. *
  38109. * The Original Code and all software distributed under the License are
  38110. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38111. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38112. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38113. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38114. * Please see the License for the specific language governing rights and
  38115. * limitations under the License.
  38116. *
  38117. * @APPLE_LICENSE_HEADER_END@
  38118. */
  38119. /*
  38120. * Copyright (c) 1989, 1993
  38121. * The Regents of the University of California. All rights reserved.
  38122. * (c) UNIX System Laboratories, Inc.
  38123. * All or some portions of this file are derived from material licensed
  38124. * to the University of California by American Telephone and Telegraph
  38125. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  38126. * the permission of UNIX System Laboratories, Inc.
  38127. *
  38128. * This code is derived from software contributed to Berkeley by
  38129. * Paul Borman at Krystal Technologies.
  38130. *
  38131. * Redistribution and use in source and binary forms, with or without
  38132. * modification, are permitted provided that the following conditions
  38133. * are met:
  38134. * 1. Redistributions of source code must retain the above copyright
  38135. * notice, this list of conditions and the following disclaimer.
  38136. * 2. Redistributions in binary form must reproduce the above copyright
  38137. * notice, this list of conditions and the following disclaimer in the
  38138. * documentation and/or other materials provided with the distribution.
  38139. * 3. All advertising materials mentioning features or use of this software
  38140. * must display the following acknowledgement:
  38141. * This product includes software developed by the University of
  38142. * California, Berkeley and its contributors.
  38143. * 4. Neither the name of the University nor the names of its contributors
  38144. * may be used to endorse or promote products derived from this software
  38145. * without specific prior written permission.
  38146. *
  38147. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38148. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38149. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38150. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38151. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38152. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38153. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38154. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38155. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38156. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38157. * SUCH DAMAGE.
  38158. *
  38159. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  38160. */
  38161. /*
  38162. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  38163. *
  38164. * @APPLE_LICENSE_HEADER_START@
  38165. *
  38166. * This file contains Original Code and/or Modifications of Original Code
  38167. * as defined in and that are subject to the Apple Public Source License
  38168. * Version 2.0 (the 'License'). You may not use this file except in
  38169. * compliance with the License. Please obtain a copy of the License at
  38170. * http://www.opensource.apple.com/apsl/ and read it before using this
  38171. * file.
  38172. *
  38173. * The Original Code and all software distributed under the License are
  38174. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38175. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38176. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38177. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38178. * Please see the License for the specific language governing rights and
  38179. * limitations under the License.
  38180. *
  38181. * @APPLE_LICENSE_HEADER_END@
  38182. */
  38183. /*-
  38184. * Copyright (c) 1990, 1993
  38185. * The Regents of the University of California. All rights reserved.
  38186. *
  38187. * Redistribution and use in source and binary forms, with or without
  38188. * modification, are permitted provided that the following conditions
  38189. * are met:
  38190. * 1. Redistributions of source code must retain the above copyright
  38191. * notice, this list of conditions and the following disclaimer.
  38192. * 2. Redistributions in binary form must reproduce the above copyright
  38193. * notice, this list of conditions and the following disclaimer in the
  38194. * documentation and/or other materials provided with the distribution.
  38195. * 3. All advertising materials mentioning features or use of this software
  38196. * must display the following acknowledgement:
  38197. * This product includes software developed by the University of
  38198. * California, Berkeley and its contributors.
  38199. * 4. Neither the name of the University nor the names of its contributors
  38200. * may be used to endorse or promote products derived from this software
  38201. * without specific prior written permission.
  38202. *
  38203. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38204. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38205. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38206. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38207. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38208. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38209. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38210. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38211. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38212. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38213. * SUCH DAMAGE.
  38214. *
  38215. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  38216. */
  38217. /*
  38218. * Copyright (c) 2023 Apple Inc. All rights reserved.
  38219. *
  38220. * @APPLE_LICENSE_HEADER_START@
  38221. *
  38222. * This file contains Original Code and/or Modifications of Original Code
  38223. * as defined in and that are subject to the Apple Public Source License
  38224. * Version 2.0 (the 'License'). You may not use this file except in
  38225. * compliance with the License. Please obtain a copy of the License at
  38226. * http://www.opensource.apple.com/apsl/ and read it before using this
  38227. * file.
  38228. *
  38229. * The Original Code and all software distributed under the License are
  38230. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38231. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38232. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38233. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38234. * Please see the License for the specific language governing rights and
  38235. * limitations under the License.
  38236. *
  38237. * @APPLE_LICENSE_HEADER_END@
  38238. */
  38239. /*-
  38240. * Copyright (c) 1990, 1993
  38241. * The Regents of the University of California. All rights reserved.
  38242. *
  38243. * Redistribution and use in source and binary forms, with or without
  38244. * modification, are permitted provided that the following conditions
  38245. * are met:
  38246. * 1. Redistributions of source code must retain the above copyright
  38247. * notice, this list of conditions and the following disclaimer.
  38248. * 2. Redistributions in binary form must reproduce the above copyright
  38249. * notice, this list of conditions and the following disclaimer in the
  38250. * documentation and/or other materials provided with the distribution.
  38251. * 3. All advertising materials mentioning features or use of this software
  38252. * must display the following acknowledgement:
  38253. * This product includes software developed by the University of
  38254. * California, Berkeley and its contributors.
  38255. * 4. Neither the name of the University nor the names of its contributors
  38256. * may be used to endorse or promote products derived from this software
  38257. * without specific prior written permission.
  38258. *
  38259. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38260. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38261. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38262. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38263. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38264. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38265. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38266. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38267. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38268. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38269. * SUCH DAMAGE.
  38270. *
  38271. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  38272. */
  38273. /*
  38274. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  38275. *
  38276. * @APPLE_LICENSE_HEADER_START@
  38277. *
  38278. * This file contains Original Code and/or Modifications of Original Code
  38279. * as defined in and that are subject to the Apple Public Source License
  38280. * Version 2.0 (the 'License'). You may not use this file except in
  38281. * compliance with the License. Please obtain a copy of the License at
  38282. * http://www.opensource.apple.com/apsl/ and read it before using this
  38283. * file.
  38284. *
  38285. * The Original Code and all software distributed under the License are
  38286. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38287. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38288. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38289. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38290. * Please see the License for the specific language governing rights and
  38291. * limitations under the License.
  38292. *
  38293. * @APPLE_LICENSE_HEADER_END@
  38294. */
  38295. /*-
  38296. * Copyright (c) 1990, 1993
  38297. * The Regents of the University of California. All rights reserved.
  38298. *
  38299. * Redistribution and use in source and binary forms, with or without
  38300. * modification, are permitted provided that the following conditions
  38301. * are met:
  38302. * 1. Redistributions of source code must retain the above copyright
  38303. * notice, this list of conditions and the following disclaimer.
  38304. * 2. Redistributions in binary form must reproduce the above copyright
  38305. * notice, this list of conditions and the following disclaimer in the
  38306. * documentation and/or other materials provided with the distribution.
  38307. * 3. All advertising materials mentioning features or use of this software
  38308. * must display the following acknowledgement:
  38309. * This product includes software developed by the University of
  38310. * California, Berkeley and its contributors.
  38311. * 4. Neither the name of the University nor the names of its contributors
  38312. * may be used to endorse or promote products derived from this software
  38313. * without specific prior written permission.
  38314. *
  38315. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38316. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38317. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38318. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38319. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38320. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38321. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38322. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38323. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38324. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38325. * SUCH DAMAGE.
  38326. *
  38327. * @(#)string.h 8.1 (Berkeley) 6/2/93
  38328. */
  38329. /*
  38330. * Copyright (c) 2023 Apple Inc. All rights reserved.
  38331. *
  38332. * @APPLE_LICENSE_HEADER_START@
  38333. *
  38334. * This file contains Original Code and/or Modifications of Original Code
  38335. * as defined in and that are subject to the Apple Public Source License
  38336. * Version 2.0 (the 'License'). You may not use this file except in
  38337. * compliance with the License. Please obtain a copy of the License at
  38338. * http://www.opensource.apple.com/apsl/ and read it before using this
  38339. * file.
  38340. *
  38341. * The Original Code and all software distributed under the License are
  38342. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38343. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38344. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38345. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38346. * Please see the License for the specific language governing rights and
  38347. * limitations under the License.
  38348. *
  38349. * @APPLE_LICENSE_HEADER_END@
  38350. */
  38351. /*-
  38352. * Copyright (c) 1990, 1993
  38353. * The Regents of the University of California. All rights reserved.
  38354. *
  38355. * Redistribution and use in source and binary forms, with or without
  38356. * modification, are permitted provided that the following conditions
  38357. * are met:
  38358. * 1. Redistributions of source code must retain the above copyright
  38359. * notice, this list of conditions and the following disclaimer.
  38360. * 2. Redistributions in binary form must reproduce the above copyright
  38361. * notice, this list of conditions and the following disclaimer in the
  38362. * documentation and/or other materials provided with the distribution.
  38363. * 3. All advertising materials mentioning features or use of this software
  38364. * must display the following acknowledgement:
  38365. * This product includes software developed by the University of
  38366. * California, Berkeley and its contributors.
  38367. * 4. Neither the name of the University nor the names of its contributors
  38368. * may be used to endorse or promote products derived from this software
  38369. * without specific prior written permission.
  38370. *
  38371. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38372. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38373. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38374. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38375. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38376. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38377. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38378. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38379. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38380. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38381. * SUCH DAMAGE.
  38382. *
  38383. * @(#)string.h 8.1 (Berkeley) 6/2/93
  38384. */
  38385. /*
  38386. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  38387. *
  38388. * @APPLE_LICENSE_HEADER_START@
  38389. *
  38390. * This file contains Original Code and/or Modifications of Original Code
  38391. * as defined in and that are subject to the Apple Public Source License
  38392. * Version 2.0 (the 'License'). You may not use this file except in
  38393. * compliance with the License. Please obtain a copy of the License at
  38394. * http://www.opensource.apple.com/apsl/ and read it before using this
  38395. * file.
  38396. *
  38397. * The Original Code and all software distributed under the License are
  38398. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38399. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38400. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38401. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38402. * Please see the License for the specific language governing rights and
  38403. * limitations under the License.
  38404. *
  38405. * @APPLE_LICENSE_HEADER_END@
  38406. */
  38407. /*-
  38408. * Copyright (c) 1990, 1993
  38409. * The Regents of the University of California. All rights reserved.
  38410. *
  38411. * This code is derived from software contributed to Berkeley by
  38412. * Chris Torek.
  38413. *
  38414. * Redistribution and use in source and binary forms, with or without
  38415. * modification, are permitted provided that the following conditions
  38416. * are met:
  38417. * 1. Redistributions of source code must retain the above copyright
  38418. * notice, this list of conditions and the following disclaimer.
  38419. * 2. Redistributions in binary form must reproduce the above copyright
  38420. * notice, this list of conditions and the following disclaimer in the
  38421. * documentation and/or other materials provided with the distribution.
  38422. * 3. All advertising materials mentioning features or use of this software
  38423. * must display the following acknowledgement:
  38424. * This product includes software developed by the University of
  38425. * California, Berkeley and its contributors.
  38426. * 4. Neither the name of the University nor the names of its contributors
  38427. * may be used to endorse or promote products derived from this software
  38428. * without specific prior written permission.
  38429. *
  38430. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38431. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38432. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38433. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38434. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38435. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38436. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38437. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38438. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38439. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38440. * SUCH DAMAGE.
  38441. *
  38442. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  38443. */
  38444. /*
  38445. * Copyright (c) 2000, 2005, 2007, 2009, 2010, 2023 Apple Inc. All rights reserved.
  38446. *
  38447. * @APPLE_LICENSE_HEADER_START@
  38448. *
  38449. * This file contains Original Code and/or Modifications of Original Code
  38450. * as defined in and that are subject to the Apple Public Source License
  38451. * Version 2.0 (the 'License'). You may not use this file except in
  38452. * compliance with the License. Please obtain a copy of the License at
  38453. * http://www.opensource.apple.com/apsl/ and read it before using this
  38454. * file.
  38455. *
  38456. * The Original Code and all software distributed under the License are
  38457. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38458. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38459. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38460. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38461. * Please see the License for the specific language governing rights and
  38462. * limitations under the License.
  38463. *
  38464. * @APPLE_LICENSE_HEADER_END@
  38465. */
  38466. /*-
  38467. * Copyright (c) 1990, 1993
  38468. * The Regents of the University of California. All rights reserved.
  38469. *
  38470. * This code is derived from software contributed to Berkeley by
  38471. * Chris Torek.
  38472. *
  38473. * Redistribution and use in source and binary forms, with or without
  38474. * modification, are permitted provided that the following conditions
  38475. * are met:
  38476. * 1. Redistributions of source code must retain the above copyright
  38477. * notice, this list of conditions and the following disclaimer.
  38478. * 2. Redistributions in binary form must reproduce the above copyright
  38479. * notice, this list of conditions and the following disclaimer in the
  38480. * documentation and/or other materials provided with the distribution.
  38481. * 3. All advertising materials mentioning features or use of this software
  38482. * must display the following acknowledgement:
  38483. * This product includes software developed by the University of
  38484. * California, Berkeley and its contributors.
  38485. * 4. Neither the name of the University nor the names of its contributors
  38486. * may be used to endorse or promote products derived from this software
  38487. * without specific prior written permission.
  38488. *
  38489. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38490. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38491. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38492. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38493. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38494. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38495. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38496. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38497. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38498. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38499. * SUCH DAMAGE.
  38500. *
  38501. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  38502. */
  38503. /*
  38504. * Common header for stdio.h and xlocale/_stdio.h
  38505. */
  38506. var _FcObjects = [52]TFcObjectType{
  38507. 0: {
  38508. Fobject: __ccgo_ts + 6100,
  38509. Ftype1: int32(_FcTypeString),
  38510. },
  38511. 1: {
  38512. Fobject: __ccgo_ts + 6107,
  38513. Ftype1: int32(_FcTypeString),
  38514. },
  38515. 2: {
  38516. Fobject: __ccgo_ts + 4688,
  38517. Ftype1: int32(_FcTypeString),
  38518. },
  38519. 3: {
  38520. Fobject: __ccgo_ts + 6140,
  38521. Ftype1: int32(_FcTypeString),
  38522. },
  38523. 4: {
  38524. Fobject: __ccgo_ts + 6118,
  38525. Ftype1: int32(_FcTypeString),
  38526. },
  38527. 5: {
  38528. Fobject: __ccgo_ts + 6127,
  38529. Ftype1: int32(_FcTypeString),
  38530. },
  38531. 6: {
  38532. Fobject: __ccgo_ts + 6316,
  38533. Ftype1: int32(_FcTypeInteger),
  38534. },
  38535. 7: {
  38536. Fobject: __ccgo_ts + 6322,
  38537. Ftype1: int32(_FcTypeRange),
  38538. },
  38539. 8: {
  38540. Fobject: __ccgo_ts + 6329,
  38541. Ftype1: int32(_FcTypeRange),
  38542. },
  38543. 9: {
  38544. Fobject: __ccgo_ts + 6335,
  38545. Ftype1: int32(_FcTypeRange),
  38546. },
  38547. 10: {
  38548. Fobject: __ccgo_ts + 6340,
  38549. Ftype1: int32(_FcTypeDouble),
  38550. },
  38551. 11: {
  38552. Fobject: __ccgo_ts + 6347,
  38553. Ftype1: int32(_FcTypeDouble),
  38554. },
  38555. 12: {
  38556. Fobject: __ccgo_ts + 6357,
  38557. Ftype1: int32(_FcTypeInteger),
  38558. },
  38559. 13: {
  38560. Fobject: __ccgo_ts + 6365,
  38561. Ftype1: int32(_FcTypeString),
  38562. },
  38563. 14: {
  38564. Fobject: __ccgo_ts + 6373,
  38565. Ftype1: int32(_FcTypeBool),
  38566. },
  38567. 15: {
  38568. Fobject: __ccgo_ts + 6383,
  38569. Ftype1: int32(_FcTypeInteger),
  38570. },
  38571. 16: {
  38572. Fobject: __ccgo_ts + 6393,
  38573. Ftype1: int32(_FcTypeBool),
  38574. },
  38575. 17: {
  38576. Fobject: __ccgo_ts + 6401,
  38577. Ftype1: int32(_FcTypeBool),
  38578. },
  38579. 18: {
  38580. Fobject: __ccgo_ts + 6416,
  38581. Ftype1: int32(_FcTypeBool),
  38582. },
  38583. 19: {
  38584. Fobject: __ccgo_ts + 6425,
  38585. Ftype1: int32(_FcTypeBool),
  38586. },
  38587. 20: {
  38588. Fobject: __ccgo_ts + 6439,
  38589. Ftype1: int32(_FcTypeString),
  38590. },
  38591. 21: {
  38592. Fobject: __ccgo_ts + 6444,
  38593. Ftype1: int32(_FcTypeInteger),
  38594. },
  38595. 22: {
  38596. Fobject: __ccgo_ts + 6450,
  38597. Ftype1: int32(_FcTypeString),
  38598. },
  38599. 23: {
  38600. Fobject: __ccgo_ts + 6461,
  38601. Ftype1: int32(_FcTypeBool),
  38602. },
  38603. 24: {
  38604. Fobject: __ccgo_ts + 6469,
  38605. Ftype1: int32(_FcTypeBool),
  38606. },
  38607. 25: {
  38608. Fobject: __ccgo_ts + 6478,
  38609. Ftype1: int32(_FcTypeDouble),
  38610. },
  38611. 26: {
  38612. Fobject: __ccgo_ts + 6482,
  38613. Ftype1: int32(_FcTypeInteger),
  38614. },
  38615. 27: {
  38616. Fobject: __ccgo_ts + 6487,
  38617. Ftype1: int32(_FcTypeDouble),
  38618. },
  38619. 28: {
  38620. Fobject: __ccgo_ts + 6493,
  38621. Ftype1: int32(_FcTypeBool),
  38622. },
  38623. 29: {
  38624. Fobject: __ccgo_ts + 6502,
  38625. Ftype1: int32(_FcTypeInteger),
  38626. },
  38627. 30: {
  38628. Fobject: __ccgo_ts + 6512,
  38629. Ftype1: int32(_FcTypeInteger),
  38630. },
  38631. 31: {
  38632. Fobject: __ccgo_ts + 6523,
  38633. Ftype1: int32(_FcTypeMatrix),
  38634. },
  38635. 32: {
  38636. Fobject: __ccgo_ts + 6248,
  38637. Ftype1: int32(_FcTypeCharSet),
  38638. },
  38639. 33: {
  38640. Fobject: __ccgo_ts + 6267,
  38641. Ftype1: int32(_FcTypeLangSet),
  38642. },
  38643. 34: {
  38644. Fobject: __ccgo_ts + 6530,
  38645. Ftype1: int32(_FcTypeInteger),
  38646. },
  38647. 35: {
  38648. Fobject: __ccgo_ts + 6542,
  38649. Ftype1: int32(_FcTypeString),
  38650. },
  38651. 36: {
  38652. Fobject: __ccgo_ts + 6553,
  38653. Ftype1: int32(_FcTypeString),
  38654. },
  38655. 37: {
  38656. Fobject: __ccgo_ts + 6564,
  38657. Ftype1: int32(_FcTypeBool),
  38658. },
  38659. 38: {
  38660. Fobject: __ccgo_ts + 6573,
  38661. Ftype1: int32(_FcTypeBool),
  38662. },
  38663. 39: {
  38664. Fobject: __ccgo_ts + 6588,
  38665. Ftype1: int32(_FcTypeBool),
  38666. },
  38667. 40: {
  38668. Fobject: __ccgo_ts + 6599,
  38669. Ftype1: int32(_FcTypeInteger),
  38670. },
  38671. 41: {
  38672. Fobject: __ccgo_ts + 6609,
  38673. Ftype1: int32(_FcTypeString),
  38674. },
  38675. 42: {
  38676. Fobject: __ccgo_ts + 6618,
  38677. Ftype1: int32(_FcTypeString),
  38678. },
  38679. 43: {
  38680. Fobject: __ccgo_ts + 6631,
  38681. Ftype1: int32(_FcTypeString),
  38682. },
  38683. 44: {
  38684. Fobject: __ccgo_ts + 6639,
  38685. Ftype1: int32(_FcTypeString),
  38686. },
  38687. 45: {
  38688. Fobject: __ccgo_ts + 6644,
  38689. Ftype1: int32(_FcTypeString),
  38690. },
  38691. 46: {
  38692. Fobject: __ccgo_ts + 6659,
  38693. Ftype1: int32(_FcTypeBool),
  38694. },
  38695. 47: {
  38696. Fobject: __ccgo_ts + 6665,
  38697. Ftype1: int32(_FcTypeBool),
  38698. },
  38699. 48: {
  38700. Fobject: __ccgo_ts + 6672,
  38701. Ftype1: int32(_FcTypeString),
  38702. },
  38703. 49: {
  38704. Fobject: __ccgo_ts + 6687,
  38705. Ftype1: int32(_FcTypeBool),
  38706. },
  38707. 50: {
  38708. Fobject: __ccgo_ts + 6696,
  38709. Ftype1: int32(_FcTypeBool),
  38710. },
  38711. 51: {
  38712. Fobject: __ccgo_ts + 6708,
  38713. Ftype1: int32(_FcTypeInteger),
  38714. },
  38715. }
  38716. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  38717. if int32(1) <= object && object <= libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16)) {
  38718. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  38719. }
  38720. return XFcObjectLookupOtherTypeById(tls, object)
  38721. }
  38722. func XFcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  38723. /* Deprecated. */
  38724. return m_FcFalse
  38725. }
  38726. func XFcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  38727. /* Deprecated. */
  38728. return m_FcFalse
  38729. }
  38730. func XFcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  38731. var id int32
  38732. _ = id
  38733. id = XFcObjectLookupBuiltinIdByName(tls, object)
  38734. if !(id != 0) {
  38735. return XFcObjectLookupOtherTypeByName(tls, object)
  38736. }
  38737. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  38738. }
  38739. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  38740. var t uintptr
  38741. _ = t
  38742. t = _FcObjectFindById(tls, object)
  38743. if t != 0 {
  38744. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  38745. case int32(_FcTypeUnknown):
  38746. return int32(m_FcTrue)
  38747. case int32(_FcTypeDouble):
  38748. fallthrough
  38749. case int32(_FcTypeInteger):
  38750. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  38751. return int32(m_FcTrue)
  38752. }
  38753. case int32(_FcTypeLangSet):
  38754. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  38755. return int32(m_FcTrue)
  38756. }
  38757. case int32(_FcTypeRange):
  38758. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  38759. return int32(m_FcTrue)
  38760. }
  38761. default:
  38762. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  38763. return int32(m_FcTrue)
  38764. }
  38765. break
  38766. }
  38767. return m_FcFalse
  38768. }
  38769. return int32(m_FcTrue)
  38770. }
  38771. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  38772. return XFcObjectLookupIdByName(tls, name)
  38773. }
  38774. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  38775. var i int32
  38776. var os uintptr
  38777. _, _ = i, os
  38778. os = libc.UintptrFromInt32(0)
  38779. os = XFcObjectSetCreate(tls)
  38780. i = 0
  38781. for {
  38782. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  38783. break
  38784. }
  38785. XFcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  38786. goto _1
  38787. _1:
  38788. ;
  38789. i++
  38790. }
  38791. return os
  38792. }
  38793. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  38794. var o uintptr
  38795. _ = o
  38796. o = _FcObjectFindById(tls, object)
  38797. if o != 0 {
  38798. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  38799. }
  38800. return XFcObjectLookupOtherNameById(tls, object)
  38801. }
  38802. var __FcBaseConstants = [57]TFcConstant{
  38803. 0: {
  38804. Fname: __ccgo_ts + 3851,
  38805. Fobject: __ccgo_ts + 6322,
  38806. },
  38807. 1: {
  38808. Fname: __ccgo_ts + 3856,
  38809. Fobject: __ccgo_ts + 6322,
  38810. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  38811. },
  38812. 2: {
  38813. Fname: __ccgo_ts + 3867,
  38814. Fobject: __ccgo_ts + 6322,
  38815. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  38816. },
  38817. 3: {
  38818. Fname: __ccgo_ts + 3878,
  38819. Fobject: __ccgo_ts + 6322,
  38820. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  38821. },
  38822. 4: {
  38823. Fname: __ccgo_ts + 3888,
  38824. Fobject: __ccgo_ts + 6322,
  38825. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  38826. },
  38827. 5: {
  38828. Fname: __ccgo_ts + 3898,
  38829. Fobject: __ccgo_ts + 6322,
  38830. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  38831. },
  38832. 6: {
  38833. Fname: __ccgo_ts + 3904,
  38834. Fobject: __ccgo_ts + 6322,
  38835. Fvalue: int32(m_FC_WEIGHT_BOOK),
  38836. },
  38837. 7: {
  38838. Fname: __ccgo_ts + 3909,
  38839. Fobject: __ccgo_ts + 6322,
  38840. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  38841. },
  38842. 8: {
  38843. Fname: __ccgo_ts + 3924,
  38844. Fobject: __ccgo_ts + 6322,
  38845. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  38846. },
  38847. 9: {
  38848. Fname: __ccgo_ts + 3931,
  38849. Fobject: __ccgo_ts + 6322,
  38850. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  38851. },
  38852. 10: {
  38853. Fname: __ccgo_ts + 3945,
  38854. Fobject: __ccgo_ts + 6322,
  38855. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  38856. },
  38857. 11: {
  38858. Fname: __ccgo_ts + 3984,
  38859. Fobject: __ccgo_ts + 6322,
  38860. Fvalue: int32(m_FC_WEIGHT_BOLD),
  38861. },
  38862. 12: {
  38863. Fname: __ccgo_ts + 3954,
  38864. Fobject: __ccgo_ts + 6322,
  38865. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  38866. },
  38867. 13: {
  38868. Fname: __ccgo_ts + 3974,
  38869. Fobject: __ccgo_ts + 6322,
  38870. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  38871. },
  38872. 14: {
  38873. Fname: __ccgo_ts + 4029,
  38874. Fobject: __ccgo_ts + 6322,
  38875. Fvalue: int32(m_FC_WEIGHT_BLACK),
  38876. },
  38877. 15: {
  38878. Fname: __ccgo_ts + 4035,
  38879. Fobject: __ccgo_ts + 6322,
  38880. Fvalue: int32(m_FC_WEIGHT_BLACK),
  38881. },
  38882. 16: {
  38883. Fname: __ccgo_ts + 6714,
  38884. Fobject: __ccgo_ts + 6316,
  38885. },
  38886. 17: {
  38887. Fname: __ccgo_ts + 4154,
  38888. Fobject: __ccgo_ts + 6316,
  38889. Fvalue: int32(m_FC_SLANT_ITALIC),
  38890. },
  38891. 18: {
  38892. Fname: __ccgo_ts + 4168,
  38893. Fobject: __ccgo_ts + 6316,
  38894. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  38895. },
  38896. 19: {
  38897. Fname: __ccgo_ts + 4041,
  38898. Fobject: __ccgo_ts + 6329,
  38899. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  38900. },
  38901. 20: {
  38902. Fname: __ccgo_ts + 4056,
  38903. Fobject: __ccgo_ts + 6329,
  38904. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  38905. },
  38906. 21: {
  38907. Fname: __ccgo_ts + 4085,
  38908. Fobject: __ccgo_ts + 6329,
  38909. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  38910. },
  38911. 22: {
  38912. Fname: __ccgo_ts + 4071,
  38913. Fobject: __ccgo_ts + 6329,
  38914. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  38915. },
  38916. 23: {
  38917. Fname: __ccgo_ts + 3917,
  38918. Fobject: __ccgo_ts + 6329,
  38919. Fvalue: int32(m_FC_WIDTH_NORMAL),
  38920. },
  38921. 24: {
  38922. Fname: __ccgo_ts + 4095,
  38923. Fobject: __ccgo_ts + 6329,
  38924. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  38925. },
  38926. 25: {
  38927. Fname: __ccgo_ts + 4136,
  38928. Fobject: __ccgo_ts + 6329,
  38929. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  38930. },
  38931. 26: {
  38932. Fname: __ccgo_ts + 4108,
  38933. Fobject: __ccgo_ts + 6329,
  38934. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  38935. },
  38936. 27: {
  38937. Fname: __ccgo_ts + 4122,
  38938. Fobject: __ccgo_ts + 6329,
  38939. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  38940. },
  38941. 28: {
  38942. Fname: __ccgo_ts + 6720,
  38943. Fobject: __ccgo_ts + 6357,
  38944. },
  38945. 29: {
  38946. Fname: __ccgo_ts + 6733,
  38947. Fobject: __ccgo_ts + 6357,
  38948. Fvalue: int32(m_FC_DUAL),
  38949. },
  38950. 30: {
  38951. Fname: __ccgo_ts + 6738,
  38952. Fobject: __ccgo_ts + 6357,
  38953. Fvalue: int32(m_FC_MONO),
  38954. },
  38955. 31: {
  38956. Fname: __ccgo_ts + 6743,
  38957. Fobject: __ccgo_ts + 6357,
  38958. Fvalue: int32(m_FC_CHARCELL),
  38959. },
  38960. 32: {
  38961. Fname: __ccgo_ts + 4812,
  38962. Fobject: __ccgo_ts + 6482,
  38963. },
  38964. 33: {
  38965. Fname: __ccgo_ts + 6752,
  38966. Fobject: __ccgo_ts + 6482,
  38967. Fvalue: int32(m_FC_RGBA_RGB),
  38968. },
  38969. 34: {
  38970. Fname: __ccgo_ts + 6756,
  38971. Fobject: __ccgo_ts + 6482,
  38972. Fvalue: int32(m_FC_RGBA_BGR),
  38973. },
  38974. 35: {
  38975. Fname: __ccgo_ts + 6760,
  38976. Fobject: __ccgo_ts + 6482,
  38977. Fvalue: int32(m_FC_RGBA_VRGB),
  38978. },
  38979. 36: {
  38980. Fname: __ccgo_ts + 6765,
  38981. Fobject: __ccgo_ts + 6482,
  38982. Fvalue: int32(m_FC_RGBA_VBGR),
  38983. },
  38984. 37: {
  38985. Fname: __ccgo_ts + 2465,
  38986. Fobject: __ccgo_ts + 6482,
  38987. Fvalue: int32(m_FC_RGBA_NONE),
  38988. },
  38989. 38: {
  38990. Fname: __ccgo_ts + 6770,
  38991. Fobject: __ccgo_ts + 6383,
  38992. },
  38993. 39: {
  38994. Fname: __ccgo_ts + 6779,
  38995. Fobject: __ccgo_ts + 6383,
  38996. Fvalue: int32(m_FC_HINT_SLIGHT),
  38997. },
  38998. 40: {
  38999. Fname: __ccgo_ts + 6790,
  39000. Fobject: __ccgo_ts + 6383,
  39001. Fvalue: int32(m_FC_HINT_MEDIUM),
  39002. },
  39003. 41: {
  39004. Fname: __ccgo_ts + 6801,
  39005. Fobject: __ccgo_ts + 6383,
  39006. Fvalue: int32(m_FC_HINT_FULL),
  39007. },
  39008. 42: {
  39009. Fname: __ccgo_ts + 6373,
  39010. Fobject: __ccgo_ts + 6373,
  39011. Fvalue: int32(m_FcTrue),
  39012. },
  39013. 43: {
  39014. Fname: __ccgo_ts + 6393,
  39015. Fobject: __ccgo_ts + 6393,
  39016. Fvalue: int32(m_FcTrue),
  39017. },
  39018. 44: {
  39019. Fname: __ccgo_ts + 6401,
  39020. Fobject: __ccgo_ts + 6401,
  39021. Fvalue: int32(m_FcTrue),
  39022. },
  39023. 45: {
  39024. Fname: __ccgo_ts + 6416,
  39025. Fobject: __ccgo_ts + 6416,
  39026. Fvalue: int32(m_FcTrue),
  39027. },
  39028. 46: {
  39029. Fname: __ccgo_ts + 6425,
  39030. Fobject: __ccgo_ts + 6425,
  39031. Fvalue: int32(m_FcTrue),
  39032. },
  39033. 47: {
  39034. Fname: __ccgo_ts + 6461,
  39035. Fobject: __ccgo_ts + 6461,
  39036. Fvalue: int32(m_FcTrue),
  39037. },
  39038. 48: {
  39039. Fname: __ccgo_ts + 6469,
  39040. Fobject: __ccgo_ts + 6469,
  39041. Fvalue: int32(m_FcTrue),
  39042. },
  39043. 49: {
  39044. Fname: __ccgo_ts + 6493,
  39045. Fobject: __ccgo_ts + 6493,
  39046. Fvalue: int32(m_FcTrue),
  39047. },
  39048. 50: {
  39049. Fname: __ccgo_ts + 6564,
  39050. Fobject: __ccgo_ts + 6564,
  39051. Fvalue: int32(m_FcTrue),
  39052. },
  39053. 51: {
  39054. Fname: __ccgo_ts + 6573,
  39055. Fobject: __ccgo_ts + 6573,
  39056. Fvalue: int32(m_FcTrue),
  39057. },
  39058. 52: {
  39059. Fname: __ccgo_ts + 6588,
  39060. Fobject: __ccgo_ts + 6588,
  39061. Fvalue: int32(m_FcTrue),
  39062. },
  39063. 53: {
  39064. Fname: __ccgo_ts + 6810,
  39065. Fobject: __ccgo_ts + 6599,
  39066. },
  39067. 54: {
  39068. Fname: __ccgo_ts + 6818,
  39069. Fobject: __ccgo_ts + 6599,
  39070. Fvalue: int32(m_FC_LCD_DEFAULT),
  39071. },
  39072. 55: {
  39073. Fname: __ccgo_ts + 6829,
  39074. Fobject: __ccgo_ts + 6599,
  39075. Fvalue: int32(m_FC_LCD_LIGHT),
  39076. },
  39077. 56: {
  39078. Fname: __ccgo_ts + 6838,
  39079. Fobject: __ccgo_ts + 6599,
  39080. Fvalue: int32(m_FC_LCD_LEGACY),
  39081. },
  39082. }
  39083. func XFcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  39084. /* Deprecated. */
  39085. return m_FcFalse
  39086. }
  39087. func XFcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  39088. /* Deprecated. */
  39089. return m_FcFalse
  39090. }
  39091. func XFcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  39092. var i uint32
  39093. _ = i
  39094. i = uint32(0)
  39095. for {
  39096. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  39097. break
  39098. }
  39099. if !(XFcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  39100. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  39101. }
  39102. goto _1
  39103. _1:
  39104. ;
  39105. i++
  39106. }
  39107. return uintptr(0)
  39108. }
  39109. func XFcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  39110. var c, v1 uintptr
  39111. _, _ = c, v1
  39112. v1 = XFcNameGetConstant(tls, string1)
  39113. c = v1
  39114. if v1 != 0 {
  39115. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  39116. return int32(m_FcTrue)
  39117. }
  39118. return m_FcFalse
  39119. }
  39120. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  39121. bp := tls.Alloc(32)
  39122. defer tls.Free(32)
  39123. var c, v1 uintptr
  39124. _, _ = c, v1
  39125. v1 = XFcNameGetConstant(tls, string1)
  39126. c = v1
  39127. if v1 != 0 {
  39128. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  39129. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+6848, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  39130. return m_FcFalse
  39131. }
  39132. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  39133. return int32(m_FcTrue)
  39134. }
  39135. return m_FcFalse
  39136. }
  39137. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  39138. var c0, c1 int8
  39139. var v1, v2 int32
  39140. _, _, _, _ = c0, c1, v1, v2
  39141. c0 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v)))
  39142. if int32(0101) <= int32(c0) && int32(c0) <= int32(0132) {
  39143. v1 = int32(c0) - int32(0101) + int32(0141)
  39144. } else {
  39145. v1 = int32(c0)
  39146. }
  39147. c0 = int8(v1)
  39148. if int32(c0) == int32('t') || int32(c0) == int32('y') || int32(c0) == int32('1') {
  39149. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  39150. return int32(m_FcTrue)
  39151. }
  39152. if int32(c0) == int32('f') || int32(c0) == int32('n') || int32(c0) == int32('0') {
  39153. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  39154. return int32(m_FcTrue)
  39155. }
  39156. if int32(c0) == int32('d') || int32(c0) == int32('x') || int32(c0) == int32('2') {
  39157. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  39158. return int32(m_FcTrue)
  39159. }
  39160. if int32(c0) == int32('o') {
  39161. c1 = libc.Int8FromUint8(*(*TFcChar8)(unsafe.Pointer(v + 1)))
  39162. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  39163. v2 = int32(c1) - int32(0101) + int32(0141)
  39164. } else {
  39165. v2 = int32(c1)
  39166. }
  39167. c1 = int8(v2)
  39168. if int32(c1) == int32('n') {
  39169. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  39170. return int32(m_FcTrue)
  39171. }
  39172. if int32(c1) == int32('f') {
  39173. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  39174. return int32(m_FcTrue)
  39175. }
  39176. if int32(c1) == int32('r') {
  39177. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  39178. return int32(m_FcTrue)
  39179. }
  39180. }
  39181. return m_FcFalse
  39182. }
  39183. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  39184. bp := tls.Alloc(128)
  39185. defer tls.Free(128)
  39186. var ec, sc uintptr
  39187. var len1 Tsize_t
  39188. var v11, v12 float64
  39189. var _ /* b at bp+48 */ float64
  39190. var _ /* e at bp+56 */ float64
  39191. var _ /* ei at bp+76 */ int32
  39192. var _ /* m at bp+16 */ TFcMatrix
  39193. var _ /* p at bp+64 */ uintptr
  39194. var _ /* si at bp+72 */ int32
  39195. var _ /* v at bp+0 */ TFcValue
  39196. _, _, _, _, _ = ec, len1, sc, v11, v12
  39197. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  39198. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  39199. case int32(_FcTypeInteger):
  39200. goto _1
  39201. case int32(_FcTypeString):
  39202. goto _2
  39203. case int32(_FcTypeBool):
  39204. goto _3
  39205. case int32(_FcTypeDouble):
  39206. goto _4
  39207. case int32(_FcTypeMatrix):
  39208. goto _5
  39209. case int32(_FcTypeCharSet):
  39210. goto _6
  39211. case int32(_FcTypeLangSet):
  39212. goto _7
  39213. case int32(_FcTypeRange):
  39214. goto _8
  39215. default:
  39216. goto _9
  39217. }
  39218. goto _10
  39219. _1:
  39220. ;
  39221. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+8) != 0) {
  39222. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  39223. }
  39224. goto _10
  39225. _2:
  39226. ;
  39227. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  39228. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39229. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39230. }
  39231. goto _10
  39232. _3:
  39233. ;
  39234. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  39235. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  39236. }
  39237. goto _10
  39238. _4:
  39239. ;
  39240. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  39241. goto _10
  39242. _5:
  39243. ;
  39244. v11 = libc.Float64FromInt32(1)
  39245. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  39246. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  39247. v12 = libc.Float64FromInt32(0)
  39248. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  39249. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  39250. libc.Xsscanf(tls, string1, __ccgo_ts+6934, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  39251. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, bp+16)
  39252. goto _10
  39253. _6:
  39254. ;
  39255. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  39256. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39257. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39258. }
  39259. goto _10
  39260. _7:
  39261. ;
  39262. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  39263. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39264. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39265. }
  39266. goto _10
  39267. _8:
  39268. ;
  39269. if libc.Xsscanf(tls, string1, __ccgo_ts+6950, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  39270. len1 = libc.Xstrlen(tls, string1)
  39271. sc = libc.Xmalloc(tls, len1+uint64(1))
  39272. ec = libc.Xmalloc(tls, len1+uint64(1))
  39273. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6960, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  39274. goto _13
  39275. }
  39276. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+72) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+76) != 0 {
  39277. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  39278. } else {
  39279. goto bail1
  39280. }
  39281. goto _14
  39282. _13:
  39283. ;
  39284. goto bail1
  39285. bail1:
  39286. ;
  39287. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  39288. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+72) != 0 {
  39289. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  39290. } else {
  39291. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  39292. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  39293. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39294. }
  39295. }
  39296. _14:
  39297. ;
  39298. if sc != 0 {
  39299. libc.Xfree(tls, sc)
  39300. }
  39301. if ec != 0 {
  39302. libc.Xfree(tls, ec)
  39303. }
  39304. } else {
  39305. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  39306. }
  39307. goto _10
  39308. _9:
  39309. ;
  39310. goto _10
  39311. _10:
  39312. ;
  39313. return *(*TFcValue)(unsafe.Pointer(bp))
  39314. }
  39315. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  39316. var c, v1, v11, v12 TFcChar8
  39317. var v13 uintptr
  39318. var v2, v6, v8, v9 int32
  39319. var v4 t__darwin_ct_rune_t
  39320. var v5 uint64
  39321. _, _, _, _, _, _, _, _, _, _, _ = c, v1, v11, v12, v13, v2, v4, v5, v6, v8, v9
  39322. for {
  39323. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  39324. c = v1
  39325. if !(v1 != 0) {
  39326. break
  39327. }
  39328. v4 = libc.Int32FromUint8(c)
  39329. v5 = uint64(0x00004000)
  39330. v9 = libc.BoolInt32(v4 & ^libc.Int32FromInt32(0x7F) == 0)
  39331. goto _10
  39332. _10:
  39333. if v9 != 0 {
  39334. v8 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v4)*4)))&v5 != 0))
  39335. } else {
  39336. v8 = libc.BoolInt32(!!(libc.X__maskrune(tls, v4, v5) != 0))
  39337. }
  39338. v6 = v8
  39339. goto _7
  39340. _7:
  39341. v2 = v6
  39342. goto _3
  39343. _3:
  39344. if !(v2 != 0) {
  39345. break
  39346. }
  39347. cur++
  39348. }
  39349. for {
  39350. v11 = *(*TFcChar8)(unsafe.Pointer(cur))
  39351. c = v11
  39352. if !(v11 != 0) {
  39353. break
  39354. }
  39355. if libc.Int32FromUint8(c) == int32('\\') {
  39356. cur++
  39357. v12 = *(*TFcChar8)(unsafe.Pointer(cur))
  39358. c = v12
  39359. if !(v12 != 0) {
  39360. break
  39361. }
  39362. } else {
  39363. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  39364. break
  39365. }
  39366. }
  39367. cur++
  39368. v13 = save
  39369. save++
  39370. *(*TFcChar8)(unsafe.Pointer(v13)) = c
  39371. }
  39372. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  39373. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  39374. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  39375. cur++
  39376. }
  39377. return cur
  39378. }
  39379. func XFcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  39380. bp := tls.Alloc(16)
  39381. defer tls.Free(16)
  39382. var c, pat, save, t, v4 uintptr
  39383. var d float64
  39384. var v TFcValue
  39385. var _ /* delim at bp+8 */ TFcChar8
  39386. var _ /* e at bp+0 */ uintptr
  39387. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  39388. /* freed below */
  39389. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  39390. if !(save != 0) {
  39391. goto bail0
  39392. }
  39393. pat = XFcPatternCreate(tls)
  39394. if !(pat != 0) {
  39395. goto bail1
  39396. }
  39397. for {
  39398. name = _FcNameFindNext(tls, name, __ccgo_ts+6971, save, bp+8)
  39399. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  39400. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  39401. goto bail2
  39402. }
  39403. }
  39404. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39405. break
  39406. }
  39407. goto _1
  39408. _1:
  39409. }
  39410. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  39411. for {
  39412. name = _FcNameFindNext(tls, name, __ccgo_ts+6971, save, bp+8)
  39413. d = libc.Xstrtod(tls, save, bp)
  39414. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  39415. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  39416. goto bail2
  39417. }
  39418. }
  39419. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39420. break
  39421. }
  39422. goto _2
  39423. _2:
  39424. }
  39425. }
  39426. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  39427. name = _FcNameFindNext(tls, name, __ccgo_ts+6975, save, bp+8)
  39428. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  39429. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  39430. t = XFcNameGetObjectType(tls, save)
  39431. for {
  39432. name = _FcNameFindNext(tls, name, __ccgo_ts+6979, save, bp+8)
  39433. if t != 0 {
  39434. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  39435. if !(XFcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  39436. XFcValueDestroy(tls, v)
  39437. goto bail2
  39438. }
  39439. XFcValueDestroy(tls, v)
  39440. }
  39441. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  39442. break
  39443. }
  39444. goto _3
  39445. _3:
  39446. }
  39447. } else {
  39448. v4 = XFcNameGetConstant(tls, save)
  39449. c = v4
  39450. if v4 != 0 {
  39451. t = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  39452. if t == libc.UintptrFromInt32(0) {
  39453. goto bail2
  39454. }
  39455. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  39456. case int32(_FcTypeInteger):
  39457. fallthrough
  39458. case int32(_FcTypeDouble):
  39459. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39460. goto bail2
  39461. }
  39462. case int32(_FcTypeBool):
  39463. if !(XFcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39464. goto bail2
  39465. }
  39466. case int32(_FcTypeRange):
  39467. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  39468. goto bail2
  39469. }
  39470. default:
  39471. break
  39472. }
  39473. }
  39474. }
  39475. }
  39476. }
  39477. libc.Xfree(tls, save)
  39478. return pat
  39479. goto bail2
  39480. bail2:
  39481. ;
  39482. XFcPatternDestroy(tls, pat)
  39483. goto bail1
  39484. bail1:
  39485. ;
  39486. libc.Xfree(tls, save)
  39487. goto bail0
  39488. bail0:
  39489. ;
  39490. return uintptr(0)
  39491. return r
  39492. }
  39493. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  39494. var c, v1 TFcChar8
  39495. var v2 uintptr
  39496. _, _, _ = c, v1, v2
  39497. for {
  39498. v2 = string1
  39499. string1++
  39500. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  39501. c = v1
  39502. if !(v1 != 0) {
  39503. break
  39504. }
  39505. if escape != 0 && libc.Xstrchr(tls, escape, int32(libc.Int8FromUint8(c))) != 0 {
  39506. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  39507. return m_FcFalse
  39508. }
  39509. }
  39510. if !(XFcStrBufChar(tls, buf, c) != 0) {
  39511. return m_FcFalse
  39512. }
  39513. }
  39514. return int32(m_FcTrue)
  39515. }
  39516. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  39517. bp := tls.Alloc(1088)
  39518. defer tls.Free(1088)
  39519. var v1, v2 uintptr
  39520. var _ /* temp at bp+0 */ [1024]TFcChar8
  39521. var _ /* v at bp+1024 */ TFcValue
  39522. _, _ = v1, v2
  39523. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  39524. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  39525. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  39526. case int32(_FcTypeUnknown):
  39527. fallthrough
  39528. case int32(_FcTypeVoid):
  39529. return int32(m_FcTrue)
  39530. case int32(_FcTypeInteger):
  39531. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+2470, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  39532. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39533. case int32(_FcTypeDouble):
  39534. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+2473, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  39535. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39536. case int32(_FcTypeString):
  39537. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  39538. case int32(_FcTypeBool):
  39539. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  39540. v1 = __ccgo_ts + 1904
  39541. } else {
  39542. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  39543. v2 = __ccgo_ts + 1909
  39544. } else {
  39545. v2 = __ccgo_ts + 1915
  39546. }
  39547. v1 = v2
  39548. }
  39549. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  39550. case int32(_FcTypeMatrix):
  39551. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+6982, libc.VaList(bp+1048, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fyy))
  39552. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39553. case int32(_FcTypeCharSet):
  39554. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  39555. case int32(_FcTypeLangSet):
  39556. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  39557. case int32(_FcTypeFTFace):
  39558. return int32(m_FcTrue)
  39559. case int32(_FcTypeRange):
  39560. libc.X__builtin___sprintf_chk(tls, bp, 0, ^t__predefined_size_t(0), __ccgo_ts+1944, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  39561. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  39562. }
  39563. return m_FcFalse
  39564. }
  39565. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  39566. var v1 TFcValueListPtr
  39567. var v2 uintptr
  39568. _, _ = v1, v2
  39569. for v != 0 {
  39570. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  39571. return m_FcFalse
  39572. }
  39573. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  39574. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39575. } else {
  39576. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  39577. }
  39578. v1 = v2
  39579. v = v1
  39580. if v1 != libc.UintptrFromInt32(0) {
  39581. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6994, uintptr(0)) != 0) {
  39582. return m_FcFalse
  39583. }
  39584. }
  39585. }
  39586. return int32(m_FcTrue)
  39587. }
  39588. func XFcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  39589. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  39590. }
  39591. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  39592. bp := tls.Alloc(8752)
  39593. defer tls.Free(8752)
  39594. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  39595. var i int32
  39596. var id TFcObject
  39597. var _ /* buf at bp+0 */ TFcStrBuf
  39598. var _ /* buf2 at bp+152 */ TFcStrBuf
  39599. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  39600. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  39601. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  39602. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  39603. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  39604. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  39605. if e != 0 {
  39606. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39607. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39608. } else {
  39609. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39610. }
  39611. if escape != 0 {
  39612. v2 = __ccgo_ts + 6996
  39613. } else {
  39614. v2 = uintptr(0)
  39615. }
  39616. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  39617. goto bail0
  39618. }
  39619. }
  39620. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  39621. if e != 0 {
  39622. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+7001, uintptr(0)) != 0) {
  39623. goto bail0
  39624. }
  39625. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39626. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39627. } else {
  39628. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39629. }
  39630. if escape != 0 {
  39631. v4 = __ccgo_ts + 6996
  39632. } else {
  39633. v4 = uintptr(0)
  39634. }
  39635. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  39636. goto bail0
  39637. }
  39638. p = XFcStrBufDoneStatic(tls, bp+152)
  39639. XFcStrBufDestroy(tls, bp+152)
  39640. if libc.Xstrlen(tls, p) > uint64(1) {
  39641. if !(XFcStrBufString(tls, bp, p) != 0) {
  39642. goto bail0
  39643. }
  39644. }
  39645. }
  39646. i = 0
  39647. for {
  39648. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  39649. break
  39650. }
  39651. id = i + int32(1)
  39652. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  39653. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6100) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6335) != 0) {
  39654. goto _5
  39655. }
  39656. e = XFcPatternObjectFindElt(tls, pat, id)
  39657. if e != 0 {
  39658. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+7003, uintptr(0)) != 0) {
  39659. goto bail0
  39660. }
  39661. if escape != 0 {
  39662. v6 = __ccgo_ts + 7005
  39663. } else {
  39664. v6 = uintptr(0)
  39665. }
  39666. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  39667. goto bail0
  39668. }
  39669. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+7011, uintptr(0)) != 0) {
  39670. goto bail0
  39671. }
  39672. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  39673. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  39674. } else {
  39675. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  39676. }
  39677. if escape != 0 {
  39678. v8 = __ccgo_ts + 7005
  39679. } else {
  39680. v8 = uintptr(0)
  39681. }
  39682. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  39683. goto bail0
  39684. }
  39685. }
  39686. goto _5
  39687. _5:
  39688. ;
  39689. i++
  39690. }
  39691. return XFcStrBufDone(tls, bp)
  39692. goto bail0
  39693. bail0:
  39694. ;
  39695. XFcStrBufDestroy(tls, bp)
  39696. return uintptr(0)
  39697. }
  39698. /* ANSI-C code produced by gperf version 3.0.3 */
  39699. /* Command-line: /Library/Developer/CommandLineTools/usr/bin/gperf --pic -m 100 fcobjshash.gperf */
  39700. /* Computed positions: -k'3,5' */
  39701. type TFcObjectTypeInfo = struct {
  39702. Fname int32
  39703. Fid int32
  39704. }
  39705. /*
  39706. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  39707. *
  39708. * @APPLE_LICENSE_HEADER_START@
  39709. *
  39710. * This file contains Original Code and/or Modifications of Original Code
  39711. * as defined in and that are subject to the Apple Public Source License
  39712. * Version 2.0 (the 'License'). You may not use this file except in
  39713. * compliance with the License. Please obtain a copy of the License at
  39714. * http://www.opensource.apple.com/apsl/ and read it before using this
  39715. * file.
  39716. *
  39717. * The Original Code and all software distributed under the License are
  39718. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  39719. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  39720. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  39721. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  39722. * Please see the License for the specific language governing rights and
  39723. * limitations under the License.
  39724. *
  39725. * @APPLE_LICENSE_HEADER_END@
  39726. */
  39727. /*-
  39728. * Copyright (c) 1990, 1993
  39729. * The Regents of the University of California. All rights reserved.
  39730. *
  39731. * Redistribution and use in source and binary forms, with or without
  39732. * modification, are permitted provided that the following conditions
  39733. * are met:
  39734. * 1. Redistributions of source code must retain the above copyright
  39735. * notice, this list of conditions and the following disclaimer.
  39736. * 2. Redistributions in binary form must reproduce the above copyright
  39737. * notice, this list of conditions and the following disclaimer in the
  39738. * documentation and/or other materials provided with the distribution.
  39739. * 3. All advertising materials mentioning features or use of this software
  39740. * must display the following acknowledgement:
  39741. * This product includes software developed by the University of
  39742. * California, Berkeley and its contributors.
  39743. * 4. Neither the name of the University nor the names of its contributors
  39744. * may be used to endorse or promote products derived from this software
  39745. * without specific prior written permission.
  39746. *
  39747. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  39748. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  39749. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  39750. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  39751. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39752. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  39753. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  39754. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  39755. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  39756. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  39757. * SUCH DAMAGE.
  39758. *
  39759. * @(#)string.h 8.1 (Berkeley) 6/2/93
  39760. */
  39761. /*
  39762. * Copyright (c) 2023 Apple Inc. All rights reserved.
  39763. *
  39764. * @APPLE_LICENSE_HEADER_START@
  39765. *
  39766. * This file contains Original Code and/or Modifications of Original Code
  39767. * as defined in and that are subject to the Apple Public Source License
  39768. * Version 2.0 (the 'License'). You may not use this file except in
  39769. * compliance with the License. Please obtain a copy of the License at
  39770. * http://www.opensource.apple.com/apsl/ and read it before using this
  39771. * file.
  39772. *
  39773. * The Original Code and all software distributed under the License are
  39774. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  39775. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  39776. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  39777. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  39778. * Please see the License for the specific language governing rights and
  39779. * limitations under the License.
  39780. *
  39781. * @APPLE_LICENSE_HEADER_END@
  39782. */
  39783. /*-
  39784. * Copyright (c) 1990, 1993
  39785. * The Regents of the University of California. All rights reserved.
  39786. *
  39787. * Redistribution and use in source and binary forms, with or without
  39788. * modification, are permitted provided that the following conditions
  39789. * are met:
  39790. * 1. Redistributions of source code must retain the above copyright
  39791. * notice, this list of conditions and the following disclaimer.
  39792. * 2. Redistributions in binary form must reproduce the above copyright
  39793. * notice, this list of conditions and the following disclaimer in the
  39794. * documentation and/or other materials provided with the distribution.
  39795. * 3. All advertising materials mentioning features or use of this software
  39796. * must display the following acknowledgement:
  39797. * This product includes software developed by the University of
  39798. * California, Berkeley and its contributors.
  39799. * 4. Neither the name of the University nor the names of its contributors
  39800. * may be used to endorse or promote products derived from this software
  39801. * without specific prior written permission.
  39802. *
  39803. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  39804. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  39805. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  39806. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  39807. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39808. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  39809. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  39810. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  39811. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  39812. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  39813. * SUCH DAMAGE.
  39814. *
  39815. * @(#)string.h 8.1 (Berkeley) 6/2/93
  39816. */
  39817. /*===---- stddef.h - Basic type definitions --------------------------------===
  39818. *
  39819. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39820. * See https://llvm.org/LICENSE.txt for license information.
  39821. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39822. *
  39823. *===-----------------------------------------------------------------------===
  39824. */
  39825. /*
  39826. * This header is designed to be included multiple times. If any of the __need_
  39827. * macros are defined, then only that subset of interfaces are provided. This
  39828. * can be useful for POSIX headers that need to not expose all of stddef.h, but
  39829. * need to use some of its interfaces. Otherwise this header provides all of
  39830. * the expected interfaces.
  39831. *
  39832. * When clang modules are enabled, this header is a textual header to support
  39833. * the multiple include behavior. As such, it doesn't directly declare anything
  39834. * so that it doesn't add duplicate declarations to all of its includers'
  39835. * modules.
  39836. */
  39837. /* ISO9899:2011 7.20 (C11 Annex K): Define rsize_t if __STDC_WANT_LIB_EXT1__ is
  39838. * enabled. */
  39839. /* FIXME: This is using the placeholder dates Clang produces for these macros
  39840. in C2x mode; switch to the correct values once they've been published. */
  39841. /* wint_t is provided by <wchar.h> and not <stddef.h>. It's here
  39842. * for compatibility, but must be explicitly requested. Therefore
  39843. * __need_wint_t is intentionally not defined here. */
  39844. /*===---- __stddef_header_macro.h ------------------------------------------===
  39845. *
  39846. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39847. * See https://llvm.org/LICENSE.txt for license information.
  39848. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39849. *
  39850. *===-----------------------------------------------------------------------===
  39851. */
  39852. /*===---- __stddef_ptrdiff_t.h - Definition of ptrdiff_t -------------------===
  39853. *
  39854. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39855. * See https://llvm.org/LICENSE.txt for license information.
  39856. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39857. *
  39858. *===-----------------------------------------------------------------------===
  39859. */
  39860. /*
  39861. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  39862. * and needs to behave as if it was textual.
  39863. */
  39864. /*===---- __stddef_size_t.h - Definition of size_t -------------------------===
  39865. *
  39866. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39867. * See https://llvm.org/LICENSE.txt for license information.
  39868. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39869. *
  39870. *===-----------------------------------------------------------------------===
  39871. */
  39872. /*
  39873. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  39874. * and needs to behave as if it was textual.
  39875. */
  39876. /*===---- __stddef_rsize_t.h - Definition of rsize_t -----------------------===
  39877. *
  39878. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39879. * See https://llvm.org/LICENSE.txt for license information.
  39880. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39881. *
  39882. *===-----------------------------------------------------------------------===
  39883. */
  39884. /*
  39885. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  39886. * and needs to behave as if it was textual.
  39887. */
  39888. /*===---- __stddef_wchar.h - Definition of wchar_t -------------------------===
  39889. *
  39890. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39891. * See https://llvm.org/LICENSE.txt for license information.
  39892. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39893. *
  39894. *===-----------------------------------------------------------------------===
  39895. */
  39896. /*
  39897. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  39898. * and needs to behave as if it was textual.
  39899. */
  39900. /*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------===
  39901. *
  39902. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39903. * See https://llvm.org/LICENSE.txt for license information.
  39904. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39905. *
  39906. *===-----------------------------------------------------------------------===
  39907. */
  39908. /*===---- __stddef_offsetof.h - Definition of offsetof ---------------------===
  39909. *
  39910. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  39911. * See https://llvm.org/LICENSE.txt for license information.
  39912. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  39913. *
  39914. *===-----------------------------------------------------------------------===
  39915. */
  39916. /*
  39917. * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
  39918. * and needs to behave as if it was textual.
  39919. */
  39920. /* Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
  39921. __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t */
  39922. /* maximum key range = 59, duplicates = 0 */
  39923. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 uint32) (r uint32) {
  39924. var hval uint32
  39925. _ = hval
  39926. hval = len1
  39927. switch hval {
  39928. default:
  39929. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 4)))])
  39930. /*FALLTHROUGH*/
  39931. fallthrough
  39932. case uint32(4):
  39933. fallthrough
  39934. case uint32(3):
  39935. hval += uint32(_asso_values[libc.Uint8FromInt8(*(*int8)(unsafe.Pointer(str + 2)))])
  39936. break
  39937. }
  39938. return hval
  39939. }
  39940. var _asso_values = [256]uint8{
  39941. 0: uint8(66),
  39942. 1: uint8(66),
  39943. 2: uint8(66),
  39944. 3: uint8(66),
  39945. 4: uint8(66),
  39946. 5: uint8(66),
  39947. 6: uint8(66),
  39948. 7: uint8(66),
  39949. 8: uint8(66),
  39950. 9: uint8(66),
  39951. 10: uint8(66),
  39952. 11: uint8(66),
  39953. 12: uint8(66),
  39954. 13: uint8(66),
  39955. 14: uint8(66),
  39956. 15: uint8(66),
  39957. 16: uint8(66),
  39958. 17: uint8(66),
  39959. 18: uint8(66),
  39960. 19: uint8(66),
  39961. 20: uint8(66),
  39962. 21: uint8(66),
  39963. 22: uint8(66),
  39964. 23: uint8(66),
  39965. 24: uint8(66),
  39966. 25: uint8(66),
  39967. 26: uint8(66),
  39968. 27: uint8(66),
  39969. 28: uint8(66),
  39970. 29: uint8(66),
  39971. 30: uint8(66),
  39972. 31: uint8(66),
  39973. 32: uint8(66),
  39974. 33: uint8(66),
  39975. 34: uint8(66),
  39976. 35: uint8(66),
  39977. 36: uint8(66),
  39978. 37: uint8(66),
  39979. 38: uint8(66),
  39980. 39: uint8(66),
  39981. 40: uint8(66),
  39982. 41: uint8(66),
  39983. 42: uint8(66),
  39984. 43: uint8(66),
  39985. 44: uint8(66),
  39986. 45: uint8(66),
  39987. 46: uint8(66),
  39988. 47: uint8(66),
  39989. 48: uint8(66),
  39990. 49: uint8(66),
  39991. 50: uint8(66),
  39992. 51: uint8(66),
  39993. 52: uint8(66),
  39994. 53: uint8(66),
  39995. 54: uint8(66),
  39996. 55: uint8(66),
  39997. 56: uint8(66),
  39998. 57: uint8(66),
  39999. 58: uint8(66),
  40000. 59: uint8(66),
  40001. 60: uint8(66),
  40002. 61: uint8(66),
  40003. 62: uint8(66),
  40004. 63: uint8(66),
  40005. 64: uint8(66),
  40006. 65: uint8(66),
  40007. 66: uint8(66),
  40008. 67: uint8(66),
  40009. 68: uint8(66),
  40010. 69: uint8(66),
  40011. 70: uint8(66),
  40012. 71: uint8(66),
  40013. 72: uint8(66),
  40014. 73: uint8(66),
  40015. 74: uint8(66),
  40016. 75: uint8(66),
  40017. 76: uint8(66),
  40018. 77: uint8(66),
  40019. 78: uint8(66),
  40020. 79: uint8(66),
  40021. 80: uint8(66),
  40022. 81: uint8(66),
  40023. 82: uint8(66),
  40024. 83: uint8(66),
  40025. 84: uint8(66),
  40026. 85: uint8(66),
  40027. 86: uint8(66),
  40028. 87: uint8(66),
  40029. 88: uint8(66),
  40030. 89: uint8(66),
  40031. 90: uint8(66),
  40032. 91: uint8(66),
  40033. 92: uint8(66),
  40034. 93: uint8(66),
  40035. 94: uint8(66),
  40036. 95: uint8(66),
  40037. 96: uint8(66),
  40038. 97: uint8(4),
  40039. 98: uint8(10),
  40040. 99: uint8(32),
  40041. 100: uint8(21),
  40042. 101: uint8(29),
  40043. 102: uint8(28),
  40044. 103: uint8(49),
  40045. 104: uint8(14),
  40046. 105: uint8(4),
  40047. 106: uint8(66),
  40048. 107: uint8(66),
  40049. 108: uint8(5),
  40050. 109: uint8(31),
  40051. 110: uint8(18),
  40052. 111: uint8(22),
  40053. 112: uint8(27),
  40054. 113: uint8(66),
  40055. 114: uint8(15),
  40056. 115: uint8(9),
  40057. 116: uint8(8),
  40058. 117: uint8(23),
  40059. 118: uint8(23),
  40060. 119: uint8(13),
  40061. 120: uint8(23),
  40062. 121: uint8(16),
  40063. 122: uint8(4),
  40064. 123: uint8(66),
  40065. 124: uint8(66),
  40066. 125: uint8(66),
  40067. 126: uint8(66),
  40068. 127: uint8(66),
  40069. 128: uint8(66),
  40070. 129: uint8(66),
  40071. 130: uint8(66),
  40072. 131: uint8(66),
  40073. 132: uint8(66),
  40074. 133: uint8(66),
  40075. 134: uint8(66),
  40076. 135: uint8(66),
  40077. 136: uint8(66),
  40078. 137: uint8(66),
  40079. 138: uint8(66),
  40080. 139: uint8(66),
  40081. 140: uint8(66),
  40082. 141: uint8(66),
  40083. 142: uint8(66),
  40084. 143: uint8(66),
  40085. 144: uint8(66),
  40086. 145: uint8(66),
  40087. 146: uint8(66),
  40088. 147: uint8(66),
  40089. 148: uint8(66),
  40090. 149: uint8(66),
  40091. 150: uint8(66),
  40092. 151: uint8(66),
  40093. 152: uint8(66),
  40094. 153: uint8(66),
  40095. 154: uint8(66),
  40096. 155: uint8(66),
  40097. 156: uint8(66),
  40098. 157: uint8(66),
  40099. 158: uint8(66),
  40100. 159: uint8(66),
  40101. 160: uint8(66),
  40102. 161: uint8(66),
  40103. 162: uint8(66),
  40104. 163: uint8(66),
  40105. 164: uint8(66),
  40106. 165: uint8(66),
  40107. 166: uint8(66),
  40108. 167: uint8(66),
  40109. 168: uint8(66),
  40110. 169: uint8(66),
  40111. 170: uint8(66),
  40112. 171: uint8(66),
  40113. 172: uint8(66),
  40114. 173: uint8(66),
  40115. 174: uint8(66),
  40116. 175: uint8(66),
  40117. 176: uint8(66),
  40118. 177: uint8(66),
  40119. 178: uint8(66),
  40120. 179: uint8(66),
  40121. 180: uint8(66),
  40122. 181: uint8(66),
  40123. 182: uint8(66),
  40124. 183: uint8(66),
  40125. 184: uint8(66),
  40126. 185: uint8(66),
  40127. 186: uint8(66),
  40128. 187: uint8(66),
  40129. 188: uint8(66),
  40130. 189: uint8(66),
  40131. 190: uint8(66),
  40132. 191: uint8(66),
  40133. 192: uint8(66),
  40134. 193: uint8(66),
  40135. 194: uint8(66),
  40136. 195: uint8(66),
  40137. 196: uint8(66),
  40138. 197: uint8(66),
  40139. 198: uint8(66),
  40140. 199: uint8(66),
  40141. 200: uint8(66),
  40142. 201: uint8(66),
  40143. 202: uint8(66),
  40144. 203: uint8(66),
  40145. 204: uint8(66),
  40146. 205: uint8(66),
  40147. 206: uint8(66),
  40148. 207: uint8(66),
  40149. 208: uint8(66),
  40150. 209: uint8(66),
  40151. 210: uint8(66),
  40152. 211: uint8(66),
  40153. 212: uint8(66),
  40154. 213: uint8(66),
  40155. 214: uint8(66),
  40156. 215: uint8(66),
  40157. 216: uint8(66),
  40158. 217: uint8(66),
  40159. 218: uint8(66),
  40160. 219: uint8(66),
  40161. 220: uint8(66),
  40162. 221: uint8(66),
  40163. 222: uint8(66),
  40164. 223: uint8(66),
  40165. 224: uint8(66),
  40166. 225: uint8(66),
  40167. 226: uint8(66),
  40168. 227: uint8(66),
  40169. 228: uint8(66),
  40170. 229: uint8(66),
  40171. 230: uint8(66),
  40172. 231: uint8(66),
  40173. 232: uint8(66),
  40174. 233: uint8(66),
  40175. 234: uint8(66),
  40176. 235: uint8(66),
  40177. 236: uint8(66),
  40178. 237: uint8(66),
  40179. 238: uint8(66),
  40180. 239: uint8(66),
  40181. 240: uint8(66),
  40182. 241: uint8(66),
  40183. 242: uint8(66),
  40184. 243: uint8(66),
  40185. 244: uint8(66),
  40186. 245: uint8(66),
  40187. 246: uint8(66),
  40188. 247: uint8(66),
  40189. 248: uint8(66),
  40190. 249: uint8(66),
  40191. 250: uint8(66),
  40192. 251: uint8(66),
  40193. 252: uint8(66),
  40194. 253: uint8(66),
  40195. 254: uint8(66),
  40196. 255: uint8(66),
  40197. }
  40198. type TFcObjectTypeNamePool_t = struct {
  40199. FFcObjectTypeNamePool_str7 [4]int8
  40200. FFcObjectTypeNamePool_str8 [5]int8
  40201. FFcObjectTypeNamePool_str9 [5]int8
  40202. FFcObjectTypeNamePool_str13 [5]int8
  40203. FFcObjectTypeNamePool_str14 [5]int8
  40204. FFcObjectTypeNamePool_str15 [8]int8
  40205. FFcObjectTypeNamePool_str16 [9]int8
  40206. FFcObjectTypeNamePool_str17 [6]int8
  40207. FFcObjectTypeNamePool_str18 [7]int8
  40208. FFcObjectTypeNamePool_str19 [8]int8
  40209. FFcObjectTypeNamePool_str20 [8]int8
  40210. FFcObjectTypeNamePool_str21 [10]int8
  40211. FFcObjectTypeNamePool_str22 [5]int8
  40212. FFcObjectTypeNamePool_str23 [9]int8
  40213. FFcObjectTypeNamePool_str24 [7]int8
  40214. FFcObjectTypeNamePool_str25 [6]int8
  40215. FFcObjectTypeNamePool_str26 [10]int8
  40216. FFcObjectTypeNamePool_str27 [9]int8
  40217. FFcObjectTypeNamePool_str28 [11]int8
  40218. FFcObjectTypeNamePool_str29 [8]int8
  40219. FFcObjectTypeNamePool_str30 [9]int8
  40220. FFcObjectTypeNamePool_str31 [9]int8
  40221. FFcObjectTypeNamePool_str32 [15]int8
  40222. FFcObjectTypeNamePool_str33 [15]int8
  40223. FFcObjectTypeNamePool_str34 [10]int8
  40224. FFcObjectTypeNamePool_str35 [13]int8
  40225. FFcObjectTypeNamePool_str36 [10]int8
  40226. FFcObjectTypeNamePool_str37 [10]int8
  40227. FFcObjectTypeNamePool_str38 [6]int8
  40228. FFcObjectTypeNamePool_str39 [14]int8
  40229. FFcObjectTypeNamePool_str40 [6]int8
  40230. FFcObjectTypeNamePool_str41 [6]int8
  40231. FFcObjectTypeNamePool_str42 [7]int8
  40232. FFcObjectTypeNamePool_str43 [12]int8
  40233. FFcObjectTypeNamePool_str44 [9]int8
  40234. FFcObjectTypeNamePool_str45 [15]int8
  40235. FFcObjectTypeNamePool_str46 [11]int8
  40236. FFcObjectTypeNamePool_str47 [11]int8
  40237. FFcObjectTypeNamePool_str48 [11]int8
  40238. FFcObjectTypeNamePool_str49 [6]int8
  40239. FFcObjectTypeNamePool_str50 [6]int8
  40240. FFcObjectTypeNamePool_str51 [8]int8
  40241. FFcObjectTypeNamePool_str52 [12]int8
  40242. FFcObjectTypeNamePool_str53 [9]int8
  40243. FFcObjectTypeNamePool_str54 [10]int8
  40244. FFcObjectTypeNamePool_str55 [15]int8
  40245. FFcObjectTypeNamePool_str56 [11]int8
  40246. FFcObjectTypeNamePool_str57 [11]int8
  40247. FFcObjectTypeNamePool_str58 [13]int8
  40248. FFcObjectTypeNamePool_str59 [7]int8
  40249. FFcObjectTypeNamePool_str60 [8]int8
  40250. FFcObjectTypeNamePool_str65 [7]int8
  40251. }
  40252. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  40253. FFcObjectTypeNamePool_str7: [4]int8{'d', 'p', 'i'},
  40254. FFcObjectTypeNamePool_str8: [5]int8{'s', 'i', 'z', 'e'},
  40255. FFcObjectTypeNamePool_str9: [5]int8{'f', 'i', 'l', 'e'},
  40256. FFcObjectTypeNamePool_str13: [5]int8{'h', 'a', 's', 'h'},
  40257. FFcObjectTypeNamePool_str14: [5]int8{'r', 'g', 'b', 'a'},
  40258. FFcObjectTypeNamePool_str15: [8]int8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  40259. FFcObjectTypeNamePool_str16: [9]int8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  40260. FFcObjectTypeNamePool_str17: [6]int8{'s', 'l', 'a', 'n', 't'},
  40261. FFcObjectTypeNamePool_str18: [7]int8{'m', 'a', 't', 'r', 'i', 'x'},
  40262. FFcObjectTypeNamePool_str19: [8]int8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  40263. FFcObjectTypeNamePool_str20: [8]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  40264. FFcObjectTypeNamePool_str21: [10]int8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  40265. FFcObjectTypeNamePool_str22: [5]int8{'l', 'a', 'n', 'g'},
  40266. FFcObjectTypeNamePool_str23: [9]int8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  40267. FFcObjectTypeNamePool_str24: [7]int8{'w', 'e', 'i', 'g', 'h', 't'},
  40268. FFcObjectTypeNamePool_str25: [6]int8{'c', 'o', 'l', 'o', 'r'},
  40269. FFcObjectTypeNamePool_str26: [10]int8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  40270. FFcObjectTypeNamePool_str27: [9]int8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  40271. FFcObjectTypeNamePool_str28: [11]int8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  40272. FFcObjectTypeNamePool_str29: [8]int8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  40273. FFcObjectTypeNamePool_str30: [9]int8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  40274. FFcObjectTypeNamePool_str31: [9]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  40275. FFcObjectTypeNamePool_str32: [15]int8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  40276. FFcObjectTypeNamePool_str33: [15]int8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  40277. FFcObjectTypeNamePool_str34: [10]int8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  40278. FFcObjectTypeNamePool_str35: [13]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  40279. FFcObjectTypeNamePool_str36: [10]int8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  40280. FFcObjectTypeNamePool_str37: [10]int8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  40281. FFcObjectTypeNamePool_str38: [6]int8{'s', 'c', 'a', 'l', 'e'},
  40282. FFcObjectTypeNamePool_str39: [14]int8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  40283. FFcObjectTypeNamePool_str40: [6]int8{'w', 'i', 'd', 't', 'h'},
  40284. FFcObjectTypeNamePool_str41: [6]int8{'o', 'r', 'd', 'e', 'r'},
  40285. FFcObjectTypeNamePool_str42: [7]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  40286. FFcObjectTypeNamePool_str43: [12]int8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  40287. FFcObjectTypeNamePool_str44: [9]int8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  40288. FFcObjectTypeNamePool_str45: [15]int8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  40289. FFcObjectTypeNamePool_str46: [11]int8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  40290. FFcObjectTypeNamePool_str47: [11]int8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  40291. FFcObjectTypeNamePool_str48: [11]int8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  40292. FFcObjectTypeNamePool_str49: [6]int8{'i', 'n', 'd', 'e', 'x'},
  40293. FFcObjectTypeNamePool_str50: [6]int8{'s', 't', 'y', 'l', 'e'},
  40294. FFcObjectTypeNamePool_str51: [8]int8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  40295. FFcObjectTypeNamePool_str52: [12]int8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  40296. FFcObjectTypeNamePool_str53: [9]int8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  40297. FFcObjectTypeNamePool_str54: [10]int8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  40298. FFcObjectTypeNamePool_str55: [15]int8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  40299. FFcObjectTypeNamePool_str56: [11]int8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  40300. FFcObjectTypeNamePool_str57: [11]int8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  40301. FFcObjectTypeNamePool_str58: [13]int8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  40302. FFcObjectTypeNamePool_str59: [7]int8{'s', 'y', 'm', 'b', 'o', 'l'},
  40303. FFcObjectTypeNamePool_str60: [8]int8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  40304. FFcObjectTypeNamePool_str65: [7]int8{'a', 's', 'p', 'e', 'c', 't'},
  40305. }
  40306. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 uint32) (r uintptr) {
  40307. var key uint32
  40308. var o int32
  40309. var s uintptr
  40310. _, _, _ = key, o, s
  40311. if len1 <= libc.Uint32FromInt32(14) && len1 >= libc.Uint32FromInt32(3) {
  40312. key = _FcObjectTypeHash(tls, str, len1)
  40313. if key <= libc.Uint32FromInt32(65) {
  40314. o = _wordlist[key].Fname
  40315. if o >= 0 {
  40316. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  40317. if int32(*(*int8)(unsafe.Pointer(str))) == int32(*(*int8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  40318. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  40319. }
  40320. }
  40321. }
  40322. }
  40323. return uintptr(0)
  40324. }
  40325. var _wordlist = [66]TFcObjectTypeInfo{
  40326. 0: {
  40327. Fname: -int32(1),
  40328. },
  40329. 1: {
  40330. Fname: -int32(1),
  40331. },
  40332. 2: {
  40333. Fname: -int32(1),
  40334. },
  40335. 3: {
  40336. Fname: -int32(1),
  40337. },
  40338. 4: {
  40339. Fname: -int32(1),
  40340. },
  40341. 5: {
  40342. Fname: -int32(1),
  40343. },
  40344. 6: {
  40345. Fname: -int32(1),
  40346. },
  40347. 7: {
  40348. Fid: int32(_FC_DPI_OBJECT),
  40349. },
  40350. 8: {
  40351. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 4)),
  40352. Fid: int32(_FC_SIZE_OBJECT),
  40353. },
  40354. 9: {
  40355. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 9)),
  40356. Fid: int32(_FC_FILE_OBJECT),
  40357. },
  40358. 10: {
  40359. Fname: -int32(1),
  40360. },
  40361. 11: {
  40362. Fname: -int32(1),
  40363. },
  40364. 12: {
  40365. Fname: -int32(1),
  40366. },
  40367. 13: {
  40368. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 14)),
  40369. Fid: int32(_FC_HASH_OBJECT),
  40370. },
  40371. 14: {
  40372. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 19)),
  40373. Fid: int32(_FC_RGBA_OBJECT),
  40374. },
  40375. 15: {
  40376. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 24)),
  40377. Fid: int32(_FC_SPACING_OBJECT),
  40378. },
  40379. 16: {
  40380. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 32)),
  40381. Fid: int32(_FC_SCALABLE_OBJECT),
  40382. },
  40383. 17: {
  40384. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 41)),
  40385. Fid: int32(_FC_SLANT_OBJECT),
  40386. },
  40387. 18: {
  40388. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 47)),
  40389. Fid: int32(_FC_MATRIX_OBJECT),
  40390. },
  40391. 19: {
  40392. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 54)),
  40393. Fid: int32(_FC_OUTLINE_OBJECT),
  40394. },
  40395. 20: {
  40396. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 62)),
  40397. Fid: int32(_FC_CHARSET_OBJECT),
  40398. },
  40399. 21: {
  40400. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 70)),
  40401. Fid: int32(_FC_ANTIALIAS_OBJECT),
  40402. },
  40403. 22: {
  40404. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 80)),
  40405. Fid: int32(_FC_LANG_OBJECT),
  40406. },
  40407. 23: {
  40408. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 85)),
  40409. Fid: int32(_FC_EMBOLDEN_OBJECT),
  40410. },
  40411. 24: {
  40412. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 94)),
  40413. Fid: int32(_FC_WEIGHT_OBJECT),
  40414. },
  40415. 25: {
  40416. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 101)),
  40417. Fid: int32(_FC_COLOR_OBJECT),
  40418. },
  40419. 26: {
  40420. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 107)),
  40421. Fid: int32(_FC_CHARWIDTH_OBJECT),
  40422. },
  40423. 27: {
  40424. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 117)),
  40425. Fid: int32(_FC_VARIABLE_OBJECT),
  40426. },
  40427. 28: {
  40428. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 126)),
  40429. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  40430. },
  40431. 29: {
  40432. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 137)),
  40433. Fid: int32(_FC_HINTING_OBJECT),
  40434. },
  40435. 30: {
  40436. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 145)),
  40437. Fid: int32(_FC_AUTOHINT_OBJECT),
  40438. },
  40439. 31: {
  40440. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 154)),
  40441. Fid: int32(_FC_FULLNAME_OBJECT),
  40442. },
  40443. 32: {
  40444. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 163)),
  40445. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  40446. },
  40447. 33: {
  40448. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 178)),
  40449. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  40450. },
  40451. 34: {
  40452. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 193)),
  40453. Fid: int32(_FC_LCD_FILTER_OBJECT),
  40454. },
  40455. 35: {
  40456. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 203)),
  40457. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  40458. },
  40459. 36: {
  40460. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 216)),
  40461. Fid: int32(_FC_HINT_STYLE_OBJECT),
  40462. },
  40463. 37: {
  40464. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 226)),
  40465. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  40466. },
  40467. 38: {
  40468. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 236)),
  40469. Fid: int32(_FC_SCALE_OBJECT),
  40470. },
  40471. 39: {
  40472. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 242)),
  40473. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  40474. },
  40475. 40: {
  40476. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 256)),
  40477. Fid: int32(_FC_WIDTH_OBJECT),
  40478. },
  40479. 41: {
  40480. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 262)),
  40481. Fid: int32(_FC_ORDER_OBJECT),
  40482. },
  40483. 42: {
  40484. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 268)),
  40485. Fid: int32(_FC_FAMILY_OBJECT),
  40486. },
  40487. 43: {
  40488. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 275)),
  40489. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  40490. },
  40491. 44: {
  40492. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 287)),
  40493. Fid: int32(_FC_NAMELANG_OBJECT),
  40494. },
  40495. 45: {
  40496. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 296)),
  40497. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  40498. },
  40499. 46: {
  40500. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 311)),
  40501. Fid: int32(_FC_FAMILYLANG_OBJECT),
  40502. },
  40503. 47: {
  40504. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 322)),
  40505. Fid: int32(_FC_CAPABILITY_OBJECT),
  40506. },
  40507. 48: {
  40508. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 333)),
  40509. Fid: int32(_FC_RASTERIZER_OBJECT),
  40510. },
  40511. 49: {
  40512. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 344)),
  40513. Fid: int32(_FC_INDEX_OBJECT),
  40514. },
  40515. 50: {
  40516. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 350)),
  40517. Fid: int32(_FC_STYLE_OBJECT),
  40518. },
  40519. 51: {
  40520. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 356)),
  40521. Fid: int32(_FC_FOUNDRY_OBJECT),
  40522. },
  40523. 52: {
  40524. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 364)),
  40525. Fid: int32(_FC_FONTVERSION_OBJECT),
  40526. },
  40527. 53: {
  40528. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 376)),
  40529. Fid: int32(_FC_MINSPACE_OBJECT),
  40530. },
  40531. 54: {
  40532. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 385)),
  40533. Fid: int32(_FC_STYLELANG_OBJECT),
  40534. },
  40535. 55: {
  40536. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 395)),
  40537. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  40538. },
  40539. 56: {
  40540. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 410)),
  40541. Fid: int32(_FC_FONTFORMAT_OBJECT),
  40542. },
  40543. 57: {
  40544. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 421)),
  40545. Fid: int32(_FC_DECORATIVE_OBJECT),
  40546. },
  40547. 58: {
  40548. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 432)),
  40549. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  40550. },
  40551. 59: {
  40552. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 445)),
  40553. Fid: int32(_FC_SYMBOL_OBJECT),
  40554. },
  40555. 60: {
  40556. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 452)),
  40557. Fid: int32(_FC_PRGNAME_OBJECT),
  40558. },
  40559. 61: {
  40560. Fname: -int32(1),
  40561. },
  40562. 62: {
  40563. Fname: -int32(1),
  40564. },
  40565. 63: {
  40566. Fname: -int32(1),
  40567. },
  40568. 64: {
  40569. Fname: -int32(1),
  40570. },
  40571. 65: {
  40572. Fname: libc.Int32FromUint64(uint64(libc.UintptrFromInt32(0) + 460)),
  40573. Fid: int32(_FC_ASPECT_OBJECT),
  40574. },
  40575. }
  40576. /*
  40577. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  40578. *
  40579. * @APPLE_LICENSE_HEADER_START@
  40580. *
  40581. * This file contains Original Code and/or Modifications of Original Code
  40582. * as defined in and that are subject to the Apple Public Source License
  40583. * Version 2.0 (the 'License'). You may not use this file except in
  40584. * compliance with the License. Please obtain a copy of the License at
  40585. * http://www.opensource.apple.com/apsl/ and read it before using this
  40586. * file.
  40587. *
  40588. * The Original Code and all software distributed under the License are
  40589. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  40590. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  40591. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  40592. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  40593. * Please see the License for the specific language governing rights and
  40594. * limitations under the License.
  40595. *
  40596. * @APPLE_LICENSE_HEADER_END@
  40597. */
  40598. /*-
  40599. * Copyright (c) 1990, 1993
  40600. * The Regents of the University of California. All rights reserved.
  40601. *
  40602. * Redistribution and use in source and binary forms, with or without
  40603. * modification, are permitted provided that the following conditions
  40604. * are met:
  40605. * 1. Redistributions of source code must retain the above copyright
  40606. * notice, this list of conditions and the following disclaimer.
  40607. * 2. Redistributions in binary form must reproduce the above copyright
  40608. * notice, this list of conditions and the following disclaimer in the
  40609. * documentation and/or other materials provided with the distribution.
  40610. * 3. All advertising materials mentioning features or use of this software
  40611. * must display the following acknowledgement:
  40612. * This product includes software developed by the University of
  40613. * California, Berkeley and its contributors.
  40614. * 4. Neither the name of the University nor the names of its contributors
  40615. * may be used to endorse or promote products derived from this software
  40616. * without specific prior written permission.
  40617. *
  40618. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  40619. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40620. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40621. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40622. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40623. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40624. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40625. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40626. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40627. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40628. * SUCH DAMAGE.
  40629. *
  40630. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40631. */
  40632. /*
  40633. * Copyright (c) 2023 Apple Inc. All rights reserved.
  40634. *
  40635. * @APPLE_LICENSE_HEADER_START@
  40636. *
  40637. * This file contains Original Code and/or Modifications of Original Code
  40638. * as defined in and that are subject to the Apple Public Source License
  40639. * Version 2.0 (the 'License'). You may not use this file except in
  40640. * compliance with the License. Please obtain a copy of the License at
  40641. * http://www.opensource.apple.com/apsl/ and read it before using this
  40642. * file.
  40643. *
  40644. * The Original Code and all software distributed under the License are
  40645. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  40646. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  40647. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  40648. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  40649. * Please see the License for the specific language governing rights and
  40650. * limitations under the License.
  40651. *
  40652. * @APPLE_LICENSE_HEADER_END@
  40653. */
  40654. /*-
  40655. * Copyright (c) 1990, 1993
  40656. * The Regents of the University of California. All rights reserved.
  40657. *
  40658. * Redistribution and use in source and binary forms, with or without
  40659. * modification, are permitted provided that the following conditions
  40660. * are met:
  40661. * 1. Redistributions of source code must retain the above copyright
  40662. * notice, this list of conditions and the following disclaimer.
  40663. * 2. Redistributions in binary form must reproduce the above copyright
  40664. * notice, this list of conditions and the following disclaimer in the
  40665. * documentation and/or other materials provided with the distribution.
  40666. * 3. All advertising materials mentioning features or use of this software
  40667. * must display the following acknowledgement:
  40668. * This product includes software developed by the University of
  40669. * California, Berkeley and its contributors.
  40670. * 4. Neither the name of the University nor the names of its contributors
  40671. * may be used to endorse or promote products derived from this software
  40672. * without specific prior written permission.
  40673. *
  40674. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  40675. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  40676. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  40677. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  40678. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  40679. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  40680. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  40681. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  40682. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  40683. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  40684. * SUCH DAMAGE.
  40685. *
  40686. * @(#)string.h 8.1 (Berkeley) 6/2/93
  40687. */
  40688. // C documentation
  40689. //
  40690. // /* The 1000 is to leave some room for future added internal objects, such
  40691. // * that caches from newer fontconfig can still be used with older fontconfig
  40692. // * without getting confused. */
  40693. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  40694. type TFcObjectOtherTypeInfo = struct {
  40695. Fnext uintptr
  40696. Fobject TFcObjectType
  40697. Fid TFcObject
  40698. }
  40699. func XFcObjectFini(tls *libc.TLS) {
  40700. var ot, ots uintptr
  40701. var v1 int32
  40702. _, _, _ = ot, ots, v1
  40703. goto retry
  40704. retry:
  40705. ;
  40706. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40707. if !(ots != 0) {
  40708. return
  40709. }
  40710. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  40711. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  40712. v1 = libc.Int32FromInt32(m_FcTrue)
  40713. } else {
  40714. v1 = m_FcFalse
  40715. }
  40716. if !(v1 != 0) {
  40717. goto retry
  40718. }
  40719. for ots != 0 {
  40720. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  40721. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  40722. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  40723. }
  40724. libc.Xfree(tls, ots)
  40725. ots = ot
  40726. }
  40727. }
  40728. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  40729. var ot, ots uintptr
  40730. var v2 int32
  40731. _, _, _ = ot, ots, v2
  40732. goto retry
  40733. retry:
  40734. ;
  40735. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40736. ot = ots
  40737. for {
  40738. if !(ot != 0) {
  40739. break
  40740. }
  40741. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  40742. break
  40743. }
  40744. goto _1
  40745. _1:
  40746. ;
  40747. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  40748. }
  40749. if !(ot != 0) {
  40750. ot = libc.Xmalloc(tls, uint64(32))
  40751. if !(ot != 0) {
  40752. return libc.UintptrFromInt32(0)
  40753. }
  40754. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  40755. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  40756. _next_id += +libc.Int32FromInt32(1)
  40757. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  40758. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  40759. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7013, 0)
  40760. libc.Xabort(tls)
  40761. }
  40762. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  40763. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  40764. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  40765. v2 = libc.Int32FromInt32(m_FcTrue)
  40766. } else {
  40767. v2 = m_FcFalse
  40768. }
  40769. if !(v2 != 0) {
  40770. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  40771. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  40772. }
  40773. libc.Xfree(tls, ot)
  40774. goto retry
  40775. }
  40776. }
  40777. if id != 0 {
  40778. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  40779. }
  40780. return ot + 8
  40781. }
  40782. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  40783. var o uintptr
  40784. _ = o
  40785. o = _FcObjectTypeLookup(tls, str, uint32(libc.Xstrlen(tls, str)))
  40786. if o != 0 {
  40787. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  40788. }
  40789. return 0
  40790. }
  40791. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  40792. bp := tls.Alloc(16)
  40793. defer tls.Free(16)
  40794. var o uintptr
  40795. var _ /* id at bp+0 */ TFcObject
  40796. _ = o
  40797. o = _FcObjectTypeLookup(tls, str, uint32(libc.Xstrlen(tls, str)))
  40798. if o != 0 {
  40799. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  40800. }
  40801. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  40802. return *(*TFcObject)(unsafe.Pointer(bp))
  40803. }
  40804. return 0
  40805. }
  40806. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  40807. var ot uintptr
  40808. _ = ot
  40809. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40810. for {
  40811. if !(ot != 0) {
  40812. break
  40813. }
  40814. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  40815. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  40816. }
  40817. goto _1
  40818. _1:
  40819. ;
  40820. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  40821. }
  40822. return libc.UintptrFromInt32(0)
  40823. }
  40824. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  40825. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  40826. }
  40827. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  40828. var ot uintptr
  40829. _ = ot
  40830. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  40831. for {
  40832. if !(ot != 0) {
  40833. break
  40834. }
  40835. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  40836. return ot + 8
  40837. }
  40838. goto _1
  40839. _1:
  40840. ;
  40841. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  40842. }
  40843. return libc.UintptrFromInt32(0)
  40844. }
  40845. /* Objects MT-safe for readonly access. */
  40846. func XFcPatternCreate(tls *libc.TLS) (r uintptr) {
  40847. var p uintptr
  40848. _ = p
  40849. p = libc.Xmalloc(tls, uint64(24))
  40850. if !(p != 0) {
  40851. return uintptr(0)
  40852. }
  40853. libc.X__builtin___memset_chk(tls, p, 0, uint64(24), ^t__predefined_size_t(0))
  40854. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  40855. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  40856. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  40857. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  40858. return p
  40859. }
  40860. func XFcValueDestroy(tls *libc.TLS, _v TFcValue) {
  40861. bp := tls.Alloc(16)
  40862. defer tls.Free(16)
  40863. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  40864. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40865. case int32(_FcTypeString):
  40866. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40867. case int32(_FcTypeMatrix):
  40868. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40869. case int32(_FcTypeCharSet):
  40870. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40871. case int32(_FcTypeLangSet):
  40872. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40873. case int32(_FcTypeRange):
  40874. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40875. default:
  40876. break
  40877. }
  40878. }
  40879. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  40880. bp := tls.Alloc(16)
  40881. defer tls.Free(16)
  40882. var v1, v2, v3, v4 uintptr
  40883. var _ /* new at bp+0 */ TFcValue
  40884. _, _, _, _ = v1, v2, v3, v4
  40885. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  40886. case int32(_FcTypeString):
  40887. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  40888. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  40889. } else {
  40890. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  40891. }
  40892. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  40893. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  40894. case int32(_FcTypeCharSet):
  40895. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  40896. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  40897. } else {
  40898. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  40899. }
  40900. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  40901. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  40902. case int32(_FcTypeLangSet):
  40903. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  40904. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  40905. } else {
  40906. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  40907. }
  40908. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  40909. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  40910. case int32(_FcTypeRange):
  40911. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  40912. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  40913. } else {
  40914. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  40915. }
  40916. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  40917. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  40918. default:
  40919. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  40920. break
  40921. }
  40922. return *(*TFcValue)(unsafe.Pointer(bp))
  40923. }
  40924. func XFcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  40925. bp := tls.Alloc(16)
  40926. defer tls.Free(16)
  40927. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  40928. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40929. case int32(_FcTypeString):
  40930. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40931. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  40932. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40933. }
  40934. case int32(_FcTypeMatrix):
  40935. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40936. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  40937. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40938. }
  40939. case int32(_FcTypeCharSet):
  40940. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40941. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  40942. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40943. }
  40944. case int32(_FcTypeLangSet):
  40945. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40946. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  40947. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40948. }
  40949. case int32(_FcTypeRange):
  40950. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  40951. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  40952. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40953. }
  40954. default:
  40955. break
  40956. }
  40957. return *(*TFcValue)(unsafe.Pointer(bp))
  40958. }
  40959. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  40960. return libc.Xcalloc(tls, uint64(1), uint64(32))
  40961. }
  40962. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  40963. var next TFcValueListPtr
  40964. var v2 uintptr
  40965. _, _ = next, v2
  40966. for {
  40967. if !(l != 0) {
  40968. break
  40969. }
  40970. XFcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  40971. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  40972. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40973. } else {
  40974. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40975. }
  40976. next = v2
  40977. libc.Xfree(tls, l)
  40978. goto _1
  40979. _1:
  40980. ;
  40981. l = next
  40982. }
  40983. }
  40984. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  40985. var new1 TFcValueListPtr
  40986. _ = new1
  40987. if value.Ftype1 == int32(_FcTypeVoid) {
  40988. return vallist
  40989. }
  40990. new1 = XFcValueListCreate(tls)
  40991. if !(new1 != 0) {
  40992. return vallist
  40993. }
  40994. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  40995. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  40996. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  40997. return new1
  40998. }
  40999. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  41000. var last, new1 TFcValueListPtr
  41001. var v2, v3 uintptr
  41002. _, _, _, _ = last, new1, v2, v3
  41003. if value.Ftype1 == int32(_FcTypeVoid) {
  41004. return vallist
  41005. }
  41006. new1 = XFcValueListCreate(tls)
  41007. if !(new1 != 0) {
  41008. return vallist
  41009. }
  41010. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  41011. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  41012. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  41013. if vallist != 0 {
  41014. last = vallist
  41015. for {
  41016. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  41017. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41018. } else {
  41019. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  41020. }
  41021. if !(v2 != 0) {
  41022. break
  41023. }
  41024. goto _1
  41025. _1:
  41026. ;
  41027. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  41028. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41029. } else {
  41030. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  41031. }
  41032. last = v3
  41033. }
  41034. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  41035. } else {
  41036. vallist = new1
  41037. }
  41038. return vallist
  41039. }
  41040. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  41041. var l, new1, t, v2 TFcValueListPtr
  41042. var v TFcValue
  41043. var v3, v4 uintptr
  41044. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  41045. new1 = libc.UintptrFromInt32(0)
  41046. t = libc.UintptrFromInt32(0)
  41047. l = orig
  41048. for {
  41049. if !(l != libc.UintptrFromInt32(0)) {
  41050. break
  41051. }
  41052. if !(new1 != 0) {
  41053. v2 = XFcValueListCreate(tls)
  41054. new1 = v2
  41055. t = v2
  41056. } else {
  41057. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  41058. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  41059. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41060. } else {
  41061. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  41062. }
  41063. t = v3
  41064. }
  41065. v = XFcValueCanonicalize(tls, l+8)
  41066. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  41067. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  41068. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  41069. goto _1
  41070. _1:
  41071. ;
  41072. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41073. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41074. } else {
  41075. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41076. }
  41077. l = v4
  41078. }
  41079. return new1
  41080. }
  41081. func XFcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  41082. bp := tls.Alloc(32)
  41083. defer tls.Free(32)
  41084. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  41085. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  41086. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  41087. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  41088. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  41089. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  41090. }
  41091. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  41092. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  41093. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  41094. }
  41095. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  41096. return m_FcFalse
  41097. }
  41098. }
  41099. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41100. case int32(_FcTypeUnknown):
  41101. return m_FcFalse /* don't know how to compare this object */
  41102. case int32(_FcTypeVoid):
  41103. return int32(m_FcTrue)
  41104. case int32(_FcTypeInteger):
  41105. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  41106. case int32(_FcTypeDouble):
  41107. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  41108. case int32(_FcTypeString):
  41109. return libc.BoolInt32(XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  41110. case int32(_FcTypeBool):
  41111. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  41112. case int32(_FcTypeMatrix):
  41113. return XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41114. case int32(_FcTypeCharSet):
  41115. return XFcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41116. case int32(_FcTypeFTFace):
  41117. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41118. case int32(_FcTypeLangSet):
  41119. return XFcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41120. case int32(_FcTypeRange):
  41121. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  41122. }
  41123. return m_FcFalse
  41124. }
  41125. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  41126. if d < libc.Float64FromInt32(0) {
  41127. d = -d
  41128. }
  41129. if d > libc.Float64FromUint32(0xffffffff) {
  41130. d = libc.Float64FromUint32(0xffffffff)
  41131. }
  41132. return uint32(d)
  41133. }
  41134. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  41135. var c, v1 TFcChar8
  41136. var h TFcChar32
  41137. var v2 uintptr
  41138. _, _, _, _ = c, h, v1, v2
  41139. h = uint32(0)
  41140. if s != 0 {
  41141. for {
  41142. v2 = s
  41143. s++
  41144. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  41145. c = v1
  41146. if !(v1 != 0) {
  41147. break
  41148. }
  41149. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  41150. }
  41151. }
  41152. return h
  41153. }
  41154. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  41155. var v1, v2, v3, v4 uintptr
  41156. _, _, _, _ = v1, v2, v3, v4
  41157. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  41158. case int32(_FcTypeUnknown):
  41159. fallthrough
  41160. case int32(_FcTypeVoid):
  41161. return uint32(0)
  41162. case int32(_FcTypeInteger):
  41163. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  41164. case int32(_FcTypeDouble):
  41165. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  41166. case int32(_FcTypeString):
  41167. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41168. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41169. } else {
  41170. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  41171. }
  41172. return XFcStringHash(tls, v1)
  41173. case int32(_FcTypeBool):
  41174. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  41175. case int32(_FcTypeMatrix):
  41176. return _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fxy) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyx) ^ _FcDoubleHash(tls, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fyy)
  41177. case int32(_FcTypeCharSet):
  41178. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41179. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41180. } else {
  41181. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  41182. }
  41183. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  41184. case int32(_FcTypeFTFace):
  41185. return XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Ffamily_name) ^ XFcStringHash(tls, (*TFT_FaceRec_)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(v + 8)))).Fstyle_name)
  41186. case int32(_FcTypeLangSet):
  41187. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41188. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41189. } else {
  41190. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  41191. }
  41192. return XFcLangSetHash(tls, v3)
  41193. case int32(_FcTypeRange):
  41194. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  41195. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  41196. } else {
  41197. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  41198. }
  41199. return XFcRangeHash(tls, v4)
  41200. }
  41201. return uint32(0)
  41202. }
  41203. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  41204. var v1, v2 uintptr
  41205. _, _ = v1, v2
  41206. if la == lb {
  41207. return int32(m_FcTrue)
  41208. }
  41209. for la != 0 && lb != 0 {
  41210. if !(XFcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  41211. return m_FcFalse
  41212. }
  41213. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  41214. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41215. } else {
  41216. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  41217. }
  41218. la = v1
  41219. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  41220. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41221. } else {
  41222. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  41223. }
  41224. lb = v2
  41225. }
  41226. if la != 0 || lb != 0 {
  41227. return m_FcFalse
  41228. }
  41229. return int32(m_FcTrue)
  41230. }
  41231. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  41232. var hash TFcChar32
  41233. var v2 uintptr
  41234. _, _ = hash, v2
  41235. hash = uint32(0)
  41236. for {
  41237. if !(l != 0) {
  41238. break
  41239. }
  41240. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  41241. goto _1
  41242. _1:
  41243. ;
  41244. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41245. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41246. } else {
  41247. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41248. }
  41249. l = v2
  41250. }
  41251. return hash
  41252. }
  41253. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  41254. var v1 uintptr
  41255. _ = v1
  41256. /* We use a value to find the cache, instead of the FcPattern object
  41257. * because the pattern itself may be a cache allocation if we rewrote the path,
  41258. * so the p may not be in the cached region. */
  41259. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  41260. v1 = uintptr(Tintptr_t(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)) + int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41261. } else {
  41262. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  41263. }
  41264. return v1
  41265. }
  41266. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  41267. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  41268. var i, j, new_path_len, v2, v4 Tsize_t
  41269. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  41270. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41271. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  41272. /* Allocate space for the patter, the PatternElt headers and
  41273. * the FC_FILE FcValueList and path that will be freed with the
  41274. * cache */
  41275. data = XFcCacheAllocate(tls, cache, uint64(24)+libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  41276. new_p = data
  41277. data += uintptr(24)
  41278. new_elts = data
  41279. data += uintptr(libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  41280. new_value_list = data
  41281. data += uintptr(32)
  41282. new_path = data
  41283. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  41284. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  41285. /* Copy all but the FILE values from the cache */
  41286. i = uint64(0)
  41287. j = libc.Uint64FromInt32(0)
  41288. for {
  41289. if !(i < libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  41290. break
  41291. }
  41292. elt = elts + uintptr(i)*16
  41293. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  41294. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  41295. v2 = j
  41296. j++
  41297. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  41298. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41299. } else {
  41300. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  41301. }
  41302. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  41303. } else {
  41304. v4 = j
  41305. j++
  41306. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  41307. }
  41308. goto _1
  41309. _1:
  41310. ;
  41311. i++
  41312. }
  41313. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  41314. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  41315. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  41316. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  41317. /* Add rewritten path at the end */
  41318. libc.X__builtin___strcpy_chk(tls, new_path, relocated_font_file, ^t__predefined_size_t(0))
  41319. return new_p
  41320. }
  41321. func XFcPatternDestroy(tls *libc.TLS, p uintptr) {
  41322. var elts, v7, p5 uintptr
  41323. var i, v3 int32
  41324. var v1 TFcBool
  41325. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  41326. if !(p != 0) {
  41327. return
  41328. }
  41329. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41330. goto _2
  41331. _2:
  41332. if v1 != 0 {
  41333. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  41334. return
  41335. }
  41336. p5 = p + 16
  41337. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  41338. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  41339. goto _4
  41340. _4:
  41341. if v3 != int32(1) {
  41342. return
  41343. }
  41344. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41345. i = 0
  41346. for {
  41347. if !(i < XFcPatternObjectCount(tls, p)) {
  41348. break
  41349. }
  41350. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41351. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41352. } else {
  41353. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  41354. }
  41355. XFcValueListDestroy(tls, v7)
  41356. goto _6
  41357. _6:
  41358. ;
  41359. i++
  41360. }
  41361. libc.Xfree(tls, elts)
  41362. libc.Xfree(tls, p)
  41363. }
  41364. func XFcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  41365. if pat != 0 {
  41366. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  41367. }
  41368. return 0
  41369. }
  41370. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  41371. var c, high, low, mid int32
  41372. var elts uintptr
  41373. _, _, _, _, _ = c, elts, high, low, mid
  41374. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41375. low = 0
  41376. high = XFcPatternObjectCount(tls, p) - int32(1)
  41377. c = int32(1)
  41378. mid = 0
  41379. for low <= high {
  41380. mid = (low + high) >> int32(1)
  41381. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  41382. if c == 0 {
  41383. return mid
  41384. }
  41385. if c < 0 {
  41386. low = mid + int32(1)
  41387. } else {
  41388. high = mid - int32(1)
  41389. }
  41390. }
  41391. if c < 0 {
  41392. mid++
  41393. }
  41394. return -(mid + int32(1))
  41395. }
  41396. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  41397. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  41398. }
  41399. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  41400. var i int32
  41401. _ = i
  41402. i = _FcPatternObjectPosition(tls, p, object)
  41403. if i < 0 {
  41404. return uintptr(0)
  41405. }
  41406. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  41407. }
  41408. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  41409. var e, e0 uintptr
  41410. var i, s int32
  41411. _, _, _, _ = e, e0, i, s
  41412. i = _FcPatternObjectPosition(tls, p, object)
  41413. if i < 0 {
  41414. i = -i - int32(1)
  41415. /* reallocate array */
  41416. if XFcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  41417. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  41418. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  41419. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41420. e = libc.Xrealloc(tls, e0, libc.Uint64FromInt32(s)*uint64(16))
  41421. if !(e != 0) { /* maybe it was mmapped */
  41422. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  41423. if e != 0 {
  41424. libc.X__builtin___memcpy_chk(tls, e, e0, libc.Uint64FromInt32(XFcPatternObjectCount(tls, p))*uint64(16), ^t__predefined_size_t(0))
  41425. }
  41426. }
  41427. } else {
  41428. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  41429. }
  41430. if !(e != 0) {
  41431. return uintptr(m_FcFalse)
  41432. }
  41433. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  41434. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  41435. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  41436. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  41437. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  41438. }
  41439. }
  41440. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41441. /* move elts up */
  41442. libc.X__builtin___memmove_chk(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*libc.Uint64FromInt32(XFcPatternObjectCount(tls, p)-i), ^t__predefined_size_t(0))
  41443. /* bump count */
  41444. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  41445. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  41446. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  41447. }
  41448. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  41449. }
  41450. func XFcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  41451. bp := tls.Alloc(32)
  41452. defer tls.Free(32)
  41453. var ra, rb TFcBool
  41454. var _ /* ia at bp+0 */ TFcPatternIter
  41455. var _ /* ib at bp+16 */ TFcPatternIter
  41456. _, _ = ra, rb
  41457. if pa == pb {
  41458. return int32(m_FcTrue)
  41459. }
  41460. if XFcPatternObjectCount(tls, pa) != XFcPatternObjectCount(tls, pb) {
  41461. return m_FcFalse
  41462. }
  41463. XFcPatternIterStart(tls, pa, bp)
  41464. XFcPatternIterStart(tls, pb, bp+16)
  41465. for cond := true; cond; cond = int32(1) != 0 {
  41466. if !(XFcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  41467. return m_FcFalse
  41468. }
  41469. ra = XFcPatternIterNext(tls, pa, bp)
  41470. rb = XFcPatternIterNext(tls, pb, bp+16)
  41471. if !(ra != 0) && !(rb != 0) {
  41472. break
  41473. }
  41474. }
  41475. return int32(m_FcTrue)
  41476. }
  41477. func XFcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  41478. var h TFcChar32
  41479. var i int32
  41480. var pe, v2 uintptr
  41481. _, _, _, _ = h, i, pe, v2
  41482. h = uint32(0)
  41483. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  41484. i = 0
  41485. for {
  41486. if !(i < XFcPatternObjectCount(tls, p)) {
  41487. break
  41488. }
  41489. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41490. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41491. } else {
  41492. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  41493. }
  41494. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  41495. goto _1
  41496. _1:
  41497. ;
  41498. i++
  41499. }
  41500. return h
  41501. }
  41502. func XFcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  41503. var ea, eb, v2, v3 uintptr
  41504. var i int32
  41505. var object TFcObject
  41506. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  41507. i = 0
  41508. for {
  41509. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  41510. break
  41511. }
  41512. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  41513. ea = XFcPatternObjectFindElt(tls, pai, object)
  41514. eb = XFcPatternObjectFindElt(tls, pbi, object)
  41515. if ea != 0 {
  41516. if !(eb != 0) {
  41517. return m_FcFalse
  41518. }
  41519. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  41520. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41521. } else {
  41522. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  41523. }
  41524. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  41525. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41526. } else {
  41527. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  41528. }
  41529. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  41530. return m_FcFalse
  41531. }
  41532. } else {
  41533. if eb != 0 {
  41534. return m_FcFalse
  41535. }
  41536. }
  41537. goto _1
  41538. _1:
  41539. ;
  41540. i++
  41541. }
  41542. return int32(m_FcTrue)
  41543. }
  41544. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  41545. bp := tls.Alloc(32)
  41546. defer tls.Free(32)
  41547. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  41548. var e, prev, v4 uintptr
  41549. var l TFcValueListPtr
  41550. var v1 TFcBool
  41551. _, _, _, _, _ = e, l, prev, v1, v4
  41552. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41553. goto _2
  41554. _2:
  41555. if v1 != 0 {
  41556. goto bail0
  41557. }
  41558. /*
  41559. * Make sure the stored type is valid for built-in objects
  41560. */
  41561. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41562. for {
  41563. if !(l != libc.UintptrFromInt32(0)) {
  41564. break
  41565. }
  41566. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  41567. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+16, XFcObjectName(tls, object)))
  41568. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  41569. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  41570. goto bail0
  41571. }
  41572. goto _3
  41573. _3:
  41574. ;
  41575. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41576. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41577. } else {
  41578. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41579. }
  41580. l = v4
  41581. }
  41582. e = XFcPatternObjectInsertElt(tls, p, object)
  41583. if !(e != 0) {
  41584. goto bail0
  41585. }
  41586. if append1 != 0 {
  41587. prev = e + 8
  41588. for {
  41589. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41590. break
  41591. }
  41592. goto _5
  41593. _5:
  41594. ;
  41595. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41596. }
  41597. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41598. } else {
  41599. prev = bp
  41600. for {
  41601. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41602. break
  41603. }
  41604. goto _6
  41605. _6:
  41606. ;
  41607. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41608. }
  41609. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41610. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  41611. }
  41612. return int32(m_FcTrue)
  41613. goto bail0
  41614. bail0:
  41615. ;
  41616. return m_FcFalse
  41617. return r
  41618. }
  41619. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  41620. bp := tls.Alloc(16)
  41621. defer tls.Free(16)
  41622. var e, prev uintptr
  41623. var new1 TFcValueListPtr
  41624. var v1 TFcBool
  41625. _, _, _, _ = e, new1, prev, v1
  41626. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  41627. goto _2
  41628. _2:
  41629. if v1 != 0 {
  41630. goto bail0
  41631. }
  41632. new1 = XFcValueListCreate(tls)
  41633. if !(new1 != 0) {
  41634. goto bail0
  41635. }
  41636. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  41637. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  41638. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  41639. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  41640. goto bail1
  41641. }
  41642. /*
  41643. * Make sure the stored type is valid for built-in objects
  41644. */
  41645. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  41646. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  41647. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  41648. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  41649. goto bail1
  41650. }
  41651. e = XFcPatternObjectInsertElt(tls, p, object)
  41652. if !(e != 0) {
  41653. goto bail1
  41654. }
  41655. if append1 != 0 {
  41656. prev = e + 8
  41657. for {
  41658. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  41659. break
  41660. }
  41661. goto _3
  41662. _3:
  41663. ;
  41664. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41665. }
  41666. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  41667. } else {
  41668. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41669. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  41670. }
  41671. return int32(m_FcTrue)
  41672. goto bail1
  41673. bail1:
  41674. ;
  41675. XFcValueListDestroy(tls, new1)
  41676. goto bail0
  41677. bail0:
  41678. ;
  41679. return m_FcFalse
  41680. return r
  41681. }
  41682. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  41683. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  41684. }
  41685. func XFcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  41686. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  41687. }
  41688. func XFcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  41689. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  41690. }
  41691. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  41692. var e uintptr
  41693. _ = e
  41694. e = XFcPatternObjectFindElt(tls, p, object)
  41695. if !(e != 0) {
  41696. return m_FcFalse
  41697. }
  41698. /* destroy value */
  41699. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  41700. /* shuffle existing ones down */
  41701. libc.X__builtin___memmove_chk(tls, e, e+uintptr(1)*16, libc.Uint64FromInt64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XFcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16), ^t__predefined_size_t(0))
  41702. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  41703. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XFcPatternObjectCount(tls, p))*16
  41704. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  41705. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  41706. return int32(m_FcTrue)
  41707. }
  41708. func XFcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  41709. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  41710. }
  41711. func XFcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  41712. var e, prev uintptr
  41713. var l, v2 TFcValueListPtr
  41714. _, _, _, _ = e, l, prev, v2
  41715. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  41716. if !(e != 0) {
  41717. return m_FcFalse
  41718. }
  41719. prev = e + 8
  41720. for {
  41721. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  41722. l = v2
  41723. if !(v2 != 0) {
  41724. break
  41725. }
  41726. if !(id != 0) {
  41727. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41728. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  41729. XFcValueListDestroy(tls, l)
  41730. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  41731. XFcPatternDel(tls, p, object)
  41732. }
  41733. return int32(m_FcTrue)
  41734. }
  41735. id--
  41736. goto _1
  41737. _1:
  41738. ;
  41739. prev = l
  41740. }
  41741. return m_FcFalse
  41742. }
  41743. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  41744. bp := tls.Alloc(16)
  41745. defer tls.Free(16)
  41746. var _ /* v at bp+0 */ TFcValue
  41747. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  41748. *(*int32)(unsafe.Pointer(bp + 8)) = i
  41749. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41750. }
  41751. func XFcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  41752. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  41753. }
  41754. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  41755. bp := tls.Alloc(16)
  41756. defer tls.Free(16)
  41757. var _ /* v at bp+0 */ TFcValue
  41758. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  41759. *(*float64)(unsafe.Pointer(bp + 8)) = d
  41760. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41761. }
  41762. func XFcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  41763. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  41764. }
  41765. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  41766. bp := tls.Alloc(16)
  41767. defer tls.Free(16)
  41768. var _ /* v at bp+0 */ TFcValue
  41769. if !(s != 0) {
  41770. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  41771. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  41772. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41773. }
  41774. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  41775. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  41776. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41777. }
  41778. func XFcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  41779. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  41780. }
  41781. func XFcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  41782. bp := tls.Alloc(16)
  41783. defer tls.Free(16)
  41784. var _ /* v at bp+0 */ TFcValue
  41785. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  41786. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  41787. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41788. }
  41789. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  41790. bp := tls.Alloc(16)
  41791. defer tls.Free(16)
  41792. var _ /* v at bp+0 */ TFcValue
  41793. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  41794. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  41795. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41796. }
  41797. func XFcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  41798. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  41799. }
  41800. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  41801. bp := tls.Alloc(16)
  41802. defer tls.Free(16)
  41803. var _ /* v at bp+0 */ TFcValue
  41804. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  41805. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  41806. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41807. }
  41808. func XFcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  41809. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  41810. }
  41811. func XFcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  41812. bp := tls.Alloc(16)
  41813. defer tls.Free(16)
  41814. var _ /* v at bp+0 */ TFcValue
  41815. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  41816. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  41817. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41818. }
  41819. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  41820. bp := tls.Alloc(16)
  41821. defer tls.Free(16)
  41822. var _ /* v at bp+0 */ TFcValue
  41823. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  41824. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  41825. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41826. }
  41827. func XFcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  41828. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  41829. }
  41830. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  41831. bp := tls.Alloc(16)
  41832. defer tls.Free(16)
  41833. var _ /* v at bp+0 */ TFcValue
  41834. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  41835. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  41836. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  41837. }
  41838. func XFcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  41839. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  41840. }
  41841. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  41842. var e, v2, v3 uintptr
  41843. var l TFcValueListPtr
  41844. _, _, _, _ = e, l, v2, v3
  41845. if !(p != 0) {
  41846. return int32(_FcResultNoMatch)
  41847. }
  41848. e = XFcPatternObjectFindElt(tls, p, object)
  41849. if !(e != 0) {
  41850. return int32(_FcResultNoMatch)
  41851. }
  41852. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  41853. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41854. } else {
  41855. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41856. }
  41857. l = v2
  41858. for {
  41859. if !(l != 0) {
  41860. break
  41861. }
  41862. if !(id != 0) {
  41863. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  41864. if b != 0 {
  41865. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  41866. }
  41867. return int32(_FcResultMatch)
  41868. }
  41869. id--
  41870. goto _1
  41871. _1:
  41872. ;
  41873. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41874. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41875. } else {
  41876. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41877. }
  41878. l = v3
  41879. }
  41880. return int32(_FcResultNoId)
  41881. }
  41882. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  41883. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  41884. }
  41885. func XFcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  41886. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  41887. }
  41888. func XFcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  41889. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  41890. }
  41891. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  41892. bp := tls.Alloc(16)
  41893. defer tls.Free(16)
  41894. var r TFcResult
  41895. var _ /* v at bp+0 */ TFcValue
  41896. _ = r
  41897. r = XFcPatternObjectGet(tls, p, object, id, bp)
  41898. if r != int32(_FcResultMatch) {
  41899. return r
  41900. }
  41901. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41902. case int32(_FcTypeDouble):
  41903. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  41904. case int32(_FcTypeInteger):
  41905. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  41906. default:
  41907. return int32(_FcResultTypeMismatch)
  41908. }
  41909. return int32(_FcResultMatch)
  41910. }
  41911. func XFcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  41912. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  41913. }
  41914. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  41915. bp := tls.Alloc(16)
  41916. defer tls.Free(16)
  41917. var r TFcResult
  41918. var _ /* v at bp+0 */ TFcValue
  41919. _ = r
  41920. r = XFcPatternObjectGet(tls, p, object, id, bp)
  41921. if r != int32(_FcResultMatch) {
  41922. return r
  41923. }
  41924. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41925. case int32(_FcTypeDouble):
  41926. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  41927. case int32(_FcTypeInteger):
  41928. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  41929. default:
  41930. return int32(_FcResultTypeMismatch)
  41931. }
  41932. return int32(_FcResultMatch)
  41933. }
  41934. func XFcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  41935. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  41936. }
  41937. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  41938. bp := tls.Alloc(16)
  41939. defer tls.Free(16)
  41940. var r TFcResult
  41941. var _ /* v at bp+0 */ TFcValue
  41942. _ = r
  41943. r = XFcPatternObjectGet(tls, p, object, id, bp)
  41944. if r != int32(_FcResultMatch) {
  41945. return r
  41946. }
  41947. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  41948. return int32(_FcResultTypeMismatch)
  41949. }
  41950. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  41951. return int32(_FcResultMatch)
  41952. }
  41953. func XFcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  41954. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  41955. }
  41956. func XFcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  41957. bp := tls.Alloc(16)
  41958. defer tls.Free(16)
  41959. var r TFcResult
  41960. var _ /* v at bp+0 */ TFcValue
  41961. _ = r
  41962. r = XFcPatternGet(tls, p, object, id, bp)
  41963. if r != int32(_FcResultMatch) {
  41964. return r
  41965. }
  41966. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  41967. return int32(_FcResultTypeMismatch)
  41968. }
  41969. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  41970. return int32(_FcResultMatch)
  41971. }
  41972. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  41973. bp := tls.Alloc(16)
  41974. defer tls.Free(16)
  41975. var r TFcResult
  41976. var _ /* v at bp+0 */ TFcValue
  41977. _ = r
  41978. r = XFcPatternObjectGet(tls, p, object, id, bp)
  41979. if r != int32(_FcResultMatch) {
  41980. return r
  41981. }
  41982. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  41983. return int32(_FcResultTypeMismatch)
  41984. }
  41985. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  41986. return int32(_FcResultMatch)
  41987. }
  41988. func XFcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  41989. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  41990. }
  41991. func XFcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  41992. bp := tls.Alloc(16)
  41993. defer tls.Free(16)
  41994. var r TFcResult
  41995. var _ /* v at bp+0 */ TFcValue
  41996. _ = r
  41997. r = XFcPatternGet(tls, p, object, id, bp)
  41998. if r != int32(_FcResultMatch) {
  41999. return r
  42000. }
  42001. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  42002. return int32(_FcResultTypeMismatch)
  42003. }
  42004. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42005. return int32(_FcResultMatch)
  42006. }
  42007. func XFcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  42008. bp := tls.Alloc(16)
  42009. defer tls.Free(16)
  42010. var r TFcResult
  42011. var _ /* v at bp+0 */ TFcValue
  42012. _ = r
  42013. r = XFcPatternGet(tls, p, object, id, bp)
  42014. if r != int32(_FcResultMatch) {
  42015. return r
  42016. }
  42017. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  42018. return int32(_FcResultTypeMismatch)
  42019. }
  42020. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42021. return int32(_FcResultMatch)
  42022. }
  42023. func XFcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  42024. bp := tls.Alloc(16)
  42025. defer tls.Free(16)
  42026. var r TFcResult
  42027. var _ /* v at bp+0 */ TFcValue
  42028. _ = r
  42029. r = XFcPatternGet(tls, p, object, id, bp)
  42030. if r != int32(_FcResultMatch) {
  42031. return r
  42032. }
  42033. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  42034. return int32(_FcResultTypeMismatch)
  42035. }
  42036. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42037. return int32(_FcResultMatch)
  42038. }
  42039. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  42040. bp := tls.Alloc(16)
  42041. defer tls.Free(16)
  42042. var res TFcResult
  42043. var _ /* v at bp+0 */ TFcValue
  42044. _ = res
  42045. res = XFcPatternObjectGet(tls, p, object, id, bp)
  42046. if res != int32(_FcResultMatch) {
  42047. return res
  42048. }
  42049. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42050. case int32(_FcTypeRange):
  42051. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  42052. default:
  42053. return int32(_FcResultTypeMismatch)
  42054. }
  42055. return int32(_FcResultMatch)
  42056. }
  42057. func XFcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  42058. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  42059. }
  42060. func XFcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  42061. bp := tls.Alloc(16)
  42062. defer tls.Free(16)
  42063. var l TFcValueListPtr
  42064. var new1, v2 uintptr
  42065. var _ /* iter at bp+0 */ TFcPatternIter
  42066. _, _, _ = l, new1, v2
  42067. if !(orig != 0) {
  42068. return libc.UintptrFromInt32(0)
  42069. }
  42070. new1 = XFcPatternCreate(tls)
  42071. if !(new1 != 0) {
  42072. goto bail0
  42073. }
  42074. XFcPatternIterStart(tls, orig, bp)
  42075. for cond := true; cond; cond = XFcPatternIterNext(tls, orig, bp) != 0 {
  42076. l = XFcPatternIterGetValues(tls, orig, bp)
  42077. for {
  42078. if !(l != 0) {
  42079. break
  42080. }
  42081. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  42082. goto bail1
  42083. }
  42084. goto _1
  42085. _1:
  42086. ;
  42087. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42088. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42089. } else {
  42090. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42091. }
  42092. l = v2
  42093. }
  42094. }
  42095. return new1
  42096. goto bail1
  42097. bail1:
  42098. ;
  42099. XFcPatternDestroy(tls, new1)
  42100. goto bail0
  42101. bail0:
  42102. ;
  42103. return uintptr(0)
  42104. return r
  42105. }
  42106. func XFcPatternReference(tls *libc.TLS, p uintptr) {
  42107. var v1 TFcBool
  42108. var p4 uintptr
  42109. _, _ = v1, p4
  42110. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  42111. goto _2
  42112. _2:
  42113. if !(v1 != 0) {
  42114. p4 = p + 16
  42115. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  42116. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  42117. goto _3
  42118. _3:
  42119. } else {
  42120. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  42121. }
  42122. }
  42123. func XFcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  42124. bp := tls.Alloc(16)
  42125. defer tls.Free(16)
  42126. var __o__, __p__, ret uintptr
  42127. var _ /* __v__ at bp+0 */ TFcValue
  42128. _, _, _ = __o__, __p__, ret
  42129. __p__ = p
  42130. if !(__p__ != 0) {
  42131. __p__ = XFcPatternCreate(tls)
  42132. if !(__p__ != 0) {
  42133. goto _FcPatternVapBuild_bail0
  42134. }
  42135. }
  42136. for {
  42137. __o__ = libc.VaUintptr(&va)
  42138. if !(__o__ != 0) {
  42139. break
  42140. }
  42141. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  42142. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42143. case int32(_FcTypeUnknown):
  42144. fallthrough
  42145. case int32(_FcTypeVoid):
  42146. goto _FcPatternVapBuild_bail1
  42147. case int32(_FcTypeInteger):
  42148. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42149. case int32(_FcTypeDouble):
  42150. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  42151. case int32(_FcTypeString):
  42152. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42153. case int32(_FcTypeBool):
  42154. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42155. case int32(_FcTypeMatrix):
  42156. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42157. case int32(_FcTypeCharSet):
  42158. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42159. case int32(_FcTypeFTFace):
  42160. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42161. case int32(_FcTypeLangSet):
  42162. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42163. case int32(_FcTypeRange):
  42164. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42165. break
  42166. }
  42167. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  42168. goto _FcPatternVapBuild_bail1
  42169. }
  42170. goto _1
  42171. _1:
  42172. }
  42173. ret = __p__
  42174. goto _FcPatternVapBuild_return
  42175. goto _FcPatternVapBuild_bail1
  42176. _FcPatternVapBuild_bail1:
  42177. ;
  42178. if !(p != 0) {
  42179. XFcPatternDestroy(tls, __p__)
  42180. }
  42181. goto _FcPatternVapBuild_bail0
  42182. _FcPatternVapBuild_bail0:
  42183. ;
  42184. ret = libc.UintptrFromInt32(0)
  42185. goto _FcPatternVapBuild_return
  42186. _FcPatternVapBuild_return:
  42187. ;
  42188. return ret
  42189. }
  42190. func XFcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  42191. bp := tls.Alloc(16)
  42192. defer tls.Free(16)
  42193. var __o__, __p__ uintptr
  42194. var va Tva_list
  42195. var _ /* __v__ at bp+0 */ TFcValue
  42196. _, _, _ = __o__, __p__, va
  42197. va = va1
  42198. __p__ = p
  42199. if !(__p__ != 0) {
  42200. __p__ = XFcPatternCreate(tls)
  42201. if !(__p__ != 0) {
  42202. goto _FcPatternVapBuild_bail0
  42203. }
  42204. }
  42205. for {
  42206. __o__ = libc.VaUintptr(&va)
  42207. if !(__o__ != 0) {
  42208. break
  42209. }
  42210. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  42211. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  42212. case int32(_FcTypeUnknown):
  42213. fallthrough
  42214. case int32(_FcTypeVoid):
  42215. goto _FcPatternVapBuild_bail1
  42216. case int32(_FcTypeInteger):
  42217. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42218. case int32(_FcTypeDouble):
  42219. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  42220. case int32(_FcTypeString):
  42221. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42222. case int32(_FcTypeBool):
  42223. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  42224. case int32(_FcTypeMatrix):
  42225. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42226. case int32(_FcTypeCharSet):
  42227. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42228. case int32(_FcTypeFTFace):
  42229. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42230. case int32(_FcTypeLangSet):
  42231. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42232. case int32(_FcTypeRange):
  42233. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  42234. break
  42235. }
  42236. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  42237. goto _FcPatternVapBuild_bail1
  42238. }
  42239. goto _1
  42240. _1:
  42241. }
  42242. p = __p__
  42243. goto _FcPatternVapBuild_return
  42244. goto _FcPatternVapBuild_bail1
  42245. _FcPatternVapBuild_bail1:
  42246. ;
  42247. if !(p != 0) {
  42248. XFcPatternDestroy(tls, __p__)
  42249. }
  42250. goto _FcPatternVapBuild_bail0
  42251. _FcPatternVapBuild_bail0:
  42252. ;
  42253. p = libc.UintptrFromInt32(0)
  42254. goto _FcPatternVapBuild_return
  42255. _FcPatternVapBuild_return:
  42256. ;
  42257. _ = va
  42258. return p
  42259. }
  42260. // C documentation
  42261. //
  42262. // /*
  42263. // * Add all of the elements in 's' to 'p'
  42264. // */
  42265. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  42266. bp := tls.Alloc(16)
  42267. defer tls.Free(16)
  42268. var v TFcValueListPtr
  42269. var v2 uintptr
  42270. var _ /* iter at bp+0 */ TFcPatternIter
  42271. _, _ = v, v2
  42272. XFcPatternIterStart(tls, s, bp)
  42273. for cond := true; cond; cond = XFcPatternIterNext(tls, s, bp) != 0 {
  42274. v = XFcPatternIterGetValues(tls, s, bp)
  42275. for {
  42276. if !(v != 0) {
  42277. break
  42278. }
  42279. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  42280. return m_FcFalse
  42281. }
  42282. goto _1
  42283. _1:
  42284. ;
  42285. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  42286. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42287. } else {
  42288. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  42289. }
  42290. v = v2
  42291. }
  42292. }
  42293. return int32(m_FcTrue)
  42294. }
  42295. func XFcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  42296. var e, ret, v3, v4 uintptr
  42297. var i int32
  42298. var object TFcObject
  42299. var v TFcValueListPtr
  42300. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  42301. if !(os != 0) {
  42302. return XFcPatternDuplicate(tls, p)
  42303. }
  42304. ret = XFcPatternCreate(tls)
  42305. if !(ret != 0) {
  42306. return libc.UintptrFromInt32(0)
  42307. }
  42308. i = 0
  42309. for {
  42310. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  42311. break
  42312. }
  42313. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  42314. e = XFcPatternObjectFindElt(tls, p, object)
  42315. if e != 0 {
  42316. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  42317. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42318. } else {
  42319. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  42320. }
  42321. v = v3
  42322. for {
  42323. if !(v != 0) {
  42324. break
  42325. }
  42326. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  42327. goto bail0
  42328. }
  42329. goto _2
  42330. _2:
  42331. ;
  42332. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  42333. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42334. } else {
  42335. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  42336. }
  42337. v = v4
  42338. }
  42339. }
  42340. goto _1
  42341. _1:
  42342. ;
  42343. i++
  42344. }
  42345. return ret
  42346. goto bail0
  42347. bail0:
  42348. ;
  42349. XFcPatternDestroy(tls, ret)
  42350. return libc.UintptrFromInt32(0)
  42351. }
  42352. type TFcPatternPrivateIter = struct {
  42353. Felt uintptr
  42354. Fpos int32
  42355. }
  42356. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  42357. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  42358. var v1 uintptr
  42359. _ = v1
  42360. if XFcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XFcPatternObjectCount(tls, pat) {
  42361. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  42362. } else {
  42363. v1 = libc.UintptrFromInt32(0)
  42364. }
  42365. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  42366. }
  42367. func XFcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  42368. var priv uintptr
  42369. _ = priv
  42370. priv = iter
  42371. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  42372. _FcPatternIterSet(tls, pat, priv)
  42373. }
  42374. func XFcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  42375. var priv uintptr
  42376. _ = priv
  42377. priv = iter
  42378. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  42379. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XFcPatternObjectCount(tls, pat) {
  42380. return m_FcFalse
  42381. }
  42382. _FcPatternIterSet(tls, pat, priv)
  42383. return int32(m_FcTrue)
  42384. }
  42385. func XFcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  42386. var b1, b2 TFcBool
  42387. _, _ = b1, b2
  42388. b1 = XFcPatternIterIsValid(tls, p1, i1)
  42389. b2 = XFcPatternIterIsValid(tls, p2, i2)
  42390. if !(i1 != 0) && !(i2 != 0) {
  42391. return int32(m_FcTrue)
  42392. }
  42393. if !(b1 != 0) || !(b2 != 0) {
  42394. return m_FcFalse
  42395. }
  42396. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  42397. return m_FcFalse
  42398. }
  42399. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  42400. }
  42401. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  42402. var i int32
  42403. var priv uintptr
  42404. _, _ = i, priv
  42405. priv = iter
  42406. i = _FcPatternObjectPosition(tls, pat, object)
  42407. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  42408. if i < 0 {
  42409. return m_FcFalse
  42410. }
  42411. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  42412. _FcPatternIterSet(tls, pat, priv)
  42413. return int32(m_FcTrue)
  42414. }
  42415. func XFcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  42416. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  42417. }
  42418. func XFcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  42419. var priv uintptr
  42420. _ = priv
  42421. priv = iter
  42422. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42423. return int32(m_FcTrue)
  42424. }
  42425. return m_FcFalse
  42426. }
  42427. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  42428. var priv uintptr
  42429. _ = priv
  42430. priv = iter
  42431. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42432. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  42433. }
  42434. return 0
  42435. }
  42436. func XFcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  42437. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  42438. }
  42439. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  42440. var priv, v1 uintptr
  42441. _, _ = priv, v1
  42442. priv = iter
  42443. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  42444. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  42445. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42446. } else {
  42447. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  42448. }
  42449. return v1
  42450. }
  42451. return libc.UintptrFromInt32(0)
  42452. }
  42453. func XFcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  42454. var count int32
  42455. var l TFcValueListPtr
  42456. var v2 uintptr
  42457. _, _, _ = count, l, v2
  42458. count = 0
  42459. l = XFcPatternIterGetValues(tls, pat, iter)
  42460. for {
  42461. if !(l != 0) {
  42462. break
  42463. }
  42464. count++
  42465. goto _1
  42466. _1:
  42467. ;
  42468. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42469. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42470. } else {
  42471. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42472. }
  42473. l = v2
  42474. }
  42475. return count
  42476. }
  42477. func XFcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  42478. var l TFcValueListPtr
  42479. var v2 uintptr
  42480. _, _ = l, v2
  42481. l = XFcPatternIterGetValues(tls, pat, iter)
  42482. for {
  42483. if !(l != 0) {
  42484. break
  42485. }
  42486. if id == 0 {
  42487. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  42488. if b != 0 {
  42489. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  42490. }
  42491. return int32(_FcResultMatch)
  42492. }
  42493. id--
  42494. goto _1
  42495. _1:
  42496. ;
  42497. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  42498. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  42499. } else {
  42500. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  42501. }
  42502. l = v2
  42503. }
  42504. return int32(_FcResultNoId)
  42505. }
  42506. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  42507. var elts, v2 uintptr
  42508. var i int32
  42509. _, _, _ = elts, i, v2
  42510. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  42511. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  42512. return m_FcFalse
  42513. }
  42514. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint64(libc.Uint64FromInt32(XFcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  42515. return m_FcFalse
  42516. }
  42517. i = 0
  42518. for {
  42519. if !(i < XFcPatternObjectCount(tls, pat)) {
  42520. break
  42521. }
  42522. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  42523. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42524. } else {
  42525. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  42526. }
  42527. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  42528. return m_FcFalse
  42529. }
  42530. goto _1
  42531. _1:
  42532. ;
  42533. i++
  42534. }
  42535. return int32(m_FcTrue)
  42536. }
  42537. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  42538. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  42539. var i int32
  42540. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  42541. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  42542. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  42543. if !(pat_serialized != 0) {
  42544. return libc.UintptrFromInt32(0)
  42545. }
  42546. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  42547. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XFcPatternObjectCount(tls, pat)
  42548. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  42549. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  42550. if !(elts_serialized != 0) {
  42551. return libc.UintptrFromInt32(0)
  42552. }
  42553. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  42554. i = 0
  42555. for {
  42556. if !(i < XFcPatternObjectCount(tls, pat)) {
  42557. break
  42558. }
  42559. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  42560. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  42561. } else {
  42562. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  42563. }
  42564. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  42565. if !(values_serialized != 0) {
  42566. return libc.UintptrFromInt32(0)
  42567. }
  42568. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  42569. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  42570. goto _1
  42571. _1:
  42572. ;
  42573. i++
  42574. }
  42575. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  42576. libc.Xprintf(tls, __ccgo_ts+7055, 0)
  42577. XFcPatternPrint(tls, pat)
  42578. libc.Xprintf(tls, __ccgo_ts+7069, 0)
  42579. XFcPatternPrint(tls, pat_serialized)
  42580. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  42581. }
  42582. return pat_serialized
  42583. }
  42584. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  42585. for vl != 0 {
  42586. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  42587. return m_FcFalse
  42588. }
  42589. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  42590. case int32(_FcTypeString):
  42591. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42592. return m_FcFalse
  42593. }
  42594. case int32(_FcTypeCharSet):
  42595. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42596. return m_FcFalse
  42597. }
  42598. case int32(_FcTypeLangSet):
  42599. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42600. return m_FcFalse
  42601. }
  42602. case int32(_FcTypeRange):
  42603. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  42604. return m_FcFalse
  42605. }
  42606. default:
  42607. break
  42608. }
  42609. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  42610. }
  42611. return int32(m_FcTrue)
  42612. }
  42613. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  42614. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  42615. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  42616. head_serialized = libc.UintptrFromInt32(0)
  42617. prev_serialized = libc.UintptrFromInt32(0)
  42618. for vl != 0 {
  42619. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  42620. if !(vl_serialized != 0) {
  42621. return libc.UintptrFromInt32(0)
  42622. }
  42623. if prev_serialized != 0 {
  42624. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  42625. } else {
  42626. head_serialized = vl_serialized
  42627. }
  42628. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  42629. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  42630. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  42631. case int32(_FcTypeInteger):
  42632. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  42633. case int32(_FcTypeDouble):
  42634. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  42635. case int32(_FcTypeString):
  42636. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42637. if !(s_serialized != 0) {
  42638. return libc.UintptrFromInt32(0)
  42639. }
  42640. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42641. case int32(_FcTypeBool):
  42642. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  42643. case int32(_FcTypeMatrix):
  42644. /* can't happen */
  42645. case int32(_FcTypeCharSet):
  42646. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42647. if !(c_serialized != 0) {
  42648. return libc.UintptrFromInt32(0)
  42649. }
  42650. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42651. case int32(_FcTypeFTFace):
  42652. /* can't happen */
  42653. case int32(_FcTypeLangSet):
  42654. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42655. if !(l_serialized != 0) {
  42656. return libc.UintptrFromInt32(0)
  42657. }
  42658. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42659. case int32(_FcTypeRange):
  42660. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  42661. if !(r_serialized != 0) {
  42662. return libc.UintptrFromInt32(0)
  42663. }
  42664. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  42665. default:
  42666. break
  42667. }
  42668. prev_serialized = vl_serialized
  42669. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  42670. }
  42671. return head_serialized
  42672. }
  42673. func XFcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  42674. var ret uintptr
  42675. _ = ret
  42676. ret = libc.Xmalloc(tls, uint64(16))
  42677. if ret != 0 {
  42678. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  42679. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  42680. }
  42681. return ret
  42682. }
  42683. func XFcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  42684. var ret uintptr
  42685. _ = ret
  42686. ret = libc.Xmalloc(tls, uint64(16))
  42687. if ret != 0 {
  42688. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  42689. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  42690. }
  42691. return ret
  42692. }
  42693. func XFcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  42694. libc.Xfree(tls, range1)
  42695. }
  42696. func XFcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  42697. return XFcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  42698. }
  42699. func XFcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  42700. if !(range1 != 0) {
  42701. return m_FcFalse
  42702. }
  42703. if begin != 0 {
  42704. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  42705. }
  42706. if end != 0 {
  42707. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  42708. }
  42709. return int32(m_FcTrue)
  42710. }
  42711. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  42712. var buf uintptr
  42713. _ = buf
  42714. buf = vbuf
  42715. (*struct {
  42716. Fr TFcRange
  42717. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  42718. (*struct {
  42719. Fr TFcRange
  42720. })(unsafe.Pointer(buf)).Fr.Fend = v
  42721. return buf
  42722. }
  42723. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  42724. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  42725. }
  42726. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  42727. switch op {
  42728. case int32(_FcOpEqual):
  42729. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  42730. case int32(_FcOpContains):
  42731. fallthrough
  42732. case int32(_FcOpListing):
  42733. return XFcRangeIsInRange(tls, a, b)
  42734. case int32(_FcOpNotEqual):
  42735. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  42736. case int32(_FcOpNotContains):
  42737. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  42738. case int32(_FcOpLess):
  42739. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  42740. case int32(_FcOpLessEqual):
  42741. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  42742. case int32(_FcOpMore):
  42743. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  42744. case int32(_FcOpMoreEqual):
  42745. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  42746. default:
  42747. break
  42748. }
  42749. return m_FcFalse
  42750. }
  42751. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  42752. var b, e int32
  42753. _, _ = b, e
  42754. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  42755. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  42756. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  42757. }
  42758. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  42759. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  42760. return m_FcFalse
  42761. }
  42762. return int32(m_FcTrue)
  42763. }
  42764. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  42765. var r_serialize uintptr
  42766. _ = r_serialize
  42767. r_serialize = XFcSerializePtr(tls, serialize, r)
  42768. if !(r_serialize != 0) {
  42769. return libc.UintptrFromInt32(0)
  42770. }
  42771. libc.X__builtin___memcpy_chk(tls, r_serialize, r, uint64(16), ^t__predefined_size_t(0))
  42772. return r_serialize
  42773. }
  42774. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  42775. var rem Tintptr_t
  42776. _ = rem
  42777. rem = libc.Int64FromUint64(libc.Uint64FromInt64(size) % uint64(8))
  42778. if rem != 0 {
  42779. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - libc.Uint64FromInt64(rem)))
  42780. }
  42781. return size
  42782. }
  42783. /*
  42784. * Serialization helper object -- allocate space in the
  42785. * yet-to-be-created linear array for a serialized font set
  42786. */
  42787. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  42788. var serialize uintptr
  42789. _ = serialize
  42790. serialize = libc.Xmalloc(tls, uint64(56))
  42791. if !(serialize != 0) {
  42792. return libc.UintptrFromInt32(0)
  42793. }
  42794. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  42795. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  42796. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  42797. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  42798. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint64(0)
  42799. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  42800. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint64(0)
  42801. return serialize
  42802. }
  42803. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  42804. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  42805. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  42806. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  42807. }
  42808. libc.Xfree(tls, serialize)
  42809. }
  42810. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  42811. if index == uint64(0) {
  42812. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  42813. }
  42814. index--
  42815. return index
  42816. }
  42817. // C documentation
  42818. //
  42819. // /*
  42820. // * Based on splittable64/splitmix64 from Mix13
  42821. // * https://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html
  42822. // * https://prng.di.unimi.it/splitmix64.c
  42823. // */
  42824. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  42825. var x Tuintptr_t
  42826. var v1 uint64
  42827. _, _ = x, v1
  42828. x = uint64(object)
  42829. x ^= x >> int32(30)
  42830. x *= uint64(0xbf58476d1ce4e5b9)
  42831. x ^= x >> int32(27)
  42832. x *= uint64(0x94d049bb133111eb)
  42833. x ^= x >> int32(31)
  42834. if x != 0 {
  42835. v1 = x
  42836. } else {
  42837. v1 = uint64(1)
  42838. }
  42839. return v1 /* 0 reserved to mark empty, x starts out 0 */
  42840. }
  42841. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  42842. var bucket uintptr
  42843. var buckets_count, index, n Tsize_t
  42844. var hash Tuintptr_t
  42845. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  42846. hash = _FcSerializeHashPtr(tls, object)
  42847. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  42848. index = hash & (buckets_count - uint64(1))
  42849. n = uint64(0)
  42850. for {
  42851. if !(n < buckets_count) {
  42852. break
  42853. }
  42854. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  42855. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  42856. return libc.UintptrFromInt32(0)
  42857. }
  42858. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  42859. return bucket
  42860. }
  42861. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  42862. goto _1
  42863. _1:
  42864. ;
  42865. n++
  42866. }
  42867. return libc.UintptrFromInt32(0)
  42868. }
  42869. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  42870. var bucket, object uintptr
  42871. var buckets_count, index, n Tsize_t
  42872. _, _, _, _, _ = bucket, buckets_count, index, n, object
  42873. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  42874. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  42875. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint64(1))
  42876. n = uint64(0)
  42877. for {
  42878. if !(n < buckets_count) {
  42879. break
  42880. }
  42881. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  42882. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  42883. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  42884. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  42885. return bucket
  42886. }
  42887. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  42888. /* FcSerializeAlloc should not allow this to happen. */
  42889. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  42890. return bucket
  42891. }
  42892. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  42893. goto _1
  42894. _1:
  42895. ;
  42896. n++
  42897. }
  42898. return libc.UintptrFromInt32(0)
  42899. }
  42900. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  42901. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  42902. var old_count, old_used Tsize_t
  42903. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  42904. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  42905. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  42906. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  42907. old_buckets_end = old_buckets + uintptr(old_count)*24
  42908. new_buckets = libc.Xmalloc(tls, new_count*uint64(24))
  42909. if !(new_buckets != 0) {
  42910. return m_FcFalse
  42911. }
  42912. new_buckets_end = new_buckets + uintptr(new_count)*24
  42913. b = new_buckets
  42914. for {
  42915. if !(b < new_buckets_end) {
  42916. break
  42917. }
  42918. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint64(0)
  42919. goto _1
  42920. _1:
  42921. ;
  42922. b += 24
  42923. }
  42924. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  42925. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  42926. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  42927. b1 = old_buckets
  42928. for {
  42929. if !(b1 < old_buckets_end) {
  42930. break
  42931. }
  42932. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint64(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  42933. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  42934. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  42935. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  42936. libc.Xfree(tls, new_buckets)
  42937. return m_FcFalse
  42938. }
  42939. goto _2
  42940. _2:
  42941. ;
  42942. b1 += 24
  42943. }
  42944. libc.Xfree(tls, old_buckets)
  42945. return int32(m_FcTrue)
  42946. }
  42947. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  42948. bp := tls.Alloc(32)
  42949. defer tls.Free(32)
  42950. var capacity Tsize_t
  42951. var _ /* bucket at bp+0 */ TFcSerializeBucket
  42952. _ = capacity
  42953. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  42954. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  42955. if capacity == uint64(0) {
  42956. capacity = uint64(4)
  42957. } else {
  42958. if capacity > libc.Uint64FromUint64(18446744073709551615)/libc.Uint64FromUint32(2) {
  42959. return libc.UintptrFromInt32(0)
  42960. } else {
  42961. capacity *= uint64(2)
  42962. }
  42963. }
  42964. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  42965. return libc.UintptrFromInt32(0)
  42966. }
  42967. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint64(4) * uint64(3)
  42968. }
  42969. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  42970. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  42971. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  42972. return _FcSerializeUncheckedSet(tls, serialize, bp)
  42973. }
  42974. // C documentation
  42975. //
  42976. // /*
  42977. // * Allocate space for an object in the serialized array. Keep track
  42978. // * of where the object is placed and only allocate one copy of each object
  42979. // */
  42980. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  42981. var bucket uintptr
  42982. _ = bucket
  42983. bucket = _FcSerializeFind(tls, serialize, object)
  42984. if bucket != 0 {
  42985. return int32(m_FcTrue)
  42986. }
  42987. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  42988. return m_FcFalse
  42989. }
  42990. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  42991. return int32(m_FcTrue)
  42992. }
  42993. // C documentation
  42994. //
  42995. // /*
  42996. // * Reserve space in the serialization array
  42997. // */
  42998. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  42999. var offset Tintptr_t
  43000. _ = offset
  43001. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  43002. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  43003. return offset
  43004. }
  43005. // C documentation
  43006. //
  43007. // /*
  43008. // * Given an object, return the offset in the serialized array where
  43009. // * the serialized copy of the object is stored
  43010. // */
  43011. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  43012. var bucket uintptr
  43013. var v1 int64
  43014. _, _ = bucket, v1
  43015. bucket = _FcSerializeFind(tls, serialize, object)
  43016. if bucket != 0 {
  43017. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  43018. } else {
  43019. v1 = 0
  43020. }
  43021. return v1
  43022. }
  43023. // C documentation
  43024. //
  43025. // /*
  43026. // * Given a cache and an object, return a pointer to where
  43027. // * the serialized copy of the object is stored
  43028. // */
  43029. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  43030. var offset Tintptr_t
  43031. _ = offset
  43032. offset = XFcSerializeOffset(tls, serialize, object)
  43033. if !(offset != 0) {
  43034. return libc.UintptrFromInt32(0)
  43035. }
  43036. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  43037. }
  43038. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  43039. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint64(libc.Xstrlen(tls, str)+uint64(1)))
  43040. }
  43041. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  43042. var str_serialize uintptr
  43043. _ = str_serialize
  43044. str_serialize = XFcSerializePtr(tls, serialize, str)
  43045. if !(str_serialize != 0) {
  43046. return libc.UintptrFromInt32(0)
  43047. }
  43048. libc.X__builtin___strcpy_chk(tls, str_serialize, str, ^t__predefined_size_t(0))
  43049. return str_serialize
  43050. }
  43051. const m_ALIGNBYTES = "__DARWIN_ALIGNBYTES"
  43052. const m_AQ_BUFSZ = "MAXAUDITDATA"
  43053. const m_AQ_HIWATER = 100
  43054. const m_AQ_LOWATER = 10
  43055. const m_AQ_MAXBUFSZ = 1048576
  43056. const m_AQ_MAXHIGH = 10000
  43057. const m_ATTR_BIT_MAP_COUNT = 5
  43058. const m_ATTR_CMNEXT_ATTRIBUTION_TAG = 0x00000800
  43059. const m_ATTR_CMNEXT_CLONEID = 0x00000100
  43060. const m_ATTR_CMNEXT_CLONE_REFCNT = 0x00001000
  43061. const m_ATTR_CMNEXT_EXT_FLAGS = 0x00000200
  43062. const m_ATTR_CMNEXT_LINKID = 0x00000010
  43063. const m_ATTR_CMNEXT_NOFIRMLINKPATH = 0x00000020
  43064. const m_ATTR_CMNEXT_PRIVATESIZE = 0x00000008
  43065. const m_ATTR_CMNEXT_REALDEVID = 0x00000040
  43066. const m_ATTR_CMNEXT_REALFSID = 0x00000080
  43067. const m_ATTR_CMNEXT_RECURSIVE_GENCOUNT = 0x00000400
  43068. const m_ATTR_CMNEXT_RELPATH = 0x00000004
  43069. const m_ATTR_CMNEXT_SETMASK = 0x00000000
  43070. const m_ATTR_CMNEXT_VALIDMASK = 0x00001ffc
  43071. const m_ATTR_CMN_ACCESSMASK = 0x00020000
  43072. const m_ATTR_CMN_ACCTIME = 0x00001000
  43073. const m_ATTR_CMN_ADDEDTIME = 0x10000000
  43074. const m_ATTR_CMN_BKUPTIME = 0x00002000
  43075. const m_ATTR_CMN_CHGTIME = 0x00000800
  43076. const m_ATTR_CMN_CRTIME = 0x00000200
  43077. const m_ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
  43078. const m_ATTR_CMN_DEVID = 0x00000002
  43079. const m_ATTR_CMN_DOCUMENT_ID = 0x00100000
  43080. const m_ATTR_CMN_ERROR = 0x20000000
  43081. const m_ATTR_CMN_EXTENDED_SECURITY = 0x00400000
  43082. const m_ATTR_CMN_FILEID = 0x02000000
  43083. const m_ATTR_CMN_FLAGS = 0x00040000
  43084. const m_ATTR_CMN_FNDRINFO = 0x00004000
  43085. const m_ATTR_CMN_FSID = 0x00000004
  43086. const m_ATTR_CMN_FULLPATH = 0x08000000
  43087. const m_ATTR_CMN_GEN_COUNT = 0x00080000
  43088. const m_ATTR_CMN_GRPID = 0x00010000
  43089. const m_ATTR_CMN_GRPUUID = 0x01000000
  43090. const m_ATTR_CMN_MODTIME = 0x00000400
  43091. const m_ATTR_CMN_NAME = 0x00000001
  43092. const m_ATTR_CMN_NAMEDATTRCOUNT = 0x00080000
  43093. const m_ATTR_CMN_NAMEDATTRLIST = 0x00100000
  43094. const m_ATTR_CMN_OBJID = 0x00000020
  43095. const m_ATTR_CMN_OBJPERMANENTID = 0x00000040
  43096. const m_ATTR_CMN_OBJTAG = 0x00000010
  43097. const m_ATTR_CMN_OBJTYPE = 0x00000008
  43098. const m_ATTR_CMN_OWNERID = 0x00008000
  43099. const m_ATTR_CMN_PARENTID = 0x04000000
  43100. const m_ATTR_CMN_PAROBJID = 0x00000080
  43101. const m_ATTR_CMN_RETURNED_ATTRS = 0x80000000
  43102. const m_ATTR_CMN_SCRIPT = 0x00000100
  43103. const m_ATTR_CMN_SETMASK = 0x51C7FF00
  43104. const m_ATTR_CMN_USERACCESS = 0x00200000
  43105. const m_ATTR_CMN_UUID = 0x00800000
  43106. const m_ATTR_CMN_VALIDMASK = 0xFFFFFFFF
  43107. const m_ATTR_CMN_VOLSETMASK = 0x00006700
  43108. const m_ATTR_DIR_ALLOCSIZE = 0x00000008
  43109. const m_ATTR_DIR_DATALENGTH = 0x00000020
  43110. const m_ATTR_DIR_ENTRYCOUNT = 0x00000002
  43111. const m_ATTR_DIR_IOBLOCKSIZE = 0x00000010
  43112. const m_ATTR_DIR_LINKCOUNT = 0x00000001
  43113. const m_ATTR_DIR_MOUNTSTATUS = 0x00000004
  43114. const m_ATTR_DIR_SETMASK = 0x00000000
  43115. const m_ATTR_DIR_VALIDMASK = 0x0000003f
  43116. const m_ATTR_FILE_ALLOCSIZE = 0x00000004
  43117. const m_ATTR_FILE_CLUMPSIZE = 0x00000010
  43118. const m_ATTR_FILE_DATAALLOCSIZE = 0x00000400
  43119. const m_ATTR_FILE_DATAEXTENTS = 0x00000800
  43120. const m_ATTR_FILE_DATALENGTH = 0x00000200
  43121. const m_ATTR_FILE_DEVTYPE = 0x00000020
  43122. const m_ATTR_FILE_FILETYPE = 0x00000040
  43123. const m_ATTR_FILE_FORKCOUNT = 0x00000080
  43124. const m_ATTR_FILE_FORKLIST = 0x00000100
  43125. const m_ATTR_FILE_IOBLOCKSIZE = 0x00000008
  43126. const m_ATTR_FILE_LINKCOUNT = 0x00000001
  43127. const m_ATTR_FILE_RSRCALLOCSIZE = 0x00002000
  43128. const m_ATTR_FILE_RSRCEXTENTS = 0x00004000
  43129. const m_ATTR_FILE_RSRCLENGTH = 0x00001000
  43130. const m_ATTR_FILE_SETMASK = 0x00000020
  43131. const m_ATTR_FILE_TOTALSIZE = 0x00000002
  43132. const m_ATTR_FILE_VALIDMASK = 0x000037FF
  43133. const m_ATTR_FORK_ALLOCSIZE = 0x00000002
  43134. const m_ATTR_FORK_RESERVED = 0xffffffff
  43135. const m_ATTR_FORK_SETMASK = 0x00000000
  43136. const m_ATTR_FORK_TOTALSIZE = 0x00000001
  43137. const m_ATTR_FORK_VALIDMASK = 0x00000003
  43138. const m_ATTR_MAX_BUFFER = 8192
  43139. const m_ATTR_VOL_ALLOCATIONCLUMP = 0x00000040
  43140. const m_ATTR_VOL_ATTRIBUTES = 0x40000000
  43141. const m_ATTR_VOL_CAPABILITIES = 0x00020000
  43142. const m_ATTR_VOL_DIRCOUNT = 0x00000400
  43143. const m_ATTR_VOL_ENCODINGSUSED = 0x00010000
  43144. const m_ATTR_VOL_FILECOUNT = 0x00000200
  43145. const m_ATTR_VOL_FSSUBTYPE = 0x00200000
  43146. const m_ATTR_VOL_FSTYPE = 0x00000001
  43147. const m_ATTR_VOL_FSTYPENAME = 0x00100000
  43148. const m_ATTR_VOL_INFO = 0x80000000
  43149. const m_ATTR_VOL_IOBLOCKSIZE = 0x00000080
  43150. const m_ATTR_VOL_MAXOBJCOUNT = 0x00000800
  43151. const m_ATTR_VOL_MINALLOCATION = 0x00000020
  43152. const m_ATTR_VOL_MOUNTEDDEVICE = 0x00008000
  43153. const m_ATTR_VOL_MOUNTEXTFLAGS = 0x00080000
  43154. const m_ATTR_VOL_MOUNTFLAGS = 0x00004000
  43155. const m_ATTR_VOL_MOUNTPOINT = 0x00001000
  43156. const m_ATTR_VOL_NAME = 0x00002000
  43157. const m_ATTR_VOL_OBJCOUNT = 0x00000100
  43158. const m_ATTR_VOL_QUOTA_SIZE = 0x10000000
  43159. const m_ATTR_VOL_RESERVED_SIZE = 0x20000000
  43160. const m_ATTR_VOL_SETMASK = 0x80002000
  43161. const m_ATTR_VOL_SIGNATURE = 0x00000002
  43162. const m_ATTR_VOL_SIZE = 0x00000004
  43163. const m_ATTR_VOL_SPACEAVAIL = 0x00000010
  43164. const m_ATTR_VOL_SPACEFREE = 0x00000008
  43165. const m_ATTR_VOL_SPACEUSED = 0x00800000
  43166. const m_ATTR_VOL_UUID = 0x00040000
  43167. const m_ATTR_VOL_VALIDMASK = 0xF0BFFFFF
  43168. const m_AUC_AUDITING = 1
  43169. const m_AUC_NOAUDIT = 2
  43170. const m_AUC_UNSET = 0
  43171. const m_AUDITDEV_FILENAME = "audit"
  43172. const m_AUDIT_AHLT = 0x0002
  43173. const m_AUDIT_ARGE = 0x0008
  43174. const m_AUDIT_ARGV = 0x0004
  43175. const m_AUDIT_CNT = 0x0001
  43176. const m_AUDIT_GROUP = 0x0080
  43177. const m_AUDIT_HARD_LIMIT_FREE_BLOCKS = 4
  43178. const m_AUDIT_PATH = 0x0200
  43179. const m_AUDIT_PERZONE = 0x2000
  43180. const m_AUDIT_PUBLIC = 0x0800
  43181. const m_AUDIT_RECORD_MAGIC = 0x828a0f1b
  43182. const m_AUDIT_SCNT = 0x0400
  43183. const m_AUDIT_SEQ = 0x0010
  43184. const m_AUDIT_TRAIL = 0x0100
  43185. const m_AUDIT_TRIGGER_CLOSE_AND_DIE = 4
  43186. const m_AUDIT_TRIGGER_EXPIRE_TRAILS = 8
  43187. const m_AUDIT_TRIGGER_INITIALIZE = 7
  43188. const m_AUDIT_TRIGGER_LOW_SPACE = 1
  43189. const m_AUDIT_TRIGGER_MAX = 8
  43190. const m_AUDIT_TRIGGER_MIN = 1
  43191. const m_AUDIT_TRIGGER_NO_SPACE = 5
  43192. const m_AUDIT_TRIGGER_READ_FILE = 3
  43193. const m_AUDIT_TRIGGER_ROTATE_KERNEL = 2
  43194. const m_AUDIT_TRIGGER_ROTATE_USER = 6
  43195. const m_AUDIT_USER = 0x0040
  43196. const m_AUDIT_WINDATA = 0x0020
  43197. const m_AUDIT_ZONENAME = 0x1000
  43198. const m_AU_CLASS_MASK_RESERVED = 0x10000000
  43199. const m_AU_DEFAUDITSID = 0
  43200. const m_AU_FS_MINFREE = 20
  43201. const m_AU_IPv4 = 4
  43202. const m_AU_IPv6 = 16
  43203. const m_A_GETCAR = 9
  43204. const m_A_GETCLASS = 22
  43205. const m_A_GETCOND = 37
  43206. const m_A_GETCTLMODE = 41
  43207. const m_A_GETCWD = 8
  43208. const m_A_GETEXPAFTER = 43
  43209. const m_A_GETFSIZE = 27
  43210. const m_A_GETKAUDIT = 29
  43211. const m_A_GETKMASK = 4
  43212. const m_A_GETPINFO = 24
  43213. const m_A_GETPINFO_ADDR = 28
  43214. const m_A_GETPOLICY = 33
  43215. const m_A_GETQCTRL = 35
  43216. const m_A_GETSFLAGS = 39
  43217. const m_A_GETSINFO_ADDR = 32
  43218. const m_A_GETSTAT = 12
  43219. const m_A_OLDGETCOND = 20
  43220. const m_A_OLDGETPOLICY = 2
  43221. const m_A_OLDGETQCTRL = 6
  43222. const m_A_OLDSETCOND = 21
  43223. const m_A_OLDSETPOLICY = 3
  43224. const m_A_OLDSETQCTRL = 7
  43225. const m_A_SENDTRIGGER = 31
  43226. const m_A_SETCLASS = 23
  43227. const m_A_SETCOND = 38
  43228. const m_A_SETCTLMODE = 42
  43229. const m_A_SETEXPAFTER = 44
  43230. const m_A_SETFSIZE = 26
  43231. const m_A_SETKAUDIT = 30
  43232. const m_A_SETKMASK = 5
  43233. const m_A_SETPMASK = 25
  43234. const m_A_SETPOLICY = 34
  43235. const m_A_SETQCTRL = 36
  43236. const m_A_SETSFLAGS = 40
  43237. const m_A_SETSMASK = 15
  43238. const m_A_SETSTAT = 13
  43239. const m_A_SETUMASK = 14
  43240. const m_BC_BASE_MAX = 99
  43241. const m_BC_DIM_MAX = 2048
  43242. const m_BC_SCALE_MAX = 99
  43243. const m_BC_STRING_MAX = 1000
  43244. const m_BLKDEV_IOSIZE = 2048
  43245. const m_BSD = 199506
  43246. const m_BSD4_3 = 1
  43247. const m_BSD4_4 = 1
  43248. const m_CBLOCK = 64
  43249. const m_CHARCLASS_NAME_MAX = 14
  43250. const m_CHILD_MAX = 266
  43251. const m_CLOFF = "CLOFSET"
  43252. const m_CLSIZE = 1
  43253. const m_CLSIZELOG2 = 0
  43254. const m_CMASK = 022
  43255. const m_COLL_WEIGHTS_MAX = 2
  43256. const m_CRF_MAC_ENFORCE = 0x00000002
  43257. const m_CRF_NOMEMBERD = 0x00000001
  43258. const m_CRYPTEX_AUTH_STRUCT_VERSION = 2
  43259. const m_DEV_BSHIFT = 9
  43260. const m_DEV_BSIZE = 512
  43261. const m_DIR_MNTSTATUS_MNTPOINT = 0x00000001
  43262. const m_DIR_MNTSTATUS_TRIGGER = 0x00000002
  43263. const m_EQUIV_CLASS_MAX = 2
  43264. const m_EXPR_NEST_MAX = 32
  43265. const m_FALSE = 0
  43266. const m_FC_ARCH_ENDIAN1 = "le"
  43267. const m_FC_DIR_SEPARATOR3 = 47
  43268. const m_FSHIFT = 11
  43269. const m_FSOPT_ATTR_CMN_EXTENDED = 0x00000020
  43270. const m_FSOPT_NOFOLLOW = 0x00000001
  43271. const m_FSOPT_NOFOLLOW_ANY = 0x00000800
  43272. const m_FSOPT_NOINMEMUPDATE = 0x00000002
  43273. const m_FSOPT_PACK_INVAL_ATTRS = 0x00000008
  43274. const m_FSOPT_REPORT_FULLSIZE = 0x00000004
  43275. const m_FSOPT_RETURN_REALDEV = 0x00000200
  43276. const m_GID_MAX = 2147483647
  43277. const m_GRAFTDMG_SECURE_BOOT_CRYPTEX_ARGS_VERSION = 1
  43278. const m_GUARD_TYPE_MACH_PORT = 0x1
  43279. const m_LINE_MAX = 2048
  43280. const m_LINK_MAX = 32767
  43281. const m_M16KCLSHIFT = 14
  43282. const m_MACH_MSG_TYPE_INTEGER_T = "MACH_MSG_TYPE_INTEGER_32"
  43283. const m_MACH_PORT_DENAP_RECEIVER = 6
  43284. const m_MACH_PORT_DNREQUESTS_SIZE = 3
  43285. const m_MACH_PORT_DNREQUESTS_SIZE_COUNT = 1
  43286. const m_MACH_PORT_GUARD_INFO = 8
  43287. const m_MACH_PORT_IMPORTANCE_RECEIVER = 5
  43288. const m_MACH_PORT_INFO_EXT = 7
  43289. const m_MACH_PORT_LIMITS_INFO = 1
  43290. const m_MACH_PORT_NULL = 0
  43291. const m_MACH_PORT_QLIMIT_BASIC = 5
  43292. const m_MACH_PORT_QLIMIT_DEFAULT = "MACH_PORT_QLIMIT_BASIC"
  43293. const m_MACH_PORT_QLIMIT_KERNEL = 65534
  43294. const m_MACH_PORT_QLIMIT_LARGE = 1024
  43295. const m_MACH_PORT_QLIMIT_MAX = "MACH_PORT_QLIMIT_LARGE"
  43296. const m_MACH_PORT_QLIMIT_MIN = "MACH_PORT_QLIMIT_ZERO"
  43297. const m_MACH_PORT_QLIMIT_SMALL = 16
  43298. const m_MACH_PORT_QLIMIT_ZERO = 0
  43299. const m_MACH_PORT_RECEIVE_STATUS = 2
  43300. const m_MACH_PORT_SERVICE_THROTTLED = 9
  43301. const m_MACH_PORT_SERVICE_THROTTLED_COUNT = 1
  43302. const m_MACH_PORT_SRIGHTS_NONE = 0
  43303. const m_MACH_PORT_SRIGHTS_PRESENT = 1
  43304. const m_MACH_PORT_STATUS_FLAG_GUARDED = 0x02
  43305. const m_MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE = 0x40
  43306. const m_MACH_PORT_STATUS_FLAG_IMP_DONATION = 0x08
  43307. const m_MACH_PORT_STATUS_FLAG_NO_GRANT = 0x80
  43308. const m_MACH_PORT_STATUS_FLAG_REVIVE = 0x10
  43309. const m_MACH_PORT_STATUS_FLAG_STRICT_GUARD = 0x04
  43310. const m_MACH_PORT_STATUS_FLAG_TASKPTR = 0x20
  43311. const m_MACH_PORT_STATUS_FLAG_TEMPOWNER = 0x01
  43312. const m_MACH_PORT_TEMPOWNER = 4
  43313. const m_MACH_PORT_TYPE_DNREQUEST = 0x80000000
  43314. const m_MACH_PORT_TYPE_SPREQUEST = 0x40000000
  43315. const m_MACH_PORT_TYPE_SPREQUEST_DELAYED = 0x20000000
  43316. const m_MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN = 255
  43317. const m_MAXCOMLEN = 16
  43318. const m_MAXDOMNAMELEN = 256
  43319. const m_MAXFRAG = 8
  43320. const m_MAXHOSTNAMELEN = 256
  43321. const m_MAXINTERP = 64
  43322. const m_MAXLOGNAME = 255
  43323. const m_MAXPATHLEN = "PATH_MAX"
  43324. const m_MAXPHYSIO = "MAXPHYS"
  43325. const m_MAXPRI = 127
  43326. const m_MAXSYMLINKS = 32
  43327. const m_MAXUPRC = "CHILD_MAX"
  43328. const m_MAX_AUDIT_RECORDS = 20
  43329. const m_MAX_AUDIT_RECORD_SIZE = "MAXAUDITDATA"
  43330. const m_MAX_CANON = 1024
  43331. const m_MAX_GRAFT_ARGS_SIZE = 512
  43332. const m_MAX_INPUT = 1024
  43333. const m_MBIGCLSHIFT = 12
  43334. const m_MCLSHIFT = 11
  43335. const m_MFSNAMELEN = 15
  43336. const m_MFSTYPENAMELEN = 16
  43337. const m_MNAMELEN = "MAXPATHLEN"
  43338. const m_MNT_ASYNC = 0x00000040
  43339. const m_MNT_AUTOMOUNTED = 0x00400000
  43340. const m_MNT_CPROTECT = 0x00000080
  43341. const m_MNT_DEFWRITE = 0x02000000
  43342. const m_MNT_DONTBROWSE = 0x00100000
  43343. const m_MNT_DOVOLFS = 0x00008000
  43344. const m_MNT_DWAIT = 4
  43345. const m_MNT_EXPORTED = 0x00000100
  43346. const m_MNT_EXT_FSKIT = 0x00000002
  43347. const m_MNT_EXT_ROOT_DATA_VOL = 0x00000001
  43348. const m_MNT_FORCE = 0x00080000
  43349. const m_MNT_IGNORE_OWNERSHIP = 0x00200000
  43350. const m_MNT_JOURNALED = 0x00800000
  43351. const m_MNT_LOCAL = 4096
  43352. const m_MNT_MULTILABEL = 0x04000000
  43353. const m_MNT_NOATIME = 0x10000000
  43354. const m_MNT_NOBLOCK = 0x00020000
  43355. const m_MNT_NODEV = 0x00000010
  43356. const m_MNT_NOEXEC = 0x00000004
  43357. const m_MNT_NOFOLLOW = 0x08000000
  43358. const m_MNT_NOSUID = 0x00000008
  43359. const m_MNT_NOUSERXATTR = 0x01000000
  43360. const m_MNT_NOWAIT = 2
  43361. const m_MNT_QUARANTINE = 0x00000400
  43362. const m_MNT_QUOTA = 0x00002000
  43363. const m_MNT_RDONLY = 0x00000001
  43364. const m_MNT_RELOAD = 0x00040000
  43365. const m_MNT_REMOVABLE = 0x00000200
  43366. const m_MNT_ROOTFS = 0x00004000
  43367. const m_MNT_SNAPSHOT = 0x40000000
  43368. const m_MNT_STRICTATIME = 0x80000000
  43369. const m_MNT_SYNCHRONOUS = 0x00000002
  43370. const m_MNT_UNION = 0x00000020
  43371. const m_MNT_UNKNOWNPERMISSIONS = "MNT_IGNORE_OWNERSHIP"
  43372. const m_MNT_UPDATE = 0x00010000
  43373. const m_MNT_WAIT = 1
  43374. const m_MPG_FLAGS_NONE = "0x00ull"
  43375. const m_MPG_IMMOVABLE_RECEIVE = 0x02
  43376. const m_MPG_STRICT = 0x01
  43377. const m_MPO_CONNECTION_PORT = 0x800
  43378. const m_MPO_CONTEXT_AS_GUARD = 0x01
  43379. const m_MPO_DENAP_RECEIVER = 0x40
  43380. const m_MPO_ENFORCE_REPLY_PORT_SEMANTICS = 0x2000
  43381. const m_MPO_EXCEPTION_PORT = 0x8000
  43382. const m_MPO_FILTER_MSG = 0x100
  43383. const m_MPO_IMMOVABLE_RECEIVE = 0x80
  43384. const m_MPO_IMPORTANCE_RECEIVER = 0x08
  43385. const m_MPO_INSERT_SEND_RIGHT = 0x10
  43386. const m_MPO_PROVISIONAL_REPLY_PORT = 0x4000
  43387. const m_MPO_QLIMIT = 0x02
  43388. const m_MPO_REPLY_PORT = 0x1000
  43389. const m_MPO_SERVICE_PORT = 0x400
  43390. const m_MPO_STRICT = 0x20
  43391. const m_MPO_TEMPOWNER = 0x04
  43392. const m_MPO_TG_BLOCK_TRACKING = 0x200
  43393. const m_MSIZESHIFT = 8
  43394. const m_NAME_MAX = 255
  43395. const m_NBPG = 4096
  43396. const m_NCARGS = "ARG_MAX"
  43397. const m_NFSV2_MAX_FH_SIZE = 32
  43398. const m_NFSV3_MAX_FH_SIZE = 64
  43399. const m_NFSV4_MAX_FH_SIZE = 128
  43400. const m_NFS_MAX_FH_SIZE = "NFSV4_MAX_FH_SIZE"
  43401. const m_NGROUPS = "NGROUPS_MAX"
  43402. const m_NGROUPS_MAX = 16
  43403. const m_NMBCLUSTERS = "CONFIG_NMBCLUSTERS"
  43404. const m_NOFILE = 256
  43405. const m_NOGROUP = 65535
  43406. const m_NZERO = 20
  43407. const m_NeXTBSD = 1995064
  43408. const m_NeXTBSD4_0 = 0
  43409. const m_OPEN_MAX = 10240
  43410. const m_OS_ASSUME_PTR_ABI_SINGLE_BEGIN = "__ASSUME_PTR_ABI_SINGLE_BEGIN"
  43411. const m_OS_ASSUME_PTR_ABI_SINGLE_END = "__ASSUME_PTR_ABI_SINGLE_END"
  43412. const m_OS_HEADER_INDEXABLE = "__header_indexable"
  43413. const m_OS_UNSAFE_INDEXABLE = "__unsafe_indexable"
  43414. const m_O_CLOEXEC2 = 0x01000000
  43415. const m_O_CREAT1 = 0x00000200
  43416. const m_O_RDONLY2 = 0
  43417. const m_PATH_MAX = 1024
  43418. const m_PCATCH = 0x100
  43419. const m_PDROP = 0x400
  43420. const m_PGSHIFT = 12
  43421. const m_PINOD = 8
  43422. const m_PIPE_BUF = 512
  43423. const m_PLOCK = 36
  43424. const m_PPAUSE = 40
  43425. const m_PRIBIO = 16
  43426. const m_PRIMASK = 0x0ff
  43427. const m_PSOCK = 24
  43428. const m_PSPIN = 0x800
  43429. const m_PSWP = 0
  43430. const m_PTTYBLOCK = 0x200
  43431. const m_PUSER = 50
  43432. const m_PVFS = 20
  43433. const m_PVM = 4
  43434. const m_PWAIT = 32
  43435. const m_PZERO = 22
  43436. const m_RE_DUP_MAX = 255
  43437. const m_SBC_ALTERNATE_SHARED_REGION = 0x0002
  43438. const m_SBC_PANIC_ON_AUTHFAIL = 0x0008
  43439. const m_SBC_PRESERVE_GRAFT = 0x0020
  43440. const m_SBC_PRESERVE_MOUNT = 0x0001
  43441. const m_SBC_STRICT_AUTH = 0x0010
  43442. const m_SBC_SYSTEM_CONTENT = 0x0004
  43443. const m_SEARCHFS_MAX_SEARCHPARMS = 4096
  43444. const m_SRCHFS_MATCHDIRS = 0x00000004
  43445. const m_SRCHFS_MATCHFILES = 0x00000008
  43446. const m_SRCHFS_MATCHPARTIALNAMES = 0x00000002
  43447. const m_SRCHFS_NEGATEPARAMS = 0x80000000
  43448. const m_SRCHFS_SKIPINAPPROPRIATE = 0x00000080
  43449. const m_SRCHFS_SKIPINVISIBLE = 0x00000020
  43450. const m_SRCHFS_SKIPLINKS = 0x00000010
  43451. const m_SRCHFS_SKIPPACKAGES = 0x00000040
  43452. const m_SRCHFS_START = 0x00000001
  43453. const m_SRCHFS_VALIDOPTIONSMASK = 0x800000FF
  43454. const m_ST_NOSUID = 0x00000002
  43455. const m_ST_RDONLY = 0x00000001
  43456. const m_S_IFDIR3 = 16384
  43457. const m_S_IFMT5 = 61440
  43458. const m_TRUE = 1
  43459. const m_UID_MAX = 2147483647
  43460. const m_VFS_CONF = 2
  43461. const m_VFS_CTL_DISC = 0x00010008
  43462. const m_VFS_CTL_NEWADDR = 0x00010004
  43463. const m_VFS_CTL_NOLOCKS = 0x00010006
  43464. const m_VFS_CTL_NSTATUS = 0x0001000A
  43465. const m_VFS_CTL_OSTATFS = 0x00010001
  43466. const m_VFS_CTL_QUERY = 0x00010003
  43467. const m_VFS_CTL_SADDR = 0x00010007
  43468. const m_VFS_CTL_SERVERINFO = 0x00010009
  43469. const m_VFS_CTL_STATFS = "VFS_CTL_STATFS64"
  43470. const m_VFS_CTL_STATFS64 = 0x0001000B
  43471. const m_VFS_CTL_TIMEO = 0x00010005
  43472. const m_VFS_CTL_UMOUNT = 0x00010002
  43473. const m_VFS_CTL_VERS1 = 0x01
  43474. const m_VFS_GENERIC = 0
  43475. const m_VFS_MAXTYPENUM = 1
  43476. const m_VFS_NUMMNTOPS = 1
  43477. const m_VOL_CAPABILITIES_FORMAT = 0
  43478. const m_VOL_CAPABILITIES_INTERFACES = 1
  43479. const m_VOL_CAPABILITIES_RESERVED1 = 2
  43480. const m_VOL_CAPABILITIES_RESERVED2 = 3
  43481. const m_VOL_CAP_FMT_2TB_FILESIZE = 0x00000800
  43482. const m_VOL_CAP_FMT_64BIT_OBJECT_IDS = 0x00020000
  43483. const m_VOL_CAP_FMT_CASE_PRESERVING = 0x00000200
  43484. const m_VOL_CAP_FMT_CASE_SENSITIVE = 0x00000100
  43485. const m_VOL_CAP_FMT_CLONE_MAPPING = 0x04000000
  43486. const m_VOL_CAP_FMT_DECMPFS_COMPRESSION = 0x00010000
  43487. const m_VOL_CAP_FMT_DIR_HARDLINKS = 0x00040000
  43488. const m_VOL_CAP_FMT_DOCUMENT_ID = 0x00080000
  43489. const m_VOL_CAP_FMT_FAST_STATFS = 0x00000400
  43490. const m_VOL_CAP_FMT_HARDLINKS = 0x00000004
  43491. const m_VOL_CAP_FMT_HIDDEN_FILES = 0x00002000
  43492. const m_VOL_CAP_FMT_JOURNAL = 0x00000008
  43493. const m_VOL_CAP_FMT_JOURNAL_ACTIVE = 0x00000010
  43494. const m_VOL_CAP_FMT_NO_IMMUTABLE_FILES = 0x00200000
  43495. const m_VOL_CAP_FMT_NO_PERMISSIONS = 0x00400000
  43496. const m_VOL_CAP_FMT_NO_ROOT_TIMES = 0x00000020
  43497. const m_VOL_CAP_FMT_NO_VOLUME_SIZES = 0x00008000
  43498. const m_VOL_CAP_FMT_OPENDENYMODES = 0x00001000
  43499. const m_VOL_CAP_FMT_PATH_FROM_ID = 0x00004000
  43500. const m_VOL_CAP_FMT_PERSISTENTOBJECTIDS = 0x00000001
  43501. const m_VOL_CAP_FMT_SEALED = 0x02000000
  43502. const m_VOL_CAP_FMT_SHARED_SPACE = 0x00800000
  43503. const m_VOL_CAP_FMT_SPARSE_FILES = 0x00000040
  43504. const m_VOL_CAP_FMT_SYMBOLICLINKS = 0x00000002
  43505. const m_VOL_CAP_FMT_VOL_GROUPS = 0x01000000
  43506. const m_VOL_CAP_FMT_WRITE_GENERATION_COUNT = 0x00100000
  43507. const m_VOL_CAP_FMT_ZERO_RUNS = 0x00000080
  43508. const m_VOL_CAP_INT_ADVLOCK = 0x00000100
  43509. const m_VOL_CAP_INT_ALLOCATE = 0x00000040
  43510. const m_VOL_CAP_INT_ATTRIBUTION_TAG = 0x00400000
  43511. const m_VOL_CAP_INT_ATTRLIST = 0x00000002
  43512. const m_VOL_CAP_INT_CLONE = 0x00010000
  43513. const m_VOL_CAP_INT_COPYFILE = 0x00000020
  43514. const m_VOL_CAP_INT_EXCHANGEDATA = 0x00000010
  43515. const m_VOL_CAP_INT_EXTENDED_ATTR = 0x00004000
  43516. const m_VOL_CAP_INT_EXTENDED_SECURITY = 0x00000400
  43517. const m_VOL_CAP_INT_FLOCK = 0x00000200
  43518. const m_VOL_CAP_INT_MANLOCK = 0x00001000
  43519. const m_VOL_CAP_INT_NAMEDSTREAMS = 0x00002000
  43520. const m_VOL_CAP_INT_NFSEXPORT = 0x00000004
  43521. const m_VOL_CAP_INT_PUNCHHOLE = 0x00800000
  43522. const m_VOL_CAP_INT_READDIRATTR = 0x00000008
  43523. const m_VOL_CAP_INT_RENAME_EXCL = 0x00080000
  43524. const m_VOL_CAP_INT_RENAME_OPENFAIL = 0x00100000
  43525. const m_VOL_CAP_INT_RENAME_SECLUDE = 0x00200000
  43526. const m_VOL_CAP_INT_RENAME_SWAP = 0x00040000
  43527. const m_VOL_CAP_INT_SEARCHFS = 0x00000001
  43528. const m_VOL_CAP_INT_SNAPSHOT = 0x00020000
  43529. const m_VOL_CAP_INT_USERACCESS = 0x00000800
  43530. const m_VOL_CAP_INT_VOL_RENAME = 0x00000080
  43531. const m_VQ_ASSIST = 0x0040
  43532. const m_VQ_DEAD = 0x0020
  43533. const m_VQ_DESIRED_DISK = 0x4000
  43534. const m_VQ_FLAG20000 = 0x20000
  43535. const m_VQ_FREE_SPACE_CHANGE = 0x8000
  43536. const m_VQ_LOWDISK = 0x0004
  43537. const m_VQ_MOUNT = 0x0008
  43538. const m_VQ_NEARLOWDISK = 0x2000
  43539. const m_VQ_NEEDAUTH = 0x0002
  43540. const m_VQ_NOTRESP = 0x0001
  43541. const m_VQ_NOTRESPLOCK = 0x0080
  43542. const m_VQ_PURGEABLE_SPACE_CHANGE = 0x10000
  43543. const m_VQ_QUOTA = 0x1000
  43544. const m_VQ_SERVEREVENT = 0x0800
  43545. const m_VQ_SYNCEVENT = 0x0400
  43546. const m_VQ_UNMOUNT = 0x0010
  43547. const m_VQ_UPDATE = 0x0100
  43548. const m_VQ_VERYLOWDISK = 0x0200
  43549. const m_XUCRED_VERSION = 0
  43550. type Tfssearchblock = struct {
  43551. Freturnattrs uintptr
  43552. Freturnbuffer uintptr
  43553. Freturnbuffersize Tsize_t
  43554. Fmaxmatches Tu_long
  43555. Ftimelimit Ttimeval
  43556. Fsearchparams1 uintptr
  43557. Fsizeofsearchparams1 Tsize_t
  43558. Fsearchparams2 uintptr
  43559. Fsizeofsearchparams2 Tsize_t
  43560. Fsearchattrs Tattrlist
  43561. }
  43562. type Tsearchstate = struct {
  43563. Fss_union_flags Tuint32_t
  43564. Fss_union_layer Tuint32_t
  43565. Fss_fsstate [548]Tu_char
  43566. }
  43567. type Tstatvfs = struct {
  43568. Ff_bsize uint64
  43569. Ff_frsize uint64
  43570. Ff_blocks Tfsblkcnt_t
  43571. Ff_bfree Tfsblkcnt_t
  43572. Ff_bavail Tfsblkcnt_t
  43573. Ff_files Tfsfilcnt_t
  43574. Ff_ffree Tfsfilcnt_t
  43575. Ff_favail Tfsfilcnt_t
  43576. Ff_fsid uint64
  43577. Ff_flag uint64
  43578. Ff_namemax uint64
  43579. }
  43580. type Tau_id_t = uint32
  43581. type Tau_asid_t = int32
  43582. type Tau_event_t = uint16
  43583. type Tau_emod_t = uint16
  43584. type Tau_class_t = uint32
  43585. type Tau_asflgs_t = uint64
  43586. type Tau_ctlmode_t = uint8
  43587. type Tau_tid = struct {
  43588. Fport Tdev_t
  43589. Fmachine Tu_int32_t
  43590. }
  43591. type Tau_tid_t = struct {
  43592. Fport Tdev_t
  43593. Fmachine Tu_int32_t
  43594. }
  43595. type Tau_tid_addr = struct {
  43596. Fat_port Tdev_t
  43597. Fat_type Tu_int32_t
  43598. Fat_addr [4]Tu_int32_t
  43599. }
  43600. type Tau_tid_addr_t = struct {
  43601. Fat_port Tdev_t
  43602. Fat_type Tu_int32_t
  43603. Fat_addr [4]Tu_int32_t
  43604. }
  43605. type Tau_mask = struct {
  43606. Fam_success uint32
  43607. Fam_failure uint32
  43608. }
  43609. type Tau_mask_t = struct {
  43610. Fam_success uint32
  43611. Fam_failure uint32
  43612. }
  43613. type Tauditinfo = struct {
  43614. Fai_auid Tau_id_t
  43615. Fai_mask Tau_mask_t
  43616. Fai_termid Tau_tid_t
  43617. Fai_asid Tau_asid_t
  43618. }
  43619. type Tauditinfo_t = struct {
  43620. Fai_auid Tau_id_t
  43621. Fai_mask Tau_mask_t
  43622. Fai_termid Tau_tid_t
  43623. Fai_asid Tau_asid_t
  43624. }
  43625. type Tauditinfo_addr = struct {
  43626. Fai_auid Tau_id_t
  43627. Fai_mask Tau_mask_t
  43628. Fai_termid Tau_tid_addr_t
  43629. Fai_asid Tau_asid_t
  43630. Fai_flags Tau_asflgs_t
  43631. }
  43632. type Tauditinfo_addr_t = struct {
  43633. Fai_auid Tau_id_t
  43634. Fai_mask Tau_mask_t
  43635. Fai_termid Tau_tid_addr_t
  43636. Fai_asid Tau_asid_t
  43637. Fai_flags Tau_asflgs_t
  43638. }
  43639. type Tauditpinfo = struct {
  43640. Fap_pid Tpid_t
  43641. Fap_auid Tau_id_t
  43642. Fap_mask Tau_mask_t
  43643. Fap_termid Tau_tid_t
  43644. Fap_asid Tau_asid_t
  43645. }
  43646. type Tauditpinfo_t = struct {
  43647. Fap_pid Tpid_t
  43648. Fap_auid Tau_id_t
  43649. Fap_mask Tau_mask_t
  43650. Fap_termid Tau_tid_t
  43651. Fap_asid Tau_asid_t
  43652. }
  43653. type Tauditpinfo_addr = struct {
  43654. Fap_pid Tpid_t
  43655. Fap_auid Tau_id_t
  43656. Fap_mask Tau_mask_t
  43657. Fap_termid Tau_tid_addr_t
  43658. Fap_asid Tau_asid_t
  43659. Fap_flags Tau_asflgs_t
  43660. }
  43661. type Tauditpinfo_addr_t = struct {
  43662. Fap_pid Tpid_t
  43663. Fap_auid Tau_id_t
  43664. Fap_mask Tau_mask_t
  43665. Fap_termid Tau_tid_addr_t
  43666. Fap_asid Tau_asid_t
  43667. Fap_flags Tau_asflgs_t
  43668. }
  43669. type Tau_session = struct {
  43670. Fas_aia_p uintptr
  43671. Fas_mask Tau_mask_t
  43672. }
  43673. type Tau_session_t = struct {
  43674. Fas_aia_p uintptr
  43675. Fas_mask Tau_mask_t
  43676. }
  43677. type Tau_expire_after = struct {
  43678. Fage Ttime_t
  43679. Fsize Tsize_t
  43680. Fop_type uint8
  43681. }
  43682. type Tau_expire_after_t = struct {
  43683. Fage Ttime_t
  43684. Fsize Tsize_t
  43685. Fop_type uint8
  43686. }
  43687. type Tau_qctrl = struct {
  43688. Faq_hiwater int32
  43689. Faq_lowater int32
  43690. Faq_bufsz int32
  43691. Faq_delay int32
  43692. Faq_minfree int32
  43693. }
  43694. type Tau_qctrl_t = struct {
  43695. Faq_hiwater int32
  43696. Faq_lowater int32
  43697. Faq_bufsz int32
  43698. Faq_delay int32
  43699. Faq_minfree int32
  43700. }
  43701. type Taudit_stat = struct {
  43702. Fas_version uint32
  43703. Fas_numevent uint32
  43704. Fas_generated int32
  43705. Fas_nonattrib int32
  43706. Fas_kernel int32
  43707. Fas_audit int32
  43708. Fas_auditctl int32
  43709. Fas_enqueue int32
  43710. Fas_written int32
  43711. Fas_wblocked int32
  43712. Fas_rblocked int32
  43713. Fas_dropped int32
  43714. Fas_totalsize int32
  43715. Fas_memused uint32
  43716. }
  43717. type Tau_stat_t = struct {
  43718. Fas_version uint32
  43719. Fas_numevent uint32
  43720. Fas_generated int32
  43721. Fas_nonattrib int32
  43722. Fas_kernel int32
  43723. Fas_audit int32
  43724. Fas_auditctl int32
  43725. Fas_enqueue int32
  43726. Fas_written int32
  43727. Fas_wblocked int32
  43728. Fas_rblocked int32
  43729. Fas_dropped int32
  43730. Fas_totalsize int32
  43731. Fas_memused uint32
  43732. }
  43733. type Taudit_fstat = struct {
  43734. Faf_filesz Tu_int64_t
  43735. Faf_currsz Tu_int64_t
  43736. }
  43737. type Tau_fstat_t = struct {
  43738. Faf_filesz Tu_int64_t
  43739. Faf_currsz Tu_int64_t
  43740. }
  43741. type Tau_evclass_map = struct {
  43742. Fec_number Tau_event_t
  43743. Fec_class Tau_class_t
  43744. }
  43745. type Tau_evclass_map_t = struct {
  43746. Fec_number Tau_event_t
  43747. Fec_class Tau_class_t
  43748. }
  43749. type _audit_session_flags = int32
  43750. const _AU_SESSION_FLAG_IS_INITIAL = 1
  43751. const _AU_SESSION_FLAG_HAS_GRAPHIC_ACCESS = 16
  43752. const _AU_SESSION_FLAG_HAS_TTY = 32
  43753. const _AU_SESSION_FLAG_IS_REMOTE = 4096
  43754. const _AU_SESSION_FLAG_HAS_CONSOLE_ACCESS = 8192
  43755. const _AU_SESSION_FLAG_HAS_AUTHENTICATED = 16384
  43756. type Tboolean_t = int32
  43757. type Tnatural_t = uint32
  43758. type Tinteger_t = int32
  43759. type Tvm_offset_t = uint64
  43760. type Tvm_size_t = uint64
  43761. type Tmach_vm_address_t = uint64
  43762. type Tmach_vm_offset_t = uint64
  43763. type Tmach_vm_size_t = uint64
  43764. type Tvm_map_offset_t = uint64
  43765. type Tvm_map_address_t = uint64
  43766. type Tvm_map_size_t = uint64
  43767. type Tvm32_offset_t = uint32
  43768. type Tvm32_address_t = uint32
  43769. type Tvm32_size_t = uint32
  43770. type Tmach_port_context_t = uint64
  43771. type Tmach_port_name_t = uint32
  43772. type Tmach_port_name_array_t = uintptr
  43773. type Tmach_port_t = uint32
  43774. type Tmach_port_array_t = uintptr
  43775. type Tmach_port_right_t = uint32
  43776. type Tmach_port_type_t = uint32
  43777. type Tmach_port_type_array_t = uintptr
  43778. type Tmach_port_urefs_t = uint32
  43779. type Tmach_port_delta_t = int32
  43780. type Tmach_port_seqno_t = uint32
  43781. type Tmach_port_mscount_t = uint32
  43782. type Tmach_port_msgcount_t = uint32
  43783. type Tmach_port_rights_t = uint32
  43784. type Tmach_port_srights_t = uint32
  43785. type Tmach_port_status_t = struct {
  43786. Fmps_pset Tmach_port_rights_t
  43787. Fmps_seqno Tmach_port_seqno_t
  43788. Fmps_mscount Tmach_port_mscount_t
  43789. Fmps_qlimit Tmach_port_msgcount_t
  43790. Fmps_msgcount Tmach_port_msgcount_t
  43791. Fmps_sorights Tmach_port_rights_t
  43792. Fmps_srights Tboolean_t
  43793. Fmps_pdrequest Tboolean_t
  43794. Fmps_nsrequest Tboolean_t
  43795. Fmps_flags Tnatural_t
  43796. }
  43797. type Tmach_port_status = Tmach_port_status_t
  43798. type Tmach_port_limits_t = struct {
  43799. Fmpl_qlimit Tmach_port_msgcount_t
  43800. }
  43801. type Tmach_port_limits = Tmach_port_limits_t
  43802. type Tmach_port_info_ext_t = struct {
  43803. Fmpie_status Tmach_port_status_t
  43804. Fmpie_boost_cnt Tmach_port_msgcount_t
  43805. Freserved [6]Tuint32_t
  43806. }
  43807. type Tmach_port_info_ext = Tmach_port_info_ext_t
  43808. type Tmach_port_guard_info_t = struct {
  43809. Fmpgi_guard Tuint64_t
  43810. }
  43811. type Tmach_port_guard_info = Tmach_port_guard_info_t
  43812. type Tmach_port_info_t = uintptr
  43813. type Tmach_port_flavor_t = int32
  43814. type Tmach_port_qos_t = struct {
  43815. F__ccgo0 uint32
  43816. Flen1 Tnatural_t
  43817. }
  43818. type Tmach_port_qos = Tmach_port_qos_t
  43819. type Tmach_service_port_info_data_t = struct {
  43820. Fmspi_string_name [255]int8
  43821. Fmspi_domain_type Tuint8_t
  43822. }
  43823. type Tmach_service_port_info = Tmach_service_port_info_data_t
  43824. type Tmach_service_port_info_t = uintptr
  43825. type Tmach_port_options_t = struct {
  43826. Fflags Tuint32_t
  43827. Fmpl Tmach_port_limits_t
  43828. F__ccgo2_8 struct {
  43829. Fwork_interval_port [0]Tmach_port_name_t
  43830. Fservice_port_info [0]Tmach_service_port_info_t
  43831. Fservice_port_name [0]Tmach_port_name_t
  43832. Freserved [2]Tuint64_t
  43833. }
  43834. }
  43835. type Tmach_port_options = Tmach_port_options_t
  43836. type Tmach_port_options_ptr_t = uintptr
  43837. type _mach_port_guard_exception_codes = int32
  43838. const _kGUARD_EXC_DESTROY = 1
  43839. const _kGUARD_EXC_MOD_REFS = 2
  43840. const _kGUARD_EXC_INVALID_OPTIONS = 3
  43841. const _kGUARD_EXC_SET_CONTEXT = 4
  43842. const _kGUARD_EXC_THREAD_SET_STATE = 5
  43843. const _kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6
  43844. const _kGUARD_EXC_UNGUARDED = 8
  43845. const _kGUARD_EXC_INCORRECT_GUARD = 16
  43846. const _kGUARD_EXC_IMMOVABLE = 32
  43847. const _kGUARD_EXC_STRICT_REPLY = 64
  43848. const _kGUARD_EXC_MSG_FILTERED = 128
  43849. const _kGUARD_EXC_INVALID_RIGHT = 256
  43850. const _kGUARD_EXC_INVALID_NAME = 512
  43851. const _kGUARD_EXC_INVALID_VALUE = 1024
  43852. const _kGUARD_EXC_INVALID_ARGUMENT = 2048
  43853. const _kGUARD_EXC_RIGHT_EXISTS = 4096
  43854. const _kGUARD_EXC_KERN_NO_SPACE = 8192
  43855. const _kGUARD_EXC_KERN_FAILURE = 16384
  43856. const _kGUARD_EXC_KERN_RESOURCE = 32768
  43857. const _kGUARD_EXC_SEND_INVALID_REPLY = 65536
  43858. const _kGUARD_EXC_SEND_INVALID_VOUCHER = 131072
  43859. const _kGUARD_EXC_SEND_INVALID_RIGHT = 262144
  43860. const _kGUARD_EXC_RCV_INVALID_NAME = 524288
  43861. const _kGUARD_EXC_RCV_GUARDED_DESC = 1048576
  43862. const _kGUARD_EXC_MOD_REFS_NON_FATAL = 2097152
  43863. const _kGUARD_EXC_IMMOVABLE_NON_FATAL = 4194304
  43864. const _kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 8388608
  43865. type Tkauth_cred_t = uintptr
  43866. type Tposix_cred_t = uintptr
  43867. type Txucred = struct {
  43868. Fcr_version Tu_int
  43869. Fcr_uid Tuid_t
  43870. Fcr_ngroups int16
  43871. Fcr_groups [16]Tgid_t
  43872. }
  43873. type Ttext_encoding_t = uint32
  43874. type Tfsobj_type_t = uint32
  43875. type Tfsobj_tag_t = uint32
  43876. type Tfsfile_type_t = uint32
  43877. type Tfsvolid_t = uint32
  43878. type Tfsobj_id_t = struct {
  43879. Ffid_objno Tu_int32_t
  43880. Ffid_generation Tu_int32_t
  43881. }
  43882. type Tfsobj_id = Tfsobj_id_t
  43883. type Tattrgroup_t = uint32
  43884. type Tattrlist = struct {
  43885. Fbitmapcount Tu_short
  43886. Freserved Tu_int16_t
  43887. Fcommonattr Tattrgroup_t
  43888. Fvolattr Tattrgroup_t
  43889. Fdirattr Tattrgroup_t
  43890. Ffileattr Tattrgroup_t
  43891. Fforkattr Tattrgroup_t
  43892. }
  43893. type Tattribute_set_t = struct {
  43894. Fcommonattr Tattrgroup_t
  43895. Fvolattr Tattrgroup_t
  43896. Fdirattr Tattrgroup_t
  43897. Ffileattr Tattrgroup_t
  43898. Fforkattr Tattrgroup_t
  43899. }
  43900. type Tattribute_set = Tattribute_set_t
  43901. type Tattrreference_t = struct {
  43902. Fattr_dataoffset Tint32_t
  43903. Fattr_length Tu_int32_t
  43904. }
  43905. type Tattrreference = Tattrreference_t
  43906. type Tdiskextent = struct {
  43907. Fstartblock Tu_int32_t
  43908. Fblockcount Tu_int32_t
  43909. }
  43910. type Textentrecord = [8]Tdiskextent
  43911. type Tvol_capabilities_set_t = [4]Tu_int32_t
  43912. type Tvol_capabilities_attr_t = struct {
  43913. Fcapabilities Tvol_capabilities_set_t
  43914. Fvalid Tvol_capabilities_set_t
  43915. }
  43916. type Tvol_capabilities_attr = Tvol_capabilities_attr_t
  43917. type Tvol_attributes_attr_t = struct {
  43918. Fvalidattr Tattribute_set_t
  43919. Fnativeattr Tattribute_set_t
  43920. }
  43921. type Tvol_attributes_attr = Tvol_attributes_attr_t
  43922. type Tos_function_t = uintptr
  43923. type Tos_block_t = uintptr
  43924. type Tfsid_t = struct {
  43925. Fval [2]Tint32_t
  43926. }
  43927. type Tfsid = Tfsid_t
  43928. type Tsecure_boot_cryptex_args_t = struct {
  43929. Fsbc_version Tu_int32_t
  43930. Fsbc_4cc Tu_int32_t
  43931. Fsbc_authentic_manifest_fd int32
  43932. Fsbc_user_manifest_fd int32
  43933. Fsbc_payload_fd int32
  43934. Fsbc_flags Tu_int64_t
  43935. }
  43936. type Tsecure_boot_cryptex_args = Tsecure_boot_cryptex_args_t
  43937. type Tgraftdmg_args_un = struct {
  43938. Fsbc_args [0]Tsecure_boot_cryptex_args_t
  43939. Fmax_size [512]Tu_int8_t
  43940. }
  43941. type Tgraft_args = Tgraftdmg_args_un
  43942. type Tmount_t = uintptr
  43943. type Tvnode_t = uintptr
  43944. type Tstatfs = struct {
  43945. Ff_bsize Tuint32_t
  43946. Ff_iosize Tint32_t
  43947. Ff_blocks Tuint64_t
  43948. Ff_bfree Tuint64_t
  43949. Ff_bavail Tuint64_t
  43950. Ff_files Tuint64_t
  43951. Ff_ffree Tuint64_t
  43952. Ff_fsid Tfsid_t
  43953. Ff_owner Tuid_t
  43954. Ff_type Tuint32_t
  43955. Ff_flags Tuint32_t
  43956. Ff_fssubtype Tuint32_t
  43957. Ff_fstypename [16]int8
  43958. Ff_mntonname [1024]int8
  43959. Ff_mntfromname [1024]int8
  43960. Ff_flags_ext Tuint32_t
  43961. Ff_reserved [7]Tuint32_t
  43962. }
  43963. type Tvfsstatfs = struct {
  43964. Ff_bsize Tuint32_t
  43965. Ff_iosize Tsize_t
  43966. Ff_blocks Tuint64_t
  43967. Ff_bfree Tuint64_t
  43968. Ff_bavail Tuint64_t
  43969. Ff_bused Tuint64_t
  43970. Ff_files Tuint64_t
  43971. Ff_ffree Tuint64_t
  43972. Ff_fsid Tfsid_t
  43973. Ff_owner Tuid_t
  43974. Ff_flags Tuint64_t
  43975. Ff_fstypename [16]int8
  43976. Ff_mntonname [1024]int8
  43977. Ff_mntfromname [1024]int8
  43978. Ff_fssubtype Tuint32_t
  43979. Ff_reserved [2]uintptr
  43980. }
  43981. type Tvfsconf = struct {
  43982. Fvfc_reserved1 Tuint32_t
  43983. Fvfc_name [15]int8
  43984. Fvfc_typenum int32
  43985. Fvfc_refcount int32
  43986. Fvfc_flags int32
  43987. Fvfc_reserved2 Tuint32_t
  43988. Fvfc_reserved3 Tuint32_t
  43989. }
  43990. type Tvfsidctl = struct {
  43991. Fvc_vers int32
  43992. Fvc_fsid Tfsid_t
  43993. Fvc_ptr uintptr
  43994. Fvc_len Tsize_t
  43995. Fvc_spare [12]Tu_int32_t
  43996. }
  43997. type Tvfsquery = struct {
  43998. Fvq_flags Tu_int32_t
  43999. Fvq_spare [31]Tu_int32_t
  44000. }
  44001. type Tvfs_server = struct {
  44002. Fvs_minutes Tint32_t
  44003. Fvs_server_name [768]Tu_int8_t
  44004. }
  44005. type Tnetfs_status = struct {
  44006. F__ccgo_align [0]uint64
  44007. Fns_status Tu_int32_t
  44008. Fns_mountopts [512]int8
  44009. Fns_waittime Tuint32_t
  44010. Fns_threadcount Tuint32_t
  44011. }
  44012. type Tfhandle = struct {
  44013. Ffh_len uint32
  44014. Ffh_data [128]uint8
  44015. }
  44016. type Tfhandle_t = struct {
  44017. Ffh_len uint32
  44018. Ffh_data [128]uint8
  44019. }
  44020. type Tgraftdmg_type_t = uint32
  44021. const _GRAFTDMG_CRYPTEX_BOOT = 1
  44022. const _GRAFTDMG_CRYPTEX_PREBOOT = 2
  44023. const _GRAFTDMG_CRYPTEX_DOWNLEVEL = 3
  44024. const _GRAFTDMG_CRYPTEX_PDI_NONCE = 6
  44025. const _GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7
  44026. const _GRAFTDMG_CRYPTEX_MOBILE_ASSET = 8
  44027. const _GRAFTDMG_CRYPTEX_MAX = 8
  44028. type Tcryptex_auth_type_t = uint32
  44029. const _CRYPTEX1_AUTH_ENV_GENERIC = 4
  44030. const _CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5
  44031. const _CRYPTEX_AUTH_PDI_NONCE = 6
  44032. const _CRYPTEX_AUTH_MOBILE_ASSET = 8
  44033. const _CRYPTEX_AUTH_MAX = 8
  44034. /*
  44035. * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  44036. *
  44037. * @APPLE_LICENSE_HEADER_START@
  44038. *
  44039. * This file contains Original Code and/or Modifications of Original Code
  44040. * as defined in and that are subject to the Apple Public Source License
  44041. * Version 2.0 (the 'License'). You may not use this file except in
  44042. * compliance with the License. Please obtain a copy of the License at
  44043. * http://www.opensource.apple.com/apsl/ and read it before using this
  44044. * file.
  44045. *
  44046. * The Original Code and all software distributed under the License are
  44047. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44048. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44049. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44050. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44051. * Please see the License for the specific language governing rights and
  44052. * limitations under the License.
  44053. *
  44054. * @APPLE_LICENSE_HEADER_END@
  44055. */
  44056. /*
  44057. * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
  44058. *
  44059. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  44060. *
  44061. * This file contains Original Code and/or Modifications of Original Code
  44062. * as defined in and that are subject to the Apple Public Source License
  44063. * Version 2.0 (the 'License'). You may not use this file except in
  44064. * compliance with the License. The rights granted to you under the License
  44065. * may not be used to create, or enable the creation or redistribution of,
  44066. * unlawful or unlicensed copies of an Apple operating system, or to
  44067. * circumvent, violate, or enable the circumvention or violation of, any
  44068. * terms of an Apple operating system software license agreement.
  44069. *
  44070. * Please obtain a copy of the License at
  44071. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  44072. *
  44073. * The Original Code and all software distributed under the License are
  44074. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44075. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44076. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44077. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44078. * Please see the License for the specific language governing rights and
  44079. * limitations under the License.
  44080. *
  44081. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  44082. */
  44083. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  44084. /*
  44085. * Copyright (c) 1982, 1986, 1989, 1993
  44086. * The Regents of the University of California. All rights reserved.
  44087. * (c) UNIX System Laboratories, Inc.
  44088. * All or some portions of this file are derived from material licensed
  44089. * to the University of California by American Telephone and Telegraph
  44090. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44091. * the permission of UNIX System Laboratories, Inc.
  44092. *
  44093. * Redistribution and use in source and binary forms, with or without
  44094. * modification, are permitted provided that the following conditions
  44095. * are met:
  44096. * 1. Redistributions of source code must retain the above copyright
  44097. * notice, this list of conditions and the following disclaimer.
  44098. * 2. Redistributions in binary form must reproduce the above copyright
  44099. * notice, this list of conditions and the following disclaimer in the
  44100. * documentation and/or other materials provided with the distribution.
  44101. * 3. All advertising materials mentioning features or use of this software
  44102. * must display the following acknowledgement:
  44103. * This product includes software developed by the University of
  44104. * California, Berkeley and its contributors.
  44105. * 4. Neither the name of the University nor the names of its contributors
  44106. * may be used to endorse or promote products derived from this software
  44107. * without specific prior written permission.
  44108. *
  44109. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44110. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44111. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44112. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44113. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44114. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44115. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44116. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44117. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44118. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44119. * SUCH DAMAGE.
  44120. *
  44121. * @(#)errno.h 8.5 (Berkeley) 1/21/94
  44122. */
  44123. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  44124. return libc.Xstat(tls, file, statb)
  44125. }
  44126. /* Adler-32 checksum implementation */
  44127. type TAdler32 = struct {
  44128. Fa int32
  44129. Fb int32
  44130. }
  44131. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  44132. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  44133. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  44134. }
  44135. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  44136. var v1 int32
  44137. var v2 uintptr
  44138. _, _ = v1, v2
  44139. for {
  44140. v1 = data_len
  44141. data_len--
  44142. if !(v1 != 0) {
  44143. break
  44144. }
  44145. v2 = data
  44146. data++
  44147. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + int32(*(*int8)(unsafe.Pointer(v2)))) % int32(65521)
  44148. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  44149. }
  44150. }
  44151. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  44152. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  44153. }
  44154. // C documentation
  44155. //
  44156. // /* dirent.d_type can be relied upon on FAT filesystem */
  44157. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  44158. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  44159. }
  44160. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  44161. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+21, *(*uintptr)(unsafe.Pointer(rhs))+21)
  44162. }
  44163. func _free_dirent(tls *libc.TLS, p uintptr) {
  44164. var x uintptr
  44165. _ = x
  44166. x = p
  44167. for {
  44168. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  44169. break
  44170. }
  44171. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  44172. goto _1
  44173. _1:
  44174. ;
  44175. x += 8
  44176. }
  44177. libc.Xfree(tls, p)
  44178. }
  44179. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  44180. var d, dent, dlist, dlp, p, v1 uintptr
  44181. var dentlen, lsize, n, v2 Tsize_t
  44182. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  44183. lsize = uint64(128)
  44184. n = uint64(0)
  44185. d = libc.Xopendir(tls, dirp)
  44186. if !(d != 0) {
  44187. return -int32(1)
  44188. }
  44189. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  44190. if !(dlist != 0) {
  44191. libc.Xclosedir(tls, d)
  44192. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44193. return -int32(1)
  44194. }
  44195. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  44196. for {
  44197. v1 = libc.Xreaddir(tls, d)
  44198. dent = v1
  44199. if !(v1 != 0) {
  44200. break
  44201. }
  44202. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  44203. dentlen = libc.Uint64FromInt64(Tintptr_t(dent+21)-int64(dent)) + libc.Xstrlen(tls, dent+21) + uint64(1)
  44204. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & libc.Uint64FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  44205. p = libc.Xmalloc(tls, dentlen)
  44206. if !(p != 0) {
  44207. _free_dirent(tls, dlist)
  44208. libc.Xclosedir(tls, d)
  44209. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44210. return -int32(1)
  44211. }
  44212. libc.X__builtin___memcpy_chk(tls, p, dent, dentlen, ^t__predefined_size_t(0))
  44213. if n+uint64(1) >= lsize {
  44214. lsize += uint64(128)
  44215. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  44216. if !(dlp != 0) {
  44217. libc.Xfree(tls, p)
  44218. _free_dirent(tls, dlist)
  44219. libc.Xclosedir(tls, d)
  44220. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  44221. return -int32(1)
  44222. }
  44223. dlist = dlp
  44224. }
  44225. v2 = n
  44226. n++
  44227. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  44228. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  44229. }
  44230. }
  44231. libc.Xclosedir(tls, d)
  44232. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  44233. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  44234. return libc.Int32FromUint64(n)
  44235. }
  44236. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  44237. bp := tls.Alloc(176)
  44238. defer tls.Free(176)
  44239. var dlen, len1 Tsize_t
  44240. var f uintptr
  44241. var n, ret, v1 int32
  44242. var _ /* ctx at bp+0 */ TAdler32
  44243. var _ /* dtype at bp+16 */ int32
  44244. var _ /* files at bp+8 */ uintptr
  44245. var _ /* statb at bp+24 */ Tstat
  44246. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  44247. ret = 0
  44248. len1 = libc.Xstrlen(tls, dir)
  44249. _Adler32Init(tls, bp)
  44250. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  44251. if n == -int32(1) {
  44252. return -int32(1)
  44253. }
  44254. for {
  44255. v1 = n
  44256. n--
  44257. if !(v1 != 0) {
  44258. break
  44259. }
  44260. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21)
  44261. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  44262. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  44263. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  44264. if !(f != 0) {
  44265. ret = -int32(1)
  44266. goto bail
  44267. }
  44268. libc.X__builtin___memcpy_chk(tls, f, dir, len1, ^t__predefined_size_t(0))
  44269. *(*int8)(unsafe.Pointer(f + uintptr(len1))) = int8('/')
  44270. libc.X__builtin___memcpy_chk(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, dlen, ^t__predefined_size_t(0))
  44271. *(*int8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = 0
  44272. if libc.Xlstat(tls, f, bp+24) < 0 {
  44273. ret = -int32(1)
  44274. libc.Xfree(tls, f)
  44275. goto bail
  44276. }
  44277. if libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)&int32(m_S_IFMT5) == int32(m_S_IFDIR3) {
  44278. libc.Xfree(tls, f)
  44279. goto bail
  44280. }
  44281. libc.Xfree(tls, f)
  44282. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint16((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  44283. }
  44284. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, libc.Int32FromUint64(dlen+uint64(1)))
  44285. _Adler32Update(tls, bp, bp+16, int32(4))
  44286. goto bail
  44287. bail:
  44288. ;
  44289. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  44290. }
  44291. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  44292. if ret == -int32(1) {
  44293. return -int32(1)
  44294. }
  44295. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  44296. return 0
  44297. }
  44298. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  44299. if XFcStat(tls, file, statb) == -int32(1) {
  44300. return -int32(1)
  44301. }
  44302. /* We have a workaround of the broken stat() in FcStat() for Win32.
  44303. * No need to do something further more.
  44304. */
  44305. if XFcIsFsMtimeBroken(tls, file) != 0 {
  44306. if _FcDirChecksum1(tls, file, statb+48) == -int32(1) {
  44307. return -int32(1)
  44308. }
  44309. }
  44310. return 0
  44311. }
  44312. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  44313. bp := tls.Alloc(2176)
  44314. defer tls.Free(2176)
  44315. var flag TFcBool
  44316. var p uintptr
  44317. var ret, v1 int32
  44318. var _ /* buf at bp+0 */ Tstatfs
  44319. _, _, _, _ = flag, p, ret, v1
  44320. p = libc.UintptrFromInt32(0)
  44321. ret = -int32(1)
  44322. flag = m_FcFalse
  44323. libc.X__builtin___memset_chk(tls, statb, 0, uint64(8), ^t__predefined_size_t(0))
  44324. v1 = libc.Xfstatfs(tls, fd, bp)
  44325. ret = v1
  44326. if v1 == 0 {
  44327. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = libc.BoolInt32(!((*(*Tstatfs)(unsafe.Pointer(bp))).Ff_flags&libc.Uint32FromInt32(m_MNT_LOCAL) != 0))
  44328. flag = int32(m_FcTrue)
  44329. p = bp + 72
  44330. }
  44331. if p != 0 {
  44332. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+7090) == 0 {
  44333. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  44334. }
  44335. if libc.Xstrcmp(tls, p, __ccgo_ts+7094) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+7102) == 0 {
  44336. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  44337. }
  44338. }
  44339. return ret
  44340. }
  44341. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  44342. bp := tls.Alloc(16)
  44343. defer tls.Free(16)
  44344. var _ /* statb at bp+0 */ TFcStatFS
  44345. if _FcFStatFs(tls, fd, bp) < 0 {
  44346. return int32(m_FcTrue)
  44347. }
  44348. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  44349. }
  44350. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  44351. bp := tls.Alloc(16)
  44352. defer tls.Free(16)
  44353. var fd, ret int32
  44354. var _ /* statb at bp+0 */ TFcStatFS
  44355. _, _ = fd, ret
  44356. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  44357. if fd != -int32(1) {
  44358. ret = _FcFStatFs(tls, fd, bp)
  44359. libc.Xclose(tls, fd)
  44360. if ret < 0 {
  44361. return m_FcFalse
  44362. }
  44363. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  44364. }
  44365. return m_FcFalse
  44366. }
  44367. const m_FC_MAX_CASE_FOLD_CHARS = 6
  44368. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  44369. const m_FC_MAX_FOLD_CHAR = 125217
  44370. const m_FC_MIN_FOLD_CHAR = 65
  44371. const m_FC_NUM_CASE_FOLD = 302
  44372. const m_FC_NUM_CASE_FOLD_CHARS = 471
  44373. const m_S_IFDIR4 = 0040000
  44374. const m_S_IFMT6 = 0170000
  44375. /*
  44376. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  44377. *
  44378. * @APPLE_LICENSE_HEADER_START@
  44379. *
  44380. * This file contains Original Code and/or Modifications of Original Code
  44381. * as defined in and that are subject to the Apple Public Source License
  44382. * Version 2.0 (the 'License'). You may not use this file except in
  44383. * compliance with the License. Please obtain a copy of the License at
  44384. * http://www.opensource.apple.com/apsl/ and read it before using this
  44385. * file.
  44386. *
  44387. * The Original Code and all software distributed under the License are
  44388. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44389. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44390. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44391. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44392. * Please see the License for the specific language governing rights and
  44393. * limitations under the License.
  44394. *
  44395. * @APPLE_LICENSE_HEADER_END@
  44396. */
  44397. /*-
  44398. * Copyright (c) 1990, 1993
  44399. * The Regents of the University of California. All rights reserved.
  44400. *
  44401. * Redistribution and use in source and binary forms, with or without
  44402. * modification, are permitted provided that the following conditions
  44403. * are met:
  44404. * 1. Redistributions of source code must retain the above copyright
  44405. * notice, this list of conditions and the following disclaimer.
  44406. * 2. Redistributions in binary form must reproduce the above copyright
  44407. * notice, this list of conditions and the following disclaimer in the
  44408. * documentation and/or other materials provided with the distribution.
  44409. * 3. All advertising materials mentioning features or use of this software
  44410. * must display the following acknowledgement:
  44411. * This product includes software developed by the University of
  44412. * California, Berkeley and its contributors.
  44413. * 4. Neither the name of the University nor the names of its contributors
  44414. * may be used to endorse or promote products derived from this software
  44415. * without specific prior written permission.
  44416. *
  44417. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44418. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44419. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44420. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44421. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44422. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44423. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44424. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44425. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44426. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44427. * SUCH DAMAGE.
  44428. *
  44429. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  44430. */
  44431. /*
  44432. * Copyright (c) 2023 Apple Inc. All rights reserved.
  44433. *
  44434. * @APPLE_LICENSE_HEADER_START@
  44435. *
  44436. * This file contains Original Code and/or Modifications of Original Code
  44437. * as defined in and that are subject to the Apple Public Source License
  44438. * Version 2.0 (the 'License'). You may not use this file except in
  44439. * compliance with the License. Please obtain a copy of the License at
  44440. * http://www.opensource.apple.com/apsl/ and read it before using this
  44441. * file.
  44442. *
  44443. * The Original Code and all software distributed under the License are
  44444. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44445. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44446. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44447. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44448. * Please see the License for the specific language governing rights and
  44449. * limitations under the License.
  44450. *
  44451. * @APPLE_LICENSE_HEADER_END@
  44452. */
  44453. /*-
  44454. * Copyright (c) 1990, 1993
  44455. * The Regents of the University of California. All rights reserved.
  44456. *
  44457. * Redistribution and use in source and binary forms, with or without
  44458. * modification, are permitted provided that the following conditions
  44459. * are met:
  44460. * 1. Redistributions of source code must retain the above copyright
  44461. * notice, this list of conditions and the following disclaimer.
  44462. * 2. Redistributions in binary form must reproduce the above copyright
  44463. * notice, this list of conditions and the following disclaimer in the
  44464. * documentation and/or other materials provided with the distribution.
  44465. * 3. All advertising materials mentioning features or use of this software
  44466. * must display the following acknowledgement:
  44467. * This product includes software developed by the University of
  44468. * California, Berkeley and its contributors.
  44469. * 4. Neither the name of the University nor the names of its contributors
  44470. * may be used to endorse or promote products derived from this software
  44471. * without specific prior written permission.
  44472. *
  44473. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44474. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44475. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44476. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44477. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44478. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44479. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44480. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44481. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44482. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44483. * SUCH DAMAGE.
  44484. *
  44485. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  44486. */
  44487. /*
  44488. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  44489. *
  44490. * @APPLE_LICENSE_HEADER_START@
  44491. *
  44492. * This file contains Original Code and/or Modifications of Original Code
  44493. * as defined in and that are subject to the Apple Public Source License
  44494. * Version 2.0 (the 'License'). You may not use this file except in
  44495. * compliance with the License. Please obtain a copy of the License at
  44496. * http://www.opensource.apple.com/apsl/ and read it before using this
  44497. * file.
  44498. *
  44499. * The Original Code and all software distributed under the License are
  44500. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44501. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44502. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44503. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44504. * Please see the License for the specific language governing rights and
  44505. * limitations under the License.
  44506. *
  44507. * @APPLE_LICENSE_HEADER_END@
  44508. */
  44509. /*
  44510. * Copyright (c) 1989, 1993
  44511. * The Regents of the University of California. All rights reserved.
  44512. * (c) UNIX System Laboratories, Inc.
  44513. * All or some portions of this file are derived from material licensed
  44514. * to the University of California by American Telephone and Telegraph
  44515. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44516. * the permission of UNIX System Laboratories, Inc.
  44517. *
  44518. * This code is derived from software contributed to Berkeley by
  44519. * Paul Borman at Krystal Technologies.
  44520. *
  44521. * Redistribution and use in source and binary forms, with or without
  44522. * modification, are permitted provided that the following conditions
  44523. * are met:
  44524. * 1. Redistributions of source code must retain the above copyright
  44525. * notice, this list of conditions and the following disclaimer.
  44526. * 2. Redistributions in binary form must reproduce the above copyright
  44527. * notice, this list of conditions and the following disclaimer in the
  44528. * documentation and/or other materials provided with the distribution.
  44529. * 3. All advertising materials mentioning features or use of this software
  44530. * must display the following acknowledgement:
  44531. * This product includes software developed by the University of
  44532. * California, Berkeley and its contributors.
  44533. * 4. Neither the name of the University nor the names of its contributors
  44534. * may be used to endorse or promote products derived from this software
  44535. * without specific prior written permission.
  44536. *
  44537. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44538. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44539. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44540. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44541. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44542. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44543. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44544. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44545. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44546. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44547. * SUCH DAMAGE.
  44548. *
  44549. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  44550. */
  44551. /*
  44552. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  44553. *
  44554. * @APPLE_LICENSE_HEADER_START@
  44555. *
  44556. * This file contains Original Code and/or Modifications of Original Code
  44557. * as defined in and that are subject to the Apple Public Source License
  44558. * Version 2.0 (the 'License'). You may not use this file except in
  44559. * compliance with the License. Please obtain a copy of the License at
  44560. * http://www.opensource.apple.com/apsl/ and read it before using this
  44561. * file.
  44562. *
  44563. * The Original Code and all software distributed under the License are
  44564. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44565. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44566. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44567. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44568. * Please see the License for the specific language governing rights and
  44569. * limitations under the License.
  44570. *
  44571. * @APPLE_LICENSE_HEADER_END@
  44572. */
  44573. /*
  44574. * Copyright (c) 1989, 1993
  44575. * The Regents of the University of California. All rights reserved.
  44576. * (c) UNIX System Laboratories, Inc.
  44577. * All or some portions of this file are derived from material licensed
  44578. * to the University of California by American Telephone and Telegraph
  44579. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  44580. * the permission of UNIX System Laboratories, Inc.
  44581. *
  44582. * This code is derived from software contributed to Berkeley by
  44583. * Paul Borman at Krystal Technologies.
  44584. *
  44585. * Redistribution and use in source and binary forms, with or without
  44586. * modification, are permitted provided that the following conditions
  44587. * are met:
  44588. * 1. Redistributions of source code must retain the above copyright
  44589. * notice, this list of conditions and the following disclaimer.
  44590. * 2. Redistributions in binary form must reproduce the above copyright
  44591. * notice, this list of conditions and the following disclaimer in the
  44592. * documentation and/or other materials provided with the distribution.
  44593. * 3. All advertising materials mentioning features or use of this software
  44594. * must display the following acknowledgement:
  44595. * This product includes software developed by the University of
  44596. * California, Berkeley and its contributors.
  44597. * 4. Neither the name of the University nor the names of its contributors
  44598. * may be used to endorse or promote products derived from this software
  44599. * without specific prior written permission.
  44600. *
  44601. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44602. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44603. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44604. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44605. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44606. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44607. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44608. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44609. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44610. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44611. * SUCH DAMAGE.
  44612. *
  44613. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  44614. */
  44615. /*
  44616. * Copyright (c) 2000, 2007, 2010, 2023 Apple Inc. All rights reserved.
  44617. *
  44618. * @APPLE_LICENSE_HEADER_START@
  44619. *
  44620. * This file contains Original Code and/or Modifications of Original Code
  44621. * as defined in and that are subject to the Apple Public Source License
  44622. * Version 2.0 (the 'License'). You may not use this file except in
  44623. * compliance with the License. Please obtain a copy of the License at
  44624. * http://www.opensource.apple.com/apsl/ and read it before using this
  44625. * file.
  44626. *
  44627. * The Original Code and all software distributed under the License are
  44628. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44629. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44630. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44631. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44632. * Please see the License for the specific language governing rights and
  44633. * limitations under the License.
  44634. *
  44635. * @APPLE_LICENSE_HEADER_END@
  44636. */
  44637. /*-
  44638. * Copyright (c) 1990, 1993
  44639. * The Regents of the University of California. All rights reserved.
  44640. *
  44641. * Redistribution and use in source and binary forms, with or without
  44642. * modification, are permitted provided that the following conditions
  44643. * are met:
  44644. * 1. Redistributions of source code must retain the above copyright
  44645. * notice, this list of conditions and the following disclaimer.
  44646. * 2. Redistributions in binary form must reproduce the above copyright
  44647. * notice, this list of conditions and the following disclaimer in the
  44648. * documentation and/or other materials provided with the distribution.
  44649. * 3. All advertising materials mentioning features or use of this software
  44650. * must display the following acknowledgement:
  44651. * This product includes software developed by the University of
  44652. * California, Berkeley and its contributors.
  44653. * 4. Neither the name of the University nor the names of its contributors
  44654. * may be used to endorse or promote products derived from this software
  44655. * without specific prior written permission.
  44656. *
  44657. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44658. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44659. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44660. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44661. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44662. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44663. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44664. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44665. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44666. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44667. * SUCH DAMAGE.
  44668. *
  44669. * @(#)string.h 8.1 (Berkeley) 6/2/93
  44670. */
  44671. /*
  44672. * Copyright (c) 2023 Apple Inc. All rights reserved.
  44673. *
  44674. * @APPLE_LICENSE_HEADER_START@
  44675. *
  44676. * This file contains Original Code and/or Modifications of Original Code
  44677. * as defined in and that are subject to the Apple Public Source License
  44678. * Version 2.0 (the 'License'). You may not use this file except in
  44679. * compliance with the License. Please obtain a copy of the License at
  44680. * http://www.opensource.apple.com/apsl/ and read it before using this
  44681. * file.
  44682. *
  44683. * The Original Code and all software distributed under the License are
  44684. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  44685. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  44686. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  44687. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  44688. * Please see the License for the specific language governing rights and
  44689. * limitations under the License.
  44690. *
  44691. * @APPLE_LICENSE_HEADER_END@
  44692. */
  44693. /*-
  44694. * Copyright (c) 1990, 1993
  44695. * The Regents of the University of California. All rights reserved.
  44696. *
  44697. * Redistribution and use in source and binary forms, with or without
  44698. * modification, are permitted provided that the following conditions
  44699. * are met:
  44700. * 1. Redistributions of source code must retain the above copyright
  44701. * notice, this list of conditions and the following disclaimer.
  44702. * 2. Redistributions in binary form must reproduce the above copyright
  44703. * notice, this list of conditions and the following disclaimer in the
  44704. * documentation and/or other materials provided with the distribution.
  44705. * 3. All advertising materials mentioning features or use of this software
  44706. * must display the following acknowledgement:
  44707. * This product includes software developed by the University of
  44708. * California, Berkeley and its contributors.
  44709. * 4. Neither the name of the University nor the names of its contributors
  44710. * may be used to endorse or promote products derived from this software
  44711. * without specific prior written permission.
  44712. *
  44713. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  44714. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  44715. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  44716. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  44717. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  44718. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  44719. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  44720. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  44721. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  44722. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  44723. * SUCH DAMAGE.
  44724. *
  44725. * @(#)string.h 8.1 (Berkeley) 6/2/93
  44726. */
  44727. /* Objects MT-safe for readonly access. */
  44728. func XFcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  44729. return libc.Xstrdup(tls, s)
  44730. }
  44731. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  44732. var l, s1l, s2l, s3l int32
  44733. var s uintptr
  44734. var v1, v2, v3 uint64
  44735. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  44736. if s1 != 0 {
  44737. v1 = libc.Xstrlen(tls, s1)
  44738. } else {
  44739. v1 = uint64(0)
  44740. }
  44741. s1l = libc.Int32FromUint64(v1)
  44742. if s2 != 0 {
  44743. v2 = libc.Xstrlen(tls, s2)
  44744. } else {
  44745. v2 = uint64(0)
  44746. }
  44747. s2l = libc.Int32FromUint64(v2)
  44748. if s3 != 0 {
  44749. v3 = libc.Xstrlen(tls, s3)
  44750. } else {
  44751. v3 = uint64(0)
  44752. }
  44753. s3l = libc.Int32FromUint64(v3)
  44754. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  44755. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  44756. if !(s != 0) {
  44757. return uintptr(0)
  44758. }
  44759. if s1 != 0 {
  44760. libc.X__builtin___memcpy_chk(tls, s, s1, libc.Uint64FromInt32(s1l+int32(1)), ^t__predefined_size_t(0))
  44761. } else {
  44762. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  44763. }
  44764. if s2 != 0 {
  44765. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1), s2, libc.Uint64FromInt32(s2l+int32(1)), ^t__predefined_size_t(0))
  44766. } else {
  44767. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  44768. }
  44769. if s3 != 0 {
  44770. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, libc.Uint64FromInt32(s3l+int32(1)), ^t__predefined_size_t(0))
  44771. } else {
  44772. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  44773. }
  44774. return s
  44775. }
  44776. func XFcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  44777. var l, s1l, s2l int32
  44778. var s uintptr
  44779. _, _, _, _ = l, s, s1l, s2l
  44780. s1l = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  44781. s2l = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  44782. l = s1l + s2l + int32(1)
  44783. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  44784. if !(s != 0) {
  44785. return uintptr(0)
  44786. }
  44787. libc.X__builtin___memcpy_chk(tls, s, s1, libc.Uint64FromInt32(s1l), ^t__predefined_size_t(0))
  44788. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l), s2, libc.Uint64FromInt32(s2l+int32(1)), ^t__predefined_size_t(0))
  44789. return s
  44790. }
  44791. func XFcStrFree(tls *libc.TLS, s uintptr) {
  44792. libc.Xfree(tls, s)
  44793. }
  44794. var _fcCaseFold = [302]TFcCaseFold{
  44795. 0: {
  44796. Fupper: uint32(0x00000041),
  44797. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  44798. Foffset: int16(32),
  44799. },
  44800. 1: {
  44801. Fupper: uint32(0x000000b5),
  44802. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44803. Foffset: int16(775),
  44804. },
  44805. 2: {
  44806. Fupper: uint32(0x000000c0),
  44807. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  44808. Foffset: int16(32),
  44809. },
  44810. 3: {
  44811. Fupper: uint32(0x000000d8),
  44812. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  44813. Foffset: int16(32),
  44814. },
  44815. 4: {
  44816. Fupper: uint32(0x000000df),
  44817. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44818. },
  44819. 5: {
  44820. Fupper: uint32(0x00000100),
  44821. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  44822. Foffset: int16(1),
  44823. },
  44824. 6: {
  44825. Fupper: uint32(0x00000130),
  44826. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44827. Foffset: int16(2),
  44828. },
  44829. 7: {
  44830. Fupper: uint32(0x00000132),
  44831. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44832. Foffset: int16(1),
  44833. },
  44834. 8: {
  44835. Fupper: uint32(0x00000139),
  44836. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  44837. Foffset: int16(1),
  44838. },
  44839. 9: {
  44840. Fupper: uint32(0x00000149),
  44841. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44842. Foffset: int16(5),
  44843. },
  44844. 10: {
  44845. Fupper: uint32(0x0000014a),
  44846. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  44847. Foffset: int16(1),
  44848. },
  44849. 11: {
  44850. Fupper: uint32(0x00000178),
  44851. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44852. Foffset: int16(-int32(121)),
  44853. },
  44854. 12: {
  44855. Fupper: uint32(0x00000179),
  44856. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44857. Foffset: int16(1),
  44858. },
  44859. 13: {
  44860. Fupper: uint32(0x0000017f),
  44861. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44862. Foffset: int16(-int32(268)),
  44863. },
  44864. 14: {
  44865. Fupper: uint32(0x00000181),
  44866. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44867. Foffset: int16(210),
  44868. },
  44869. 15: {
  44870. Fupper: uint32(0x00000182),
  44871. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44872. Foffset: int16(1),
  44873. },
  44874. 16: {
  44875. Fupper: uint32(0x00000186),
  44876. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44877. Foffset: int16(206),
  44878. },
  44879. 17: {
  44880. Fupper: uint32(0x00000187),
  44881. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44882. Foffset: int16(1),
  44883. },
  44884. 18: {
  44885. Fupper: uint32(0x00000189),
  44886. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44887. Foffset: int16(205),
  44888. },
  44889. 19: {
  44890. Fupper: uint32(0x0000018b),
  44891. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44892. Foffset: int16(1),
  44893. },
  44894. 20: {
  44895. Fupper: uint32(0x0000018e),
  44896. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44897. Foffset: int16(79),
  44898. },
  44899. 21: {
  44900. Fupper: uint32(0x0000018f),
  44901. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44902. Foffset: int16(202),
  44903. },
  44904. 22: {
  44905. Fupper: uint32(0x00000190),
  44906. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44907. Foffset: int16(203),
  44908. },
  44909. 23: {
  44910. Fupper: uint32(0x00000191),
  44911. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44912. Foffset: int16(1),
  44913. },
  44914. 24: {
  44915. Fupper: uint32(0x00000193),
  44916. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44917. Foffset: int16(205),
  44918. },
  44919. 25: {
  44920. Fupper: uint32(0x00000194),
  44921. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44922. Foffset: int16(207),
  44923. },
  44924. 26: {
  44925. Fupper: uint32(0x00000196),
  44926. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44927. Foffset: int16(211),
  44928. },
  44929. 27: {
  44930. Fupper: uint32(0x00000197),
  44931. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44932. Foffset: int16(209),
  44933. },
  44934. 28: {
  44935. Fupper: uint32(0x00000198),
  44936. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44937. Foffset: int16(1),
  44938. },
  44939. 29: {
  44940. Fupper: uint32(0x0000019c),
  44941. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44942. Foffset: int16(211),
  44943. },
  44944. 30: {
  44945. Fupper: uint32(0x0000019d),
  44946. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44947. Foffset: int16(213),
  44948. },
  44949. 31: {
  44950. Fupper: uint32(0x0000019f),
  44951. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44952. Foffset: int16(214),
  44953. },
  44954. 32: {
  44955. Fupper: uint32(0x000001a0),
  44956. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44957. Foffset: int16(1),
  44958. },
  44959. 33: {
  44960. Fupper: uint32(0x000001a6),
  44961. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44962. Foffset: int16(218),
  44963. },
  44964. 34: {
  44965. Fupper: uint32(0x000001a7),
  44966. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44967. Foffset: int16(1),
  44968. },
  44969. 35: {
  44970. Fupper: uint32(0x000001a9),
  44971. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44972. Foffset: int16(218),
  44973. },
  44974. 36: {
  44975. Fupper: uint32(0x000001ac),
  44976. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44977. Foffset: int16(1),
  44978. },
  44979. 37: {
  44980. Fupper: uint32(0x000001ae),
  44981. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44982. Foffset: int16(218),
  44983. },
  44984. 38: {
  44985. Fupper: uint32(0x000001af),
  44986. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44987. Foffset: int16(1),
  44988. },
  44989. 39: {
  44990. Fupper: uint32(0x000001b1),
  44991. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44992. Foffset: int16(217),
  44993. },
  44994. 40: {
  44995. Fupper: uint32(0x000001b3),
  44996. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44997. Foffset: int16(1),
  44998. },
  44999. 41: {
  45000. Fupper: uint32(0x000001b7),
  45001. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45002. Foffset: int16(219),
  45003. },
  45004. 42: {
  45005. Fupper: uint32(0x000001b8),
  45006. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45007. Foffset: int16(1),
  45008. },
  45009. 43: {
  45010. Fupper: uint32(0x000001bc),
  45011. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45012. Foffset: int16(1),
  45013. },
  45014. 44: {
  45015. Fupper: uint32(0x000001c4),
  45016. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45017. Foffset: int16(2),
  45018. },
  45019. 45: {
  45020. Fupper: uint32(0x000001c5),
  45021. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45022. Foffset: int16(1),
  45023. },
  45024. 46: {
  45025. Fupper: uint32(0x000001c7),
  45026. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45027. Foffset: int16(2),
  45028. },
  45029. 47: {
  45030. Fupper: uint32(0x000001c8),
  45031. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45032. Foffset: int16(1),
  45033. },
  45034. 48: {
  45035. Fupper: uint32(0x000001ca),
  45036. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45037. Foffset: int16(2),
  45038. },
  45039. 49: {
  45040. Fupper: uint32(0x000001cb),
  45041. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45042. Foffset: int16(1),
  45043. },
  45044. 50: {
  45045. Fupper: uint32(0x000001de),
  45046. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45047. Foffset: int16(1),
  45048. },
  45049. 51: {
  45050. Fupper: uint32(0x000001f0),
  45051. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45052. Foffset: int16(8),
  45053. },
  45054. 52: {
  45055. Fupper: uint32(0x000001f1),
  45056. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45057. Foffset: int16(2),
  45058. },
  45059. 53: {
  45060. Fupper: uint32(0x000001f2),
  45061. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45062. Foffset: int16(1),
  45063. },
  45064. 54: {
  45065. Fupper: uint32(0x000001f6),
  45066. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45067. Foffset: int16(-int32(97)),
  45068. },
  45069. 55: {
  45070. Fupper: uint32(0x000001f7),
  45071. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45072. Foffset: int16(-int32(56)),
  45073. },
  45074. 56: {
  45075. Fupper: uint32(0x000001f8),
  45076. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  45077. Foffset: int16(1),
  45078. },
  45079. 57: {
  45080. Fupper: uint32(0x00000220),
  45081. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45082. Foffset: int16(-int32(130)),
  45083. },
  45084. 58: {
  45085. Fupper: uint32(0x00000222),
  45086. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45087. Foffset: int16(1),
  45088. },
  45089. 59: {
  45090. Fupper: uint32(0x0000023a),
  45091. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45092. Foffset: int16(10795),
  45093. },
  45094. 60: {
  45095. Fupper: uint32(0x0000023b),
  45096. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45097. Foffset: int16(1),
  45098. },
  45099. 61: {
  45100. Fupper: uint32(0x0000023d),
  45101. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45102. Foffset: int16(-int32(163)),
  45103. },
  45104. 62: {
  45105. Fupper: uint32(0x0000023e),
  45106. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45107. Foffset: int16(10792),
  45108. },
  45109. 63: {
  45110. Fupper: uint32(0x00000241),
  45111. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45112. Foffset: int16(1),
  45113. },
  45114. 64: {
  45115. Fupper: uint32(0x00000243),
  45116. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45117. Foffset: int16(-int32(195)),
  45118. },
  45119. 65: {
  45120. Fupper: uint32(0x00000244),
  45121. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45122. Foffset: int16(69),
  45123. },
  45124. 66: {
  45125. Fupper: uint32(0x00000245),
  45126. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45127. Foffset: int16(71),
  45128. },
  45129. 67: {
  45130. Fupper: uint32(0x00000246),
  45131. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  45132. Foffset: int16(1),
  45133. },
  45134. 68: {
  45135. Fupper: uint32(0x00000345),
  45136. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45137. Foffset: int16(116),
  45138. },
  45139. 69: {
  45140. Fupper: uint32(0x00000370),
  45141. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45142. Foffset: int16(1),
  45143. },
  45144. 70: {
  45145. Fupper: uint32(0x00000376),
  45146. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45147. Foffset: int16(1),
  45148. },
  45149. 71: {
  45150. Fupper: uint32(0x0000037f),
  45151. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45152. Foffset: int16(116),
  45153. },
  45154. 72: {
  45155. Fupper: uint32(0x00000386),
  45156. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45157. Foffset: int16(38),
  45158. },
  45159. 73: {
  45160. Fupper: uint32(0x00000388),
  45161. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45162. Foffset: int16(37),
  45163. },
  45164. 74: {
  45165. Fupper: uint32(0x0000038c),
  45166. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45167. Foffset: int16(64),
  45168. },
  45169. 75: {
  45170. Fupper: uint32(0x0000038e),
  45171. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45172. Foffset: int16(63),
  45173. },
  45174. 76: {
  45175. Fupper: uint32(0x00000390),
  45176. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45177. Foffset: int16(11),
  45178. },
  45179. 77: {
  45180. Fupper: uint32(0x00000391),
  45181. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  45182. Foffset: int16(32),
  45183. },
  45184. 78: {
  45185. Fupper: uint32(0x000003a3),
  45186. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  45187. Foffset: int16(32),
  45188. },
  45189. 79: {
  45190. Fupper: uint32(0x000003b0),
  45191. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45192. Foffset: int16(17),
  45193. },
  45194. 80: {
  45195. Fupper: uint32(0x000003c2),
  45196. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45197. Foffset: int16(1),
  45198. },
  45199. 81: {
  45200. Fupper: uint32(0x000003cf),
  45201. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45202. Foffset: int16(8),
  45203. },
  45204. 82: {
  45205. Fupper: uint32(0x000003d0),
  45206. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45207. Foffset: int16(-int32(30)),
  45208. },
  45209. 83: {
  45210. Fupper: uint32(0x000003d1),
  45211. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45212. Foffset: int16(-int32(25)),
  45213. },
  45214. 84: {
  45215. Fupper: uint32(0x000003d5),
  45216. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45217. Foffset: int16(-int32(15)),
  45218. },
  45219. 85: {
  45220. Fupper: uint32(0x000003d6),
  45221. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45222. Foffset: int16(-int32(22)),
  45223. },
  45224. 86: {
  45225. Fupper: uint32(0x000003d8),
  45226. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  45227. Foffset: int16(1),
  45228. },
  45229. 87: {
  45230. Fupper: uint32(0x000003f0),
  45231. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45232. Foffset: int16(-int32(54)),
  45233. },
  45234. 88: {
  45235. Fupper: uint32(0x000003f1),
  45236. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45237. Foffset: int16(-int32(48)),
  45238. },
  45239. 89: {
  45240. Fupper: uint32(0x000003f4),
  45241. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45242. Foffset: int16(-int32(60)),
  45243. },
  45244. 90: {
  45245. Fupper: uint32(0x000003f5),
  45246. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45247. Foffset: int16(-int32(64)),
  45248. },
  45249. 91: {
  45250. Fupper: uint32(0x000003f7),
  45251. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45252. Foffset: int16(1),
  45253. },
  45254. 92: {
  45255. Fupper: uint32(0x000003f9),
  45256. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45257. Foffset: int16(-int32(7)),
  45258. },
  45259. 93: {
  45260. Fupper: uint32(0x000003fa),
  45261. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45262. Foffset: int16(1),
  45263. },
  45264. 94: {
  45265. Fupper: uint32(0x000003fd),
  45266. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45267. Foffset: int16(-int32(130)),
  45268. },
  45269. 95: {
  45270. Fupper: uint32(0x00000400),
  45271. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  45272. Foffset: int16(80),
  45273. },
  45274. 96: {
  45275. Fupper: uint32(0x00000410),
  45276. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  45277. Foffset: int16(32),
  45278. },
  45279. 97: {
  45280. Fupper: uint32(0x00000460),
  45281. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  45282. Foffset: int16(1),
  45283. },
  45284. 98: {
  45285. Fupper: uint32(0x0000048a),
  45286. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  45287. Foffset: int16(1),
  45288. },
  45289. 99: {
  45290. Fupper: uint32(0x000004c0),
  45291. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45292. Foffset: int16(15),
  45293. },
  45294. 100: {
  45295. Fupper: uint32(0x000004c1),
  45296. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  45297. Foffset: int16(1),
  45298. },
  45299. 101: {
  45300. Fupper: uint32(0x000004d0),
  45301. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  45302. Foffset: int16(1),
  45303. },
  45304. 102: {
  45305. Fupper: uint32(0x00000531),
  45306. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  45307. Foffset: int16(48),
  45308. },
  45309. 103: {
  45310. Fupper: uint32(0x00000587),
  45311. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45312. Foffset: int16(23),
  45313. },
  45314. 104: {
  45315. Fupper: uint32(0x000010a0),
  45316. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  45317. Foffset: int16(7264),
  45318. },
  45319. 105: {
  45320. Fupper: uint32(0x000010c7),
  45321. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45322. Foffset: int16(7264),
  45323. },
  45324. 106: {
  45325. Fupper: uint32(0x000010cd),
  45326. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45327. Foffset: int16(7264),
  45328. },
  45329. 107: {
  45330. Fupper: uint32(0x000013f8),
  45331. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45332. Foffset: int16(-int32(8)),
  45333. },
  45334. 108: {
  45335. Fupper: uint32(0x00001c80),
  45336. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45337. Foffset: int16(-int32(6222)),
  45338. },
  45339. 109: {
  45340. Fupper: uint32(0x00001c81),
  45341. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45342. Foffset: int16(-int32(6221)),
  45343. },
  45344. 110: {
  45345. Fupper: uint32(0x00001c82),
  45346. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45347. Foffset: int16(-int32(6212)),
  45348. },
  45349. 111: {
  45350. Fupper: uint32(0x00001c83),
  45351. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45352. Foffset: int16(-int32(6210)),
  45353. },
  45354. 112: {
  45355. Fupper: uint32(0x00001c85),
  45356. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45357. Foffset: int16(-int32(6211)),
  45358. },
  45359. 113: {
  45360. Fupper: uint32(0x00001c86),
  45361. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45362. Foffset: int16(-int32(6204)),
  45363. },
  45364. 114: {
  45365. Fupper: uint32(0x00001c87),
  45366. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45367. Foffset: int16(-int32(6180)),
  45368. },
  45369. 115: {
  45370. Fupper: uint32(0x00001c88),
  45371. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45372. Foffset: int16(-int32(30269)),
  45373. },
  45374. 116: {
  45375. Fupper: uint32(0x00001c90),
  45376. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  45377. Foffset: int16(-int32(3008)),
  45378. },
  45379. 117: {
  45380. Fupper: uint32(0x00001cbd),
  45381. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45382. Foffset: int16(-int32(3008)),
  45383. },
  45384. 118: {
  45385. Fupper: uint32(0x00001e00),
  45386. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  45387. Foffset: int16(1),
  45388. },
  45389. 119: {
  45390. Fupper: uint32(0x00001e96),
  45391. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45392. Foffset: int16(27),
  45393. },
  45394. 120: {
  45395. Fupper: uint32(0x00001e97),
  45396. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45397. Foffset: int16(30),
  45398. },
  45399. 121: {
  45400. Fupper: uint32(0x00001e98),
  45401. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45402. Foffset: int16(33),
  45403. },
  45404. 122: {
  45405. Fupper: uint32(0x00001e99),
  45406. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45407. Foffset: int16(36),
  45408. },
  45409. 123: {
  45410. Fupper: uint32(0x00001e9a),
  45411. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  45412. Foffset: int16(39),
  45413. },
  45414. 124: {
  45415. Fupper: uint32(0x00001e9b),
  45416. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45417. Foffset: int16(-int32(58)),
  45418. },
  45419. 125: {
  45420. Fupper: uint32(0x00001e9e),
  45421. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45422. Foffset: int16(42),
  45423. },
  45424. 126: {
  45425. Fupper: uint32(0x00001ea0),
  45426. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  45427. Foffset: int16(1),
  45428. },
  45429. 127: {
  45430. Fupper: uint32(0x00001f08),
  45431. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45432. Foffset: int16(-int32(8)),
  45433. },
  45434. 128: {
  45435. Fupper: uint32(0x00001f18),
  45436. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45437. Foffset: int16(-int32(8)),
  45438. },
  45439. 129: {
  45440. Fupper: uint32(0x00001f28),
  45441. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45442. Foffset: int16(-int32(8)),
  45443. },
  45444. 130: {
  45445. Fupper: uint32(0x00001f38),
  45446. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45447. Foffset: int16(-int32(8)),
  45448. },
  45449. 131: {
  45450. Fupper: uint32(0x00001f48),
  45451. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45452. Foffset: int16(-int32(8)),
  45453. },
  45454. 132: {
  45455. Fupper: uint32(0x00001f50),
  45456. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45457. Foffset: int16(44),
  45458. },
  45459. 133: {
  45460. Fupper: uint32(0x00001f52),
  45461. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45462. Foffset: int16(48),
  45463. },
  45464. 134: {
  45465. Fupper: uint32(0x00001f54),
  45466. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45467. Foffset: int16(54),
  45468. },
  45469. 135: {
  45470. Fupper: uint32(0x00001f56),
  45471. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45472. Foffset: int16(60),
  45473. },
  45474. 136: {
  45475. Fupper: uint32(0x00001f59),
  45476. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45477. Foffset: int16(-int32(8)),
  45478. },
  45479. 137: {
  45480. Fupper: uint32(0x00001f5b),
  45481. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45482. Foffset: int16(-int32(8)),
  45483. },
  45484. 138: {
  45485. Fupper: uint32(0x00001f5d),
  45486. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45487. Foffset: int16(-int32(8)),
  45488. },
  45489. 139: {
  45490. Fupper: uint32(0x00001f5f),
  45491. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45492. Foffset: int16(-int32(8)),
  45493. },
  45494. 140: {
  45495. Fupper: uint32(0x00001f68),
  45496. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  45497. Foffset: int16(-int32(8)),
  45498. },
  45499. 141: {
  45500. Fupper: uint32(0x00001f80),
  45501. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45502. Foffset: int16(66),
  45503. },
  45504. 142: {
  45505. Fupper: uint32(0x00001f81),
  45506. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45507. Foffset: int16(71),
  45508. },
  45509. 143: {
  45510. Fupper: uint32(0x00001f82),
  45511. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45512. Foffset: int16(76),
  45513. },
  45514. 144: {
  45515. Fupper: uint32(0x00001f83),
  45516. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45517. Foffset: int16(81),
  45518. },
  45519. 145: {
  45520. Fupper: uint32(0x00001f84),
  45521. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45522. Foffset: int16(86),
  45523. },
  45524. 146: {
  45525. Fupper: uint32(0x00001f85),
  45526. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45527. Foffset: int16(91),
  45528. },
  45529. 147: {
  45530. Fupper: uint32(0x00001f86),
  45531. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45532. Foffset: int16(96),
  45533. },
  45534. 148: {
  45535. Fupper: uint32(0x00001f87),
  45536. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45537. Foffset: int16(101),
  45538. },
  45539. 149: {
  45540. Fupper: uint32(0x00001f88),
  45541. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45542. Foffset: int16(106),
  45543. },
  45544. 150: {
  45545. Fupper: uint32(0x00001f89),
  45546. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45547. Foffset: int16(111),
  45548. },
  45549. 151: {
  45550. Fupper: uint32(0x00001f8a),
  45551. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45552. Foffset: int16(116),
  45553. },
  45554. 152: {
  45555. Fupper: uint32(0x00001f8b),
  45556. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45557. Foffset: int16(121),
  45558. },
  45559. 153: {
  45560. Fupper: uint32(0x00001f8c),
  45561. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45562. Foffset: int16(126),
  45563. },
  45564. 154: {
  45565. Fupper: uint32(0x00001f8d),
  45566. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45567. Foffset: int16(131),
  45568. },
  45569. 155: {
  45570. Fupper: uint32(0x00001f8e),
  45571. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45572. Foffset: int16(136),
  45573. },
  45574. 156: {
  45575. Fupper: uint32(0x00001f8f),
  45576. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45577. Foffset: int16(141),
  45578. },
  45579. 157: {
  45580. Fupper: uint32(0x00001f90),
  45581. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45582. Foffset: int16(146),
  45583. },
  45584. 158: {
  45585. Fupper: uint32(0x00001f91),
  45586. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45587. Foffset: int16(151),
  45588. },
  45589. 159: {
  45590. Fupper: uint32(0x00001f92),
  45591. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45592. Foffset: int16(156),
  45593. },
  45594. 160: {
  45595. Fupper: uint32(0x00001f93),
  45596. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45597. Foffset: int16(161),
  45598. },
  45599. 161: {
  45600. Fupper: uint32(0x00001f94),
  45601. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45602. Foffset: int16(166),
  45603. },
  45604. 162: {
  45605. Fupper: uint32(0x00001f95),
  45606. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45607. Foffset: int16(171),
  45608. },
  45609. 163: {
  45610. Fupper: uint32(0x00001f96),
  45611. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45612. Foffset: int16(176),
  45613. },
  45614. 164: {
  45615. Fupper: uint32(0x00001f97),
  45616. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45617. Foffset: int16(181),
  45618. },
  45619. 165: {
  45620. Fupper: uint32(0x00001f98),
  45621. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45622. Foffset: int16(186),
  45623. },
  45624. 166: {
  45625. Fupper: uint32(0x00001f99),
  45626. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45627. Foffset: int16(191),
  45628. },
  45629. 167: {
  45630. Fupper: uint32(0x00001f9a),
  45631. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45632. Foffset: int16(196),
  45633. },
  45634. 168: {
  45635. Fupper: uint32(0x00001f9b),
  45636. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45637. Foffset: int16(201),
  45638. },
  45639. 169: {
  45640. Fupper: uint32(0x00001f9c),
  45641. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45642. Foffset: int16(206),
  45643. },
  45644. 170: {
  45645. Fupper: uint32(0x00001f9d),
  45646. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45647. Foffset: int16(211),
  45648. },
  45649. 171: {
  45650. Fupper: uint32(0x00001f9e),
  45651. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45652. Foffset: int16(216),
  45653. },
  45654. 172: {
  45655. Fupper: uint32(0x00001f9f),
  45656. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45657. Foffset: int16(221),
  45658. },
  45659. 173: {
  45660. Fupper: uint32(0x00001fa0),
  45661. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45662. Foffset: int16(226),
  45663. },
  45664. 174: {
  45665. Fupper: uint32(0x00001fa1),
  45666. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45667. Foffset: int16(231),
  45668. },
  45669. 175: {
  45670. Fupper: uint32(0x00001fa2),
  45671. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45672. Foffset: int16(236),
  45673. },
  45674. 176: {
  45675. Fupper: uint32(0x00001fa3),
  45676. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45677. Foffset: int16(241),
  45678. },
  45679. 177: {
  45680. Fupper: uint32(0x00001fa4),
  45681. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45682. Foffset: int16(246),
  45683. },
  45684. 178: {
  45685. Fupper: uint32(0x00001fa5),
  45686. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45687. Foffset: int16(251),
  45688. },
  45689. 179: {
  45690. Fupper: uint32(0x00001fa6),
  45691. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45692. Foffset: int16(256),
  45693. },
  45694. 180: {
  45695. Fupper: uint32(0x00001fa7),
  45696. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45697. Foffset: int16(261),
  45698. },
  45699. 181: {
  45700. Fupper: uint32(0x00001fa8),
  45701. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45702. Foffset: int16(266),
  45703. },
  45704. 182: {
  45705. Fupper: uint32(0x00001fa9),
  45706. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45707. Foffset: int16(271),
  45708. },
  45709. 183: {
  45710. Fupper: uint32(0x00001faa),
  45711. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45712. Foffset: int16(276),
  45713. },
  45714. 184: {
  45715. Fupper: uint32(0x00001fab),
  45716. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45717. Foffset: int16(281),
  45718. },
  45719. 185: {
  45720. Fupper: uint32(0x00001fac),
  45721. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45722. Foffset: int16(286),
  45723. },
  45724. 186: {
  45725. Fupper: uint32(0x00001fad),
  45726. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45727. Foffset: int16(291),
  45728. },
  45729. 187: {
  45730. Fupper: uint32(0x00001fae),
  45731. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45732. Foffset: int16(296),
  45733. },
  45734. 188: {
  45735. Fupper: uint32(0x00001faf),
  45736. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45737. Foffset: int16(301),
  45738. },
  45739. 189: {
  45740. Fupper: uint32(0x00001fb2),
  45741. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45742. Foffset: int16(306),
  45743. },
  45744. 190: {
  45745. Fupper: uint32(0x00001fb3),
  45746. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45747. Foffset: int16(311),
  45748. },
  45749. 191: {
  45750. Fupper: uint32(0x00001fb4),
  45751. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45752. Foffset: int16(315),
  45753. },
  45754. 192: {
  45755. Fupper: uint32(0x00001fb6),
  45756. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45757. Foffset: int16(319),
  45758. },
  45759. 193: {
  45760. Fupper: uint32(0x00001fb7),
  45761. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45762. Foffset: int16(323),
  45763. },
  45764. 194: {
  45765. Fupper: uint32(0x00001fb8),
  45766. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45767. Foffset: int16(-int32(8)),
  45768. },
  45769. 195: {
  45770. Fupper: uint32(0x00001fba),
  45771. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45772. Foffset: int16(-int32(74)),
  45773. },
  45774. 196: {
  45775. Fupper: uint32(0x00001fbc),
  45776. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45777. Foffset: int16(329),
  45778. },
  45779. 197: {
  45780. Fupper: uint32(0x00001fbe),
  45781. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45782. Foffset: int16(-int32(7173)),
  45783. },
  45784. 198: {
  45785. Fupper: uint32(0x00001fc2),
  45786. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45787. Foffset: int16(333),
  45788. },
  45789. 199: {
  45790. Fupper: uint32(0x00001fc3),
  45791. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45792. Foffset: int16(338),
  45793. },
  45794. 200: {
  45795. Fupper: uint32(0x00001fc4),
  45796. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45797. Foffset: int16(342),
  45798. },
  45799. 201: {
  45800. Fupper: uint32(0x00001fc6),
  45801. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45802. Foffset: int16(346),
  45803. },
  45804. 202: {
  45805. Fupper: uint32(0x00001fc7),
  45806. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45807. Foffset: int16(350),
  45808. },
  45809. 203: {
  45810. Fupper: uint32(0x00001fc8),
  45811. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45812. Foffset: int16(-int32(86)),
  45813. },
  45814. 204: {
  45815. Fupper: uint32(0x00001fcc),
  45816. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45817. Foffset: int16(356),
  45818. },
  45819. 205: {
  45820. Fupper: uint32(0x00001fd2),
  45821. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45822. Foffset: int16(360),
  45823. },
  45824. 206: {
  45825. Fupper: uint32(0x00001fd3),
  45826. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45827. Foffset: int16(366),
  45828. },
  45829. 207: {
  45830. Fupper: uint32(0x00001fd6),
  45831. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45832. Foffset: int16(372),
  45833. },
  45834. 208: {
  45835. Fupper: uint32(0x00001fd7),
  45836. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45837. Foffset: int16(376),
  45838. },
  45839. 209: {
  45840. Fupper: uint32(0x00001fd8),
  45841. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45842. Foffset: int16(-int32(8)),
  45843. },
  45844. 210: {
  45845. Fupper: uint32(0x00001fda),
  45846. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45847. Foffset: int16(-int32(100)),
  45848. },
  45849. 211: {
  45850. Fupper: uint32(0x00001fe2),
  45851. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45852. Foffset: int16(382),
  45853. },
  45854. 212: {
  45855. Fupper: uint32(0x00001fe3),
  45856. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45857. Foffset: int16(388),
  45858. },
  45859. 213: {
  45860. Fupper: uint32(0x00001fe4),
  45861. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45862. Foffset: int16(394),
  45863. },
  45864. 214: {
  45865. Fupper: uint32(0x00001fe6),
  45866. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45867. Foffset: int16(398),
  45868. },
  45869. 215: {
  45870. Fupper: uint32(0x00001fe7),
  45871. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45872. Foffset: int16(402),
  45873. },
  45874. 216: {
  45875. Fupper: uint32(0x00001fe8),
  45876. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45877. Foffset: int16(-int32(8)),
  45878. },
  45879. 217: {
  45880. Fupper: uint32(0x00001fea),
  45881. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45882. Foffset: int16(-int32(112)),
  45883. },
  45884. 218: {
  45885. Fupper: uint32(0x00001fec),
  45886. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45887. Foffset: int16(-int32(7)),
  45888. },
  45889. 219: {
  45890. Fupper: uint32(0x00001ff2),
  45891. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45892. Foffset: int16(408),
  45893. },
  45894. 220: {
  45895. Fupper: uint32(0x00001ff3),
  45896. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45897. Foffset: int16(413),
  45898. },
  45899. 221: {
  45900. Fupper: uint32(0x00001ff4),
  45901. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45902. Foffset: int16(417),
  45903. },
  45904. 222: {
  45905. Fupper: uint32(0x00001ff6),
  45906. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45907. Foffset: int16(421),
  45908. },
  45909. 223: {
  45910. Fupper: uint32(0x00001ff7),
  45911. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  45912. Foffset: int16(425),
  45913. },
  45914. 224: {
  45915. Fupper: uint32(0x00001ff8),
  45916. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45917. Foffset: int16(-int32(128)),
  45918. },
  45919. 225: {
  45920. Fupper: uint32(0x00001ffa),
  45921. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  45922. Foffset: int16(-int32(126)),
  45923. },
  45924. 226: {
  45925. Fupper: uint32(0x00001ffc),
  45926. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  45927. Foffset: int16(431),
  45928. },
  45929. 227: {
  45930. Fupper: uint32(0x00002126),
  45931. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45932. Foffset: int16(-int32(7517)),
  45933. },
  45934. 228: {
  45935. Fupper: uint32(0x0000212a),
  45936. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45937. Foffset: int16(-int32(8383)),
  45938. },
  45939. 229: {
  45940. Fupper: uint32(0x0000212b),
  45941. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45942. Foffset: int16(-int32(8262)),
  45943. },
  45944. 230: {
  45945. Fupper: uint32(0x00002132),
  45946. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45947. Foffset: int16(28),
  45948. },
  45949. 231: {
  45950. Fupper: uint32(0x00002160),
  45951. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  45952. Foffset: int16(16),
  45953. },
  45954. 232: {
  45955. Fupper: uint32(0x00002183),
  45956. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45957. Foffset: int16(1),
  45958. },
  45959. 233: {
  45960. Fupper: uint32(0x000024b6),
  45961. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  45962. Foffset: int16(26),
  45963. },
  45964. 234: {
  45965. Fupper: uint32(0x00002c00),
  45966. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  45967. Foffset: int16(48),
  45968. },
  45969. 235: {
  45970. Fupper: uint32(0x00002c60),
  45971. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45972. Foffset: int16(1),
  45973. },
  45974. 236: {
  45975. Fupper: uint32(0x00002c62),
  45976. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45977. Foffset: int16(-int32(10743)),
  45978. },
  45979. 237: {
  45980. Fupper: uint32(0x00002c63),
  45981. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45982. Foffset: int16(-int32(3814)),
  45983. },
  45984. 238: {
  45985. Fupper: uint32(0x00002c64),
  45986. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45987. Foffset: int16(-int32(10727)),
  45988. },
  45989. 239: {
  45990. Fupper: uint32(0x00002c67),
  45991. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  45992. Foffset: int16(1),
  45993. },
  45994. 240: {
  45995. Fupper: uint32(0x00002c6d),
  45996. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  45997. Foffset: int16(-int32(10780)),
  45998. },
  45999. 241: {
  46000. Fupper: uint32(0x00002c6e),
  46001. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46002. Foffset: int16(-int32(10749)),
  46003. },
  46004. 242: {
  46005. Fupper: uint32(0x00002c6f),
  46006. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46007. Foffset: int16(-int32(10783)),
  46008. },
  46009. 243: {
  46010. Fupper: uint32(0x00002c70),
  46011. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46012. Foffset: int16(-int32(10782)),
  46013. },
  46014. 244: {
  46015. Fupper: uint32(0x00002c72),
  46016. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46017. Foffset: int16(1),
  46018. },
  46019. 245: {
  46020. Fupper: uint32(0x00002c75),
  46021. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46022. Foffset: int16(1),
  46023. },
  46024. 246: {
  46025. Fupper: uint32(0x00002c7e),
  46026. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46027. Foffset: int16(-int32(10815)),
  46028. },
  46029. 247: {
  46030. Fupper: uint32(0x00002c80),
  46031. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  46032. Foffset: int16(1),
  46033. },
  46034. 248: {
  46035. Fupper: uint32(0x00002ceb),
  46036. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46037. Foffset: int16(1),
  46038. },
  46039. 249: {
  46040. Fupper: uint32(0x00002cf2),
  46041. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46042. Foffset: int16(1),
  46043. },
  46044. 250: {
  46045. Fupper: uint32(0x0000a640),
  46046. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  46047. Foffset: int16(1),
  46048. },
  46049. 251: {
  46050. Fupper: uint32(0x0000a680),
  46051. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  46052. Foffset: int16(1),
  46053. },
  46054. 252: {
  46055. Fupper: uint32(0x0000a722),
  46056. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  46057. Foffset: int16(1),
  46058. },
  46059. 253: {
  46060. Fupper: uint32(0x0000a732),
  46061. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  46062. Foffset: int16(1),
  46063. },
  46064. 254: {
  46065. Fupper: uint32(0x0000a779),
  46066. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46067. Foffset: int16(1),
  46068. },
  46069. 255: {
  46070. Fupper: uint32(0x0000a77d),
  46071. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46072. Foffset: int16(30204),
  46073. },
  46074. 256: {
  46075. Fupper: uint32(0x0000a77e),
  46076. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  46077. Foffset: int16(1),
  46078. },
  46079. 257: {
  46080. Fupper: uint32(0x0000a78b),
  46081. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46082. Foffset: int16(1),
  46083. },
  46084. 258: {
  46085. Fupper: uint32(0x0000a78d),
  46086. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46087. Foffset: int16(23256),
  46088. },
  46089. 259: {
  46090. Fupper: uint32(0x0000a790),
  46091. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46092. Foffset: int16(1),
  46093. },
  46094. 260: {
  46095. Fupper: uint32(0x0000a796),
  46096. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  46097. Foffset: int16(1),
  46098. },
  46099. 261: {
  46100. Fupper: uint32(0x0000a7aa),
  46101. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46102. Foffset: int16(23228),
  46103. },
  46104. 262: {
  46105. Fupper: uint32(0x0000a7ab),
  46106. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46107. Foffset: int16(23217),
  46108. },
  46109. 263: {
  46110. Fupper: uint32(0x0000a7ac),
  46111. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46112. Foffset: int16(23221),
  46113. },
  46114. 264: {
  46115. Fupper: uint32(0x0000a7ad),
  46116. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46117. Foffset: int16(23231),
  46118. },
  46119. 265: {
  46120. Fupper: uint32(0x0000a7ae),
  46121. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46122. Foffset: int16(23228),
  46123. },
  46124. 266: {
  46125. Fupper: uint32(0x0000a7b0),
  46126. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46127. Foffset: int16(23278),
  46128. },
  46129. 267: {
  46130. Fupper: uint32(0x0000a7b1),
  46131. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46132. Foffset: int16(23254),
  46133. },
  46134. 268: {
  46135. Fupper: uint32(0x0000a7b2),
  46136. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46137. Foffset: int16(23275),
  46138. },
  46139. 269: {
  46140. Fupper: uint32(0x0000a7b3),
  46141. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46142. Foffset: int16(928),
  46143. },
  46144. 270: {
  46145. Fupper: uint32(0x0000a7b4),
  46146. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  46147. Foffset: int16(1),
  46148. },
  46149. 271: {
  46150. Fupper: uint32(0x0000a7c4),
  46151. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46152. Foffset: int16(-int32(48)),
  46153. },
  46154. 272: {
  46155. Fupper: uint32(0x0000a7c5),
  46156. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46157. Foffset: int16(23229),
  46158. },
  46159. 273: {
  46160. Fupper: uint32(0x0000a7c6),
  46161. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46162. Foffset: int16(30152),
  46163. },
  46164. 274: {
  46165. Fupper: uint32(0x0000a7c7),
  46166. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46167. Foffset: int16(1),
  46168. },
  46169. 275: {
  46170. Fupper: uint32(0x0000a7d0),
  46171. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46172. Foffset: int16(1),
  46173. },
  46174. 276: {
  46175. Fupper: uint32(0x0000a7d6),
  46176. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46177. Foffset: int16(1),
  46178. },
  46179. 277: {
  46180. Fupper: uint32(0x0000a7f5),
  46181. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  46182. Foffset: int16(1),
  46183. },
  46184. 278: {
  46185. Fupper: uint32(0x0000ab70),
  46186. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  46187. Foffset: int16(26672),
  46188. },
  46189. 279: {
  46190. Fupper: uint32(0x0000fb00),
  46191. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46192. Foffset: int16(435),
  46193. },
  46194. 280: {
  46195. Fupper: uint32(0x0000fb01),
  46196. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46197. Foffset: int16(437),
  46198. },
  46199. 281: {
  46200. Fupper: uint32(0x0000fb02),
  46201. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46202. Foffset: int16(439),
  46203. },
  46204. 282: {
  46205. Fupper: uint32(0x0000fb03),
  46206. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46207. Foffset: int16(441),
  46208. },
  46209. 283: {
  46210. Fupper: uint32(0x0000fb04),
  46211. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  46212. Foffset: int16(444),
  46213. },
  46214. 284: {
  46215. Fupper: uint32(0x0000fb05),
  46216. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46217. Foffset: int16(447),
  46218. },
  46219. 285: {
  46220. Fupper: uint32(0x0000fb06),
  46221. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46222. Foffset: int16(449),
  46223. },
  46224. 286: {
  46225. Fupper: uint32(0x0000fb13),
  46226. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46227. Foffset: int16(451),
  46228. },
  46229. 287: {
  46230. Fupper: uint32(0x0000fb14),
  46231. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46232. Foffset: int16(455),
  46233. },
  46234. 288: {
  46235. Fupper: uint32(0x0000fb15),
  46236. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46237. Foffset: int16(459),
  46238. },
  46239. 289: {
  46240. Fupper: uint32(0x0000fb16),
  46241. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46242. Foffset: int16(463),
  46243. },
  46244. 290: {
  46245. Fupper: uint32(0x0000fb17),
  46246. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  46247. Foffset: int16(467),
  46248. },
  46249. 291: {
  46250. Fupper: uint32(0x0000ff21),
  46251. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  46252. Foffset: int16(32),
  46253. },
  46254. 292: {
  46255. Fupper: uint32(0x00010400),
  46256. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  46257. Foffset: int16(40),
  46258. },
  46259. 293: {
  46260. Fupper: uint32(0x000104b0),
  46261. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  46262. Foffset: int16(40),
  46263. },
  46264. 294: {
  46265. Fupper: uint32(0x00010570),
  46266. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  46267. Foffset: int16(39),
  46268. },
  46269. 295: {
  46270. Fupper: uint32(0x0001057c),
  46271. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  46272. Foffset: int16(39),
  46273. },
  46274. 296: {
  46275. Fupper: uint32(0x0001058c),
  46276. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  46277. Foffset: int16(39),
  46278. },
  46279. 297: {
  46280. Fupper: uint32(0x00010594),
  46281. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  46282. Foffset: int16(39),
  46283. },
  46284. 298: {
  46285. Fupper: uint32(0x00010c80),
  46286. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  46287. Foffset: int16(64),
  46288. },
  46289. 299: {
  46290. Fupper: uint32(0x000118a0),
  46291. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  46292. Foffset: int16(32),
  46293. },
  46294. 300: {
  46295. Fupper: uint32(0x00016e40),
  46296. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  46297. Foffset: int16(32),
  46298. },
  46299. 301: {
  46300. Fupper: uint32(0x0001e900),
  46301. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  46302. Foffset: int16(34),
  46303. },
  46304. }
  46305. var _fcCaseFoldChars = [471]TFcChar8{
  46306. 0: uint8(0x73),
  46307. 1: uint8(0x73),
  46308. 2: uint8(0x69),
  46309. 3: uint8(0xcc),
  46310. 4: uint8(0x87),
  46311. 5: uint8(0xca),
  46312. 6: uint8(0xbc),
  46313. 7: uint8(0x6e),
  46314. 8: uint8(0x6a),
  46315. 9: uint8(0xcc),
  46316. 10: uint8(0x8c),
  46317. 11: uint8(0xce),
  46318. 12: uint8(0xb9),
  46319. 13: uint8(0xcc),
  46320. 14: uint8(0x88),
  46321. 15: uint8(0xcc),
  46322. 16: uint8(0x81),
  46323. 17: uint8(0xcf),
  46324. 18: uint8(0x85),
  46325. 19: uint8(0xcc),
  46326. 20: uint8(0x88),
  46327. 21: uint8(0xcc),
  46328. 22: uint8(0x81),
  46329. 23: uint8(0xd5),
  46330. 24: uint8(0xa5),
  46331. 25: uint8(0xd6),
  46332. 26: uint8(0x82),
  46333. 27: uint8(0x68),
  46334. 28: uint8(0xcc),
  46335. 29: uint8(0xb1),
  46336. 30: uint8(0x74),
  46337. 31: uint8(0xcc),
  46338. 32: uint8(0x88),
  46339. 33: uint8(0x77),
  46340. 34: uint8(0xcc),
  46341. 35: uint8(0x8a),
  46342. 36: uint8(0x79),
  46343. 37: uint8(0xcc),
  46344. 38: uint8(0x8a),
  46345. 39: uint8(0x61),
  46346. 40: uint8(0xca),
  46347. 41: uint8(0xbe),
  46348. 42: uint8(0x73),
  46349. 43: uint8(0x73),
  46350. 44: uint8(0xcf),
  46351. 45: uint8(0x85),
  46352. 46: uint8(0xcc),
  46353. 47: uint8(0x93),
  46354. 48: uint8(0xcf),
  46355. 49: uint8(0x85),
  46356. 50: uint8(0xcc),
  46357. 51: uint8(0x93),
  46358. 52: uint8(0xcc),
  46359. 53: uint8(0x80),
  46360. 54: uint8(0xcf),
  46361. 55: uint8(0x85),
  46362. 56: uint8(0xcc),
  46363. 57: uint8(0x93),
  46364. 58: uint8(0xcc),
  46365. 59: uint8(0x81),
  46366. 60: uint8(0xcf),
  46367. 61: uint8(0x85),
  46368. 62: uint8(0xcc),
  46369. 63: uint8(0x93),
  46370. 64: uint8(0xcd),
  46371. 65: uint8(0x82),
  46372. 66: uint8(0xe1),
  46373. 67: uint8(0xbc),
  46374. 68: uint8(0x80),
  46375. 69: uint8(0xce),
  46376. 70: uint8(0xb9),
  46377. 71: uint8(0xe1),
  46378. 72: uint8(0xbc),
  46379. 73: uint8(0x81),
  46380. 74: uint8(0xce),
  46381. 75: uint8(0xb9),
  46382. 76: uint8(0xe1),
  46383. 77: uint8(0xbc),
  46384. 78: uint8(0x82),
  46385. 79: uint8(0xce),
  46386. 80: uint8(0xb9),
  46387. 81: uint8(0xe1),
  46388. 82: uint8(0xbc),
  46389. 83: uint8(0x83),
  46390. 84: uint8(0xce),
  46391. 85: uint8(0xb9),
  46392. 86: uint8(0xe1),
  46393. 87: uint8(0xbc),
  46394. 88: uint8(0x84),
  46395. 89: uint8(0xce),
  46396. 90: uint8(0xb9),
  46397. 91: uint8(0xe1),
  46398. 92: uint8(0xbc),
  46399. 93: uint8(0x85),
  46400. 94: uint8(0xce),
  46401. 95: uint8(0xb9),
  46402. 96: uint8(0xe1),
  46403. 97: uint8(0xbc),
  46404. 98: uint8(0x86),
  46405. 99: uint8(0xce),
  46406. 100: uint8(0xb9),
  46407. 101: uint8(0xe1),
  46408. 102: uint8(0xbc),
  46409. 103: uint8(0x87),
  46410. 104: uint8(0xce),
  46411. 105: uint8(0xb9),
  46412. 106: uint8(0xe1),
  46413. 107: uint8(0xbc),
  46414. 108: uint8(0x80),
  46415. 109: uint8(0xce),
  46416. 110: uint8(0xb9),
  46417. 111: uint8(0xe1),
  46418. 112: uint8(0xbc),
  46419. 113: uint8(0x81),
  46420. 114: uint8(0xce),
  46421. 115: uint8(0xb9),
  46422. 116: uint8(0xe1),
  46423. 117: uint8(0xbc),
  46424. 118: uint8(0x82),
  46425. 119: uint8(0xce),
  46426. 120: uint8(0xb9),
  46427. 121: uint8(0xe1),
  46428. 122: uint8(0xbc),
  46429. 123: uint8(0x83),
  46430. 124: uint8(0xce),
  46431. 125: uint8(0xb9),
  46432. 126: uint8(0xe1),
  46433. 127: uint8(0xbc),
  46434. 128: uint8(0x84),
  46435. 129: uint8(0xce),
  46436. 130: uint8(0xb9),
  46437. 131: uint8(0xe1),
  46438. 132: uint8(0xbc),
  46439. 133: uint8(0x85),
  46440. 134: uint8(0xce),
  46441. 135: uint8(0xb9),
  46442. 136: uint8(0xe1),
  46443. 137: uint8(0xbc),
  46444. 138: uint8(0x86),
  46445. 139: uint8(0xce),
  46446. 140: uint8(0xb9),
  46447. 141: uint8(0xe1),
  46448. 142: uint8(0xbc),
  46449. 143: uint8(0x87),
  46450. 144: uint8(0xce),
  46451. 145: uint8(0xb9),
  46452. 146: uint8(0xe1),
  46453. 147: uint8(0xbc),
  46454. 148: uint8(0xa0),
  46455. 149: uint8(0xce),
  46456. 150: uint8(0xb9),
  46457. 151: uint8(0xe1),
  46458. 152: uint8(0xbc),
  46459. 153: uint8(0xa1),
  46460. 154: uint8(0xce),
  46461. 155: uint8(0xb9),
  46462. 156: uint8(0xe1),
  46463. 157: uint8(0xbc),
  46464. 158: uint8(0xa2),
  46465. 159: uint8(0xce),
  46466. 160: uint8(0xb9),
  46467. 161: uint8(0xe1),
  46468. 162: uint8(0xbc),
  46469. 163: uint8(0xa3),
  46470. 164: uint8(0xce),
  46471. 165: uint8(0xb9),
  46472. 166: uint8(0xe1),
  46473. 167: uint8(0xbc),
  46474. 168: uint8(0xa4),
  46475. 169: uint8(0xce),
  46476. 170: uint8(0xb9),
  46477. 171: uint8(0xe1),
  46478. 172: uint8(0xbc),
  46479. 173: uint8(0xa5),
  46480. 174: uint8(0xce),
  46481. 175: uint8(0xb9),
  46482. 176: uint8(0xe1),
  46483. 177: uint8(0xbc),
  46484. 178: uint8(0xa6),
  46485. 179: uint8(0xce),
  46486. 180: uint8(0xb9),
  46487. 181: uint8(0xe1),
  46488. 182: uint8(0xbc),
  46489. 183: uint8(0xa7),
  46490. 184: uint8(0xce),
  46491. 185: uint8(0xb9),
  46492. 186: uint8(0xe1),
  46493. 187: uint8(0xbc),
  46494. 188: uint8(0xa0),
  46495. 189: uint8(0xce),
  46496. 190: uint8(0xb9),
  46497. 191: uint8(0xe1),
  46498. 192: uint8(0xbc),
  46499. 193: uint8(0xa1),
  46500. 194: uint8(0xce),
  46501. 195: uint8(0xb9),
  46502. 196: uint8(0xe1),
  46503. 197: uint8(0xbc),
  46504. 198: uint8(0xa2),
  46505. 199: uint8(0xce),
  46506. 200: uint8(0xb9),
  46507. 201: uint8(0xe1),
  46508. 202: uint8(0xbc),
  46509. 203: uint8(0xa3),
  46510. 204: uint8(0xce),
  46511. 205: uint8(0xb9),
  46512. 206: uint8(0xe1),
  46513. 207: uint8(0xbc),
  46514. 208: uint8(0xa4),
  46515. 209: uint8(0xce),
  46516. 210: uint8(0xb9),
  46517. 211: uint8(0xe1),
  46518. 212: uint8(0xbc),
  46519. 213: uint8(0xa5),
  46520. 214: uint8(0xce),
  46521. 215: uint8(0xb9),
  46522. 216: uint8(0xe1),
  46523. 217: uint8(0xbc),
  46524. 218: uint8(0xa6),
  46525. 219: uint8(0xce),
  46526. 220: uint8(0xb9),
  46527. 221: uint8(0xe1),
  46528. 222: uint8(0xbc),
  46529. 223: uint8(0xa7),
  46530. 224: uint8(0xce),
  46531. 225: uint8(0xb9),
  46532. 226: uint8(0xe1),
  46533. 227: uint8(0xbd),
  46534. 228: uint8(0xa0),
  46535. 229: uint8(0xce),
  46536. 230: uint8(0xb9),
  46537. 231: uint8(0xe1),
  46538. 232: uint8(0xbd),
  46539. 233: uint8(0xa1),
  46540. 234: uint8(0xce),
  46541. 235: uint8(0xb9),
  46542. 236: uint8(0xe1),
  46543. 237: uint8(0xbd),
  46544. 238: uint8(0xa2),
  46545. 239: uint8(0xce),
  46546. 240: uint8(0xb9),
  46547. 241: uint8(0xe1),
  46548. 242: uint8(0xbd),
  46549. 243: uint8(0xa3),
  46550. 244: uint8(0xce),
  46551. 245: uint8(0xb9),
  46552. 246: uint8(0xe1),
  46553. 247: uint8(0xbd),
  46554. 248: uint8(0xa4),
  46555. 249: uint8(0xce),
  46556. 250: uint8(0xb9),
  46557. 251: uint8(0xe1),
  46558. 252: uint8(0xbd),
  46559. 253: uint8(0xa5),
  46560. 254: uint8(0xce),
  46561. 255: uint8(0xb9),
  46562. 256: uint8(0xe1),
  46563. 257: uint8(0xbd),
  46564. 258: uint8(0xa6),
  46565. 259: uint8(0xce),
  46566. 260: uint8(0xb9),
  46567. 261: uint8(0xe1),
  46568. 262: uint8(0xbd),
  46569. 263: uint8(0xa7),
  46570. 264: uint8(0xce),
  46571. 265: uint8(0xb9),
  46572. 266: uint8(0xe1),
  46573. 267: uint8(0xbd),
  46574. 268: uint8(0xa0),
  46575. 269: uint8(0xce),
  46576. 270: uint8(0xb9),
  46577. 271: uint8(0xe1),
  46578. 272: uint8(0xbd),
  46579. 273: uint8(0xa1),
  46580. 274: uint8(0xce),
  46581. 275: uint8(0xb9),
  46582. 276: uint8(0xe1),
  46583. 277: uint8(0xbd),
  46584. 278: uint8(0xa2),
  46585. 279: uint8(0xce),
  46586. 280: uint8(0xb9),
  46587. 281: uint8(0xe1),
  46588. 282: uint8(0xbd),
  46589. 283: uint8(0xa3),
  46590. 284: uint8(0xce),
  46591. 285: uint8(0xb9),
  46592. 286: uint8(0xe1),
  46593. 287: uint8(0xbd),
  46594. 288: uint8(0xa4),
  46595. 289: uint8(0xce),
  46596. 290: uint8(0xb9),
  46597. 291: uint8(0xe1),
  46598. 292: uint8(0xbd),
  46599. 293: uint8(0xa5),
  46600. 294: uint8(0xce),
  46601. 295: uint8(0xb9),
  46602. 296: uint8(0xe1),
  46603. 297: uint8(0xbd),
  46604. 298: uint8(0xa6),
  46605. 299: uint8(0xce),
  46606. 300: uint8(0xb9),
  46607. 301: uint8(0xe1),
  46608. 302: uint8(0xbd),
  46609. 303: uint8(0xa7),
  46610. 304: uint8(0xce),
  46611. 305: uint8(0xb9),
  46612. 306: uint8(0xe1),
  46613. 307: uint8(0xbd),
  46614. 308: uint8(0xb0),
  46615. 309: uint8(0xce),
  46616. 310: uint8(0xb9),
  46617. 311: uint8(0xce),
  46618. 312: uint8(0xb1),
  46619. 313: uint8(0xce),
  46620. 314: uint8(0xb9),
  46621. 315: uint8(0xce),
  46622. 316: uint8(0xac),
  46623. 317: uint8(0xce),
  46624. 318: uint8(0xb9),
  46625. 319: uint8(0xce),
  46626. 320: uint8(0xb1),
  46627. 321: uint8(0xcd),
  46628. 322: uint8(0x82),
  46629. 323: uint8(0xce),
  46630. 324: uint8(0xb1),
  46631. 325: uint8(0xcd),
  46632. 326: uint8(0x82),
  46633. 327: uint8(0xce),
  46634. 328: uint8(0xb9),
  46635. 329: uint8(0xce),
  46636. 330: uint8(0xb1),
  46637. 331: uint8(0xce),
  46638. 332: uint8(0xb9),
  46639. 333: uint8(0xe1),
  46640. 334: uint8(0xbd),
  46641. 335: uint8(0xb4),
  46642. 336: uint8(0xce),
  46643. 337: uint8(0xb9),
  46644. 338: uint8(0xce),
  46645. 339: uint8(0xb7),
  46646. 340: uint8(0xce),
  46647. 341: uint8(0xb9),
  46648. 342: uint8(0xce),
  46649. 343: uint8(0xae),
  46650. 344: uint8(0xce),
  46651. 345: uint8(0xb9),
  46652. 346: uint8(0xce),
  46653. 347: uint8(0xb7),
  46654. 348: uint8(0xcd),
  46655. 349: uint8(0x82),
  46656. 350: uint8(0xce),
  46657. 351: uint8(0xb7),
  46658. 352: uint8(0xcd),
  46659. 353: uint8(0x82),
  46660. 354: uint8(0xce),
  46661. 355: uint8(0xb9),
  46662. 356: uint8(0xce),
  46663. 357: uint8(0xb7),
  46664. 358: uint8(0xce),
  46665. 359: uint8(0xb9),
  46666. 360: uint8(0xce),
  46667. 361: uint8(0xb9),
  46668. 362: uint8(0xcc),
  46669. 363: uint8(0x88),
  46670. 364: uint8(0xcc),
  46671. 365: uint8(0x80),
  46672. 366: uint8(0xce),
  46673. 367: uint8(0xb9),
  46674. 368: uint8(0xcc),
  46675. 369: uint8(0x88),
  46676. 370: uint8(0xcc),
  46677. 371: uint8(0x81),
  46678. 372: uint8(0xce),
  46679. 373: uint8(0xb9),
  46680. 374: uint8(0xcd),
  46681. 375: uint8(0x82),
  46682. 376: uint8(0xce),
  46683. 377: uint8(0xb9),
  46684. 378: uint8(0xcc),
  46685. 379: uint8(0x88),
  46686. 380: uint8(0xcd),
  46687. 381: uint8(0x82),
  46688. 382: uint8(0xcf),
  46689. 383: uint8(0x85),
  46690. 384: uint8(0xcc),
  46691. 385: uint8(0x88),
  46692. 386: uint8(0xcc),
  46693. 387: uint8(0x80),
  46694. 388: uint8(0xcf),
  46695. 389: uint8(0x85),
  46696. 390: uint8(0xcc),
  46697. 391: uint8(0x88),
  46698. 392: uint8(0xcc),
  46699. 393: uint8(0x81),
  46700. 394: uint8(0xcf),
  46701. 395: uint8(0x81),
  46702. 396: uint8(0xcc),
  46703. 397: uint8(0x93),
  46704. 398: uint8(0xcf),
  46705. 399: uint8(0x85),
  46706. 400: uint8(0xcd),
  46707. 401: uint8(0x82),
  46708. 402: uint8(0xcf),
  46709. 403: uint8(0x85),
  46710. 404: uint8(0xcc),
  46711. 405: uint8(0x88),
  46712. 406: uint8(0xcd),
  46713. 407: uint8(0x82),
  46714. 408: uint8(0xe1),
  46715. 409: uint8(0xbd),
  46716. 410: uint8(0xbc),
  46717. 411: uint8(0xce),
  46718. 412: uint8(0xb9),
  46719. 413: uint8(0xcf),
  46720. 414: uint8(0x89),
  46721. 415: uint8(0xce),
  46722. 416: uint8(0xb9),
  46723. 417: uint8(0xcf),
  46724. 418: uint8(0x8e),
  46725. 419: uint8(0xce),
  46726. 420: uint8(0xb9),
  46727. 421: uint8(0xcf),
  46728. 422: uint8(0x89),
  46729. 423: uint8(0xcd),
  46730. 424: uint8(0x82),
  46731. 425: uint8(0xcf),
  46732. 426: uint8(0x89),
  46733. 427: uint8(0xcd),
  46734. 428: uint8(0x82),
  46735. 429: uint8(0xce),
  46736. 430: uint8(0xb9),
  46737. 431: uint8(0xcf),
  46738. 432: uint8(0x89),
  46739. 433: uint8(0xce),
  46740. 434: uint8(0xb9),
  46741. 435: uint8(0x66),
  46742. 436: uint8(0x66),
  46743. 437: uint8(0x66),
  46744. 438: uint8(0x69),
  46745. 439: uint8(0x66),
  46746. 440: uint8(0x6c),
  46747. 441: uint8(0x66),
  46748. 442: uint8(0x66),
  46749. 443: uint8(0x69),
  46750. 444: uint8(0x66),
  46751. 445: uint8(0x66),
  46752. 446: uint8(0x6c),
  46753. 447: uint8(0x73),
  46754. 448: uint8(0x74),
  46755. 449: uint8(0x73),
  46756. 450: uint8(0x74),
  46757. 451: uint8(0xd5),
  46758. 452: uint8(0xb4),
  46759. 453: uint8(0xd5),
  46760. 454: uint8(0xb6),
  46761. 455: uint8(0xd5),
  46762. 456: uint8(0xb4),
  46763. 457: uint8(0xd5),
  46764. 458: uint8(0xa5),
  46765. 459: uint8(0xd5),
  46766. 460: uint8(0xb4),
  46767. 461: uint8(0xd5),
  46768. 462: uint8(0xab),
  46769. 463: uint8(0xd5),
  46770. 464: uint8(0xbe),
  46771. 465: uint8(0xd5),
  46772. 466: uint8(0xb6),
  46773. 467: uint8(0xd5),
  46774. 468: uint8(0xb4),
  46775. 469: uint8(0xd5),
  46776. 470: uint8(0xad),
  46777. }
  46778. type TFcCaseWalker = struct {
  46779. Fread uintptr
  46780. Fsrc uintptr
  46781. Futf8 [7]TFcChar8
  46782. }
  46783. type T_FcCaseWalker = TFcCaseWalker
  46784. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  46785. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  46786. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  46787. }
  46788. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  46789. bp := tls.Alloc(16)
  46790. defer tls.Free(16)
  46791. var dlen, len1, max, mid, min, slen, v1 int32
  46792. var fold, v2, v3 uintptr
  46793. var high, low TFcChar32
  46794. var _ /* ucs4 at bp+0 */ TFcChar32
  46795. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  46796. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  46797. slen = XFcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  46798. if slen <= 0 {
  46799. return r
  46800. }
  46801. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  46802. min = 0
  46803. max = int32(m_FC_NUM_CASE_FOLD)
  46804. for min <= max {
  46805. mid = (min + max) >> int32(1)
  46806. low = _fcCaseFold[mid].Fupper
  46807. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  46808. v1 = int32(1)
  46809. } else {
  46810. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  46811. }
  46812. high = low + libc.Uint32FromInt32(v1)
  46813. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  46814. min = mid + int32(1)
  46815. } else {
  46816. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  46817. max = mid - int32(1)
  46818. } else {
  46819. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  46820. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  46821. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  46822. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  46823. return r
  46824. }
  46825. /* fall through ... */
  46826. fallthrough
  46827. default:
  46828. dlen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  46829. case int32(m_FC_CASE_FOLD_FULL):
  46830. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  46831. libc.X__builtin___memcpy_chk(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint64FromInt32(dlen), ^t__predefined_size_t(0))
  46832. break
  46833. }
  46834. /* consume rest of src utf-8 bytes */
  46835. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  46836. /* read from temp buffer */
  46837. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  46838. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  46839. v3 = w
  46840. v2 = *(*uintptr)(unsafe.Pointer(v3))
  46841. *(*uintptr)(unsafe.Pointer(v3))++
  46842. return *(*TFcChar8)(unsafe.Pointer(v2))
  46843. }
  46844. }
  46845. }
  46846. }
  46847. return r
  46848. }
  46849. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  46850. var r, v2 TFcChar8
  46851. var v1, v7 int32
  46852. var v3, v4, v5, v6 uintptr
  46853. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  46854. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  46855. v1 = int32(1)
  46856. } else {
  46857. v1 = 0
  46858. }
  46859. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  46860. v4 = w
  46861. v3 = *(*uintptr)(unsafe.Pointer(v4))
  46862. *(*uintptr)(unsafe.Pointer(v4))++
  46863. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  46864. r = v2
  46865. if v2 != 0 {
  46866. return r
  46867. }
  46868. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  46869. }
  46870. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  46871. v6 = w + 8
  46872. v5 = *(*uintptr)(unsafe.Pointer(v6))
  46873. *(*uintptr)(unsafe.Pointer(v6))++
  46874. r = *(*TFcChar8)(unsafe.Pointer(v5))
  46875. }
  46876. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  46877. v7 = int32(1)
  46878. } else {
  46879. v7 = 0
  46880. }
  46881. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  46882. return _FcStrCaseWalkerLong(tls, w, r)
  46883. }
  46884. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  46885. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  46886. }
  46887. return r
  46888. }
  46889. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  46890. var r, v2 TFcChar8
  46891. var v1, v7 int32
  46892. var v3, v4, v5, v6 uintptr
  46893. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  46894. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  46895. v1 = int32(1)
  46896. } else {
  46897. v1 = 0
  46898. }
  46899. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  46900. v4 = w
  46901. v3 = *(*uintptr)(unsafe.Pointer(v4))
  46902. *(*uintptr)(unsafe.Pointer(v4))++
  46903. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  46904. r = v2
  46905. if v2 != 0 {
  46906. return r
  46907. }
  46908. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  46909. }
  46910. for cond := true; cond; cond = libc.Int32FromUint8(r) == int32(' ') {
  46911. v6 = w + 8
  46912. v5 = *(*uintptr)(unsafe.Pointer(v6))
  46913. *(*uintptr)(unsafe.Pointer(v6))++
  46914. r = *(*TFcChar8)(unsafe.Pointer(v5))
  46915. }
  46916. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  46917. v7 = int32(1)
  46918. } else {
  46919. v7 = 0
  46920. }
  46921. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  46922. return _FcStrCaseWalkerLong(tls, w, r)
  46923. }
  46924. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  46925. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  46926. }
  46927. return r
  46928. }
  46929. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  46930. var r, v2 TFcChar8
  46931. var v1, v7 int32
  46932. var v3, v4, v5, v6 uintptr
  46933. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  46934. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  46935. v1 = int32(1)
  46936. } else {
  46937. v1 = 0
  46938. }
  46939. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  46940. v4 = w
  46941. v3 = *(*uintptr)(unsafe.Pointer(v4))
  46942. *(*uintptr)(unsafe.Pointer(v4))++
  46943. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  46944. r = v2
  46945. if v2 != 0 {
  46946. return r
  46947. }
  46948. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  46949. }
  46950. v6 = w + 8
  46951. v5 = *(*uintptr)(unsafe.Pointer(v6))
  46952. *(*uintptr)(unsafe.Pointer(v6))++
  46953. r = *(*TFcChar8)(unsafe.Pointer(v5))
  46954. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  46955. v7 = int32(1)
  46956. } else {
  46957. v7 = 0
  46958. }
  46959. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  46960. return _FcStrCaseWalkerLong(tls, w, r)
  46961. }
  46962. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  46963. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  46964. }
  46965. return r
  46966. }
  46967. func XFcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  46968. bp := tls.Alloc(32)
  46969. defer tls.Free(32)
  46970. var d, dst, v1, v3 uintptr
  46971. var len1 int32
  46972. var v2 TFcChar8
  46973. var _ /* w at bp+0 */ TFcCaseWalker
  46974. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  46975. len1 = 0
  46976. _FcStrCaseWalkerInit(tls, s, bp)
  46977. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  46978. len1++
  46979. }
  46980. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(len1+int32(1)))
  46981. dst = v1
  46982. d = v1
  46983. if !(d != 0) {
  46984. return uintptr(0)
  46985. }
  46986. _FcStrCaseWalkerInit(tls, s, bp)
  46987. for {
  46988. v2 = _FcStrCaseWalkerNext(tls, bp)
  46989. v3 = d
  46990. d++
  46991. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  46992. if !(v2 != 0) {
  46993. break
  46994. }
  46995. }
  46996. return dst
  46997. }
  46998. func XFcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  46999. bp := tls.Alloc(48)
  47000. defer tls.Free(48)
  47001. var c1, c2 TFcChar8
  47002. var _ /* w1 at bp+0 */ TFcCaseWalker
  47003. var _ /* w2 at bp+24 */ TFcCaseWalker
  47004. _, _ = c1, c2
  47005. if s1 == s2 {
  47006. return 0
  47007. }
  47008. _FcStrCaseWalkerInit(tls, s1, bp)
  47009. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47010. for {
  47011. c1 = _FcStrCaseWalkerNext(tls, bp)
  47012. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47013. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47014. break
  47015. }
  47016. goto _1
  47017. _1:
  47018. }
  47019. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47020. }
  47021. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  47022. bp := tls.Alloc(48)
  47023. defer tls.Free(48)
  47024. var c1, c2 TFcChar8
  47025. var _ /* w1 at bp+0 */ TFcCaseWalker
  47026. var _ /* w2 at bp+24 */ TFcCaseWalker
  47027. _, _ = c1, c2
  47028. if s1 == s2 {
  47029. return 0
  47030. }
  47031. _FcStrCaseWalkerInit(tls, s1, bp)
  47032. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47033. for {
  47034. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47035. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  47036. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47037. break
  47038. }
  47039. goto _1
  47040. _1:
  47041. }
  47042. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47043. }
  47044. func XFcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  47045. var c1, c2 TFcChar8
  47046. var v2, v3 uintptr
  47047. _, _, _, _ = c1, c2, v2, v3
  47048. if s1 == s2 {
  47049. return 0
  47050. }
  47051. for {
  47052. v2 = s1
  47053. s1++
  47054. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  47055. v3 = s2
  47056. s2++
  47057. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  47058. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47059. break
  47060. }
  47061. goto _1
  47062. _1:
  47063. }
  47064. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  47065. }
  47066. /*
  47067. * Return a hash value for a string
  47068. */
  47069. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  47070. bp := tls.Alloc(32)
  47071. defer tls.Free(32)
  47072. var c, v1 TFcChar8
  47073. var h TFcChar32
  47074. var _ /* w at bp+0 */ TFcCaseWalker
  47075. _, _, _ = c, h, v1
  47076. h = uint32(0)
  47077. _FcStrCaseWalkerInit(tls, s, bp)
  47078. for {
  47079. v1 = _FcStrCaseWalkerNext(tls, bp)
  47080. c = v1
  47081. if !(v1 != 0) {
  47082. break
  47083. }
  47084. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  47085. }
  47086. return h
  47087. }
  47088. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  47089. bp := tls.Alloc(32)
  47090. defer tls.Free(32)
  47091. var c, v1 TFcChar8
  47092. var h TFcChar32
  47093. var _ /* w at bp+0 */ TFcCaseWalker
  47094. _, _, _ = c, h, v1
  47095. h = uint32(0)
  47096. _FcStrCaseWalkerInit(tls, s, bp)
  47097. for {
  47098. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47099. c = v1
  47100. if !(v1 != 0) {
  47101. break
  47102. }
  47103. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  47104. }
  47105. return h
  47106. }
  47107. /*
  47108. * Is the head of s1 equal to s2?
  47109. */
  47110. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  47111. bp := tls.Alloc(48)
  47112. defer tls.Free(48)
  47113. var c1, c2 TFcChar8
  47114. var _ /* w1 at bp+0 */ TFcCaseWalker
  47115. var _ /* w2 at bp+24 */ TFcCaseWalker
  47116. _, _ = c1, c2
  47117. _FcStrCaseWalkerInit(tls, s1, bp)
  47118. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47119. for {
  47120. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  47121. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  47122. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47123. break
  47124. }
  47125. goto _1
  47126. _1:
  47127. }
  47128. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  47129. }
  47130. /*
  47131. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  47132. */
  47133. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47134. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  47135. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  47136. return s1
  47137. }
  47138. s1++
  47139. }
  47140. return uintptr(0)
  47141. }
  47142. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  47143. if libc.Int32FromUint8(c) < int32('0') {
  47144. return int32(m_FcTrue)
  47145. }
  47146. if libc.Int32FromUint8(c) <= int32('9') {
  47147. return m_FcFalse
  47148. }
  47149. if libc.Int32FromUint8(c) < int32('A') {
  47150. return int32(m_FcTrue)
  47151. }
  47152. if libc.Int32FromUint8(c) <= int32('Z') {
  47153. return m_FcFalse
  47154. }
  47155. if libc.Int32FromUint8(c) < int32('a') {
  47156. return int32(m_FcTrue)
  47157. }
  47158. if libc.Int32FromUint8(c) <= int32('z') {
  47159. return m_FcFalse
  47160. }
  47161. if libc.Int32FromUint8(c) <= int32('~') {
  47162. return int32(m_FcTrue)
  47163. }
  47164. return m_FcFalse
  47165. }
  47166. /*
  47167. * Is the head of s1 equal to s2?
  47168. */
  47169. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  47170. bp := tls.Alloc(48)
  47171. defer tls.Free(48)
  47172. var c1, c2 TFcChar8
  47173. var _ /* w1 at bp+0 */ TFcCaseWalker
  47174. var _ /* w2 at bp+24 */ TFcCaseWalker
  47175. _, _ = c1, c2
  47176. _FcStrCaseWalkerInit(tls, s1, bp)
  47177. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47178. for {
  47179. c1 = _FcStrCaseWalkerNext(tls, bp)
  47180. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47181. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47182. break
  47183. }
  47184. goto _1
  47185. _1:
  47186. }
  47187. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  47188. }
  47189. /*
  47190. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  47191. */
  47192. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47193. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  47194. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  47195. return s1
  47196. }
  47197. s1++
  47198. }
  47199. return uintptr(0)
  47200. }
  47201. /*
  47202. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  47203. */
  47204. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47205. var s1len, s2len int32
  47206. var wordStart TFcBool
  47207. _, _, _ = s1len, s2len, wordStart
  47208. wordStart = int32(m_FcTrue)
  47209. s1len = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  47210. s2len = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  47211. for s1len >= s2len {
  47212. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  47213. return s1
  47214. }
  47215. wordStart = m_FcFalse
  47216. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  47217. wordStart = int32(m_FcTrue)
  47218. }
  47219. s1++
  47220. s1len--
  47221. }
  47222. return uintptr(0)
  47223. }
  47224. /*
  47225. * returns the number of strings (ignoring delimiters and case) being matched
  47226. */
  47227. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  47228. bp := tls.Alloc(48)
  47229. defer tls.Free(48)
  47230. var c1, c2 TFcChar8
  47231. var _ /* w1 at bp+0 */ TFcCaseWalker
  47232. var _ /* w2 at bp+24 */ TFcCaseWalker
  47233. _, _ = c1, c2
  47234. if s1 == s2 {
  47235. return 0
  47236. }
  47237. _FcStrCaseWalkerInit(tls, s1, bp)
  47238. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47239. for {
  47240. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  47241. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+24, delims)
  47242. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47243. break
  47244. }
  47245. goto _1
  47246. _1:
  47247. }
  47248. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  47249. }
  47250. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  47251. var c, v1 TFcChar8
  47252. var l1, l2 Tsize_t
  47253. var v2, v3, v4 uintptr
  47254. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  47255. for {
  47256. v2 = glob
  47257. glob++
  47258. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  47259. c = v1
  47260. if !(v1 != 0) {
  47261. break
  47262. }
  47263. switch libc.Int32FromUint8(c) {
  47264. case int32('*'):
  47265. /* short circuit common case */
  47266. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  47267. return int32(m_FcTrue)
  47268. }
  47269. /* short circuit another common case */
  47270. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  47271. l1 = libc.Xstrlen(tls, string1)
  47272. l2 = libc.Xstrlen(tls, glob)
  47273. if l1 < l2 {
  47274. return m_FcFalse
  47275. }
  47276. string1 += uintptr(l1 - l2)
  47277. }
  47278. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  47279. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  47280. return int32(m_FcTrue)
  47281. }
  47282. string1++
  47283. }
  47284. return m_FcFalse
  47285. case int32('?'):
  47286. v3 = string1
  47287. string1++
  47288. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  47289. return m_FcFalse
  47290. }
  47291. default:
  47292. v4 = string1
  47293. string1++
  47294. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  47295. return m_FcFalse
  47296. }
  47297. break
  47298. }
  47299. }
  47300. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  47301. }
  47302. func XFcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47303. bp := tls.Alloc(96)
  47304. defer tls.Free(96)
  47305. var c1, c1t, c2, c2t TFcChar8
  47306. var cur uintptr
  47307. var _ /* w1 at bp+0 */ TFcCaseWalker
  47308. var _ /* w1t at bp+48 */ TFcCaseWalker
  47309. var _ /* w2 at bp+24 */ TFcCaseWalker
  47310. var _ /* w2t at bp+72 */ TFcCaseWalker
  47311. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  47312. if !(s1 != 0) || !(s2 != 0) {
  47313. return uintptr(0)
  47314. }
  47315. if s1 == s2 {
  47316. return s1
  47317. }
  47318. _FcStrCaseWalkerInit(tls, s1, bp)
  47319. _FcStrCaseWalkerInit(tls, s2, bp+24)
  47320. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  47321. for {
  47322. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  47323. c1 = _FcStrCaseWalkerNext(tls, bp)
  47324. if !(c1 != 0) {
  47325. break
  47326. }
  47327. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  47328. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  47329. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  47330. for {
  47331. c1t = _FcStrCaseWalkerNext(tls, bp+48)
  47332. c2t = _FcStrCaseWalkerNext(tls, bp+72)
  47333. if !(c2t != 0) {
  47334. return cur
  47335. }
  47336. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  47337. break
  47338. }
  47339. goto _2
  47340. _2:
  47341. }
  47342. }
  47343. goto _1
  47344. _1:
  47345. }
  47346. return uintptr(0)
  47347. }
  47348. func XFcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  47349. var b, p, v1, v3 uintptr
  47350. var c1, c2 TFcChar8
  47351. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  47352. p = s1
  47353. b = s2
  47354. if !(s1 != 0) || !(s2 != 0) {
  47355. return uintptr(0)
  47356. }
  47357. if s1 == s2 {
  47358. return s1
  47359. }
  47360. goto again
  47361. again:
  47362. ;
  47363. v1 = s2
  47364. s2++
  47365. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  47366. if !(c2 != 0) {
  47367. return uintptr(0)
  47368. }
  47369. for {
  47370. p = s1
  47371. v3 = s1
  47372. s1++
  47373. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  47374. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  47375. break
  47376. }
  47377. goto _2
  47378. _2:
  47379. }
  47380. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47381. return uintptr(0)
  47382. }
  47383. for {
  47384. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  47385. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  47386. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  47387. s1 = p + uintptr(1)
  47388. s2 = b
  47389. goto again
  47390. }
  47391. if !(c2 != 0) {
  47392. return p
  47393. }
  47394. if !(c1 != 0) {
  47395. return uintptr(0)
  47396. }
  47397. s1++
  47398. s2++
  47399. goto _4
  47400. _4:
  47401. }
  47402. /* never reached. */
  47403. return r
  47404. }
  47405. func XFcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  47406. var extra, v2 int32
  47407. var result TFcChar32
  47408. var s TFcChar8
  47409. var src, v1, v3 uintptr
  47410. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  47411. src = src_orig
  47412. if len1 == 0 {
  47413. return 0
  47414. }
  47415. v1 = src
  47416. src++
  47417. s = *(*TFcChar8)(unsafe.Pointer(v1))
  47418. len1--
  47419. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  47420. result = uint32(s)
  47421. extra = 0
  47422. } else {
  47423. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  47424. return -int32(1)
  47425. } else {
  47426. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  47427. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  47428. extra = int32(1)
  47429. } else {
  47430. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  47431. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  47432. extra = int32(2)
  47433. } else {
  47434. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  47435. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  47436. extra = int32(3)
  47437. } else {
  47438. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  47439. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  47440. extra = int32(4)
  47441. } else {
  47442. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  47443. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  47444. extra = int32(5)
  47445. } else {
  47446. return -int32(1)
  47447. }
  47448. }
  47449. }
  47450. }
  47451. }
  47452. }
  47453. }
  47454. if extra > len1 {
  47455. return -int32(1)
  47456. }
  47457. for {
  47458. v2 = extra
  47459. extra--
  47460. if !(v2 != 0) {
  47461. break
  47462. }
  47463. result <<= uint32(6)
  47464. v3 = src
  47465. src++
  47466. s = *(*TFcChar8)(unsafe.Pointer(v3))
  47467. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  47468. return -int32(1)
  47469. }
  47470. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  47471. }
  47472. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  47473. return int32(int64(src) - int64(src_orig))
  47474. }
  47475. func XFcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  47476. bp := tls.Alloc(16)
  47477. defer tls.Free(16)
  47478. var clen, n int32
  47479. var max TFcChar32
  47480. var _ /* c at bp+0 */ TFcChar32
  47481. _, _, _ = clen, max, n
  47482. n = 0
  47483. max = uint32(0)
  47484. for len1 != 0 {
  47485. clen = XFcUtf8ToUcs4(tls, string1, bp, len1)
  47486. if clen <= 0 { /* malformed UTF8 string */
  47487. return m_FcFalse
  47488. }
  47489. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  47490. max = *(*TFcChar32)(unsafe.Pointer(bp))
  47491. }
  47492. string1 += uintptr(clen)
  47493. len1 -= clen
  47494. n++
  47495. }
  47496. *(*int32)(unsafe.Pointer(nchar)) = n
  47497. if max >= uint32(0x10000) {
  47498. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  47499. } else {
  47500. if max > uint32(0x100) {
  47501. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  47502. } else {
  47503. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  47504. }
  47505. }
  47506. return int32(m_FcTrue)
  47507. }
  47508. func XFcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  47509. var bits int32
  47510. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  47511. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  47512. d = dest
  47513. if ucs4 < uint32(0x80) {
  47514. v1 = d
  47515. d++
  47516. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  47517. bits = -int32(6)
  47518. } else {
  47519. if ucs4 < uint32(0x800) {
  47520. v2 = d
  47521. d++
  47522. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  47523. bits = 0
  47524. } else {
  47525. if ucs4 < uint32(0x10000) {
  47526. v3 = d
  47527. d++
  47528. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  47529. bits = int32(6)
  47530. } else {
  47531. if ucs4 < uint32(0x200000) {
  47532. v4 = d
  47533. d++
  47534. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  47535. bits = int32(12)
  47536. } else {
  47537. if ucs4 < uint32(0x4000000) {
  47538. v5 = d
  47539. d++
  47540. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  47541. bits = int32(18)
  47542. } else {
  47543. if ucs4 < uint32(0x80000000) {
  47544. v6 = d
  47545. d++
  47546. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  47547. bits = int32(24)
  47548. } else {
  47549. return 0
  47550. }
  47551. }
  47552. }
  47553. }
  47554. }
  47555. }
  47556. for {
  47557. if !(bits >= 0) {
  47558. break
  47559. }
  47560. v8 = d
  47561. d++
  47562. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  47563. goto _7
  47564. _7:
  47565. ;
  47566. bits -= int32(6)
  47567. }
  47568. return int32(int64(d) - int64(dest))
  47569. }
  47570. func XFcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  47571. /* in bytes */
  47572. var a, b TFcChar16
  47573. var result TFcChar32
  47574. var src uintptr
  47575. var v1, v2, v3, v4 int32
  47576. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  47577. src = src_orig
  47578. if len1 < int32(2) {
  47579. return 0
  47580. }
  47581. if endian == int32(_FcEndianBig) {
  47582. v1 = 0
  47583. } else {
  47584. v1 = int32(1)
  47585. }
  47586. if endian == int32(_FcEndianBig) {
  47587. v2 = int32(1)
  47588. } else {
  47589. v2 = 0
  47590. }
  47591. 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))))))
  47592. src += uintptr(2)
  47593. len1 -= int32(2)
  47594. /*
  47595. * Check for surrogate
  47596. */
  47597. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  47598. if len1 < int32(2) {
  47599. return 0
  47600. }
  47601. if endian == int32(_FcEndianBig) {
  47602. v3 = 0
  47603. } else {
  47604. v3 = int32(1)
  47605. }
  47606. if endian == int32(_FcEndianBig) {
  47607. v4 = int32(1)
  47608. } else {
  47609. v4 = 0
  47610. }
  47611. 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))))))
  47612. src += uintptr(2)
  47613. len1 -= int32(2)
  47614. /*
  47615. * Check for invalid surrogate sequence
  47616. */
  47617. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  47618. return 0
  47619. }
  47620. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  47621. } else {
  47622. result = uint32(a)
  47623. }
  47624. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  47625. return int32(int64(src) - int64(src_orig))
  47626. }
  47627. func XFcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  47628. bp := tls.Alloc(16)
  47629. defer tls.Free(16)
  47630. var clen, n int32
  47631. var max TFcChar32
  47632. var _ /* c at bp+0 */ TFcChar32
  47633. _, _, _ = clen, max, n
  47634. n = 0
  47635. max = uint32(0)
  47636. for len1 != 0 {
  47637. clen = XFcUtf16ToUcs4(tls, string1, endian, bp, len1)
  47638. if clen <= 0 { /* malformed UTF8 string */
  47639. return m_FcFalse
  47640. }
  47641. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  47642. max = *(*TFcChar32)(unsafe.Pointer(bp))
  47643. }
  47644. string1 += uintptr(clen)
  47645. len1 -= clen
  47646. n++
  47647. }
  47648. *(*int32)(unsafe.Pointer(nchar)) = n
  47649. if max >= uint32(0x10000) {
  47650. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  47651. } else {
  47652. if max > uint32(0x100) {
  47653. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  47654. } else {
  47655. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  47656. }
  47657. }
  47658. return int32(m_FcTrue)
  47659. }
  47660. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  47661. if init1 != 0 {
  47662. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  47663. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  47664. } else {
  47665. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  47666. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  47667. }
  47668. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  47669. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  47670. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  47671. }
  47672. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  47673. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  47674. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  47675. XFcStrBufInit(tls, buf, uintptr(0), 0)
  47676. }
  47677. }
  47678. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  47679. var ret uintptr
  47680. _ = ret
  47681. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47682. ret = libc.UintptrFromInt32(0)
  47683. } else {
  47684. ret = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  47685. }
  47686. if ret != 0 {
  47687. libc.X__builtin___memcpy_chk(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), ^t__predefined_size_t(0))
  47688. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  47689. }
  47690. XFcStrBufDestroy(tls, buf)
  47691. return ret
  47692. }
  47693. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  47694. XFcStrBufChar(tls, buf, uint8('\000'))
  47695. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47696. return libc.UintptrFromInt32(0)
  47697. }
  47698. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  47699. }
  47700. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  47701. var new1, v2 uintptr
  47702. var size, v1 int32
  47703. _, _, _, _ = new1, size, v1, v2
  47704. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  47705. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  47706. return m_FcFalse
  47707. }
  47708. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  47709. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  47710. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32(size))
  47711. } else {
  47712. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  47713. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  47714. if new1 != 0 {
  47715. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  47716. libc.X__builtin___memcpy_chk(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), ^t__predefined_size_t(0))
  47717. }
  47718. }
  47719. if !(new1 != 0) {
  47720. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  47721. return m_FcFalse
  47722. }
  47723. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  47724. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  47725. }
  47726. v2 = buf + 16
  47727. v1 = *(*int32)(unsafe.Pointer(v2))
  47728. *(*int32)(unsafe.Pointer(v2))++
  47729. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  47730. return int32(m_FcTrue)
  47731. }
  47732. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  47733. var c, v1 TFcChar8
  47734. var v2 uintptr
  47735. _, _, _ = c, v1, v2
  47736. for {
  47737. v2 = s
  47738. s++
  47739. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  47740. c = v1
  47741. if !(v1 != 0) {
  47742. break
  47743. }
  47744. if !(XFcStrBufChar(tls, buf, c) != 0) {
  47745. return m_FcFalse
  47746. }
  47747. }
  47748. return int32(m_FcTrue)
  47749. }
  47750. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  47751. var v1 int32
  47752. var v2 uintptr
  47753. _, _ = v1, v2
  47754. for {
  47755. v1 = len1
  47756. len1--
  47757. if !(v1 > 0) {
  47758. break
  47759. }
  47760. v2 = s
  47761. s++
  47762. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  47763. return m_FcFalse
  47764. }
  47765. }
  47766. return int32(m_FcTrue)
  47767. }
  47768. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  47769. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  47770. }
  47771. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  47772. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  47773. }
  47774. func XFcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  47775. var ap Tva_list
  47776. var len1 Tsize_t
  47777. var list, p, ret, s, sset, v1, v2 uintptr
  47778. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  47779. ret = libc.UintptrFromInt32(0)
  47780. len1 = uint64(0)
  47781. if !(path != 0) {
  47782. return libc.UintptrFromInt32(0)
  47783. }
  47784. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  47785. if !(sset != 0) {
  47786. return libc.UintptrFromInt32(0)
  47787. }
  47788. if !(XFcStrSetAdd(tls, sset, path) != 0) {
  47789. goto bail0
  47790. }
  47791. ap = va
  47792. for int32(1) != 0 {
  47793. s = libc.VaUintptr(&ap)
  47794. if !(s != 0) {
  47795. break
  47796. }
  47797. if !(XFcStrSetAdd(tls, sset, s) != 0) {
  47798. goto bail1
  47799. }
  47800. }
  47801. list = XFcStrListCreate(tls, sset)
  47802. for {
  47803. v1 = XFcStrListNext(tls, list)
  47804. s = v1
  47805. if !(v1 != 0) {
  47806. break
  47807. }
  47808. len1 += libc.Xstrlen(tls, s) + uint64(1)
  47809. }
  47810. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  47811. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  47812. if !(ret != 0) {
  47813. goto bail2
  47814. }
  47815. p = ret
  47816. for {
  47817. v2 = XFcStrListNext(tls, list)
  47818. s = v2
  47819. if !(v2 != 0) {
  47820. break
  47821. }
  47822. if p != ret {
  47823. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  47824. p++
  47825. }
  47826. len1 = libc.Xstrlen(tls, s)
  47827. libc.X__builtin___memcpy_chk(tls, p, s, len1, ^t__predefined_size_t(0))
  47828. p += uintptr(len1)
  47829. }
  47830. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  47831. goto bail2
  47832. bail2:
  47833. ;
  47834. XFcStrListDone(tls, list)
  47835. goto bail1
  47836. bail1:
  47837. ;
  47838. _ = ap
  47839. goto bail0
  47840. bail0:
  47841. ;
  47842. XFcStrSetDestroy(tls, sset)
  47843. return ret
  47844. }
  47845. func XFcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  47846. var full, home, new1 uintptr
  47847. var size int32
  47848. _, _, _, _ = full, home, new1, size
  47849. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  47850. home = XFcConfigHome(tls)
  47851. if !(home != 0) {
  47852. return libc.UintptrFromInt32(0)
  47853. }
  47854. size = libc.Int32FromUint64(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  47855. full = libc.Xmalloc(tls, libc.Uint64FromInt32(size+int32(1)))
  47856. if !(full != 0) {
  47857. return libc.UintptrFromInt32(0)
  47858. }
  47859. libc.X__builtin___strcpy_chk(tls, full, home, ^t__predefined_size_t(0))
  47860. libc.X__builtin___strcat_chk(tls, full, s+uintptr(1), ^t__predefined_size_t(0))
  47861. new1 = XFcStrCanonFilename(tls, full)
  47862. libc.Xfree(tls, full)
  47863. } else {
  47864. new1 = XFcStrCanonFilename(tls, s)
  47865. }
  47866. return new1
  47867. }
  47868. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  47869. var slash uintptr
  47870. _ = slash
  47871. slash = libc.Xstrrchr(tls, path, int32('/'))
  47872. return slash
  47873. }
  47874. func XFcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  47875. var dir, slash uintptr
  47876. _, _ = dir, slash
  47877. slash = XFcStrLastSlash(tls, file)
  47878. if !(slash != 0) {
  47879. return XFcStrCopy(tls, __ccgo_ts+7107)
  47880. }
  47881. dir = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(slash)-int64(file)+int64(1)))
  47882. if !(dir != 0) {
  47883. return uintptr(0)
  47884. }
  47885. libc.X__builtin___strncpy_chk(tls, dir, file, libc.Uint64FromInt64(int64(slash)-int64(file)), ^t__predefined_size_t(0))
  47886. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  47887. return dir
  47888. }
  47889. func XFcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  47890. var slash uintptr
  47891. _ = slash
  47892. slash = XFcStrLastSlash(tls, file)
  47893. if !(slash != 0) {
  47894. return XFcStrCopy(tls, file)
  47895. }
  47896. return XFcStrCopy(tls, slash+uintptr(1))
  47897. }
  47898. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  47899. bp := tls.Alloc(144)
  47900. defer tls.Free(144)
  47901. var resolved_ret uintptr
  47902. var _ /* resolved_name at bp+0 */ [129]int8
  47903. _ = resolved_ret
  47904. if !(path != 0) {
  47905. return libc.UintptrFromInt32(0)
  47906. }
  47907. resolved_ret = libc.Xrealpath(tls, path, bp)
  47908. if resolved_ret != 0 {
  47909. path = resolved_ret
  47910. }
  47911. return XFcStrCopyFilename(tls, path)
  47912. }
  47913. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  47914. var f, file, slash, v2, v4, v5 uintptr
  47915. var size int32
  47916. var v3 TFcChar8
  47917. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  47918. size = libc.Int32FromUint64(libc.Xstrlen(tls, s) + uint64(1))
  47919. file = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  47920. if !(file != 0) {
  47921. return libc.UintptrFromInt32(0)
  47922. }
  47923. slash = libc.UintptrFromInt32(0)
  47924. f = file
  47925. for {
  47926. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  47927. if slash != 0 {
  47928. switch int64(s) - int64(slash) {
  47929. case int64(1):
  47930. f -= uintptr(1) /* squash // and trim final / from file */
  47931. case int64(2):
  47932. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+7109, uint64(2)) != 0) {
  47933. f -= uintptr(2) /* trim /. from file */
  47934. }
  47935. case int64(3):
  47936. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+7112, uint64(3)) != 0) {
  47937. f -= uintptr(3) /* trim /.. from file */
  47938. for f > file {
  47939. f--
  47940. v2 = f
  47941. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  47942. break
  47943. }
  47944. }
  47945. }
  47946. break
  47947. }
  47948. }
  47949. slash = s
  47950. }
  47951. v4 = s
  47952. s++
  47953. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  47954. v5 = f
  47955. f++
  47956. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  47957. if !(v3 != 0) {
  47958. break
  47959. }
  47960. goto _1
  47961. _1:
  47962. }
  47963. return file
  47964. }
  47965. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  47966. bp := tls.Alloc(4128)
  47967. defer tls.Free(4128)
  47968. var file, full uintptr
  47969. var _ /* cwd at bp+0 */ [4098]TFcChar8
  47970. _, _ = file, full
  47971. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  47972. return _FcStrCanonAbsoluteFilename(tls, s)
  47973. } else {
  47974. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  47975. return libc.UintptrFromInt32(0)
  47976. }
  47977. full = XFcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  47978. file = _FcStrCanonAbsoluteFilename(tls, full)
  47979. XFcStrFree(tls, full)
  47980. return file
  47981. }
  47982. return r
  47983. }
  47984. func XFcStrSetCreate(tls *libc.TLS) (r uintptr) {
  47985. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  47986. }
  47987. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  47988. var set uintptr
  47989. _ = set
  47990. set = libc.Xmalloc(tls, uint64(32))
  47991. if !(set != 0) {
  47992. return uintptr(0)
  47993. }
  47994. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  47995. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  47996. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  47997. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  47998. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  47999. return set
  48000. }
  48001. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  48002. var strs uintptr
  48003. _ = strs
  48004. /* accommodate an additional NULL entry at the end of the array */
  48005. strs = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  48006. if !(strs != 0) {
  48007. return m_FcFalse
  48008. }
  48009. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  48010. libc.X__builtin___memcpy_chk(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8), ^t__predefined_size_t(0))
  48011. }
  48012. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  48013. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  48014. }
  48015. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  48016. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  48017. return int32(m_FcTrue)
  48018. }
  48019. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  48020. var growElements, i, v1, v2 int32
  48021. var v3 uintptr
  48022. _, _, _, _, _ = growElements, i, v1, v2, v3
  48023. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  48024. if XFcStrSetMember(tls, set, s) != 0 {
  48025. XFcStrFree(tls, s)
  48026. return int32(m_FcTrue)
  48027. }
  48028. }
  48029. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  48030. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  48031. v1 = int32(64)
  48032. } else {
  48033. v1 = int32(1)
  48034. }
  48035. growElements = v1
  48036. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  48037. return m_FcFalse
  48038. }
  48039. }
  48040. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  48041. v3 = set + 4
  48042. v2 = *(*int32)(unsafe.Pointer(v3))
  48043. *(*int32)(unsafe.Pointer(v3))++
  48044. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  48045. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  48046. } else {
  48047. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  48048. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  48049. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  48050. for {
  48051. if !(i > pos) {
  48052. break
  48053. }
  48054. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8))
  48055. goto _4
  48056. _4:
  48057. ;
  48058. i--
  48059. }
  48060. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*8)) = s
  48061. }
  48062. return int32(m_FcTrue)
  48063. }
  48064. func XFcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48065. var i int32
  48066. _ = i
  48067. i = 0
  48068. for {
  48069. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48070. break
  48071. }
  48072. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  48073. return int32(m_FcTrue)
  48074. }
  48075. goto _1
  48076. _1:
  48077. ;
  48078. i++
  48079. }
  48080. return m_FcFalse
  48081. }
  48082. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  48083. var c1, c2 TFcChar8
  48084. var v2, v3 uintptr
  48085. _, _, _, _ = c1, c2, v2, v3
  48086. if s1 == s2 {
  48087. if ret != 0 {
  48088. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  48089. }
  48090. return 0
  48091. }
  48092. for {
  48093. if s1 != 0 {
  48094. v2 = s1
  48095. s1++
  48096. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  48097. } else {
  48098. c1 = uint8(0)
  48099. }
  48100. if s2 != 0 {
  48101. v3 = s2
  48102. s2++
  48103. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  48104. } else {
  48105. c2 = uint8(0)
  48106. }
  48107. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  48108. break
  48109. }
  48110. goto _1
  48111. _1:
  48112. }
  48113. if ret != 0 {
  48114. *(*uintptr)(unsafe.Pointer(ret)) = s1
  48115. }
  48116. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  48117. }
  48118. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  48119. bp := tls.Alloc(16)
  48120. defer tls.Free(16)
  48121. var i int32
  48122. var _ /* s at bp+0 */ uintptr
  48123. _ = i
  48124. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  48125. i = 0
  48126. for {
  48127. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48128. break
  48129. }
  48130. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  48131. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  48132. if ret != 0 {
  48133. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8))
  48134. }
  48135. return int32(m_FcTrue)
  48136. }
  48137. }
  48138. goto _1
  48139. _1:
  48140. ;
  48141. i++
  48142. }
  48143. if ret != 0 {
  48144. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  48145. }
  48146. return m_FcFalse
  48147. }
  48148. func XFcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  48149. var i int32
  48150. _ = i
  48151. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  48152. return m_FcFalse
  48153. }
  48154. i = 0
  48155. for {
  48156. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  48157. break
  48158. }
  48159. if !(XFcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  48160. return m_FcFalse
  48161. }
  48162. goto _1
  48163. _1:
  48164. ;
  48165. i++
  48166. }
  48167. return int32(m_FcTrue)
  48168. }
  48169. func XFcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48170. var new1 uintptr
  48171. _ = new1
  48172. new1 = XFcStrCopy(tls, s)
  48173. if !(new1 != 0) {
  48174. return m_FcFalse
  48175. }
  48176. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48177. XFcStrFree(tls, new1)
  48178. return m_FcFalse
  48179. }
  48180. return int32(m_FcTrue)
  48181. }
  48182. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  48183. var new1 uintptr
  48184. _ = new1
  48185. new1 = XFcStrCopy(tls, s)
  48186. if !(new1 != 0) {
  48187. return m_FcFalse
  48188. }
  48189. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  48190. XFcStrFree(tls, new1)
  48191. return m_FcFalse
  48192. }
  48193. return int32(m_FcTrue)
  48194. }
  48195. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  48196. var new1 uintptr
  48197. _ = new1
  48198. new1 = _FcStrMakeTriple(tls, a, b, c)
  48199. if !(new1 != 0) {
  48200. return m_FcFalse
  48201. }
  48202. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48203. XFcStrFree(tls, new1)
  48204. return m_FcFalse
  48205. }
  48206. return int32(m_FcTrue)
  48207. }
  48208. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  48209. var second uintptr
  48210. _ = second
  48211. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  48212. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  48213. return uintptr(0)
  48214. }
  48215. return second
  48216. }
  48217. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  48218. var second, third uintptr
  48219. _, _ = second, third
  48220. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  48221. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  48222. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  48223. return uintptr(0)
  48224. }
  48225. return third
  48226. }
  48227. func XFcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48228. var new1 uintptr
  48229. _ = new1
  48230. new1 = XFcStrCopyFilename(tls, s)
  48231. if !(new1 != 0) {
  48232. return m_FcFalse
  48233. }
  48234. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  48235. XFcStrFree(tls, new1)
  48236. return m_FcFalse
  48237. }
  48238. return int32(m_FcTrue)
  48239. }
  48240. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  48241. var new_a, new_b uintptr
  48242. var ret TFcBool
  48243. _, _, _ = new_a, new_b, ret
  48244. new_a = libc.UintptrFromInt32(0)
  48245. new_b = libc.UintptrFromInt32(0)
  48246. if a != 0 {
  48247. new_a = XFcStrCopyFilename(tls, a)
  48248. if !(new_a != 0) {
  48249. return m_FcFalse
  48250. }
  48251. }
  48252. if b != 0 {
  48253. new_b = XFcStrCopyFilename(tls, b)
  48254. if !(new_b != 0) {
  48255. if new_a != 0 {
  48256. XFcStrFree(tls, new_a)
  48257. }
  48258. return m_FcFalse
  48259. }
  48260. }
  48261. /* Override maps with new one if exists */
  48262. XFcStrSetDel(tls, set, new_a)
  48263. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  48264. if new_a != 0 {
  48265. XFcStrFree(tls, new_a)
  48266. }
  48267. if new_b != 0 {
  48268. XFcStrFree(tls, new_b)
  48269. }
  48270. return ret
  48271. }
  48272. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  48273. bp := tls.Alloc(128)
  48274. defer tls.Free(128)
  48275. var len1 Tsize_t
  48276. var next, normalized_lang, p, v1 uintptr
  48277. var ret TFcBool
  48278. var v2 uint64
  48279. var _ /* lang at bp+0 */ [128]TFcChar8
  48280. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  48281. p = languages
  48282. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  48283. ret = m_FcFalse
  48284. if !(languages != 0) {
  48285. return m_FcFalse
  48286. }
  48287. for {
  48288. v1 = libc.Xstrchr(tls, p, int32(':'))
  48289. next = v1
  48290. if !(v1 != 0) {
  48291. break
  48292. }
  48293. len1 = libc.Uint64FromInt64(int64(next) - int64(p))
  48294. if len1 < libc.Uint64FromInt32(libc.Int32FromInt32(127)) {
  48295. v2 = len1
  48296. } else {
  48297. v2 = libc.Uint64FromInt32(libc.Int32FromInt32(127))
  48298. }
  48299. len1 = v2
  48300. libc.X__builtin___strncpy_chk(tls, bp, p, len1, ^t__predefined_size_t(0))
  48301. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  48302. /* ignore an empty item */
  48303. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  48304. normalized_lang = XFcLangNormalize(tls, bp)
  48305. if normalized_lang != 0 {
  48306. XFcStrSetAdd(tls, strs, normalized_lang)
  48307. XFcStrFree(tls, normalized_lang)
  48308. ret = int32(m_FcTrue)
  48309. }
  48310. }
  48311. p = next + uintptr(1)
  48312. }
  48313. if *(*int8)(unsafe.Pointer(p)) != 0 {
  48314. normalized_lang = XFcLangNormalize(tls, p)
  48315. if normalized_lang != 0 {
  48316. XFcStrSetAdd(tls, strs, normalized_lang)
  48317. XFcStrFree(tls, normalized_lang)
  48318. ret = int32(m_FcTrue)
  48319. }
  48320. }
  48321. return ret
  48322. }
  48323. func XFcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  48324. var i int32
  48325. _ = i
  48326. i = 0
  48327. for {
  48328. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48329. break
  48330. }
  48331. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  48332. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  48333. /*
  48334. * copy remaining string pointers and trailing
  48335. * NULL
  48336. */
  48337. libc.X__builtin___memmove_chk(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*8, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint64(8), ^t__predefined_size_t(0))
  48338. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  48339. return int32(m_FcTrue)
  48340. }
  48341. goto _1
  48342. _1:
  48343. ;
  48344. i++
  48345. }
  48346. return m_FcFalse
  48347. }
  48348. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  48349. var i int32
  48350. var v1 TFcBool
  48351. _, _ = i, v1
  48352. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48353. goto _2
  48354. _2:
  48355. if v1 != 0 {
  48356. return m_FcFalse
  48357. }
  48358. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  48359. for {
  48360. if !(i > 0) {
  48361. break
  48362. }
  48363. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8)))
  48364. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  48365. goto _3
  48366. _3:
  48367. ;
  48368. i--
  48369. }
  48370. return int32(m_FcTrue)
  48371. }
  48372. // C documentation
  48373. //
  48374. // /* TODO Make public */
  48375. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  48376. var v1 TFcBool
  48377. var p4 uintptr
  48378. _, _ = v1, p4
  48379. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48380. goto _2
  48381. _2:
  48382. if v1 != 0 {
  48383. return set
  48384. }
  48385. p4 = set
  48386. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  48387. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  48388. goto _3
  48389. _3:
  48390. ;
  48391. return set
  48392. }
  48393. func XFcStrSetDestroy(tls *libc.TLS, set uintptr) {
  48394. var i, v3 int32
  48395. var v1 TFcBool
  48396. var p5 uintptr
  48397. _, _, _, _ = i, v1, v3, p5
  48398. /* We rely on this in FcGetDefaultLangs for caching. */
  48399. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  48400. goto _2
  48401. _2:
  48402. if v1 != 0 {
  48403. return
  48404. }
  48405. p5 = set
  48406. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  48407. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  48408. goto _4
  48409. _4:
  48410. if v3 != int32(1) {
  48411. return
  48412. }
  48413. i = 0
  48414. for {
  48415. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  48416. break
  48417. }
  48418. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  48419. goto _6
  48420. _6:
  48421. ;
  48422. i++
  48423. }
  48424. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  48425. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  48426. }
  48427. libc.Xfree(tls, set)
  48428. }
  48429. func XFcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  48430. var list uintptr
  48431. _ = list
  48432. list = libc.Xmalloc(tls, uint64(16))
  48433. if !(list != 0) {
  48434. return uintptr(0)
  48435. }
  48436. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  48437. _FcStrSetReference(tls, set)
  48438. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  48439. return list
  48440. }
  48441. func XFcStrListFirst(tls *libc.TLS, list uintptr) {
  48442. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  48443. }
  48444. func XFcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  48445. var v1 int32
  48446. var v2 uintptr
  48447. _, _ = v1, v2
  48448. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  48449. return uintptr(0)
  48450. }
  48451. v2 = list + 8
  48452. v1 = *(*int32)(unsafe.Pointer(v2))
  48453. *(*int32)(unsafe.Pointer(v2))++
  48454. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  48455. }
  48456. func XFcStrListDone(tls *libc.TLS, list uintptr) {
  48457. XFcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  48458. libc.Xfree(tls, list)
  48459. }
  48460. const m_FC_DIR_SEPARATOR4 = '/'
  48461. var _map = [13]struct {
  48462. Fot int32
  48463. Ffc int32
  48464. }{
  48465. 0: {},
  48466. 1: {
  48467. Fot: int32(100),
  48468. },
  48469. 2: {
  48470. Fot: int32(200),
  48471. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  48472. },
  48473. 3: {
  48474. Fot: int32(300),
  48475. Ffc: int32(m_FC_WEIGHT_LIGHT),
  48476. },
  48477. 4: {
  48478. Fot: int32(350),
  48479. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  48480. },
  48481. 5: {
  48482. Fot: int32(380),
  48483. Ffc: int32(m_FC_WEIGHT_BOOK),
  48484. },
  48485. 6: {
  48486. Fot: int32(400),
  48487. Ffc: int32(m_FC_WEIGHT_REGULAR),
  48488. },
  48489. 7: {
  48490. Fot: int32(500),
  48491. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  48492. },
  48493. 8: {
  48494. Fot: int32(600),
  48495. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  48496. },
  48497. 9: {
  48498. Fot: int32(700),
  48499. Ffc: int32(m_FC_WEIGHT_BOLD),
  48500. },
  48501. 10: {
  48502. Fot: int32(800),
  48503. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  48504. },
  48505. 11: {
  48506. Fot: int32(900),
  48507. Ffc: int32(m_FC_WEIGHT_BLACK),
  48508. },
  48509. 12: {
  48510. Fot: int32(1000),
  48511. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  48512. },
  48513. }
  48514. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  48515. var dx, dy int32
  48516. _, _ = dx, dy
  48517. dx = x2 - x1
  48518. dy = y2 - y1
  48519. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  48520. }
  48521. func XFcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  48522. var i int32
  48523. var v1 float64
  48524. _, _ = i, v1
  48525. if ot_weight < libc.Float64FromInt32(0) {
  48526. return float64(-libc.Int32FromInt32(1))
  48527. }
  48528. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  48529. v1 = ot_weight
  48530. } else {
  48531. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  48532. }
  48533. ot_weight = v1
  48534. i = int32(1)
  48535. for {
  48536. if !(ot_weight > float64(_map[i].Fot)) {
  48537. break
  48538. }
  48539. goto _2
  48540. _2:
  48541. ;
  48542. i++
  48543. }
  48544. if ot_weight == float64(_map[i].Fot) {
  48545. return float64(_map[i].Ffc)
  48546. }
  48547. /* Interpolate between two items. */
  48548. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  48549. }
  48550. func XFcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  48551. var i int32
  48552. _ = i
  48553. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  48554. return float64(-libc.Int32FromInt32(1))
  48555. }
  48556. i = int32(1)
  48557. for {
  48558. if !(fc_weight > float64(_map[i].Ffc)) {
  48559. break
  48560. }
  48561. goto _1
  48562. _1:
  48563. ;
  48564. i++
  48565. }
  48566. if fc_weight == float64(_map[i].Ffc) {
  48567. return float64(_map[i].Fot)
  48568. }
  48569. /* Interpolate between two items. */
  48570. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  48571. }
  48572. func XFcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  48573. return int32(XFcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  48574. }
  48575. func XFcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  48576. return int32(XFcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  48577. }
  48578. const m_API_TO_BE_DEPRECATED = 100000
  48579. const m_API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  48580. const m_API_TO_BE_DEPRECATED_IOS = 100000
  48581. const m_API_TO_BE_DEPRECATED_MACOS = 100000
  48582. const m_API_TO_BE_DEPRECATED_TVOS = 100000
  48583. const m_API_TO_BE_DEPRECATED_VISIONOS = 100000
  48584. const m_API_TO_BE_DEPRECATED_WATCHOS = 100000
  48585. const m_Expat_External_INCLUDED = 1
  48586. const m_Expat_INCLUDED = 1
  48587. const m_FC_DIR_SEPARATOR5 = 47
  48588. const m_HAVE_XMLPARSE_H = 0
  48589. const m_LC_ALL = 0
  48590. const m_LC_COLLATE = 1
  48591. const m_LC_CTYPE = 2
  48592. const m_LC_MESSAGES = 6
  48593. const m_LC_MONETARY = 3
  48594. const m_LC_NUMERIC = 4
  48595. const m_LC_TIME = 5
  48596. const m_TAIL = ".conf"
  48597. const m_TAIL_LEN = 5
  48598. const m_XML_ENABLE_VISIBILITY = 0
  48599. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  48600. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  48601. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  48602. const m_XML_MAJOR_VERSION = 2
  48603. const m_XML_MICRO_VERSION = 3
  48604. const m_XML_MINOR_VERSION = 6
  48605. const m__LC_LAST = 7
  48606. type TXML_Char = int8
  48607. type TXML_LChar = int8
  48608. type TXML_Index = int64
  48609. type TXML_Size = uint64
  48610. type TXML_Parser = uintptr
  48611. type TXML_Bool = uint8
  48612. type _XML_Status = int32
  48613. const _XML_STATUS_ERROR = 0
  48614. const _XML_STATUS_OK = 1
  48615. const _XML_STATUS_SUSPENDED = 2
  48616. type _XML_Error = int32
  48617. const _XML_ERROR_NONE = 0
  48618. const _XML_ERROR_NO_MEMORY = 1
  48619. const _XML_ERROR_SYNTAX = 2
  48620. const _XML_ERROR_NO_ELEMENTS = 3
  48621. const _XML_ERROR_INVALID_TOKEN = 4
  48622. const _XML_ERROR_UNCLOSED_TOKEN = 5
  48623. const _XML_ERROR_PARTIAL_CHAR = 6
  48624. const _XML_ERROR_TAG_MISMATCH = 7
  48625. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  48626. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  48627. const _XML_ERROR_PARAM_ENTITY_REF = 10
  48628. const _XML_ERROR_UNDEFINED_ENTITY = 11
  48629. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  48630. const _XML_ERROR_ASYNC_ENTITY = 13
  48631. const _XML_ERROR_BAD_CHAR_REF = 14
  48632. const _XML_ERROR_BINARY_ENTITY_REF = 15
  48633. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  48634. const _XML_ERROR_MISPLACED_XML_PI = 17
  48635. const _XML_ERROR_UNKNOWN_ENCODING = 18
  48636. const _XML_ERROR_INCORRECT_ENCODING = 19
  48637. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  48638. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  48639. const _XML_ERROR_NOT_STANDALONE = 22
  48640. const _XML_ERROR_UNEXPECTED_STATE = 23
  48641. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  48642. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  48643. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  48644. const _XML_ERROR_UNBOUND_PREFIX = 27
  48645. const _XML_ERROR_UNDECLARING_PREFIX = 28
  48646. const _XML_ERROR_INCOMPLETE_PE = 29
  48647. const _XML_ERROR_XML_DECL = 30
  48648. const _XML_ERROR_TEXT_DECL = 31
  48649. const _XML_ERROR_PUBLICID = 32
  48650. const _XML_ERROR_SUSPENDED = 33
  48651. const _XML_ERROR_NOT_SUSPENDED = 34
  48652. const _XML_ERROR_ABORTED = 35
  48653. const _XML_ERROR_FINISHED = 36
  48654. const _XML_ERROR_SUSPEND_PE = 37
  48655. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  48656. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  48657. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  48658. const _XML_ERROR_INVALID_ARGUMENT = 41
  48659. const _XML_ERROR_NO_BUFFER = 42
  48660. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  48661. type _XML_Content_Type = int32
  48662. const _XML_CTYPE_EMPTY = 1
  48663. const _XML_CTYPE_ANY = 2
  48664. const _XML_CTYPE_MIXED = 3
  48665. const _XML_CTYPE_NAME = 4
  48666. const _XML_CTYPE_CHOICE = 5
  48667. const _XML_CTYPE_SEQ = 6
  48668. type _XML_Content_Quant = int32
  48669. const _XML_CQUANT_NONE = 0
  48670. const _XML_CQUANT_OPT = 1
  48671. const _XML_CQUANT_REP = 2
  48672. const _XML_CQUANT_PLUS = 3
  48673. type TXML_Content = struct {
  48674. Ftype1 _XML_Content_Type
  48675. Fquant _XML_Content_Quant
  48676. Fname uintptr
  48677. Fnumchildren uint32
  48678. Fchildren uintptr
  48679. }
  48680. type TXML_cp = TXML_Content
  48681. type TXML_ElementDeclHandler = uintptr
  48682. type TXML_AttlistDeclHandler = uintptr
  48683. type TXML_XmlDeclHandler = uintptr
  48684. type TXML_Memory_Handling_Suite = struct {
  48685. Fmalloc_fcn uintptr
  48686. Frealloc_fcn uintptr
  48687. Ffree_fcn uintptr
  48688. }
  48689. type TXML_StartElementHandler = uintptr
  48690. type TXML_EndElementHandler = uintptr
  48691. type TXML_CharacterDataHandler = uintptr
  48692. type TXML_ProcessingInstructionHandler = uintptr
  48693. type TXML_CommentHandler = uintptr
  48694. type TXML_StartCdataSectionHandler = uintptr
  48695. type TXML_EndCdataSectionHandler = uintptr
  48696. type TXML_DefaultHandler = uintptr
  48697. type TXML_StartDoctypeDeclHandler = uintptr
  48698. type TXML_EndDoctypeDeclHandler = uintptr
  48699. type TXML_EntityDeclHandler = uintptr
  48700. type TXML_UnparsedEntityDeclHandler = uintptr
  48701. type TXML_NotationDeclHandler = uintptr
  48702. type TXML_StartNamespaceDeclHandler = uintptr
  48703. type TXML_EndNamespaceDeclHandler = uintptr
  48704. type TXML_NotStandaloneHandler = uintptr
  48705. type TXML_ExternalEntityRefHandler = uintptr
  48706. type TXML_SkippedEntityHandler = uintptr
  48707. type TXML_Encoding = struct {
  48708. Fmap1 [256]int32
  48709. Fdata uintptr
  48710. Fconvert uintptr
  48711. Frelease uintptr
  48712. }
  48713. type TXML_UnknownEncodingHandler = uintptr
  48714. type _XML_Parsing = int32
  48715. const _XML_INITIALIZED = 0
  48716. const _XML_PARSING = 1
  48717. const _XML_FINISHED = 2
  48718. const _XML_SUSPENDED = 3
  48719. type TXML_ParsingStatus = struct {
  48720. Fparsing _XML_Parsing
  48721. FfinalBuffer TXML_Bool
  48722. }
  48723. type _XML_ParamEntityParsing = int32
  48724. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  48725. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  48726. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  48727. type TXML_Expat_Version = struct {
  48728. Fmajor int32
  48729. Fminor int32
  48730. Fmicro int32
  48731. }
  48732. type _XML_FeatureEnum = int32
  48733. const _XML_FEATURE_END = 0
  48734. const _XML_FEATURE_UNICODE = 1
  48735. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  48736. const _XML_FEATURE_DTD = 3
  48737. const _XML_FEATURE_CONTEXT_BYTES = 4
  48738. const _XML_FEATURE_MIN_SIZE = 5
  48739. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  48740. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  48741. const _XML_FEATURE_NS = 8
  48742. const _XML_FEATURE_LARGE_SIZE = 9
  48743. const _XML_FEATURE_ATTR_INFO = 10
  48744. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  48745. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  48746. const _XML_FEATURE_GE = 13
  48747. type TXML_Feature = struct {
  48748. Ffeature _XML_FeatureEnum
  48749. Fname uintptr
  48750. Fvalue int64
  48751. }
  48752. /* Expat follows the semantic versioning convention.
  48753. See https://semver.org
  48754. */
  48755. var ___fc_userdir = libc.UintptrFromInt32(0)
  48756. var ___fc_userconf = libc.UintptrFromInt32(0)
  48757. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  48758. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  48759. libc.Xfree(tls, test)
  48760. }
  48761. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  48762. var n uintptr
  48763. _ = n
  48764. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  48765. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  48766. case int32(_FcRuleTest):
  48767. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  48768. case int32(_FcRuleEdit):
  48769. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  48770. case int32(_FcRuleUnknown):
  48771. fallthrough
  48772. default:
  48773. break
  48774. }
  48775. libc.Xfree(tls, rule)
  48776. if n != 0 {
  48777. XFcRuleDestroy(tls, n)
  48778. }
  48779. }
  48780. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  48781. var e uintptr
  48782. _ = e
  48783. e = XFcConfigAllocExpr(tls, config)
  48784. if e != 0 {
  48785. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  48786. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  48787. }
  48788. return e
  48789. }
  48790. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  48791. var e uintptr
  48792. _ = e
  48793. e = XFcConfigAllocExpr(tls, config)
  48794. if e != 0 {
  48795. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  48796. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  48797. }
  48798. return e
  48799. }
  48800. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  48801. var e uintptr
  48802. _ = e
  48803. e = XFcConfigAllocExpr(tls, config)
  48804. if e != 0 {
  48805. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  48806. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  48807. }
  48808. return e
  48809. }
  48810. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  48811. var m uintptr
  48812. _ = m
  48813. m = libc.Xmalloc(tls, uint64(32))
  48814. if m != 0 {
  48815. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  48816. }
  48817. return m
  48818. }
  48819. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  48820. if !(m != 0) {
  48821. return
  48822. }
  48823. libc.Xfree(tls, m)
  48824. }
  48825. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  48826. if !(m != 0) {
  48827. return
  48828. }
  48829. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  48830. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  48831. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  48832. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  48833. libc.Xfree(tls, m)
  48834. }
  48835. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  48836. var e uintptr
  48837. _ = e
  48838. e = XFcConfigAllocExpr(tls, config)
  48839. if e != 0 {
  48840. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  48841. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  48842. }
  48843. return e
  48844. }
  48845. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  48846. var e uintptr
  48847. _ = e
  48848. e = XFcConfigAllocExpr(tls, config)
  48849. if e != 0 {
  48850. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  48851. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcRangeCopy(tls, range1)
  48852. }
  48853. return e
  48854. }
  48855. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  48856. var e uintptr
  48857. _ = e
  48858. e = XFcConfigAllocExpr(tls, config)
  48859. if e != 0 {
  48860. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  48861. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  48862. }
  48863. return e
  48864. }
  48865. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  48866. var e uintptr
  48867. _ = e
  48868. e = XFcConfigAllocExpr(tls, config)
  48869. if e != 0 {
  48870. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  48871. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcCharSetCopy(tls, charset)
  48872. }
  48873. return e
  48874. }
  48875. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  48876. var e uintptr
  48877. _ = e
  48878. e = XFcConfigAllocExpr(tls, config)
  48879. if e != 0 {
  48880. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  48881. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcLangSetCopy(tls, langset)
  48882. }
  48883. return e
  48884. }
  48885. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  48886. var e uintptr
  48887. _ = e
  48888. e = XFcConfigAllocExpr(tls, config)
  48889. if e != 0 {
  48890. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  48891. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  48892. }
  48893. return e
  48894. }
  48895. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  48896. var e uintptr
  48897. _ = e
  48898. e = XFcConfigAllocExpr(tls, config)
  48899. if e != 0 {
  48900. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  48901. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  48902. }
  48903. return e
  48904. }
  48905. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  48906. var e uintptr
  48907. _ = e
  48908. e = XFcConfigAllocExpr(tls, config)
  48909. if e != 0 {
  48910. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  48911. (*(*struct {
  48912. Fleft uintptr
  48913. Fright uintptr
  48914. })(unsafe.Pointer(e + 8))).Fleft = left
  48915. (*(*struct {
  48916. Fleft uintptr
  48917. Fright uintptr
  48918. })(unsafe.Pointer(e + 8))).Fright = right
  48919. }
  48920. return e
  48921. }
  48922. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  48923. if !(e != 0) {
  48924. return
  48925. }
  48926. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  48927. case int32(_FcOpInteger):
  48928. case int32(_FcOpDouble):
  48929. case int32(_FcOpString):
  48930. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48931. case int32(_FcOpMatrix):
  48932. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48933. case int32(_FcOpRange):
  48934. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48935. case int32(_FcOpCharSet):
  48936. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48937. case int32(_FcOpLangSet):
  48938. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48939. case int32(_FcOpBool):
  48940. case int32(_FcOpField):
  48941. case int32(_FcOpConst):
  48942. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  48943. case int32(_FcOpAssign):
  48944. fallthrough
  48945. case int32(_FcOpAssignReplace):
  48946. fallthrough
  48947. case int32(_FcOpPrepend):
  48948. fallthrough
  48949. case int32(_FcOpPrependFirst):
  48950. fallthrough
  48951. case int32(_FcOpAppend):
  48952. fallthrough
  48953. case int32(_FcOpAppendLast):
  48954. fallthrough
  48955. case int32(_FcOpDelete):
  48956. fallthrough
  48957. case int32(_FcOpDeleteAll):
  48958. case int32(_FcOpOr):
  48959. fallthrough
  48960. case int32(_FcOpAnd):
  48961. fallthrough
  48962. case int32(_FcOpEqual):
  48963. fallthrough
  48964. case int32(_FcOpNotEqual):
  48965. fallthrough
  48966. case int32(_FcOpLess):
  48967. fallthrough
  48968. case int32(_FcOpLessEqual):
  48969. fallthrough
  48970. case int32(_FcOpMore):
  48971. fallthrough
  48972. case int32(_FcOpMoreEqual):
  48973. fallthrough
  48974. case int32(_FcOpContains):
  48975. fallthrough
  48976. case int32(_FcOpListing):
  48977. fallthrough
  48978. case int32(_FcOpNotContains):
  48979. fallthrough
  48980. case int32(_FcOpPlus):
  48981. fallthrough
  48982. case int32(_FcOpMinus):
  48983. fallthrough
  48984. case int32(_FcOpTimes):
  48985. fallthrough
  48986. case int32(_FcOpDivide):
  48987. fallthrough
  48988. case int32(_FcOpQuest):
  48989. fallthrough
  48990. case int32(_FcOpComma):
  48991. _FcExprDestroy(tls, (*(*struct {
  48992. Fleft uintptr
  48993. Fright uintptr
  48994. })(unsafe.Pointer(e + 8))).Fright)
  48995. /* fall through */
  48996. fallthrough
  48997. case int32(_FcOpNot):
  48998. fallthrough
  48999. case int32(_FcOpFloor):
  49000. fallthrough
  49001. case int32(_FcOpCeil):
  49002. fallthrough
  49003. case int32(_FcOpRound):
  49004. fallthrough
  49005. case int32(_FcOpTrunc):
  49006. _FcExprDestroy(tls, (*(*struct {
  49007. Fleft uintptr
  49008. Fright uintptr
  49009. })(unsafe.Pointer(e + 8))).Fleft)
  49010. case int32(_FcOpNil):
  49011. fallthrough
  49012. case int32(_FcOpInvalid):
  49013. break
  49014. }
  49015. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  49016. }
  49017. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  49018. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  49019. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  49020. }
  49021. libc.Xfree(tls, e)
  49022. }
  49023. type TFcElement = int32
  49024. type __FcElement = int32
  49025. const _FcElementNone = 0
  49026. const _FcElementFontconfig = 1
  49027. const _FcElementDir = 2
  49028. const _FcElementCacheDir = 3
  49029. const _FcElementCache = 4
  49030. const _FcElementInclude = 5
  49031. const _FcElementConfig = 6
  49032. const _FcElementMatch = 7
  49033. const _FcElementAlias = 8
  49034. const _FcElementDescription = 9
  49035. const _FcElementRemapDir = 10
  49036. const _FcElementResetDirs = 11
  49037. const _FcElementRescan = 12
  49038. const _FcElementPrefer = 13
  49039. const _FcElementAccept = 14
  49040. const _FcElementDefault = 15
  49041. const _FcElementFamily = 16
  49042. const _FcElementSelectfont = 17
  49043. const _FcElementAcceptfont = 18
  49044. const _FcElementRejectfont = 19
  49045. const _FcElementGlob = 20
  49046. const _FcElementPattern = 21
  49047. const _FcElementPatelt = 22
  49048. const _FcElementTest = 23
  49049. const _FcElementEdit = 24
  49050. const _FcElementInt = 25
  49051. const _FcElementDouble = 26
  49052. const _FcElementString = 27
  49053. const _FcElementMatrix = 28
  49054. const _FcElementRange = 29
  49055. const _FcElementBool = 30
  49056. const _FcElementCharSet = 31
  49057. const _FcElementLangSet = 32
  49058. const _FcElementName = 33
  49059. const _FcElementConst = 34
  49060. const _FcElementOr = 35
  49061. const _FcElementAnd = 36
  49062. const _FcElementEq = 37
  49063. const _FcElementNotEq = 38
  49064. const _FcElementLess = 39
  49065. const _FcElementLessEq = 40
  49066. const _FcElementMore = 41
  49067. const _FcElementMoreEq = 42
  49068. const _FcElementContains = 43
  49069. const _FcElementNotContains = 44
  49070. const _FcElementPlus = 45
  49071. const _FcElementMinus = 46
  49072. const _FcElementTimes = 47
  49073. const _FcElementDivide = 48
  49074. const _FcElementNot = 49
  49075. const _FcElementIf = 50
  49076. const _FcElementFloor = 51
  49077. const _FcElementCeil = 52
  49078. const _FcElementRound = 53
  49079. const _FcElementTrunc = 54
  49080. const _FcElementUnknown = 55
  49081. var _fcElementMap = [54]struct {
  49082. Fname [16]int8
  49083. Felement TFcElement
  49084. }{
  49085. 0: {
  49086. Fname: [16]int8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  49087. Felement: int32(_FcElementFontconfig),
  49088. },
  49089. 1: {
  49090. Fname: [16]int8{'d', 'i', 'r'},
  49091. Felement: int32(_FcElementDir),
  49092. },
  49093. 2: {
  49094. Fname: [16]int8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  49095. Felement: int32(_FcElementCacheDir),
  49096. },
  49097. 3: {
  49098. Fname: [16]int8{'c', 'a', 'c', 'h', 'e'},
  49099. Felement: int32(_FcElementCache),
  49100. },
  49101. 4: {
  49102. Fname: [16]int8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  49103. Felement: int32(_FcElementInclude),
  49104. },
  49105. 5: {
  49106. Fname: [16]int8{'c', 'o', 'n', 'f', 'i', 'g'},
  49107. Felement: int32(_FcElementConfig),
  49108. },
  49109. 6: {
  49110. Fname: [16]int8{'m', 'a', 't', 'c', 'h'},
  49111. Felement: int32(_FcElementMatch),
  49112. },
  49113. 7: {
  49114. Fname: [16]int8{'a', 'l', 'i', 'a', 's'},
  49115. Felement: int32(_FcElementAlias),
  49116. },
  49117. 8: {
  49118. Fname: [16]int8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  49119. Felement: int32(_FcElementDescription),
  49120. },
  49121. 9: {
  49122. Fname: [16]int8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  49123. Felement: int32(_FcElementRemapDir),
  49124. },
  49125. 10: {
  49126. Fname: [16]int8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  49127. Felement: int32(_FcElementResetDirs),
  49128. },
  49129. 11: {
  49130. Fname: [16]int8{'r', 'e', 's', 'c', 'a', 'n'},
  49131. Felement: int32(_FcElementRescan),
  49132. },
  49133. 12: {
  49134. Fname: [16]int8{'p', 'r', 'e', 'f', 'e', 'r'},
  49135. Felement: int32(_FcElementPrefer),
  49136. },
  49137. 13: {
  49138. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't'},
  49139. Felement: int32(_FcElementAccept),
  49140. },
  49141. 14: {
  49142. Fname: [16]int8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  49143. Felement: int32(_FcElementDefault),
  49144. },
  49145. 15: {
  49146. Fname: [16]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  49147. Felement: int32(_FcElementFamily),
  49148. },
  49149. 16: {
  49150. Fname: [16]int8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  49151. Felement: int32(_FcElementSelectfont),
  49152. },
  49153. 17: {
  49154. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  49155. Felement: int32(_FcElementAcceptfont),
  49156. },
  49157. 18: {
  49158. Fname: [16]int8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  49159. Felement: int32(_FcElementRejectfont),
  49160. },
  49161. 19: {
  49162. Fname: [16]int8{'g', 'l', 'o', 'b'},
  49163. Felement: int32(_FcElementGlob),
  49164. },
  49165. 20: {
  49166. Fname: [16]int8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  49167. Felement: int32(_FcElementPattern),
  49168. },
  49169. 21: {
  49170. Fname: [16]int8{'p', 'a', 't', 'e', 'l', 't'},
  49171. Felement: int32(_FcElementPatelt),
  49172. },
  49173. 22: {
  49174. Fname: [16]int8{'t', 'e', 's', 't'},
  49175. Felement: int32(_FcElementTest),
  49176. },
  49177. 23: {
  49178. Fname: [16]int8{'e', 'd', 'i', 't'},
  49179. Felement: int32(_FcElementEdit),
  49180. },
  49181. 24: {
  49182. Fname: [16]int8{'i', 'n', 't'},
  49183. Felement: int32(_FcElementInt),
  49184. },
  49185. 25: {
  49186. Fname: [16]int8{'d', 'o', 'u', 'b', 'l', 'e'},
  49187. Felement: int32(_FcElementDouble),
  49188. },
  49189. 26: {
  49190. Fname: [16]int8{'s', 't', 'r', 'i', 'n', 'g'},
  49191. Felement: int32(_FcElementString),
  49192. },
  49193. 27: {
  49194. Fname: [16]int8{'m', 'a', 't', 'r', 'i', 'x'},
  49195. Felement: int32(_FcElementMatrix),
  49196. },
  49197. 28: {
  49198. Fname: [16]int8{'r', 'a', 'n', 'g', 'e'},
  49199. Felement: int32(_FcElementRange),
  49200. },
  49201. 29: {
  49202. Fname: [16]int8{'b', 'o', 'o', 'l'},
  49203. Felement: int32(_FcElementBool),
  49204. },
  49205. 30: {
  49206. Fname: [16]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  49207. Felement: int32(_FcElementCharSet),
  49208. },
  49209. 31: {
  49210. Fname: [16]int8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  49211. Felement: int32(_FcElementLangSet),
  49212. },
  49213. 32: {
  49214. Fname: [16]int8{'n', 'a', 'm', 'e'},
  49215. Felement: int32(_FcElementName),
  49216. },
  49217. 33: {
  49218. Fname: [16]int8{'c', 'o', 'n', 's', 't'},
  49219. Felement: int32(_FcElementConst),
  49220. },
  49221. 34: {
  49222. Fname: [16]int8{'o', 'r'},
  49223. Felement: int32(_FcElementOr),
  49224. },
  49225. 35: {
  49226. Fname: [16]int8{'a', 'n', 'd'},
  49227. Felement: int32(_FcElementAnd),
  49228. },
  49229. 36: {
  49230. Fname: [16]int8{'e', 'q'},
  49231. Felement: int32(_FcElementEq),
  49232. },
  49233. 37: {
  49234. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  49235. Felement: int32(_FcElementNotEq),
  49236. },
  49237. 38: {
  49238. Fname: [16]int8{'l', 'e', 's', 's'},
  49239. Felement: int32(_FcElementLess),
  49240. },
  49241. 39: {
  49242. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  49243. Felement: int32(_FcElementLessEq),
  49244. },
  49245. 40: {
  49246. Fname: [16]int8{'m', 'o', 'r', 'e'},
  49247. Felement: int32(_FcElementMore),
  49248. },
  49249. 41: {
  49250. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  49251. Felement: int32(_FcElementMoreEq),
  49252. },
  49253. 42: {
  49254. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  49255. Felement: int32(_FcElementContains),
  49256. },
  49257. 43: {
  49258. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  49259. Felement: int32(_FcElementNotContains),
  49260. },
  49261. 44: {
  49262. Fname: [16]int8{'p', 'l', 'u', 's'},
  49263. Felement: int32(_FcElementPlus),
  49264. },
  49265. 45: {
  49266. Fname: [16]int8{'m', 'i', 'n', 'u', 's'},
  49267. Felement: int32(_FcElementMinus),
  49268. },
  49269. 46: {
  49270. Fname: [16]int8{'t', 'i', 'm', 'e', 's'},
  49271. Felement: int32(_FcElementTimes),
  49272. },
  49273. 47: {
  49274. Fname: [16]int8{'d', 'i', 'v', 'i', 'd', 'e'},
  49275. Felement: int32(_FcElementDivide),
  49276. },
  49277. 48: {
  49278. Fname: [16]int8{'n', 'o', 't'},
  49279. Felement: int32(_FcElementNot),
  49280. },
  49281. 49: {
  49282. Fname: [16]int8{'i', 'f'},
  49283. Felement: int32(_FcElementIf),
  49284. },
  49285. 50: {
  49286. Fname: [16]int8{'f', 'l', 'o', 'o', 'r'},
  49287. Felement: int32(_FcElementFloor),
  49288. },
  49289. 51: {
  49290. Fname: [16]int8{'c', 'e', 'i', 'l'},
  49291. Felement: int32(_FcElementCeil),
  49292. },
  49293. 52: {
  49294. Fname: [16]int8{'r', 'o', 'u', 'n', 'd'},
  49295. Felement: int32(_FcElementRound),
  49296. },
  49297. 53: {
  49298. Fname: [16]int8{'t', 'r', 'u', 'n', 'c'},
  49299. Felement: int32(_FcElementTrunc),
  49300. },
  49301. }
  49302. var _fcElementIgnoreName = [16]uintptr{
  49303. 0: __ccgo_ts + 7116,
  49304. 1: libc.UintptrFromInt32(0),
  49305. }
  49306. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  49307. var i int32
  49308. _ = i
  49309. i = 0
  49310. for {
  49311. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  49312. break
  49313. }
  49314. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  49315. return _fcElementMap[i].Felement
  49316. }
  49317. goto _1
  49318. _1:
  49319. ;
  49320. i++
  49321. }
  49322. i = 0
  49323. for {
  49324. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  49325. break
  49326. }
  49327. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  49328. return int32(_FcElementNone)
  49329. }
  49330. goto _2
  49331. _2:
  49332. ;
  49333. i++
  49334. }
  49335. return int32(_FcElementUnknown)
  49336. }
  49337. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  49338. var i int32
  49339. _ = i
  49340. i = 0
  49341. for {
  49342. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  49343. break
  49344. }
  49345. if _fcElementMap[i].Felement == e {
  49346. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  49347. }
  49348. goto _1
  49349. _1:
  49350. ;
  49351. i++
  49352. }
  49353. return libc.UintptrFromInt32(0)
  49354. }
  49355. type TFcPStack = struct {
  49356. Fprev uintptr
  49357. Felement TFcElement
  49358. Fattr uintptr
  49359. Fstr TFcStrBuf
  49360. Fattr_buf_static [16]uintptr
  49361. }
  49362. type T_FcPStack = TFcPStack
  49363. type TFcVStackTag = int32
  49364. type __FcVStackTag = int32
  49365. const _FcVStackNone = 0
  49366. const _FcVStackString = 1
  49367. const _FcVStackFamily = 2
  49368. const _FcVStackConstant = 3
  49369. const _FcVStackGlob = 4
  49370. const _FcVStackName = 5
  49371. const _FcVStackPattern = 6
  49372. const _FcVStackPrefer = 7
  49373. const _FcVStackAccept = 8
  49374. const _FcVStackDefault = 9
  49375. const _FcVStackInteger = 10
  49376. const _FcVStackDouble = 11
  49377. const _FcVStackMatrix = 12
  49378. const _FcVStackRange = 13
  49379. const _FcVStackBool = 14
  49380. const _FcVStackCharSet = 15
  49381. const _FcVStackLangSet = 16
  49382. const _FcVStackTest = 17
  49383. const _FcVStackExpr = 18
  49384. const _FcVStackEdit = 19
  49385. type TFcVStack = struct {
  49386. Fprev uintptr
  49387. Fpstack uintptr
  49388. Ftag TFcVStackTag
  49389. Fu struct {
  49390. Finteger [0]int32
  49391. F_double [0]float64
  49392. Fmatrix [0]uintptr
  49393. Frange1 [0]uintptr
  49394. Fbool_ [0]TFcBool
  49395. Fcharset [0]uintptr
  49396. Flangset [0]uintptr
  49397. Fname [0]TFcExprName
  49398. Ftest [0]uintptr
  49399. Fqual [0]TFcQual
  49400. Fop [0]TFcOp
  49401. Fexpr [0]uintptr
  49402. Fedit [0]uintptr
  49403. Fpattern [0]uintptr
  49404. Fstring1 uintptr
  49405. }
  49406. }
  49407. type T_FcVStack = TFcVStack
  49408. type TFcConfigParse = struct {
  49409. Fpstack uintptr
  49410. Fvstack uintptr
  49411. Ferror1 TFcBool
  49412. Fname uintptr
  49413. Fconfig uintptr
  49414. Fruleset uintptr
  49415. Fparser TXML_Parser
  49416. Fpstack_static_used uint32
  49417. Fpstack_static [8]TFcPStack
  49418. Fvstack_static_used uint32
  49419. Fvstack_static [64]TFcVStack
  49420. FscanOnly TFcBool
  49421. }
  49422. type T_FcConfigParse = TFcConfigParse
  49423. type TFcConfigSeverity = int32
  49424. type __FcConfigSeverity = int32
  49425. const _FcSevereInfo = 0
  49426. const _FcSevereWarning = 1
  49427. const _FcSevereError = 2
  49428. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  49429. bp := tls.Alloc(32)
  49430. defer tls.Free(32)
  49431. var args Tva_list
  49432. var s uintptr
  49433. _, _ = args, s
  49434. s = __ccgo_ts + 4812
  49435. args = va
  49436. switch severe {
  49437. case int32(_FcSevereInfo):
  49438. s = __ccgo_ts + 7121
  49439. case int32(_FcSevereWarning):
  49440. s = __ccgo_ts + 7126
  49441. case int32(_FcSevereError):
  49442. s = __ccgo_ts + 7134
  49443. break
  49444. }
  49445. if parse != 0 {
  49446. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  49447. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7140, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  49448. } else {
  49449. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7171, libc.VaList(bp+8, s, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  49450. }
  49451. if severe >= int32(_FcSevereError) {
  49452. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  49453. }
  49454. } else {
  49455. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7196, libc.VaList(bp+8, s))
  49456. }
  49457. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  49458. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  49459. _ = args
  49460. }
  49461. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  49462. switch type1 {
  49463. case int32(_FcTypeVoid):
  49464. return __ccgo_ts + 7212
  49465. case int32(_FcTypeInteger):
  49466. fallthrough
  49467. case int32(_FcTypeDouble):
  49468. return __ccgo_ts + 7217
  49469. case int32(_FcTypeString):
  49470. return __ccgo_ts + 7224
  49471. case int32(_FcTypeBool):
  49472. return __ccgo_ts + 7231
  49473. case int32(_FcTypeMatrix):
  49474. return __ccgo_ts + 6523
  49475. case int32(_FcTypeCharSet):
  49476. return __ccgo_ts + 6248
  49477. case int32(_FcTypeFTFace):
  49478. return __ccgo_ts + 7236
  49479. case int32(_FcTypeLangSet):
  49480. return __ccgo_ts + 7244
  49481. case int32(_FcTypeRange):
  49482. return __ccgo_ts + 7252
  49483. case int32(_FcTypeUnknown):
  49484. fallthrough
  49485. default:
  49486. return __ccgo_ts + 4812
  49487. }
  49488. return r
  49489. }
  49490. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  49491. bp := tls.Alloc(32)
  49492. defer tls.Free(32)
  49493. if value == int32(_FcTypeInteger) {
  49494. value = int32(_FcTypeDouble)
  49495. }
  49496. if type1 == int32(_FcTypeInteger) {
  49497. type1 = int32(_FcTypeDouble)
  49498. }
  49499. if value != type1 {
  49500. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  49501. return
  49502. }
  49503. if type1 == int32(_FcTypeUnknown) {
  49504. return
  49505. }
  49506. /* It's perfectly fine to use user-define elements in expressions,
  49507. * so don't warn in that case. */
  49508. if value == int32(_FcTypeUnknown) {
  49509. return
  49510. }
  49511. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7258, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  49512. }
  49513. }
  49514. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  49515. bp := tls.Alloc(16)
  49516. defer tls.Free(16)
  49517. var c, o uintptr
  49518. _, _ = c, o
  49519. /* If parsing the expression failed, some nodes may be NULL */
  49520. if !(expr != 0) {
  49521. return
  49522. }
  49523. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  49524. case int32(_FcOpInteger):
  49525. fallthrough
  49526. case int32(_FcOpDouble):
  49527. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  49528. case int32(_FcOpString):
  49529. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  49530. case int32(_FcOpMatrix):
  49531. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  49532. case int32(_FcOpBool):
  49533. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49534. case int32(_FcOpCharSet):
  49535. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  49536. case int32(_FcOpLangSet):
  49537. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  49538. case int32(_FcOpRange):
  49539. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  49540. case int32(_FcOpNil):
  49541. case int32(_FcOpField):
  49542. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  49543. if o != 0 {
  49544. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  49545. }
  49546. case int32(_FcOpConst):
  49547. c = XFcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  49548. if c != 0 {
  49549. o = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  49550. if o != 0 {
  49551. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  49552. }
  49553. } else {
  49554. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7278, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  49555. }
  49556. case int32(_FcOpQuest):
  49557. _FcTypecheckExpr(tls, parse, (*(*struct {
  49558. Fleft uintptr
  49559. Fright uintptr
  49560. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  49561. _FcTypecheckExpr(tls, parse, (*(*struct {
  49562. Fleft uintptr
  49563. Fright uintptr
  49564. })(unsafe.Pointer((*(*struct {
  49565. Fleft uintptr
  49566. Fright uintptr
  49567. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  49568. _FcTypecheckExpr(tls, parse, (*(*struct {
  49569. Fleft uintptr
  49570. Fright uintptr
  49571. })(unsafe.Pointer((*(*struct {
  49572. Fleft uintptr
  49573. Fright uintptr
  49574. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  49575. case int32(_FcOpAssign):
  49576. fallthrough
  49577. case int32(_FcOpAssignReplace):
  49578. case int32(_FcOpEqual):
  49579. fallthrough
  49580. case int32(_FcOpNotEqual):
  49581. fallthrough
  49582. case int32(_FcOpLess):
  49583. fallthrough
  49584. case int32(_FcOpLessEqual):
  49585. fallthrough
  49586. case int32(_FcOpMore):
  49587. fallthrough
  49588. case int32(_FcOpMoreEqual):
  49589. fallthrough
  49590. case int32(_FcOpContains):
  49591. fallthrough
  49592. case int32(_FcOpNotContains):
  49593. fallthrough
  49594. case int32(_FcOpListing):
  49595. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49596. case int32(_FcOpComma):
  49597. fallthrough
  49598. case int32(_FcOpOr):
  49599. fallthrough
  49600. case int32(_FcOpAnd):
  49601. fallthrough
  49602. case int32(_FcOpPlus):
  49603. fallthrough
  49604. case int32(_FcOpMinus):
  49605. fallthrough
  49606. case int32(_FcOpTimes):
  49607. fallthrough
  49608. case int32(_FcOpDivide):
  49609. _FcTypecheckExpr(tls, parse, (*(*struct {
  49610. Fleft uintptr
  49611. Fright uintptr
  49612. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  49613. _FcTypecheckExpr(tls, parse, (*(*struct {
  49614. Fleft uintptr
  49615. Fright uintptr
  49616. })(unsafe.Pointer(expr + 8))).Fright, type1)
  49617. case int32(_FcOpNot):
  49618. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  49619. _FcTypecheckExpr(tls, parse, (*(*struct {
  49620. Fleft uintptr
  49621. Fright uintptr
  49622. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  49623. case int32(_FcOpFloor):
  49624. fallthrough
  49625. case int32(_FcOpCeil):
  49626. fallthrough
  49627. case int32(_FcOpRound):
  49628. fallthrough
  49629. case int32(_FcOpTrunc):
  49630. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  49631. _FcTypecheckExpr(tls, parse, (*(*struct {
  49632. Fleft uintptr
  49633. Fright uintptr
  49634. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  49635. default:
  49636. break
  49637. }
  49638. }
  49639. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  49640. var o, test uintptr
  49641. _, _ = o, test
  49642. test = libc.Xmalloc(tls, uint64(24))
  49643. if test != 0 {
  49644. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  49645. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  49646. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  49647. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  49648. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  49649. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  49650. if o != 0 {
  49651. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  49652. }
  49653. }
  49654. return test
  49655. }
  49656. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  49657. var e, o uintptr
  49658. _, _ = e, o
  49659. e = libc.Xmalloc(tls, uint64(24))
  49660. if e != 0 {
  49661. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  49662. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  49663. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  49664. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  49665. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  49666. if o != 0 {
  49667. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  49668. }
  49669. }
  49670. return e
  49671. }
  49672. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  49673. var r uintptr
  49674. _ = r
  49675. r = libc.Xmalloc(tls, uint64(24))
  49676. if !(r != 0) {
  49677. return libc.UintptrFromInt32(0)
  49678. }
  49679. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  49680. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  49681. switch type1 {
  49682. case int32(_FcRuleTest):
  49683. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  49684. case int32(_FcRuleEdit):
  49685. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  49686. case int32(_FcRuleUnknown):
  49687. fallthrough
  49688. default:
  49689. libc.Xfree(tls, r)
  49690. r = libc.UintptrFromInt32(0)
  49691. break
  49692. }
  49693. return r
  49694. }
  49695. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  49696. var new1, v2, v3 uintptr
  49697. var v1 uint32
  49698. _, _, _, _ = new1, v1, v2, v3
  49699. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  49700. v2 = parse + 2496
  49701. v1 = *(*uint32)(unsafe.Pointer(v2))
  49702. *(*uint32)(unsafe.Pointer(v2))++
  49703. new1 = parse + 2504 + uintptr(v1)*32
  49704. } else {
  49705. new1 = libc.Xmalloc(tls, uint64(32))
  49706. if !(new1 != 0) {
  49707. return uintptr(0)
  49708. }
  49709. }
  49710. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  49711. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  49712. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49713. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  49714. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  49715. } else {
  49716. v3 = uintptr(0)
  49717. }
  49718. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  49719. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  49720. return new1
  49721. }
  49722. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  49723. var vstack uintptr
  49724. _ = vstack
  49725. vstack = _FcVStackCreateAndPush(tls, parse)
  49726. if !(vstack != 0) {
  49727. return m_FcFalse
  49728. }
  49729. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  49730. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  49731. return int32(m_FcTrue)
  49732. }
  49733. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  49734. var vstack uintptr
  49735. _ = vstack
  49736. vstack = _FcVStackCreateAndPush(tls, parse)
  49737. if !(vstack != 0) {
  49738. return m_FcFalse
  49739. }
  49740. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  49741. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  49742. return int32(m_FcTrue)
  49743. }
  49744. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  49745. var vstack uintptr
  49746. _ = vstack
  49747. vstack = _FcVStackCreateAndPush(tls, parse)
  49748. if !(vstack != 0) {
  49749. return m_FcFalse
  49750. }
  49751. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  49752. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  49753. return int32(m_FcTrue)
  49754. }
  49755. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  49756. var vstack uintptr
  49757. _ = vstack
  49758. vstack = _FcVStackCreateAndPush(tls, parse)
  49759. if !(vstack != 0) {
  49760. return m_FcFalse
  49761. }
  49762. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  49763. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  49764. return int32(m_FcTrue)
  49765. }
  49766. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  49767. var vstack uintptr
  49768. _ = vstack
  49769. vstack = _FcVStackCreateAndPush(tls, parse)
  49770. if !(vstack != 0) {
  49771. return m_FcFalse
  49772. }
  49773. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  49774. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  49775. return int32(m_FcTrue)
  49776. }
  49777. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  49778. var vstack uintptr
  49779. _ = vstack
  49780. vstack = _FcVStackCreateAndPush(tls, parse)
  49781. if !(vstack != 0) {
  49782. return m_FcFalse
  49783. }
  49784. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  49785. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  49786. return int32(m_FcTrue)
  49787. }
  49788. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  49789. var vstack uintptr
  49790. _ = vstack
  49791. if !(charset != 0) {
  49792. return m_FcFalse
  49793. }
  49794. vstack = _FcVStackCreateAndPush(tls, parse)
  49795. if !(vstack != 0) {
  49796. return m_FcFalse
  49797. }
  49798. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  49799. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  49800. return int32(m_FcTrue)
  49801. }
  49802. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  49803. var vstack uintptr
  49804. _ = vstack
  49805. if !(langset != 0) {
  49806. return m_FcFalse
  49807. }
  49808. vstack = _FcVStackCreateAndPush(tls, parse)
  49809. if !(vstack != 0) {
  49810. return m_FcFalse
  49811. }
  49812. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  49813. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  49814. return int32(m_FcTrue)
  49815. }
  49816. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  49817. var vstack uintptr
  49818. _ = vstack
  49819. vstack = _FcVStackCreateAndPush(tls, parse)
  49820. if !(vstack != 0) {
  49821. return m_FcFalse
  49822. }
  49823. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  49824. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  49825. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  49826. return int32(m_FcTrue)
  49827. }
  49828. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  49829. var vstack uintptr
  49830. _ = vstack
  49831. vstack = _FcVStackCreateAndPush(tls, parse)
  49832. if !(vstack != 0) {
  49833. return m_FcFalse
  49834. }
  49835. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  49836. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  49837. return int32(m_FcTrue)
  49838. }
  49839. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  49840. var vstack uintptr
  49841. _ = vstack
  49842. vstack = _FcVStackCreateAndPush(tls, parse)
  49843. if !(vstack != 0) {
  49844. return m_FcFalse
  49845. }
  49846. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  49847. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  49848. return int32(m_FcTrue)
  49849. }
  49850. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  49851. var vstack uintptr
  49852. _ = vstack
  49853. vstack = _FcVStackCreateAndPush(tls, parse)
  49854. if !(vstack != 0) {
  49855. return m_FcFalse
  49856. }
  49857. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  49858. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  49859. return int32(m_FcTrue)
  49860. }
  49861. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  49862. var vstack uintptr
  49863. _ = vstack
  49864. vstack = _FcVStackCreateAndPush(tls, parse)
  49865. if !(vstack != 0) {
  49866. return m_FcFalse
  49867. }
  49868. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  49869. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  49870. return int32(m_FcTrue)
  49871. }
  49872. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  49873. var vstack uintptr
  49874. var v2 int32
  49875. var v3 bool
  49876. _, _, _ = vstack, v2, v3
  49877. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49878. for {
  49879. if v3 = vstack != 0; v3 {
  49880. v2 = off
  49881. off--
  49882. }
  49883. if !(v3 && v2 > 0) {
  49884. break
  49885. }
  49886. goto _1
  49887. _1:
  49888. ;
  49889. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  49890. }
  49891. return vstack
  49892. }
  49893. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  49894. var vstack, v1 uintptr
  49895. _, _ = vstack, v1
  49896. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49897. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  49898. v1 = vstack
  49899. } else {
  49900. v1 = uintptr(0)
  49901. }
  49902. return v1
  49903. }
  49904. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  49905. var vstack uintptr
  49906. _ = vstack
  49907. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49908. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  49909. return
  49910. }
  49911. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  49912. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49913. case int32(_FcVStackNone):
  49914. case int32(_FcVStackName):
  49915. case int32(_FcVStackFamily):
  49916. case int32(_FcVStackString):
  49917. fallthrough
  49918. case int32(_FcVStackConstant):
  49919. fallthrough
  49920. case int32(_FcVStackGlob):
  49921. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49922. case int32(_FcVStackPattern):
  49923. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49924. case int32(_FcVStackInteger):
  49925. fallthrough
  49926. case int32(_FcVStackDouble):
  49927. case int32(_FcVStackMatrix):
  49928. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49929. case int32(_FcVStackBool):
  49930. case int32(_FcVStackRange):
  49931. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49932. case int32(_FcVStackCharSet):
  49933. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49934. case int32(_FcVStackLangSet):
  49935. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49936. case int32(_FcVStackTest):
  49937. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49938. case int32(_FcVStackExpr):
  49939. fallthrough
  49940. case int32(_FcVStackPrefer):
  49941. fallthrough
  49942. case int32(_FcVStackAccept):
  49943. fallthrough
  49944. case int32(_FcVStackDefault):
  49945. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49946. case int32(_FcVStackEdit):
  49947. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49948. break
  49949. }
  49950. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  49951. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  49952. } else {
  49953. libc.Xfree(tls, vstack)
  49954. }
  49955. }
  49956. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  49957. for _FcVStackPeek(tls, parse) != 0 {
  49958. _FcVStackPopAndDestroy(tls, parse)
  49959. }
  49960. }
  49961. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  49962. var h int32
  49963. var vstack uintptr
  49964. _, _ = h, vstack
  49965. h = 0
  49966. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  49967. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  49968. h++
  49969. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  49970. }
  49971. return h
  49972. }
  49973. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  49974. var i, slen int32
  49975. var new1, s uintptr
  49976. _, _, _, _ = i, new1, s, slen
  49977. if !(attr != 0) {
  49978. return uintptr(0)
  49979. }
  49980. slen = 0
  49981. i = 0
  49982. for {
  49983. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  49984. break
  49985. }
  49986. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  49987. goto _1
  49988. _1:
  49989. ;
  49990. i++
  49991. }
  49992. if i == 0 {
  49993. return uintptr(0)
  49994. }
  49995. slen = int32(uint64(slen) + libc.Uint64FromInt32(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  49996. if slen <= size_bytes {
  49997. new1 = buf
  49998. } else {
  49999. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(slen))
  50000. if !(new1 != 0) {
  50001. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7305, 0)
  50002. return uintptr(0)
  50003. }
  50004. }
  50005. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  50006. i = 0
  50007. for {
  50008. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  50009. break
  50010. }
  50011. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  50012. libc.X__builtin___strcpy_chk(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)), ^t__predefined_size_t(0))
  50013. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  50014. goto _2
  50015. _2:
  50016. ;
  50017. i++
  50018. }
  50019. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  50020. return new1
  50021. }
  50022. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  50023. var new1, v2 uintptr
  50024. var v1 uint32
  50025. _, _, _ = new1, v1, v2
  50026. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  50027. v2 = parse + 56
  50028. v1 = *(*uint32)(unsafe.Pointer(v2))
  50029. *(*uint32)(unsafe.Pointer(v2))++
  50030. new1 = parse + 64 + uintptr(v1)*304
  50031. } else {
  50032. new1 = libc.Xmalloc(tls, uint64(304))
  50033. if !(new1 != 0) {
  50034. return m_FcFalse
  50035. }
  50036. }
  50037. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  50038. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  50039. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  50040. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  50041. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  50042. return int32(m_FcTrue)
  50043. }
  50044. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  50045. bp := tls.Alloc(16)
  50046. defer tls.Free(16)
  50047. var attrs, old uintptr
  50048. _, _ = attrs, old
  50049. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50050. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7319, 0)
  50051. return m_FcFalse
  50052. }
  50053. /* Don't check the attributes for FcElementNone */
  50054. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  50055. /* Warn about unused attrs. */
  50056. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  50057. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  50058. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  50059. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7339, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  50060. }
  50061. attrs += uintptr(2) * 8
  50062. }
  50063. }
  50064. _FcVStackClear(tls, parse)
  50065. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  50066. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  50067. XFcStrBufDestroy(tls, old+24)
  50068. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  50069. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  50070. }
  50071. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  50072. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  50073. } else {
  50074. libc.Xfree(tls, old)
  50075. }
  50076. return int32(m_FcTrue)
  50077. }
  50078. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  50079. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  50080. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  50081. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  50082. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  50083. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  50084. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  50085. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  50086. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  50087. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  50088. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  50089. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  50090. return int32(m_FcTrue)
  50091. }
  50092. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  50093. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  50094. _FcPStackPop(tls, parse)
  50095. }
  50096. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  50097. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  50098. }
  50099. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  50100. var attrs uintptr
  50101. _ = attrs
  50102. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50103. return uintptr(0)
  50104. }
  50105. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  50106. if !(attrs != 0) {
  50107. return uintptr(0)
  50108. }
  50109. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  50110. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  50111. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  50112. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  50113. }
  50114. attrs += uintptr(2) * 8
  50115. }
  50116. return uintptr(0)
  50117. }
  50118. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  50119. bp := tls.Alloc(32)
  50120. defer tls.Free(32)
  50121. var e, p, parent, retval, s uintptr
  50122. var i int32
  50123. _, _, _, _, _, _ = e, i, p, parent, retval, s
  50124. parent = libc.UintptrFromInt32(0)
  50125. retval = libc.UintptrFromInt32(0)
  50126. e = libc.UintptrFromInt32(0)
  50127. if prefix != 0 {
  50128. if XFcStrCmp(tls, prefix, __ccgo_ts+7362) == 0 {
  50129. parent = XFcConfigXdgDataHome(tls)
  50130. if !(parent != 0) {
  50131. /* Home directory might be disabled */
  50132. return libc.UintptrFromInt32(0)
  50133. }
  50134. e = XFcConfigXdgDataDirs(tls)
  50135. if !(e != 0) {
  50136. XFcStrFree(tls, parent)
  50137. return libc.UintptrFromInt32(0)
  50138. }
  50139. } else {
  50140. if XFcStrCmp(tls, prefix, __ccgo_ts+7366) == 0 || XFcStrCmp(tls, prefix, __ccgo_ts+7374) == 0 {
  50141. /* Nothing to do */
  50142. } else {
  50143. if XFcStrCmp(tls, prefix, __ccgo_ts+7378) == 0 {
  50144. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  50145. if !(p != 0) {
  50146. return libc.UintptrFromInt32(0)
  50147. }
  50148. parent = XFcStrDirname(tls, p)
  50149. if !(parent != 0) {
  50150. libc.Xfree(tls, p)
  50151. return libc.UintptrFromInt32(0)
  50152. }
  50153. }
  50154. }
  50155. }
  50156. } else {
  50157. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  50158. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7387, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  50159. }
  50160. }
  50161. if parent != 0 {
  50162. retval = XFcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  50163. XFcStrFree(tls, parent)
  50164. } else {
  50165. retval = libc.Xstrdup(tls, path)
  50166. }
  50167. if !(e != 0) {
  50168. e = XFcStrSetCreate(tls)
  50169. } else {
  50170. i = 0
  50171. for {
  50172. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  50173. break
  50174. }
  50175. s = XFcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  50176. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)))
  50177. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)) = s
  50178. goto _1
  50179. _1:
  50180. ;
  50181. i++
  50182. }
  50183. }
  50184. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  50185. XFcStrSetDestroy(tls, e)
  50186. e = libc.UintptrFromInt32(0)
  50187. }
  50188. XFcStrFree(tls, retval)
  50189. return e
  50190. }
  50191. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  50192. bp := tls.Alloc(16)
  50193. defer tls.Free(16)
  50194. var element TFcElement
  50195. var parse uintptr
  50196. _, _ = element, parse
  50197. parse = userData
  50198. element = _FcElementMap(tls, name)
  50199. if element == int32(_FcElementUnknown) {
  50200. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7482, libc.VaList(bp+8, name))
  50201. }
  50202. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  50203. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50204. return
  50205. }
  50206. return
  50207. }
  50208. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  50209. var n, v1 int32
  50210. var v uintptr
  50211. _, _, _ = n, v, v1
  50212. n = _FcVStackElements(tls, parse)
  50213. for {
  50214. v1 = n
  50215. n--
  50216. if !(v1 > 0) {
  50217. break
  50218. }
  50219. v = _FcVStackFetch(tls, parse, n)
  50220. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  50221. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7503, 0)
  50222. } else {
  50223. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  50224. }
  50225. }
  50226. }
  50227. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  50228. bp := tls.Alloc(32)
  50229. defer tls.Free(32)
  50230. var l int32
  50231. var s uintptr
  50232. var _ /* end at bp+0 */ uintptr
  50233. _, _ = l, s
  50234. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50235. return
  50236. }
  50237. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50238. if !(s != 0) {
  50239. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50240. return
  50241. }
  50242. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  50243. l = int32(libc.Xstrtol(tls, s, bp, 0))
  50244. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  50245. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7522, libc.VaList(bp+16, s))
  50246. } else {
  50247. _FcVStackPushInteger(tls, parse, l)
  50248. }
  50249. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50250. }
  50251. type Tlconv = struct {
  50252. Fdecimal_point uintptr
  50253. Fthousands_sep uintptr
  50254. Fgrouping uintptr
  50255. Fint_curr_symbol uintptr
  50256. Fcurrency_symbol uintptr
  50257. Fmon_decimal_point uintptr
  50258. Fmon_thousands_sep uintptr
  50259. Fmon_grouping uintptr
  50260. Fpositive_sign uintptr
  50261. Fnegative_sign uintptr
  50262. Fint_frac_digits int8
  50263. Ffrac_digits int8
  50264. Fp_cs_precedes int8
  50265. Fp_sep_by_space int8
  50266. Fn_cs_precedes int8
  50267. Fn_sep_by_space int8
  50268. Fp_sign_posn int8
  50269. Fn_sign_posn int8
  50270. Fint_p_cs_precedes int8
  50271. Fint_n_cs_precedes int8
  50272. Fint_p_sep_by_space int8
  50273. Fint_n_sep_by_space int8
  50274. Fint_p_sign_posn int8
  50275. Fint_n_sign_posn int8
  50276. }
  50277. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  50278. bp := tls.Alloc(144)
  50279. defer tls.Free(144)
  50280. var decimal_point, dot, locale_data, v1 uintptr
  50281. var dlen, slen int32
  50282. var v float64
  50283. var _ /* buf at bp+0 */ [128]int8
  50284. var _ /* buf_end at bp+128 */ uintptr
  50285. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  50286. /*
  50287. * Have to swap the decimal point to match the current locale
  50288. * if that locale doesn't use 0x2e
  50289. */
  50290. locale_data = libc.Xlocaleconv(tls)
  50291. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  50292. dlen = libc.Int32FromUint64(libc.Xstrlen(tls, decimal_point))
  50293. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  50294. dot = v1
  50295. if v1 != 0 && (int32(*(*int8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || int32(*(*int8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  50296. slen = libc.Int32FromUint64(libc.Xstrlen(tls, s))
  50297. if slen+dlen > libc.Int32FromInt64(128) {
  50298. if end != 0 {
  50299. *(*uintptr)(unsafe.Pointer(end)) = s
  50300. }
  50301. v = libc.Float64FromInt32(0)
  50302. } else {
  50303. /* mantissa */
  50304. libc.X__builtin___strncpy_chk(tls, bp, s, libc.Uint64FromInt64(int64(dot)-int64(s)), ^t__predefined_size_t(0))
  50305. /* decimal point */
  50306. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point, ^t__predefined_size_t(0))
  50307. /* rest of number */
  50308. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1), ^t__predefined_size_t(0))
  50309. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  50310. v = libc.Xstrtod(tls, bp, bp+128)
  50311. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  50312. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  50313. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  50314. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  50315. }
  50316. }
  50317. if end != 0 {
  50318. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  50319. }
  50320. }
  50321. } else {
  50322. v = libc.Xstrtod(tls, s, end)
  50323. }
  50324. return v
  50325. }
  50326. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  50327. bp := tls.Alloc(32)
  50328. defer tls.Free(32)
  50329. var d float64
  50330. var s uintptr
  50331. var _ /* end at bp+0 */ uintptr
  50332. _, _ = d, s
  50333. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50334. return
  50335. }
  50336. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50337. if !(s != 0) {
  50338. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50339. return
  50340. }
  50341. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  50342. d = _FcStrtod(tls, s, bp)
  50343. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  50344. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7548, libc.VaList(bp+16, s))
  50345. } else {
  50346. _FcVStackPushDouble(tls, parse, d)
  50347. }
  50348. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50349. }
  50350. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  50351. var s uintptr
  50352. _ = s
  50353. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50354. return
  50355. }
  50356. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50357. if !(s != 0) {
  50358. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50359. return
  50360. }
  50361. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  50362. XFcStrFree(tls, s)
  50363. }
  50364. }
  50365. func _FcParseName(tls *libc.TLS, parse uintptr) {
  50366. bp := tls.Alloc(16)
  50367. defer tls.Free(16)
  50368. var kind TFcMatchKind
  50369. var kind_string, s uintptr
  50370. var object TFcObject
  50371. _, _, _, _ = kind, kind_string, object, s
  50372. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7573)
  50373. if !(kind_string != 0) {
  50374. kind = -libc.Int32FromInt32(1)
  50375. } else {
  50376. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7580) != 0) {
  50377. kind = int32(_FcMatchPattern)
  50378. } else {
  50379. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7588) != 0) {
  50380. kind = int32(_FcMatchFont)
  50381. } else {
  50382. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7366) != 0) {
  50383. kind = -libc.Int32FromInt32(1)
  50384. } else {
  50385. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7593, libc.VaList(bp+8, kind_string))
  50386. return
  50387. }
  50388. }
  50389. }
  50390. }
  50391. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50392. return
  50393. }
  50394. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50395. if !(s != 0) {
  50396. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50397. return
  50398. }
  50399. object = XFcObjectFromName(tls, s)
  50400. _FcVStackPushName(tls, parse, kind, object)
  50401. XFcStrFree(tls, s)
  50402. }
  50403. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  50404. bp := tls.Alloc(32)
  50405. defer tls.Free(32)
  50406. var _ /* m at bp+0 */ TFcExprMatrix
  50407. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  50408. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  50409. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  50410. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  50411. 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) {
  50412. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7618, 0)
  50413. return
  50414. }
  50415. if _FcPopExpr(tls, parse) != 0 {
  50416. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7651, 0)
  50417. } else {
  50418. _FcVStackPushMatrix(tls, parse, bp)
  50419. }
  50420. }
  50421. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  50422. var count int32
  50423. var d [2]float64
  50424. var dflag TFcBool
  50425. var n [2]TFcChar32
  50426. var r, vstack, v1 uintptr
  50427. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  50428. n = [2]TFcChar32{}
  50429. count = int32(1)
  50430. d = [2]float64{}
  50431. dflag = m_FcFalse
  50432. for {
  50433. v1 = _FcVStackPeek(tls, parse)
  50434. vstack = v1
  50435. if !(v1 != 0) {
  50436. break
  50437. }
  50438. if count < 0 {
  50439. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7683, 0)
  50440. return
  50441. }
  50442. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50443. case int32(_FcVStackInteger):
  50444. if dflag != 0 {
  50445. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50446. } else {
  50447. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50448. }
  50449. case int32(_FcVStackDouble):
  50450. if count == 0 && !(dflag != 0) {
  50451. d[int32(1)] = float64(n[int32(1)])
  50452. }
  50453. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  50454. dflag = int32(m_FcTrue)
  50455. default:
  50456. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7710, 0)
  50457. if dflag != 0 {
  50458. d[count] = libc.Float64FromFloat64(0)
  50459. } else {
  50460. n[count] = uint32(0)
  50461. }
  50462. break
  50463. }
  50464. count--
  50465. _FcVStackPopAndDestroy(tls, parse)
  50466. }
  50467. if count >= 0 {
  50468. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7735, 0)
  50469. return
  50470. }
  50471. if dflag != 0 {
  50472. if d[0] > d[int32(1)] {
  50473. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7735, 0)
  50474. return
  50475. }
  50476. r = XFcRangeCreateDouble(tls, d[0], d[int32(1)])
  50477. } else {
  50478. if n[0] > n[int32(1)] {
  50479. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7735, 0)
  50480. return
  50481. }
  50482. r = XFcRangeCreateInteger(tls, n[0], n[int32(1)])
  50483. }
  50484. _FcVStackPushRange(tls, parse, r)
  50485. }
  50486. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  50487. bp := tls.Alloc(32)
  50488. defer tls.Free(32)
  50489. var _ /* result at bp+0 */ TFcBool
  50490. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  50491. if !(XFcNameBool(tls, bool_, bp) != 0) {
  50492. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7749, libc.VaList(bp+16, bool_))
  50493. }
  50494. return *(*TFcBool)(unsafe.Pointer(bp))
  50495. }
  50496. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  50497. var s uintptr
  50498. _ = s
  50499. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50500. return
  50501. }
  50502. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50503. if !(s != 0) {
  50504. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50505. return
  50506. }
  50507. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  50508. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50509. }
  50510. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  50511. bp := tls.Alloc(16)
  50512. defer tls.Free(16)
  50513. var begin, end, i TFcChar32
  50514. var charset, vstack, v1 uintptr
  50515. var n int32
  50516. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  50517. charset = XFcCharSetCreate(tls)
  50518. n = 0
  50519. for {
  50520. v1 = _FcVStackPeek(tls, parse)
  50521. vstack = v1
  50522. if !(v1 != 0) {
  50523. break
  50524. }
  50525. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50526. case int32(_FcVStackInteger):
  50527. if !(XFcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  50528. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7775, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  50529. } else {
  50530. n++
  50531. }
  50532. case int32(_FcVStackRange):
  50533. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  50534. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  50535. if begin <= end {
  50536. i = begin
  50537. for {
  50538. if !(i <= end) {
  50539. break
  50540. }
  50541. if !(XFcCharSetAddChar(tls, charset, i) != 0) {
  50542. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7775, libc.VaList(bp+8, i))
  50543. } else {
  50544. n++
  50545. }
  50546. goto _2
  50547. _2:
  50548. ;
  50549. i++
  50550. }
  50551. }
  50552. default:
  50553. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7801, 0)
  50554. break
  50555. }
  50556. _FcVStackPopAndDestroy(tls, parse)
  50557. }
  50558. if n > 0 {
  50559. _FcVStackPushCharSet(tls, parse, charset)
  50560. } else {
  50561. XFcCharSetDestroy(tls, charset)
  50562. }
  50563. }
  50564. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  50565. bp := tls.Alloc(16)
  50566. defer tls.Free(16)
  50567. var langset, vstack, v1 uintptr
  50568. var n int32
  50569. _, _, _, _ = langset, n, vstack, v1
  50570. langset = XFcLangSetCreate(tls)
  50571. n = 0
  50572. for {
  50573. v1 = _FcVStackPeek(tls, parse)
  50574. vstack = v1
  50575. if !(v1 != 0) {
  50576. break
  50577. }
  50578. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50579. case int32(_FcVStackString):
  50580. if !(XFcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  50581. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7828, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  50582. } else {
  50583. n++
  50584. }
  50585. default:
  50586. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7848, 0)
  50587. break
  50588. }
  50589. _FcVStackPopAndDestroy(tls, parse)
  50590. }
  50591. if n > 0 {
  50592. _FcVStackPushLangSet(tls, parse, langset)
  50593. } else {
  50594. XFcLangSetDestroy(tls, langset)
  50595. }
  50596. }
  50597. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  50598. bp := tls.Alloc(16)
  50599. defer tls.Free(16)
  50600. var binding TFcValueBinding
  50601. _ = binding
  50602. if !(binding_string != 0) {
  50603. binding = int32(_FcValueBindingWeak)
  50604. } else {
  50605. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7875) != 0) {
  50606. binding = int32(_FcValueBindingWeak)
  50607. } else {
  50608. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7880) != 0) {
  50609. binding = int32(_FcValueBindingStrong)
  50610. } else {
  50611. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7887) != 0) {
  50612. binding = int32(_FcValueBindingSame)
  50613. } else {
  50614. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7892, libc.VaList(bp+8, binding_string))
  50615. return m_FcFalse
  50616. }
  50617. }
  50618. }
  50619. }
  50620. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  50621. return int32(m_FcTrue)
  50622. }
  50623. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  50624. var expr, left, new1, vstack, v1 uintptr
  50625. _, _, _, _, _ = expr, left, new1, vstack, v1
  50626. expr = uintptr(0)
  50627. for {
  50628. v1 = _FcVStackPeek(tls, parse)
  50629. vstack = v1
  50630. if !(v1 != 0) {
  50631. break
  50632. }
  50633. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  50634. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7913, 0)
  50635. _FcVStackPopAndDestroy(tls, parse)
  50636. continue
  50637. }
  50638. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50639. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50640. _FcVStackPopAndDestroy(tls, parse)
  50641. if expr != 0 {
  50642. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  50643. if !(new1 != 0) {
  50644. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50645. _FcExprDestroy(tls, left)
  50646. _FcExprDestroy(tls, expr)
  50647. break
  50648. }
  50649. expr = new1
  50650. } else {
  50651. expr = left
  50652. }
  50653. }
  50654. if expr != 0 {
  50655. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  50656. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50657. _FcExprDestroy(tls, expr)
  50658. }
  50659. }
  50660. }
  50661. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  50662. var expr, s uintptr
  50663. _, _ = expr, s
  50664. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50665. return
  50666. }
  50667. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50668. if !(s != 0) {
  50669. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50670. return
  50671. }
  50672. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  50673. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50674. if expr != 0 {
  50675. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  50676. }
  50677. }
  50678. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  50679. bp := tls.Alloc(16)
  50680. defer tls.Free(16)
  50681. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  50682. var n, v4 int32
  50683. var _ /* binding at bp+0 */ TFcValueBinding
  50684. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  50685. family = uintptr(0)
  50686. accept = uintptr(0)
  50687. prefer = uintptr(0)
  50688. def = uintptr(0)
  50689. new1 = uintptr(0)
  50690. edit = uintptr(0)
  50691. rule = libc.UintptrFromInt32(0)
  50692. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7924), bp) != 0) {
  50693. return
  50694. }
  50695. for {
  50696. v1 = _FcVStackPeek(tls, parse)
  50697. vstack = v1
  50698. if !(v1 != 0) {
  50699. break
  50700. }
  50701. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50702. case int32(_FcVStackFamily):
  50703. if family != 0 {
  50704. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7932, 0)
  50705. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  50706. if !(new1 != 0) {
  50707. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50708. } else {
  50709. family = new1
  50710. }
  50711. } else {
  50712. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50713. }
  50714. if new1 != 0 {
  50715. family = new1
  50716. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50717. }
  50718. case int32(_FcVStackPrefer):
  50719. if prefer != 0 {
  50720. _FcExprDestroy(tls, prefer)
  50721. }
  50722. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50723. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50724. case int32(_FcVStackAccept):
  50725. if accept != 0 {
  50726. _FcExprDestroy(tls, accept)
  50727. }
  50728. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50729. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50730. case int32(_FcVStackDefault):
  50731. if def != 0 {
  50732. _FcExprDestroy(tls, def)
  50733. }
  50734. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50735. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50736. case int32(_FcVStackTest):
  50737. if rule != 0 {
  50738. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50739. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  50740. rule = r
  50741. } else {
  50742. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50743. }
  50744. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50745. default:
  50746. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8013, 0)
  50747. break
  50748. }
  50749. _FcVStackPopAndDestroy(tls, parse)
  50750. }
  50751. if !(family != 0) {
  50752. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8023, 0)
  50753. if prefer != 0 {
  50754. _FcExprDestroy(tls, prefer)
  50755. }
  50756. if accept != 0 {
  50757. _FcExprDestroy(tls, accept)
  50758. }
  50759. if def != 0 {
  50760. _FcExprDestroy(tls, def)
  50761. }
  50762. if rule != 0 {
  50763. XFcRuleDestroy(tls, rule)
  50764. }
  50765. return
  50766. }
  50767. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  50768. _FcExprDestroy(tls, family)
  50769. if rule != 0 {
  50770. XFcRuleDestroy(tls, rule)
  50771. }
  50772. return
  50773. } else {
  50774. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+6100, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  50775. if rule != 0 {
  50776. r = rule
  50777. for {
  50778. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  50779. break
  50780. }
  50781. goto _2
  50782. _2:
  50783. ;
  50784. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  50785. }
  50786. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  50787. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  50788. } else {
  50789. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  50790. rule = v3
  50791. r = v3
  50792. }
  50793. }
  50794. if prefer != 0 {
  50795. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  50796. if !(edit != 0) {
  50797. _FcExprDestroy(tls, prefer)
  50798. } else {
  50799. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  50800. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  50801. }
  50802. }
  50803. if accept != 0 {
  50804. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  50805. if !(edit != 0) {
  50806. _FcExprDestroy(tls, accept)
  50807. } else {
  50808. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  50809. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  50810. }
  50811. }
  50812. if def != 0 {
  50813. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  50814. if !(edit != 0) {
  50815. _FcExprDestroy(tls, def)
  50816. } else {
  50817. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  50818. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  50819. }
  50820. }
  50821. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  50822. n = v4
  50823. if v4 == -int32(1) {
  50824. XFcRuleDestroy(tls, rule)
  50825. } else {
  50826. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  50827. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  50828. }
  50829. }
  50830. }
  50831. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  50832. var desc, domain uintptr
  50833. _, _ = desc, domain
  50834. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8047)
  50835. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50836. if !(desc != 0) {
  50837. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50838. return
  50839. }
  50840. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  50841. XFcStrFree(tls, desc)
  50842. }
  50843. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  50844. bp := tls.Alloc(32)
  50845. defer tls.Free(32)
  50846. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  50847. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  50848. prefix_dirs = libc.UintptrFromInt32(0)
  50849. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50850. if !(data != 0) {
  50851. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50852. return
  50853. }
  50854. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  50855. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8054, 0)
  50856. return
  50857. }
  50858. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8098)
  50859. if !(path != 0) {
  50860. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8106, 0)
  50861. return
  50862. }
  50863. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8135)
  50864. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8142)
  50865. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  50866. if prefix_dirs != 0 {
  50867. l = XFcStrListCreate(tls, prefix_dirs)
  50868. XFcStrSetDestroy(tls, prefix_dirs)
  50869. for {
  50870. v1 = XFcStrListNext(tls, l)
  50871. prefix = v1
  50872. if !(v1 != 0) {
  50873. break
  50874. }
  50875. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  50876. /* nop */
  50877. } else {
  50878. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  50879. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  50880. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8147, libc.VaList(bp+8, prefix, path))
  50881. }
  50882. }
  50883. }
  50884. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50885. }
  50886. XFcStrListDone(tls, l)
  50887. }
  50888. }
  50889. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  50890. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  50891. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  50892. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8200, 0)
  50893. }
  50894. }
  50895. }
  50896. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  50897. var expr, vstack uintptr
  50898. _, _ = expr, vstack
  50899. vstack = _FcVStackPeek(tls, parse)
  50900. expr = uintptr(0)
  50901. if !(vstack != 0) {
  50902. return uintptr(0)
  50903. }
  50904. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50905. case int32(_FcVStackNone):
  50906. case int32(_FcVStackString):
  50907. fallthrough
  50908. case int32(_FcVStackFamily):
  50909. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50910. case int32(_FcVStackName):
  50911. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  50912. case int32(_FcVStackConstant):
  50913. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50914. case int32(_FcVStackGlob):
  50915. /* XXX: What's the correct action here? (CDW) */
  50916. case int32(_FcVStackPrefer):
  50917. fallthrough
  50918. case int32(_FcVStackAccept):
  50919. fallthrough
  50920. case int32(_FcVStackDefault):
  50921. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50922. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50923. case int32(_FcVStackInteger):
  50924. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50925. case int32(_FcVStackDouble):
  50926. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  50927. case int32(_FcVStackMatrix):
  50928. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50929. case int32(_FcVStackRange):
  50930. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50931. case int32(_FcVStackBool):
  50932. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  50933. case int32(_FcVStackCharSet):
  50934. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50935. case int32(_FcVStackLangSet):
  50936. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50937. case int32(_FcVStackTest):
  50938. case int32(_FcVStackExpr):
  50939. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  50940. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50941. case int32(_FcVStackEdit):
  50942. default:
  50943. break
  50944. }
  50945. _FcVStackPopAndDestroy(tls, parse)
  50946. return expr
  50947. }
  50948. // C documentation
  50949. //
  50950. // /*
  50951. // * This builds a tree of binary operations. Note
  50952. // * that every operator is defined so that if only
  50953. // * a single operand is contained, the value of the
  50954. // * whole expression is the value of the operand.
  50955. // *
  50956. // * This code reduces in that case to returning that
  50957. // * operand.
  50958. // */
  50959. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  50960. var expr, left, new1, v1 uintptr
  50961. _, _, _, _ = expr, left, new1, v1
  50962. expr = uintptr(0)
  50963. for {
  50964. v1 = _FcPopExpr(tls, parse)
  50965. left = v1
  50966. if !(v1 != 0) {
  50967. break
  50968. }
  50969. if expr != 0 {
  50970. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  50971. if !(new1 != 0) {
  50972. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  50973. _FcExprDestroy(tls, left)
  50974. _FcExprDestroy(tls, expr)
  50975. return uintptr(0)
  50976. }
  50977. expr = new1
  50978. } else {
  50979. expr = left
  50980. }
  50981. }
  50982. return expr
  50983. }
  50984. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  50985. var expr uintptr
  50986. _ = expr
  50987. expr = _FcPopBinary(tls, parse, op)
  50988. if expr != 0 {
  50989. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  50990. }
  50991. }
  50992. /*
  50993. * This builds a a unary operator, it consumes only
  50994. * a single operand
  50995. */
  50996. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  50997. var new1, operand, v1 uintptr
  50998. _, _, _ = new1, operand, v1
  50999. new1 = uintptr(0)
  51000. v1 = _FcPopExpr(tls, parse)
  51001. operand = v1
  51002. if v1 != 0 {
  51003. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  51004. if !(new1 != 0) {
  51005. _FcExprDestroy(tls, operand)
  51006. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51007. }
  51008. }
  51009. return new1
  51010. }
  51011. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  51012. var expr uintptr
  51013. _ = expr
  51014. expr = _FcPopUnary(tls, parse, op)
  51015. if expr != 0 {
  51016. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  51017. }
  51018. }
  51019. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  51020. bp := tls.Alloc(16)
  51021. defer tls.Free(16)
  51022. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  51023. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  51024. prefix_dirs = libc.UintptrFromInt32(0)
  51025. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51026. if !(data != 0) {
  51027. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51028. return
  51029. }
  51030. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  51031. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8227, 0)
  51032. return
  51033. }
  51034. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8135)
  51035. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8142)
  51036. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  51037. if prefix_dirs != 0 {
  51038. l = XFcStrListCreate(tls, prefix_dirs)
  51039. XFcStrSetDestroy(tls, prefix_dirs)
  51040. for {
  51041. v1 = XFcStrListNext(tls, l)
  51042. prefix = v1
  51043. if !(v1 != 0) {
  51044. break
  51045. }
  51046. if !(prefix != 0) || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  51047. /* nop */
  51048. } else {
  51049. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  51050. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  51051. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8261, libc.VaList(bp+8, prefix))
  51052. }
  51053. }
  51054. }
  51055. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51056. }
  51057. XFcStrListDone(tls, l)
  51058. }
  51059. }
  51060. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  51061. bp := tls.Alloc(16)
  51062. defer tls.Free(16)
  51063. var attr, data, p, prefix uintptr
  51064. var dlen, plen Tsize_t
  51065. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  51066. prefix = libc.UintptrFromInt32(0)
  51067. data = libc.UintptrFromInt32(0)
  51068. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8135)
  51069. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7362) == 0 {
  51070. prefix = XFcConfigXdgCacheHome(tls)
  51071. /* home directory might be disabled.
  51072. * simply ignore this element.
  51073. */
  51074. if !(prefix != 0) {
  51075. goto bail
  51076. }
  51077. }
  51078. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51079. if !(data != 0) {
  51080. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51081. data = prefix
  51082. goto bail
  51083. }
  51084. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  51085. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8300, 0)
  51086. XFcStrFree(tls, data)
  51087. data = prefix
  51088. goto bail
  51089. }
  51090. if prefix != 0 {
  51091. plen = libc.Xstrlen(tls, prefix)
  51092. dlen = libc.Xstrlen(tls, data)
  51093. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  51094. if !(p != 0) {
  51095. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51096. XFcStrFree(tls, prefix)
  51097. goto bail
  51098. }
  51099. prefix = p
  51100. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  51101. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), data, dlen, ^t__predefined_size_t(0))
  51102. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  51103. XFcStrFree(tls, data)
  51104. data = prefix
  51105. }
  51106. if libc.Xstrlen(tls, data) == uint64(0) {
  51107. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8300, 0)
  51108. } else {
  51109. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XFcConfigHome(tls) != 0) {
  51110. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  51111. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8335, libc.VaList(bp+8, data))
  51112. }
  51113. }
  51114. }
  51115. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51116. goto bail
  51117. bail:
  51118. ;
  51119. if data != 0 {
  51120. XFcStrFree(tls, data)
  51121. }
  51122. }
  51123. func XFcConfigPathFini(tls *libc.TLS) {
  51124. var s uintptr
  51125. var v1, v2 int32
  51126. _, _, _ = s, v1, v2
  51127. goto retry_dir
  51128. retry_dir:
  51129. ;
  51130. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  51131. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  51132. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  51133. v1 = libc.Int32FromInt32(m_FcTrue)
  51134. } else {
  51135. v1 = m_FcFalse
  51136. }
  51137. if !(v1 != 0) {
  51138. goto retry_dir
  51139. }
  51140. libc.Xfree(tls, s)
  51141. goto retry_conf
  51142. retry_conf:
  51143. ;
  51144. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  51145. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  51146. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  51147. v2 = libc.Int32FromInt32(m_FcTrue)
  51148. } else {
  51149. v2 = m_FcFalse
  51150. }
  51151. if !(v2 != 0) {
  51152. goto retry_conf
  51153. }
  51154. libc.Xfree(tls, s)
  51155. }
  51156. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  51157. bp := tls.Alloc(48)
  51158. defer tls.Free(48)
  51159. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  51160. var deprecated, ignore_missing TFcBool
  51161. var dlen, plen Tsize_t
  51162. var k TFcMatchKind
  51163. var v3, v6 int32
  51164. var _ /* iter at bp+0 */ TFcPtrListIter
  51165. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  51166. ignore_missing = m_FcFalse
  51167. deprecated = m_FcFalse
  51168. prefix = libc.UintptrFromInt32(0)
  51169. userdir = libc.UintptrFromInt32(0)
  51170. userconf = libc.UintptrFromInt32(0)
  51171. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51172. if !(s != 0) {
  51173. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51174. goto bail
  51175. }
  51176. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8380)
  51177. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  51178. ignore_missing = int32(m_FcTrue)
  51179. }
  51180. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8395)
  51181. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  51182. deprecated = int32(m_FcTrue)
  51183. }
  51184. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8135)
  51185. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7362) == 0 {
  51186. prefix = XFcConfigXdgConfigHome(tls)
  51187. /* home directory might be disabled.
  51188. * simply ignore this element.
  51189. */
  51190. if !(prefix != 0) {
  51191. goto bail
  51192. }
  51193. }
  51194. if prefix != 0 {
  51195. plen = libc.Xstrlen(tls, prefix)
  51196. dlen = libc.Xstrlen(tls, s)
  51197. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  51198. if !(p != 0) {
  51199. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51200. goto bail
  51201. }
  51202. prefix = p
  51203. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  51204. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), s, dlen, ^t__predefined_size_t(0))
  51205. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  51206. s = prefix
  51207. if !(XFcFileIsDir(tls, s) != 0) {
  51208. goto _1
  51209. }
  51210. goto userdir
  51211. userdir:
  51212. ;
  51213. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  51214. if !(userdir != 0) {
  51215. u = libc.Xstrdup(tls, s)
  51216. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  51217. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  51218. v3 = libc.Int32FromInt32(m_FcTrue)
  51219. } else {
  51220. v3 = m_FcFalse
  51221. }
  51222. if !(v3 != 0) {
  51223. libc.Xfree(tls, u)
  51224. goto userdir
  51225. }
  51226. userdir = u
  51227. }
  51228. goto _2
  51229. _1:
  51230. ;
  51231. if !(XFcFileIsFile(tls, s) != 0) {
  51232. goto _4
  51233. }
  51234. goto userconf
  51235. userconf:
  51236. ;
  51237. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  51238. if !(userconf != 0) {
  51239. u = libc.Xstrdup(tls, s)
  51240. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  51241. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  51242. v6 = libc.Int32FromInt32(m_FcTrue)
  51243. } else {
  51244. v6 = m_FcFalse
  51245. }
  51246. if !(v6 != 0) {
  51247. libc.Xfree(tls, u)
  51248. goto userconf
  51249. }
  51250. userconf = u
  51251. }
  51252. goto _5
  51253. _4:
  51254. ;
  51255. /* No config dir nor file on the XDG directory spec compliant place
  51256. * so need to guess what it is supposed to be.
  51257. */
  51258. if XFcStrStr(tls, s, __ccgo_ts+8406) != libc.UintptrFromInt32(0) {
  51259. goto userdir
  51260. } else {
  51261. goto userconf
  51262. }
  51263. _5:
  51264. ;
  51265. _2:
  51266. }
  51267. /* flush the ruleset into the queue */
  51268. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  51269. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  51270. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  51271. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  51272. k = int32(_FcMatchKindBegin)
  51273. for {
  51274. if !(k < int32(_FcMatchKindEnd)) {
  51275. break
  51276. }
  51277. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  51278. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  51279. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp)
  51280. XFcRuleSetReference(tls, ruleset)
  51281. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp, ruleset)
  51282. }
  51283. goto _7
  51284. _7:
  51285. ;
  51286. k++
  51287. }
  51288. XFcRuleSetDestroy(tls, ruleset)
  51289. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  51290. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  51291. } else {
  51292. filename = XFcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  51293. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  51294. if XFcFileIsDir(tls, filename) != 0 {
  51295. parent = XFcStrDirname(tls, userdir)
  51296. if !(XFcFileIsDir(tls, parent) != 0) {
  51297. XFcMakeDirectory(tls, parent)
  51298. }
  51299. XFcStrFree(tls, parent)
  51300. if XFcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  51301. if !(_warn_confd != 0) {
  51302. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8413, libc.VaList(bp+32, s, userdir))
  51303. _warn_confd = int32(m_FcTrue)
  51304. }
  51305. }
  51306. } else {
  51307. parent1 = XFcStrDirname(tls, userconf)
  51308. if !(XFcFileIsDir(tls, parent1) != 0) {
  51309. XFcMakeDirectory(tls, parent1)
  51310. }
  51311. XFcStrFree(tls, parent1)
  51312. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  51313. if !(_warn_conf != 0) {
  51314. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8413, libc.VaList(bp+32, s, userconf))
  51315. _warn_conf = int32(m_FcTrue)
  51316. }
  51317. }
  51318. }
  51319. }
  51320. if filename != 0 {
  51321. XFcStrFree(tls, filename)
  51322. }
  51323. }
  51324. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51325. goto bail
  51326. bail:
  51327. ;
  51328. if prefix != 0 {
  51329. XFcStrFree(tls, prefix)
  51330. }
  51331. }
  51332. var _warn_conf TFcBool
  51333. var _warn_confd TFcBool
  51334. type TFcOpMap = struct {
  51335. Fname [16]int8
  51336. Fop TFcOp
  51337. }
  51338. type T_FcOpMap = TFcOpMap
  51339. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  51340. var i int32
  51341. _ = i
  51342. i = 0
  51343. for {
  51344. if !(i < nmap) {
  51345. break
  51346. }
  51347. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  51348. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  51349. }
  51350. goto _1
  51351. _1:
  51352. ;
  51353. i++
  51354. }
  51355. return int32(_FcOpInvalid)
  51356. }
  51357. var _fcCompareOps = [8]TFcOpMap{
  51358. 0: {
  51359. Fname: [16]int8{'e', 'q'},
  51360. Fop: int32(_FcOpEqual),
  51361. },
  51362. 1: {
  51363. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  51364. Fop: int32(_FcOpNotEqual),
  51365. },
  51366. 2: {
  51367. Fname: [16]int8{'l', 'e', 's', 's'},
  51368. Fop: int32(_FcOpLess),
  51369. },
  51370. 3: {
  51371. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  51372. Fop: int32(_FcOpLessEqual),
  51373. },
  51374. 4: {
  51375. Fname: [16]int8{'m', 'o', 'r', 'e'},
  51376. Fop: int32(_FcOpMore),
  51377. },
  51378. 5: {
  51379. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  51380. Fop: int32(_FcOpMoreEqual),
  51381. },
  51382. 6: {
  51383. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  51384. Fop: int32(_FcOpContains),
  51385. },
  51386. 7: {
  51387. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  51388. Fop: int32(_FcOpNotContains),
  51389. },
  51390. }
  51391. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  51392. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  51393. }
  51394. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  51395. bp := tls.Alloc(32)
  51396. defer tls.Free(32)
  51397. var compare TFcOp
  51398. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  51399. var flags int32
  51400. var kind TFcMatchKind
  51401. var qual TFcQual
  51402. var _ /* f at bp+0 */ TFcBool
  51403. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  51404. flags = 0
  51405. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7573)
  51406. if !(kind_string != 0) {
  51407. kind = -libc.Int32FromInt32(1)
  51408. } else {
  51409. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7580) != 0) {
  51410. kind = int32(_FcMatchPattern)
  51411. } else {
  51412. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7588) != 0) {
  51413. kind = int32(_FcMatchFont)
  51414. } else {
  51415. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8489) != 0) {
  51416. kind = int32(_FcMatchScan)
  51417. } else {
  51418. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7366) != 0) {
  51419. kind = -libc.Int32FromInt32(1)
  51420. } else {
  51421. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8494, libc.VaList(bp+16, kind_string))
  51422. return
  51423. }
  51424. }
  51425. }
  51426. }
  51427. }
  51428. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8519)
  51429. if !(qual_string != 0) {
  51430. qual = int32(_FcQualAny)
  51431. } else {
  51432. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8524) != 0) {
  51433. qual = int32(_FcQualAny)
  51434. } else {
  51435. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8528) != 0) {
  51436. qual = int32(_FcQualAll)
  51437. } else {
  51438. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8532) != 0) {
  51439. qual = int32(_FcQualFirst)
  51440. } else {
  51441. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8538) != 0) {
  51442. qual = int32(_FcQualNotFirst)
  51443. } else {
  51444. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8548, libc.VaList(bp+16, qual_string))
  51445. return
  51446. }
  51447. }
  51448. }
  51449. }
  51450. }
  51451. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8571)
  51452. if !(name != 0) {
  51453. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8576, 0)
  51454. return
  51455. }
  51456. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8594)
  51457. if !(compare_string != 0) {
  51458. compare = int32(_FcOpEqual)
  51459. } else {
  51460. compare = _FcConfigLexCompare(tls, compare_string)
  51461. if compare == int32(_FcOpInvalid) {
  51462. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8602, libc.VaList(bp+16, compare_string))
  51463. return
  51464. }
  51465. }
  51466. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8628)
  51467. if iblanks_string != 0 {
  51468. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  51469. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  51470. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8642, libc.VaList(bp+16, iblanks_string))
  51471. }
  51472. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  51473. flags |= int32(_FcOpFlagIgnoreBlanks)
  51474. }
  51475. }
  51476. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  51477. if !(expr != 0) {
  51478. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8674, 0)
  51479. return
  51480. }
  51481. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  51482. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8698, 0)
  51483. }
  51484. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  51485. if !(test != 0) {
  51486. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51487. return
  51488. }
  51489. _FcVStackPushTest(tls, parse, test)
  51490. }
  51491. var _fcModeOps = [8]TFcOpMap{
  51492. 0: {
  51493. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n'},
  51494. Fop: int32(_FcOpAssign),
  51495. },
  51496. 1: {
  51497. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  51498. Fop: int32(_FcOpAssignReplace),
  51499. },
  51500. 2: {
  51501. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  51502. Fop: int32(_FcOpPrepend),
  51503. },
  51504. 3: {
  51505. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  51506. Fop: int32(_FcOpPrependFirst),
  51507. },
  51508. 4: {
  51509. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd'},
  51510. Fop: int32(_FcOpAppend),
  51511. },
  51512. 5: {
  51513. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  51514. Fop: int32(_FcOpAppendLast),
  51515. },
  51516. 6: {
  51517. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e'},
  51518. Fop: int32(_FcOpDelete),
  51519. },
  51520. 7: {
  51521. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  51522. Fop: int32(_FcOpDeleteAll),
  51523. },
  51524. }
  51525. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  51526. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  51527. }
  51528. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  51529. bp := tls.Alloc(32)
  51530. defer tls.Free(32)
  51531. var edit, expr, mode_string, name uintptr
  51532. var mode TFcOp
  51533. var _ /* binding at bp+0 */ TFcValueBinding
  51534. _, _, _, _, _ = edit, expr, mode, mode_string, name
  51535. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8571)
  51536. if !(name != 0) {
  51537. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8776, 0)
  51538. return
  51539. }
  51540. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8794)
  51541. if !(mode_string != 0) {
  51542. mode = int32(_FcOpAssign)
  51543. } else {
  51544. mode = _FcConfigLexMode(tls, mode_string)
  51545. if mode == int32(_FcOpInvalid) {
  51546. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8799, libc.VaList(bp+16, mode_string))
  51547. return
  51548. }
  51549. }
  51550. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7924), bp) != 0) {
  51551. return
  51552. }
  51553. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  51554. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  51555. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8822, 0)
  51556. _FcExprDestroy(tls, expr)
  51557. expr = libc.UintptrFromInt32(0)
  51558. }
  51559. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  51560. if !(edit != 0) {
  51561. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51562. _FcExprDestroy(tls, expr)
  51563. return
  51564. }
  51565. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  51566. XFcEditDestroy(tls, edit)
  51567. }
  51568. }
  51569. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  51570. bp := tls.Alloc(16)
  51571. defer tls.Free(16)
  51572. var kind TFcMatchKind
  51573. var kind_name, r, rule, vstack, v1 uintptr
  51574. var n, v2 int32
  51575. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  51576. rule = libc.UintptrFromInt32(0)
  51577. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7573)
  51578. if !(kind_name != 0) {
  51579. kind = int32(_FcMatchPattern)
  51580. } else {
  51581. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7580) != 0) {
  51582. kind = int32(_FcMatchPattern)
  51583. } else {
  51584. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7588) != 0) {
  51585. kind = int32(_FcMatchFont)
  51586. } else {
  51587. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8489) != 0) {
  51588. kind = int32(_FcMatchScan)
  51589. } else {
  51590. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8884, libc.VaList(bp+8, kind_name))
  51591. return
  51592. }
  51593. }
  51594. }
  51595. }
  51596. for {
  51597. v1 = _FcVStackPeek(tls, parse)
  51598. vstack = v1
  51599. if !(v1 != 0) {
  51600. break
  51601. }
  51602. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51603. case int32(_FcVStackTest):
  51604. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51605. if rule != 0 {
  51606. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  51607. }
  51608. rule = r
  51609. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51610. case int32(_FcVStackEdit):
  51611. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  51612. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8910, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  51613. if rule != 0 {
  51614. XFcRuleDestroy(tls, rule)
  51615. }
  51616. return
  51617. }
  51618. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51619. if rule != 0 {
  51620. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  51621. }
  51622. rule = r
  51623. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51624. default:
  51625. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8969, 0)
  51626. break
  51627. }
  51628. _FcVStackPopAndDestroy(tls, parse)
  51629. }
  51630. if !(rule != 0) {
  51631. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8991, 0)
  51632. return
  51633. }
  51634. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  51635. n = v2
  51636. if v2 == -int32(1) {
  51637. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51638. XFcRuleDestroy(tls, rule)
  51639. } else {
  51640. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  51641. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  51642. }
  51643. }
  51644. }
  51645. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  51646. var vstack, v1 uintptr
  51647. _, _ = vstack, v1
  51648. for {
  51649. v1 = _FcVStackPeek(tls, parse)
  51650. vstack = v1
  51651. if !(v1 != 0) {
  51652. break
  51653. }
  51654. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51655. case int32(_FcVStackGlob):
  51656. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigGlobAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  51657. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51658. } else {
  51659. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  51660. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51661. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51662. }
  51663. }
  51664. case int32(_FcVStackPattern):
  51665. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && !(XFcConfigPatternsAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), libc.BoolInt32(element == int32(_FcElementAcceptfont))) != 0) {
  51666. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51667. } else {
  51668. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  51669. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51670. }
  51671. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  51672. }
  51673. default:
  51674. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+9032, 0)
  51675. break
  51676. }
  51677. _FcVStackPopAndDestroy(tls, parse)
  51678. }
  51679. }
  51680. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  51681. bp := tls.Alloc(32)
  51682. defer tls.Free(32)
  51683. var vstack uintptr
  51684. var _ /* value at bp+0 */ TFcValue
  51685. _ = vstack
  51686. vstack = _FcVStackPeek(tls, parse)
  51687. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  51688. if !(vstack != 0) {
  51689. return *(*TFcValue)(unsafe.Pointer(bp))
  51690. }
  51691. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51692. case int32(_FcVStackString):
  51693. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51694. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51695. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  51696. }
  51697. case int32(_FcVStackConstant):
  51698. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  51699. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  51700. }
  51701. case int32(_FcVStackInteger):
  51702. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  51703. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  51704. case int32(_FcVStackDouble):
  51705. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  51706. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  51707. case int32(_FcVStackBool):
  51708. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  51709. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  51710. case int32(_FcVStackCharSet):
  51711. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51712. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51713. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  51714. }
  51715. case int32(_FcVStackLangSet):
  51716. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51717. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51718. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  51719. }
  51720. case int32(_FcVStackRange):
  51721. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  51722. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  51723. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  51724. }
  51725. default:
  51726. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+9050, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  51727. break
  51728. }
  51729. _FcVStackPopAndDestroy(tls, parse)
  51730. return *(*TFcValue)(unsafe.Pointer(bp))
  51731. }
  51732. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  51733. var name, pattern uintptr
  51734. var value TFcValue
  51735. _, _, _ = name, pattern, value
  51736. pattern = XFcPatternCreate(tls)
  51737. if !(pattern != 0) {
  51738. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51739. return
  51740. }
  51741. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8571)
  51742. if !(name != 0) {
  51743. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+9077, 0)
  51744. XFcPatternDestroy(tls, pattern)
  51745. return
  51746. }
  51747. for {
  51748. value = _FcPopValue(tls, parse)
  51749. if value.Ftype1 == int32(_FcTypeVoid) {
  51750. break
  51751. }
  51752. if !(XFcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  51753. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51754. XFcValueDestroy(tls, value)
  51755. break
  51756. }
  51757. XFcValueDestroy(tls, value)
  51758. goto _1
  51759. _1:
  51760. }
  51761. _FcVStackPushPattern(tls, parse, pattern)
  51762. }
  51763. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  51764. var pattern, vstack, v1 uintptr
  51765. _, _, _ = pattern, vstack, v1
  51766. pattern = XFcPatternCreate(tls)
  51767. if !(pattern != 0) {
  51768. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51769. return
  51770. }
  51771. for {
  51772. v1 = _FcVStackPeek(tls, parse)
  51773. vstack = v1
  51774. if !(v1 != 0) {
  51775. break
  51776. }
  51777. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  51778. case int32(_FcVStackPattern):
  51779. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  51780. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51781. XFcPatternDestroy(tls, pattern)
  51782. return
  51783. }
  51784. default:
  51785. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+9106, 0)
  51786. break
  51787. }
  51788. _FcVStackPopAndDestroy(tls, parse)
  51789. }
  51790. _FcVStackPushPattern(tls, parse, pattern)
  51791. }
  51792. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  51793. var data, parse uintptr
  51794. _, _ = data, parse
  51795. parse = userData
  51796. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  51797. return
  51798. }
  51799. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  51800. case int32(_FcElementNone):
  51801. case int32(_FcElementFontconfig):
  51802. case int32(_FcElementDir):
  51803. _FcParseDir(tls, parse)
  51804. case int32(_FcElementCacheDir):
  51805. _FcParseCacheDir(tls, parse)
  51806. case int32(_FcElementCache):
  51807. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51808. if !(data != 0) {
  51809. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51810. break
  51811. }
  51812. /* discard this data; no longer used */
  51813. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  51814. case int32(_FcElementInclude):
  51815. _FcParseInclude(tls, parse)
  51816. case int32(_FcElementConfig):
  51817. case int32(_FcElementMatch):
  51818. _FcParseMatch(tls, parse)
  51819. case int32(_FcElementAlias):
  51820. _FcParseAlias(tls, parse)
  51821. case int32(_FcElementDescription):
  51822. _FcParseDescription(tls, parse)
  51823. case int32(_FcElementRemapDir):
  51824. _FcParseRemapDir(tls, parse)
  51825. case int32(_FcElementResetDirs):
  51826. _FcParseResetDirs(tls, parse)
  51827. case int32(_FcElementRescan):
  51828. _FcParseRescan(tls, parse)
  51829. case int32(_FcElementPrefer):
  51830. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  51831. case int32(_FcElementAccept):
  51832. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  51833. case int32(_FcElementDefault):
  51834. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  51835. case int32(_FcElementFamily):
  51836. _FcParseFamily(tls, parse)
  51837. case int32(_FcElementTest):
  51838. _FcParseTest(tls, parse)
  51839. case int32(_FcElementEdit):
  51840. _FcParseEdit(tls, parse)
  51841. case int32(_FcElementInt):
  51842. _FcParseInt(tls, parse)
  51843. case int32(_FcElementDouble):
  51844. _FcParseDouble(tls, parse)
  51845. case int32(_FcElementString):
  51846. _FcParseString(tls, parse, int32(_FcVStackString))
  51847. case int32(_FcElementMatrix):
  51848. _FcParseMatrix(tls, parse)
  51849. case int32(_FcElementRange):
  51850. _FcParseRange(tls, parse)
  51851. case int32(_FcElementBool):
  51852. _FcParseBool(tls, parse)
  51853. case int32(_FcElementCharSet):
  51854. _FcParseCharSet(tls, parse)
  51855. case int32(_FcElementLangSet):
  51856. _FcParseLangSet(tls, parse)
  51857. case int32(_FcElementSelectfont):
  51858. case int32(_FcElementAcceptfont):
  51859. fallthrough
  51860. case int32(_FcElementRejectfont):
  51861. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  51862. case int32(_FcElementGlob):
  51863. _FcParseString(tls, parse, int32(_FcVStackGlob))
  51864. case int32(_FcElementPattern):
  51865. _FcParsePattern(tls, parse)
  51866. case int32(_FcElementPatelt):
  51867. _FcParsePatelt(tls, parse)
  51868. case int32(_FcElementName):
  51869. _FcParseName(tls, parse)
  51870. case int32(_FcElementConst):
  51871. _FcParseString(tls, parse, int32(_FcVStackConstant))
  51872. case int32(_FcElementOr):
  51873. _FcParseBinary(tls, parse, int32(_FcOpOr))
  51874. case int32(_FcElementAnd):
  51875. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  51876. case int32(_FcElementEq):
  51877. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  51878. case int32(_FcElementNotEq):
  51879. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  51880. case int32(_FcElementLess):
  51881. _FcParseBinary(tls, parse, int32(_FcOpLess))
  51882. case int32(_FcElementLessEq):
  51883. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  51884. case int32(_FcElementMore):
  51885. _FcParseBinary(tls, parse, int32(_FcOpMore))
  51886. case int32(_FcElementMoreEq):
  51887. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  51888. case int32(_FcElementContains):
  51889. _FcParseBinary(tls, parse, int32(_FcOpContains))
  51890. case int32(_FcElementNotContains):
  51891. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  51892. case int32(_FcElementPlus):
  51893. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  51894. case int32(_FcElementMinus):
  51895. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  51896. case int32(_FcElementTimes):
  51897. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  51898. case int32(_FcElementDivide):
  51899. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  51900. case int32(_FcElementNot):
  51901. _FcParseUnary(tls, parse, int32(_FcOpNot))
  51902. case int32(_FcElementIf):
  51903. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  51904. case int32(_FcElementFloor):
  51905. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  51906. case int32(_FcElementCeil):
  51907. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  51908. case int32(_FcElementRound):
  51909. _FcParseUnary(tls, parse, int32(_FcOpRound))
  51910. case int32(_FcElementTrunc):
  51911. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  51912. case int32(_FcElementUnknown):
  51913. break
  51914. }
  51915. _FcPStackPop(tls, parse)
  51916. }
  51917. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  51918. var parse uintptr
  51919. _ = parse
  51920. parse = userData
  51921. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  51922. return
  51923. }
  51924. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  51925. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7305, 0)
  51926. }
  51927. }
  51928. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  51929. bp := tls.Alloc(16)
  51930. defer tls.Free(16)
  51931. var parse uintptr
  51932. _ = parse
  51933. parse = userData
  51934. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+9130) != 0 {
  51935. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+9141, libc.VaList(bp+8, doctypeName))
  51936. }
  51937. }
  51938. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  51939. }
  51940. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  51941. var as, bs uintptr
  51942. _, _ = as, bs
  51943. as = *(*uintptr)(unsafe.Pointer(a))
  51944. bs = *(*uintptr)(unsafe.Pointer(b))
  51945. return XFcStrCmp(tls, as, bs)
  51946. }
  51947. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  51948. bp := tls.Alloc(16)
  51949. defer tls.Free(16)
  51950. var base, d, e, file, files, v1 uintptr
  51951. var d_len, i int32
  51952. var ret TFcBool
  51953. var v2 bool
  51954. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  51955. ret = int32(m_FcTrue)
  51956. d = libc.Xopendir(tls, dir)
  51957. if !(d != 0) {
  51958. if complain != 0 {
  51959. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9162, libc.VaList(bp+8, name))
  51960. }
  51961. ret = m_FcFalse
  51962. goto bail0
  51963. }
  51964. /* freed below */
  51965. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  51966. if !(file != 0) {
  51967. ret = m_FcFalse
  51968. goto bail1
  51969. }
  51970. libc.X__builtin___strcpy_chk(tls, file, dir, ^t__predefined_size_t(0))
  51971. libc.X__builtin___strcat_chk(tls, file, __ccgo_ts+1485, ^t__predefined_size_t(0))
  51972. base = file + uintptr(libc.Xstrlen(tls, file))
  51973. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  51974. if !(files != 0) {
  51975. ret = m_FcFalse
  51976. goto bail2
  51977. }
  51978. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  51979. libc.Xprintf(tls, __ccgo_ts+9190, libc.VaList(bp+8, dir))
  51980. }
  51981. if load != 0 {
  51982. XFcConfigAddConfigDir(tls, config, dir)
  51983. }
  51984. for {
  51985. if v2 = ret != 0; v2 {
  51986. v1 = libc.Xreaddir(tls, d)
  51987. e = v1
  51988. }
  51989. if !(v2 && v1 != 0) {
  51990. break
  51991. }
  51992. /*
  51993. * Add all files of the form [0-9]*.conf
  51994. */
  51995. d_len = libc.Int32FromUint64(libc.Xstrlen(tls, e+21))
  51996. if int32('0') <= int32(*(*int8)(unsafe.Pointer(e + 21))) && int32(*(*int8)(unsafe.Pointer(e + 21))) <= int32('9') && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+21+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+9215) == 0 {
  51997. libc.X__builtin___strcpy_chk(tls, base, e+21, ^t__predefined_size_t(0))
  51998. if !(XFcStrSetAdd(tls, files, file) != 0) {
  51999. ret = m_FcFalse
  52000. goto bail3
  52001. }
  52002. }
  52003. }
  52004. if ret != 0 {
  52005. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  52006. i = 0
  52007. for {
  52008. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  52009. break
  52010. }
  52011. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  52012. goto _3
  52013. _3:
  52014. ;
  52015. i++
  52016. }
  52017. }
  52018. goto bail3
  52019. bail3:
  52020. ;
  52021. XFcStrSetDestroy(tls, files)
  52022. goto bail2
  52023. bail2:
  52024. ;
  52025. libc.Xfree(tls, file)
  52026. goto bail1
  52027. bail1:
  52028. ;
  52029. libc.Xclosedir(tls, d)
  52030. goto bail0
  52031. bail0:
  52032. ;
  52033. return libc.BoolInt32(ret != 0 || !(complain != 0))
  52034. return r
  52035. }
  52036. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  52037. bp := tls.Alloc(4640)
  52038. defer tls.Free(4640)
  52039. var buf, s, v1, v3, v4 uintptr
  52040. var buflen, len1 Tsize_t
  52041. var error1 TFcBool
  52042. var k TFcMatchKind
  52043. var p TXML_Parser
  52044. var _ /* iter at bp+4584 */ TFcPtrListIter
  52045. var _ /* liter at bp+4560 */ TFcPtrListIter
  52046. var _ /* parse at bp+0 */ TFcConfigParse
  52047. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  52048. error1 = int32(m_FcTrue)
  52049. if !(buffer != 0) {
  52050. return m_FcFalse
  52051. }
  52052. len1 = libc.Xstrlen(tls, buffer)
  52053. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  52054. if load != 0 {
  52055. v1 = __ccgo_ts + 9221
  52056. } else {
  52057. v1 = __ccgo_ts + 9229
  52058. }
  52059. libc.Xprintf(tls, __ccgo_ts+9238, libc.VaList(bp+4616, v1, filename))
  52060. }
  52061. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9263)
  52062. if !(p != 0) {
  52063. goto bail1
  52064. }
  52065. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  52066. goto bail2
  52067. }
  52068. libexpat.XXML_SetUserData(tls, p, bp)
  52069. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  52070. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  52071. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  52072. s = buffer
  52073. for cond := true; cond; cond = buflen != uint64(0) {
  52074. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  52075. if !(buf != 0) {
  52076. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9269, 0)
  52077. goto bail3
  52078. }
  52079. if len1 > uint64(m_BUFSIZ) {
  52080. buflen = uint64(m_BUFSIZ)
  52081. len1 -= uint64(m_BUFSIZ)
  52082. } else {
  52083. buflen = len1
  52084. len1 = uint64(0)
  52085. }
  52086. libc.X__builtin___memcpy_chk(tls, buf, s, buflen, ^t__predefined_size_t(0))
  52087. s = s + uintptr(buflen)
  52088. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint64(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  52089. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+1991, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  52090. goto bail3
  52091. }
  52092. }
  52093. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  52094. if load != 0 {
  52095. k = int32(_FcMatchKindBegin)
  52096. for {
  52097. if !(k < int32(_FcMatchKindEnd)) {
  52098. break
  52099. }
  52100. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  52101. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  52102. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584)
  52103. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52104. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52105. }
  52106. goto _2
  52107. _2:
  52108. ;
  52109. k++
  52110. }
  52111. }
  52112. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  52113. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52114. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  52115. goto bail3
  52116. bail3:
  52117. ;
  52118. _FcConfigCleanup(tls, bp)
  52119. goto bail2
  52120. bail2:
  52121. ;
  52122. libexpat.XXML_ParserFree(tls, p)
  52123. goto bail1
  52124. bail1:
  52125. ;
  52126. if error1 != 0 && complain != 0 {
  52127. if load != 0 {
  52128. v3 = __ccgo_ts + 9293
  52129. } else {
  52130. v3 = __ccgo_ts + 8489
  52131. }
  52132. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9298, libc.VaList(bp+4616, v3, filename))
  52133. return m_FcFalse
  52134. }
  52135. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  52136. if load != 0 {
  52137. v4 = __ccgo_ts + 9221
  52138. } else {
  52139. v4 = __ccgo_ts + 9229
  52140. }
  52141. libc.Xprintf(tls, __ccgo_ts+9328, libc.VaList(bp+4616, v4, filename))
  52142. }
  52143. return int32(m_FcTrue)
  52144. }
  52145. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  52146. bp := tls.Alloc(2400)
  52147. defer tls.Free(2400)
  52148. var complain_again, ret TFcBool
  52149. var errno_, fd, len1 int32
  52150. var filename, realfilename, v1, v2, v3, v4 uintptr
  52151. var _ /* buf at bp+152 */ [1024]int8
  52152. var _ /* ebuf at bp+1328 */ [1025]int8
  52153. var _ /* reason at bp+1176 */ TFcStrBuf
  52154. var _ /* sbuf at bp+0 */ TFcStrBuf
  52155. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  52156. filename = libc.UintptrFromInt32(0)
  52157. realfilename = libc.UintptrFromInt32(0)
  52158. ret = m_FcFalse
  52159. complain_again = complain
  52160. XFcStrBufInit(tls, bp+1176, libc.UintptrFromInt32(0), 0)
  52161. filename = XFcConfigGetFilename(tls, config, name)
  52162. if !(filename != 0) {
  52163. XFcStrBufString(tls, bp+1176, __ccgo_ts+9358)
  52164. if name != 0 {
  52165. v1 = name
  52166. } else {
  52167. v1 = __ccgo_ts + 4352
  52168. }
  52169. XFcStrBufString(tls, bp+1176, v1)
  52170. goto bail0
  52171. }
  52172. realfilename = XFcConfigRealFilename(tls, config, name)
  52173. if !(realfilename != 0) {
  52174. XFcStrBufString(tls, bp+1176, __ccgo_ts+9373)
  52175. if name != 0 {
  52176. v2 = name
  52177. } else {
  52178. v2 = __ccgo_ts + 4352
  52179. }
  52180. XFcStrBufString(tls, bp+1176, v2)
  52181. goto bail0
  52182. }
  52183. if XFcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  52184. XFcStrFree(tls, filename)
  52185. XFcStrFree(tls, realfilename)
  52186. return int32(m_FcTrue)
  52187. }
  52188. if load != 0 {
  52189. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  52190. goto bail0
  52191. }
  52192. }
  52193. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  52194. goto bail0
  52195. }
  52196. if XFcFileIsDir(tls, realfilename) != 0 {
  52197. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  52198. XFcStrFree(tls, filename)
  52199. XFcStrFree(tls, realfilename)
  52200. return ret
  52201. }
  52202. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  52203. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  52204. if fd == -int32(1) {
  52205. XFcStrBufString(tls, bp+1176, __ccgo_ts+9392)
  52206. XFcStrBufString(tls, bp+1176, realfilename)
  52207. goto bail1
  52208. }
  52209. for cond := true; cond; cond = len1 != 0 {
  52210. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  52211. if len1 < 0 {
  52212. errno_ = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  52213. libc.Xstrerror_r(tls, errno_, bp+1328, uint64(m_BUFSIZ))
  52214. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9408, libc.VaList(bp+2368, realfilename, bp+1328, errno_))
  52215. libc.Xclose(tls, fd)
  52216. goto bail1
  52217. }
  52218. XFcStrBufData(tls, bp, bp+152, len1)
  52219. }
  52220. libc.Xclose(tls, fd)
  52221. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  52222. complain_again = m_FcFalse /* no need to reclaim here */
  52223. goto bail1
  52224. bail1:
  52225. ;
  52226. XFcStrBufDestroy(tls, bp)
  52227. goto bail0
  52228. bail0:
  52229. ;
  52230. if filename != 0 {
  52231. XFcStrFree(tls, filename)
  52232. }
  52233. if realfilename != 0 {
  52234. XFcStrFree(tls, realfilename)
  52235. }
  52236. if !(complain != 0) {
  52237. return int32(m_FcTrue)
  52238. }
  52239. if !(ret != 0) && complain_again != 0 {
  52240. if name != 0 {
  52241. if load != 0 {
  52242. v3 = __ccgo_ts + 9293
  52243. } else {
  52244. v3 = __ccgo_ts + 8489
  52245. }
  52246. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9454, libc.VaList(bp+2368, v3, name, XFcStrBufDoneStatic(tls, bp+1176)))
  52247. } else {
  52248. if load != 0 {
  52249. v4 = __ccgo_ts + 9293
  52250. } else {
  52251. v4 = __ccgo_ts + 8489
  52252. }
  52253. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9485, libc.VaList(bp+2368, v4, XFcStrBufDoneStatic(tls, bp+1176)))
  52254. }
  52255. XFcStrBufDestroy(tls, bp+1176)
  52256. return m_FcFalse
  52257. }
  52258. XFcStrBufDestroy(tls, bp+1176)
  52259. return ret
  52260. }
  52261. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  52262. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  52263. }
  52264. func XFcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  52265. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  52266. }
  52267. func XFcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  52268. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9519, buffer, complain, int32(m_FcTrue))
  52269. }
  52270. const m_FC_DIR_SEPARATOR6 = '/'
  52271. // C documentation
  52272. //
  52273. // /* only used internally */
  52274. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  52275. var block TFT_Pointer
  52276. var error1 TFT_Error
  52277. _, _ = block, error1
  52278. error1 = 0
  52279. block = libc.UintptrFromInt32(0)
  52280. if size > uint64(0) {
  52281. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int64FromUint64(size))
  52282. if !(block != 0) {
  52283. error1 = int32(_FT_Err_Out_Of_Memory)
  52284. }
  52285. }
  52286. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  52287. return block
  52288. }
  52289. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  52290. if block != 0 {
  52291. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  52292. }
  52293. }
  52294. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  52295. return libc.Int64FromUint64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  52296. }
  52297. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  52298. var error1 TFT_Error
  52299. _ = error1
  52300. error1 = 0
  52301. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52302. if (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, libc.Uint64FromInt64(pos), uintptr(0), uint64(0)) != 0 {
  52303. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  52304. }
  52305. } else {
  52306. if pos < 0 || libc.Uint64FromInt64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  52307. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  52308. }
  52309. }
  52310. if !(error1 != 0) {
  52311. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint64FromInt64(pos)
  52312. }
  52313. return error1
  52314. }
  52315. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  52316. bp := tls.Alloc(16)
  52317. defer tls.Free(16)
  52318. var memory TFT_Memory
  52319. var read_bytes TFT_ULong
  52320. var _ /* error at bp+0 */ TFT_Error
  52321. _, _ = memory, read_bytes
  52322. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  52323. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52324. /* allocate the frame in memory */
  52325. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  52326. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  52327. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  52328. goto Exit
  52329. }
  52330. /* read it */
  52331. read_bytes = (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(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)
  52332. if read_bytes < count {
  52333. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  52334. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  52335. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  52336. }
  52337. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  52338. }
  52339. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  52340. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  52341. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  52342. } else {
  52343. /* check current and new position */
  52344. 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 {
  52345. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  52346. goto Exit
  52347. }
  52348. /* set cursor */
  52349. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  52350. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  52351. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  52352. }
  52353. goto Exit
  52354. Exit:
  52355. ;
  52356. return *(*TFT_Error)(unsafe.Pointer(bp))
  52357. }
  52358. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  52359. var memory TFT_Memory
  52360. _ = memory
  52361. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  52362. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  52363. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  52364. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  52365. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  52366. }
  52367. }
  52368. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  52369. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  52370. }
  52371. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  52372. var checksum, offset, sig, size, start, tag TFT_ULong
  52373. var count, nn TFT_UInt
  52374. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  52375. var v12, v3, v6, v9 bool
  52376. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  52377. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  52378. error1 = int32(_FT_Err_Invalid_Face_Handle)
  52379. } else {
  52380. /* parse the directory table directly, without using
  52381. * FreeType's built-in data structures
  52382. */
  52383. offset = uint64(0)
  52384. v1 = Xftglue_stream_seek(tls, stream, 0)
  52385. error1 = v1
  52386. if v3 = v1 != 0; !v3 {
  52387. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  52388. error1 = v2
  52389. }
  52390. if v3 || v2 != 0 {
  52391. goto Exit
  52392. }
  52393. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52394. sig = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52395. Xftglue_stream_frame_exit(tls, stream)
  52396. if sig == uint64(uint32(libc.Uint64FromUint8('t')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('t')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('c')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('f'))) {
  52397. /* deal with TrueType collections */
  52398. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  52399. error1 = v4
  52400. if v6 = v4 != 0; !v6 {
  52401. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  52402. error1 = v5
  52403. }
  52404. if v6 || v5 != 0 {
  52405. goto Exit
  52406. }
  52407. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52408. offset = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52409. Xftglue_stream_frame_exit(tls, stream)
  52410. }
  52411. v7 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(4)))
  52412. error1 = v7
  52413. if v9 = v7 != 0; !v9 {
  52414. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  52415. error1 = v8
  52416. }
  52417. if v9 || v8 != 0 {
  52418. goto Exit
  52419. }
  52420. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  52421. count = uint32(libc.Uint16FromInt16(libc.Int16FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1)))))))
  52422. Xftglue_stream_frame_exit(tls, stream)
  52423. v10 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(12)))
  52424. error1 = v10
  52425. if v12 = v10 != 0; !v12 {
  52426. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  52427. error1 = v11
  52428. }
  52429. if v12 || v11 != 0 {
  52430. goto Exit
  52431. }
  52432. nn = uint32(0)
  52433. for {
  52434. if !(nn < count) {
  52435. break
  52436. }
  52437. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52438. tag = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52439. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52440. checksum = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52441. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52442. start = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52443. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  52444. size = libc.Uint64FromInt64(libc.Int64FromUint64(uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(4))))<<libc.Int32FromInt32(24) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(3))))<<libc.Int32FromInt32(16) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(2))))<<libc.Int32FromInt32(8) | uint64(*(*TFT_Byte)(unsafe.Pointer((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor - libc.UintptrFromInt32(1))))))
  52445. if tag == the_tag {
  52446. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(start))
  52447. goto FoundIt
  52448. }
  52449. goto _13
  52450. _13:
  52451. ;
  52452. nn++
  52453. }
  52454. error1 = int32(_FT_Err_Table_Missing)
  52455. goto FoundIt
  52456. FoundIt:
  52457. ;
  52458. Xftglue_stream_frame_exit(tls, stream)
  52459. }
  52460. goto Exit
  52461. Exit:
  52462. ;
  52463. return error1
  52464. }
  52465. func __ccgo_fp(f interface{}) uintptr {
  52466. type iface [2]uintptr
  52467. return (*iface)(unsafe.Pointer(&f))[1]
  52468. }
  52469. var XFcDebugVal int32
  52470. /*
  52471. * Copyright (c) 2002-2017 Apple Inc. All rights reserved.
  52472. *
  52473. * @APPLE_LICENSE_HEADER_START@
  52474. *
  52475. * The contents of this file constitute Original Code as defined in and
  52476. * are subject to the Apple Public Source License Version 1.1 (the
  52477. * "License"). You may not use this file except in compliance with the
  52478. * License. Please obtain a copy of the License at
  52479. * http://www.apple.com/publicsource and read it before using this file.
  52480. *
  52481. * This Original Code and all software distributed under the License are
  52482. * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52483. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52484. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52485. * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
  52486. * License for the specific language governing rights and limitations
  52487. * under the License.
  52488. *
  52489. * @APPLE_LICENSE_HEADER_END@
  52490. */
  52491. /*
  52492. * Copyright (c) 2000, 2002 - 2008, 2023 Apple Inc. All rights reserved.
  52493. *
  52494. * @APPLE_LICENSE_HEADER_START@
  52495. *
  52496. * This file contains Original Code and/or Modifications of Original Code
  52497. * as defined in and that are subject to the Apple Public Source License
  52498. * Version 2.0 (the 'License'). You may not use this file except in
  52499. * compliance with the License. Please obtain a copy of the License at
  52500. * http://www.opensource.apple.com/apsl/ and read it before using this
  52501. * file.
  52502. *
  52503. * The Original Code and all software distributed under the License are
  52504. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52505. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52506. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52507. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52508. * Please see the License for the specific language governing rights and
  52509. * limitations under the License.
  52510. *
  52511. * @APPLE_LICENSE_HEADER_END@
  52512. */
  52513. /*-
  52514. * Copyright (c) 1990, 1993
  52515. * The Regents of the University of California. All rights reserved.
  52516. *
  52517. * Redistribution and use in source and binary forms, with or without
  52518. * modification, are permitted provided that the following conditions
  52519. * are met:
  52520. * 1. Redistributions of source code must retain the above copyright
  52521. * notice, this list of conditions and the following disclaimer.
  52522. * 2. Redistributions in binary form must reproduce the above copyright
  52523. * notice, this list of conditions and the following disclaimer in the
  52524. * documentation and/or other materials provided with the distribution.
  52525. * 3. All advertising materials mentioning features or use of this software
  52526. * must display the following acknowledgement:
  52527. * This product includes software developed by the University of
  52528. * California, Berkeley and its contributors.
  52529. * 4. Neither the name of the University nor the names of its contributors
  52530. * may be used to endorse or promote products derived from this software
  52531. * without specific prior written permission.
  52532. *
  52533. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52534. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52535. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52536. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52537. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52538. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52539. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52540. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52541. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52542. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52543. * SUCH DAMAGE.
  52544. *
  52545. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  52546. */
  52547. /*
  52548. * Copyright (c) 2023 Apple Inc. All rights reserved.
  52549. *
  52550. * @APPLE_LICENSE_HEADER_START@
  52551. *
  52552. * This file contains Original Code and/or Modifications of Original Code
  52553. * as defined in and that are subject to the Apple Public Source License
  52554. * Version 2.0 (the 'License'). You may not use this file except in
  52555. * compliance with the License. Please obtain a copy of the License at
  52556. * http://www.opensource.apple.com/apsl/ and read it before using this
  52557. * file.
  52558. *
  52559. * The Original Code and all software distributed under the License are
  52560. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52561. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52562. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52563. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52564. * Please see the License for the specific language governing rights and
  52565. * limitations under the License.
  52566. *
  52567. * @APPLE_LICENSE_HEADER_END@
  52568. */
  52569. /*-
  52570. * Copyright (c) 1990, 1993
  52571. * The Regents of the University of California. All rights reserved.
  52572. *
  52573. * Redistribution and use in source and binary forms, with or without
  52574. * modification, are permitted provided that the following conditions
  52575. * are met:
  52576. * 1. Redistributions of source code must retain the above copyright
  52577. * notice, this list of conditions and the following disclaimer.
  52578. * 2. Redistributions in binary form must reproduce the above copyright
  52579. * notice, this list of conditions and the following disclaimer in the
  52580. * documentation and/or other materials provided with the distribution.
  52581. * 3. All advertising materials mentioning features or use of this software
  52582. * must display the following acknowledgement:
  52583. * This product includes software developed by the University of
  52584. * California, Berkeley and its contributors.
  52585. * 4. Neither the name of the University nor the names of its contributors
  52586. * may be used to endorse or promote products derived from this software
  52587. * without specific prior written permission.
  52588. *
  52589. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52590. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52591. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52592. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52593. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52594. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52595. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52596. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52597. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52598. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52599. * SUCH DAMAGE.
  52600. *
  52601. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  52602. */
  52603. /*
  52604. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  52605. *
  52606. * @APPLE_LICENSE_HEADER_START@
  52607. *
  52608. * This file contains Original Code and/or Modifications of Original Code
  52609. * as defined in and that are subject to the Apple Public Source License
  52610. * Version 2.0 (the 'License'). You may not use this file except in
  52611. * compliance with the License. Please obtain a copy of the License at
  52612. * http://www.opensource.apple.com/apsl/ and read it before using this
  52613. * file.
  52614. *
  52615. * The Original Code and all software distributed under the License are
  52616. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52617. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52618. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52619. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52620. * Please see the License for the specific language governing rights and
  52621. * limitations under the License.
  52622. *
  52623. * @APPLE_LICENSE_HEADER_END@
  52624. */
  52625. /*
  52626. * Copyright (c) 1989, 1993
  52627. * The Regents of the University of California. All rights reserved.
  52628. * (c) UNIX System Laboratories, Inc.
  52629. * All or some portions of this file are derived from material licensed
  52630. * to the University of California by American Telephone and Telegraph
  52631. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  52632. * the permission of UNIX System Laboratories, Inc.
  52633. *
  52634. * This code is derived from software contributed to Berkeley by
  52635. * Paul Borman at Krystal Technologies.
  52636. *
  52637. * Redistribution and use in source and binary forms, with or without
  52638. * modification, are permitted provided that the following conditions
  52639. * are met:
  52640. * 1. Redistributions of source code must retain the above copyright
  52641. * notice, this list of conditions and the following disclaimer.
  52642. * 2. Redistributions in binary form must reproduce the above copyright
  52643. * notice, this list of conditions and the following disclaimer in the
  52644. * documentation and/or other materials provided with the distribution.
  52645. * 3. All advertising materials mentioning features or use of this software
  52646. * must display the following acknowledgement:
  52647. * This product includes software developed by the University of
  52648. * California, Berkeley and its contributors.
  52649. * 4. Neither the name of the University nor the names of its contributors
  52650. * may be used to endorse or promote products derived from this software
  52651. * without specific prior written permission.
  52652. *
  52653. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52654. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52655. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52656. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52657. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52658. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52659. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52660. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52661. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52662. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52663. * SUCH DAMAGE.
  52664. *
  52665. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  52666. */
  52667. /*
  52668. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  52669. *
  52670. * @APPLE_LICENSE_HEADER_START@
  52671. *
  52672. * This file contains Original Code and/or Modifications of Original Code
  52673. * as defined in and that are subject to the Apple Public Source License
  52674. * Version 2.0 (the 'License'). You may not use this file except in
  52675. * compliance with the License. Please obtain a copy of the License at
  52676. * http://www.opensource.apple.com/apsl/ and read it before using this
  52677. * file.
  52678. *
  52679. * The Original Code and all software distributed under the License are
  52680. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  52681. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  52682. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  52683. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  52684. * Please see the License for the specific language governing rights and
  52685. * limitations under the License.
  52686. *
  52687. * @APPLE_LICENSE_HEADER_END@
  52688. */
  52689. /*
  52690. * Copyright (c) 1989, 1993
  52691. * The Regents of the University of California. All rights reserved.
  52692. * (c) UNIX System Laboratories, Inc.
  52693. * All or some portions of this file are derived from material licensed
  52694. * to the University of California by American Telephone and Telegraph
  52695. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  52696. * the permission of UNIX System Laboratories, Inc.
  52697. *
  52698. * This code is derived from software contributed to Berkeley by
  52699. * Paul Borman at Krystal Technologies.
  52700. *
  52701. * Redistribution and use in source and binary forms, with or without
  52702. * modification, are permitted provided that the following conditions
  52703. * are met:
  52704. * 1. Redistributions of source code must retain the above copyright
  52705. * notice, this list of conditions and the following disclaimer.
  52706. * 2. Redistributions in binary form must reproduce the above copyright
  52707. * notice, this list of conditions and the following disclaimer in the
  52708. * documentation and/or other materials provided with the distribution.
  52709. * 3. All advertising materials mentioning features or use of this software
  52710. * must display the following acknowledgement:
  52711. * This product includes software developed by the University of
  52712. * California, Berkeley and its contributors.
  52713. * 4. Neither the name of the University nor the names of its contributors
  52714. * may be used to endorse or promote products derived from this software
  52715. * without specific prior written permission.
  52716. *
  52717. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  52718. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  52719. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  52720. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  52721. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  52722. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  52723. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  52724. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  52725. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  52726. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  52727. * SUCH DAMAGE.
  52728. *
  52729. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  52730. */
  52731. var XFcIdentityMatrix = TFcMatrix{
  52732. Fxx: libc.Float64FromInt32(1),
  52733. Fyy: libc.Float64FromInt32(1),
  52734. }
  52735. var Xdefault_langs uintptr
  52736. var Xother_types uintptr
  52737. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  52738. 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-le64.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 dir checksum %d\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) \x00No description\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\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>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</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\x00fontconfig\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"