ccgo_linux_ppc64le.go 1.6 MB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933199341993519936199371993819939199401994119942199431994419945199461994719948199491995019951199521995319954199551995619957199581995919960199611996219963199641996519966199671996819969199701997119972199731997419975199761997719978199791998019981199821998319984199851998619987199881998919990199911999219993199941999519996199971999819999200002000120002200032000420005200062000720008200092001020011200122001320014200152001620017200182001920020200212002220023200242002520026200272002820029200302003120032200332003420035200362003720038200392004020041200422004320044200452004620047200482004920050200512005220053200542005520056200572005820059200602006120062200632006420065200662006720068200692007020071200722007320074200752007620077200782007920080200812008220083200842008520086200872008820089200902009120092200932009420095200962009720098200992010020101201022010320104201052010620107201082010920110201112011220113201142011520116201172011820119201202012120122201232012420125201262012720128201292013020131201322013320134201352013620137201382013920140201412014220143201442014520146201472014820149201502015120152201532015420155201562015720158201592016020161201622016320164201652016620167201682016920170201712017220173201742017520176201772017820179201802018120182201832018420185201862018720188201892019020191201922019320194201952019620197201982019920200202012020220203202042020520206202072020820209202102021120212202132021420215202162021720218202192022020221202222022320224202252022620227202282022920230202312023220233202342023520236202372023820239202402024120242202432024420245202462024720248202492025020251202522025320254202552025620257202582025920260202612026220263202642026520266202672026820269202702027120272202732027420275202762027720278202792028020281202822028320284202852028620287202882028920290202912029220293202942029520296202972029820299203002030120302203032030420305203062030720308203092031020311203122031320314203152031620317203182031920320203212032220323203242032520326203272032820329203302033120332203332033420335203362033720338203392034020341203422034320344203452034620347203482034920350203512035220353203542035520356203572035820359203602036120362203632036420365203662036720368203692037020371203722037320374203752037620377203782037920380203812038220383203842038520386203872038820389203902039120392203932039420395203962039720398203992040020401204022040320404204052040620407204082040920410204112041220413204142041520416204172041820419204202042120422204232042420425204262042720428204292043020431204322043320434204352043620437204382043920440204412044220443204442044520446204472044820449204502045120452204532045420455204562045720458204592046020461204622046320464204652046620467204682046920470204712047220473204742047520476204772047820479204802048120482204832048420485204862048720488204892049020491204922049320494204952049620497204982049920500205012050220503205042050520506205072050820509205102051120512205132051420515205162051720518205192052020521205222052320524205252052620527205282052920530205312053220533205342053520536205372053820539205402054120542205432054420545205462054720548205492055020551205522055320554205552055620557205582055920560205612056220563205642056520566205672056820569205702057120572205732057420575205762057720578205792058020581205822058320584205852058620587205882058920590205912059220593205942059520596205972059820599206002060120602206032060420605206062060720608206092061020611206122061320614206152061620617206182061920620206212062220623206242062520626206272062820629206302063120632206332063420635206362063720638206392064020641206422064320644206452064620647206482064920650206512065220653206542065520656206572065820659206602066120662206632066420665206662066720668206692067020671206722067320674206752067620677206782067920680206812068220683206842068520686206872068820689206902069120692206932069420695206962069720698206992070020701207022070320704207052070620707207082070920710207112071220713207142071520716207172071820719207202072120722207232072420725207262072720728207292073020731207322073320734207352073620737207382073920740207412074220743207442074520746207472074820749207502075120752207532075420755207562075720758207592076020761207622076320764207652076620767207682076920770207712077220773207742077520776207772077820779207802078120782207832078420785207862078720788207892079020791207922079320794207952079620797207982079920800208012080220803208042080520806208072080820809208102081120812208132081420815208162081720818208192082020821208222082320824208252082620827208282082920830208312083220833208342083520836208372083820839208402084120842208432084420845208462084720848208492085020851208522085320854208552085620857208582085920860208612086220863208642086520866208672086820869208702087120872208732087420875208762087720878208792088020881208822088320884208852088620887208882088920890208912089220893208942089520896208972089820899209002090120902209032090420905209062090720908209092091020911209122091320914209152091620917209182091920920209212092220923209242092520926209272092820929209302093120932209332093420935209362093720938209392094020941209422094320944209452094620947209482094920950209512095220953209542095520956209572095820959209602096120962209632096420965209662096720968209692097020971209722097320974209752097620977209782097920980209812098220983209842098520986209872098820989209902099120992209932099420995209962099720998209992100021001210022100321004210052100621007210082100921010210112101221013210142101521016210172101821019210202102121022210232102421025210262102721028210292103021031210322103321034210352103621037210382103921040210412104221043210442104521046210472104821049210502105121052210532105421055210562105721058210592106021061210622106321064210652106621067210682106921070210712107221073210742107521076210772107821079210802108121082210832108421085210862108721088210892109021091210922109321094210952109621097210982109921100211012110221103211042110521106211072110821109211102111121112211132111421115211162111721118211192112021121211222112321124211252112621127211282112921130211312113221133211342113521136211372113821139211402114121142211432114421145211462114721148211492115021151211522115321154211552115621157211582115921160211612116221163211642116521166211672116821169211702117121172211732117421175211762117721178211792118021181211822118321184211852118621187211882118921190211912119221193211942119521196211972119821199212002120121202212032120421205212062120721208212092121021211212122121321214212152121621217212182121921220212212122221223212242122521226212272122821229212302123121232212332123421235212362123721238212392124021241212422124321244212452124621247212482124921250212512125221253212542125521256212572125821259212602126121262212632126421265212662126721268212692127021271212722127321274212752127621277212782127921280212812128221283212842128521286212872128821289212902129121292212932129421295212962129721298212992130021301213022130321304213052130621307213082130921310213112131221313213142131521316213172131821319213202132121322213232132421325213262132721328213292133021331213322133321334213352133621337213382133921340213412134221343213442134521346213472134821349213502135121352213532135421355213562135721358213592136021361213622136321364213652136621367213682136921370213712137221373213742137521376213772137821379213802138121382213832138421385213862138721388213892139021391213922139321394213952139621397213982139921400214012140221403214042140521406214072140821409214102141121412214132141421415214162141721418214192142021421214222142321424214252142621427214282142921430214312143221433214342143521436214372143821439214402144121442214432144421445214462144721448214492145021451214522145321454214552145621457214582145921460214612146221463214642146521466214672146821469214702147121472214732147421475214762147721478214792148021481214822148321484214852148621487214882148921490214912149221493214942149521496214972149821499215002150121502215032150421505215062150721508215092151021511215122151321514215152151621517215182151921520215212152221523215242152521526215272152821529215302153121532215332153421535215362153721538215392154021541215422154321544215452154621547215482154921550215512155221553215542155521556215572155821559215602156121562215632156421565215662156721568215692157021571215722157321574215752157621577215782157921580215812158221583215842158521586215872158821589215902159121592215932159421595215962159721598215992160021601216022160321604216052160621607216082160921610216112161221613216142161521616216172161821619216202162121622216232162421625216262162721628216292163021631216322163321634216352163621637216382163921640216412164221643216442164521646216472164821649216502165121652216532165421655216562165721658216592166021661216622166321664216652166621667216682166921670216712167221673216742167521676216772167821679216802168121682216832168421685216862168721688216892169021691216922169321694216952169621697216982169921700217012170221703217042170521706217072170821709217102171121712217132171421715217162171721718217192172021721217222172321724217252172621727217282172921730217312173221733217342173521736217372173821739217402174121742217432174421745217462174721748217492175021751217522175321754217552175621757217582175921760217612176221763217642176521766217672176821769217702177121772217732177421775217762177721778217792178021781217822178321784217852178621787217882178921790217912179221793217942179521796217972179821799218002180121802218032180421805218062180721808218092181021811218122181321814218152181621817218182181921820218212182221823218242182521826218272182821829218302183121832218332183421835218362183721838218392184021841218422184321844218452184621847218482184921850218512185221853218542185521856218572185821859218602186121862218632186421865218662186721868218692187021871218722187321874218752187621877218782187921880218812188221883218842188521886218872188821889218902189121892218932189421895218962189721898218992190021901219022190321904219052190621907219082190921910219112191221913219142191521916219172191821919219202192121922219232192421925219262192721928219292193021931219322193321934219352193621937219382193921940219412194221943219442194521946219472194821949219502195121952219532195421955219562195721958219592196021961219622196321964219652196621967219682196921970219712197221973219742197521976219772197821979219802198121982219832198421985219862198721988219892199021991219922199321994219952199621997219982199922000220012200222003220042200522006220072200822009220102201122012220132201422015220162201722018220192202022021220222202322024220252202622027220282202922030220312203222033220342203522036220372203822039220402204122042220432204422045220462204722048220492205022051220522205322054220552205622057220582205922060220612206222063220642206522066220672206822069220702207122072220732207422075220762207722078220792208022081220822208322084220852208622087220882208922090220912209222093220942209522096220972209822099221002210122102221032210422105221062210722108221092211022111221122211322114221152211622117221182211922120221212212222123221242212522126221272212822129221302213122132221332213422135221362213722138221392214022141221422214322144221452214622147221482214922150221512215222153221542215522156221572215822159221602216122162221632216422165221662216722168221692217022171221722217322174221752217622177221782217922180221812218222183221842218522186221872218822189221902219122192221932219422195221962219722198221992220022201222022220322204222052220622207222082220922210222112221222213222142221522216222172221822219222202222122222222232222422225222262222722228222292223022231222322223322234222352223622237222382223922240222412224222243222442224522246222472224822249222502225122252222532225422255222562225722258222592226022261222622226322264222652226622267222682226922270222712227222273222742227522276222772227822279222802228122282222832228422285222862228722288222892229022291222922229322294222952229622297222982229922300223012230222303223042230522306223072230822309223102231122312223132231422315223162231722318223192232022321223222232322324223252232622327223282232922330223312233222333223342233522336223372233822339223402234122342223432234422345223462234722348223492235022351223522235322354223552235622357223582235922360223612236222363223642236522366223672236822369223702237122372223732237422375223762237722378223792238022381223822238322384223852238622387223882238922390223912239222393223942239522396223972239822399224002240122402224032240422405224062240722408224092241022411224122241322414224152241622417224182241922420224212242222423224242242522426224272242822429224302243122432224332243422435224362243722438224392244022441224422244322444224452244622447224482244922450224512245222453224542245522456224572245822459224602246122462224632246422465224662246722468224692247022471224722247322474224752247622477224782247922480224812248222483224842248522486224872248822489224902249122492224932249422495224962249722498224992250022501225022250322504225052250622507225082250922510225112251222513225142251522516225172251822519225202252122522225232252422525225262252722528225292253022531225322253322534225352253622537225382253922540225412254222543225442254522546225472254822549225502255122552225532255422555225562255722558225592256022561225622256322564225652256622567225682256922570225712257222573225742257522576225772257822579225802258122582225832258422585225862258722588225892259022591225922259322594225952259622597225982259922600226012260222603226042260522606226072260822609226102261122612226132261422615226162261722618226192262022621226222262322624226252262622627226282262922630226312263222633226342263522636226372263822639226402264122642226432264422645226462264722648226492265022651226522265322654226552265622657226582265922660226612266222663226642266522666226672266822669226702267122672226732267422675226762267722678226792268022681226822268322684226852268622687226882268922690226912269222693226942269522696226972269822699227002270122702227032270422705227062270722708227092271022711227122271322714227152271622717227182271922720227212272222723227242272522726227272272822729227302273122732227332273422735227362273722738227392274022741227422274322744227452274622747227482274922750227512275222753227542275522756227572275822759227602276122762227632276422765227662276722768227692277022771227722277322774227752277622777227782277922780227812278222783227842278522786227872278822789227902279122792227932279422795227962279722798227992280022801228022280322804228052280622807228082280922810228112281222813228142281522816228172281822819228202282122822228232282422825228262282722828228292283022831228322283322834228352283622837228382283922840228412284222843228442284522846228472284822849228502285122852228532285422855228562285722858228592286022861228622286322864228652286622867228682286922870228712287222873228742287522876228772287822879228802288122882228832288422885228862288722888228892289022891228922289322894228952289622897228982289922900229012290222903229042290522906229072290822909229102291122912229132291422915229162291722918229192292022921229222292322924229252292622927229282292922930229312293222933229342293522936229372293822939229402294122942229432294422945229462294722948229492295022951229522295322954229552295622957229582295922960229612296222963229642296522966229672296822969229702297122972229732297422975229762297722978229792298022981229822298322984229852298622987229882298922990229912299222993229942299522996229972299822999230002300123002230032300423005230062300723008230092301023011230122301323014230152301623017230182301923020230212302223023230242302523026230272302823029230302303123032230332303423035230362303723038230392304023041230422304323044230452304623047230482304923050230512305223053230542305523056230572305823059230602306123062230632306423065230662306723068230692307023071230722307323074230752307623077230782307923080230812308223083230842308523086230872308823089230902309123092230932309423095230962309723098230992310023101231022310323104231052310623107231082310923110231112311223113231142311523116231172311823119231202312123122231232312423125231262312723128231292313023131231322313323134231352313623137231382313923140231412314223143231442314523146231472314823149231502315123152231532315423155231562315723158231592316023161231622316323164231652316623167231682316923170231712317223173231742317523176231772317823179231802318123182231832318423185231862318723188231892319023191231922319323194231952319623197231982319923200232012320223203232042320523206232072320823209232102321123212232132321423215232162321723218232192322023221232222322323224232252322623227232282322923230232312323223233232342323523236232372323823239232402324123242232432324423245232462324723248232492325023251232522325323254232552325623257232582325923260232612326223263232642326523266232672326823269232702327123272232732327423275232762327723278232792328023281232822328323284232852328623287232882328923290232912329223293232942329523296232972329823299233002330123302233032330423305233062330723308233092331023311233122331323314233152331623317233182331923320233212332223323233242332523326233272332823329233302333123332233332333423335233362333723338233392334023341233422334323344233452334623347233482334923350233512335223353233542335523356233572335823359233602336123362233632336423365233662336723368233692337023371233722337323374233752337623377233782337923380233812338223383233842338523386233872338823389233902339123392233932339423395233962339723398233992340023401234022340323404234052340623407234082340923410234112341223413234142341523416234172341823419234202342123422234232342423425234262342723428234292343023431234322343323434234352343623437234382343923440234412344223443234442344523446234472344823449234502345123452234532345423455234562345723458234592346023461234622346323464234652346623467234682346923470234712347223473234742347523476234772347823479234802348123482234832348423485234862348723488234892349023491234922349323494234952349623497234982349923500235012350223503235042350523506235072350823509235102351123512235132351423515235162351723518235192352023521235222352323524235252352623527235282352923530235312353223533235342353523536235372353823539235402354123542235432354423545235462354723548235492355023551235522355323554235552355623557235582355923560235612356223563235642356523566235672356823569235702357123572235732357423575235762357723578235792358023581235822358323584235852358623587235882358923590235912359223593235942359523596235972359823599236002360123602236032360423605236062360723608236092361023611236122361323614236152361623617236182361923620236212362223623236242362523626236272362823629236302363123632236332363423635236362363723638236392364023641236422364323644236452364623647236482364923650236512365223653236542365523656236572365823659236602366123662236632366423665236662366723668236692367023671236722367323674236752367623677236782367923680236812368223683236842368523686236872368823689236902369123692236932369423695236962369723698236992370023701237022370323704237052370623707237082370923710237112371223713237142371523716237172371823719237202372123722237232372423725237262372723728237292373023731237322373323734237352373623737237382373923740237412374223743237442374523746237472374823749237502375123752237532375423755237562375723758237592376023761237622376323764237652376623767237682376923770237712377223773237742377523776237772377823779237802378123782237832378423785237862378723788237892379023791237922379323794237952379623797237982379923800238012380223803238042380523806238072380823809238102381123812238132381423815238162381723818238192382023821238222382323824238252382623827238282382923830238312383223833238342383523836238372383823839238402384123842238432384423845238462384723848238492385023851238522385323854238552385623857238582385923860238612386223863238642386523866238672386823869238702387123872238732387423875238762387723878238792388023881238822388323884238852388623887238882388923890238912389223893238942389523896238972389823899239002390123902239032390423905239062390723908239092391023911239122391323914239152391623917239182391923920239212392223923239242392523926239272392823929239302393123932239332393423935239362393723938239392394023941239422394323944239452394623947239482394923950239512395223953239542395523956239572395823959239602396123962239632396423965239662396723968239692397023971239722397323974239752397623977239782397923980239812398223983239842398523986239872398823989239902399123992239932399423995239962399723998239992400024001240022400324004240052400624007240082400924010240112401224013240142401524016240172401824019240202402124022240232402424025240262402724028240292403024031240322403324034240352403624037240382403924040240412404224043240442404524046240472404824049240502405124052240532405424055240562405724058240592406024061240622406324064240652406624067240682406924070240712407224073240742407524076240772407824079240802408124082240832408424085240862408724088240892409024091240922409324094240952409624097240982409924100241012410224103241042410524106241072410824109241102411124112241132411424115241162411724118241192412024121241222412324124241252412624127241282412924130241312413224133241342413524136241372413824139241402414124142241432414424145241462414724148241492415024151241522415324154241552415624157241582415924160241612416224163241642416524166241672416824169241702417124172241732417424175241762417724178241792418024181241822418324184241852418624187241882418924190241912419224193241942419524196241972419824199242002420124202242032420424205242062420724208242092421024211242122421324214242152421624217242182421924220242212422224223242242422524226242272422824229242302423124232242332423424235242362423724238242392424024241242422424324244242452424624247242482424924250242512425224253242542425524256242572425824259242602426124262242632426424265242662426724268242692427024271242722427324274242752427624277242782427924280242812428224283242842428524286242872428824289242902429124292242932429424295242962429724298242992430024301243022430324304243052430624307243082430924310243112431224313243142431524316243172431824319243202432124322243232432424325243262432724328243292433024331243322433324334243352433624337243382433924340243412434224343243442434524346243472434824349243502435124352243532435424355243562435724358243592436024361243622436324364243652436624367243682436924370243712437224373243742437524376243772437824379243802438124382243832438424385243862438724388243892439024391243922439324394243952439624397243982439924400244012440224403244042440524406244072440824409244102441124412244132441424415244162441724418244192442024421244222442324424244252442624427244282442924430244312443224433244342443524436244372443824439244402444124442244432444424445244462444724448244492445024451244522445324454244552445624457244582445924460244612446224463244642446524466244672446824469244702447124472244732447424475244762447724478244792448024481244822448324484244852448624487244882448924490244912449224493244942449524496244972449824499245002450124502245032450424505245062450724508245092451024511245122451324514245152451624517245182451924520245212452224523245242452524526245272452824529245302453124532245332453424535245362453724538245392454024541245422454324544245452454624547245482454924550245512455224553245542455524556245572455824559245602456124562245632456424565245662456724568245692457024571245722457324574245752457624577245782457924580245812458224583245842458524586245872458824589245902459124592245932459424595245962459724598245992460024601246022460324604246052460624607246082460924610246112461224613246142461524616246172461824619246202462124622246232462424625246262462724628246292463024631246322463324634246352463624637246382463924640246412464224643246442464524646246472464824649246502465124652246532465424655246562465724658246592466024661246622466324664246652466624667246682466924670246712467224673246742467524676246772467824679246802468124682246832468424685246862468724688246892469024691246922469324694246952469624697246982469924700247012470224703247042470524706247072470824709247102471124712247132471424715247162471724718247192472024721247222472324724247252472624727247282472924730247312473224733247342473524736247372473824739247402474124742247432474424745247462474724748247492475024751247522475324754247552475624757247582475924760247612476224763247642476524766247672476824769247702477124772247732477424775247762477724778247792478024781247822478324784247852478624787247882478924790247912479224793247942479524796247972479824799248002480124802248032480424805248062480724808248092481024811248122481324814248152481624817248182481924820248212482224823248242482524826248272482824829248302483124832248332483424835248362483724838248392484024841248422484324844248452484624847248482484924850248512485224853248542485524856248572485824859248602486124862248632486424865248662486724868248692487024871248722487324874248752487624877248782487924880248812488224883248842488524886248872488824889248902489124892248932489424895248962489724898248992490024901249022490324904249052490624907249082490924910249112491224913249142491524916249172491824919249202492124922249232492424925249262492724928249292493024931249322493324934249352493624937249382493924940249412494224943249442494524946249472494824949249502495124952249532495424955249562495724958249592496024961249622496324964249652496624967249682496924970249712497224973249742497524976249772497824979249802498124982249832498424985249862498724988249892499024991249922499324994249952499624997249982499925000250012500225003250042500525006250072500825009250102501125012250132501425015250162501725018250192502025021250222502325024250252502625027250282502925030250312503225033250342503525036250372503825039250402504125042250432504425045250462504725048250492505025051250522505325054250552505625057250582505925060250612506225063250642506525066250672506825069250702507125072250732507425075250762507725078250792508025081250822508325084250852508625087250882508925090250912509225093250942509525096250972509825099251002510125102251032510425105251062510725108251092511025111251122511325114251152511625117251182511925120251212512225123251242512525126251272512825129251302513125132251332513425135251362513725138251392514025141251422514325144251452514625147251482514925150251512515225153251542515525156251572515825159251602516125162251632516425165251662516725168251692517025171251722517325174251752517625177251782517925180251812518225183251842518525186251872518825189251902519125192251932519425195251962519725198251992520025201252022520325204252052520625207252082520925210252112521225213252142521525216252172521825219252202522125222252232522425225252262522725228252292523025231252322523325234252352523625237252382523925240252412524225243252442524525246252472524825249252502525125252252532525425255252562525725258252592526025261252622526325264252652526625267252682526925270252712527225273252742527525276252772527825279252802528125282252832528425285252862528725288252892529025291252922529325294252952529625297252982529925300253012530225303253042530525306253072530825309253102531125312253132531425315253162531725318253192532025321253222532325324253252532625327253282532925330253312533225333253342533525336253372533825339253402534125342253432534425345253462534725348253492535025351253522535325354253552535625357253582535925360253612536225363253642536525366253672536825369253702537125372253732537425375253762537725378253792538025381253822538325384253852538625387253882538925390253912539225393253942539525396253972539825399254002540125402254032540425405254062540725408254092541025411254122541325414254152541625417254182541925420254212542225423254242542525426254272542825429254302543125432254332543425435254362543725438254392544025441254422544325444254452544625447254482544925450254512545225453254542545525456254572545825459254602546125462254632546425465254662546725468254692547025471254722547325474254752547625477254782547925480254812548225483254842548525486254872548825489254902549125492254932549425495254962549725498254992550025501255022550325504255052550625507255082550925510255112551225513255142551525516255172551825519255202552125522255232552425525255262552725528255292553025531255322553325534255352553625537255382553925540255412554225543255442554525546255472554825549255502555125552255532555425555255562555725558255592556025561255622556325564255652556625567255682556925570255712557225573255742557525576255772557825579255802558125582255832558425585255862558725588255892559025591255922559325594255952559625597255982559925600256012560225603256042560525606256072560825609256102561125612256132561425615256162561725618256192562025621256222562325624256252562625627256282562925630256312563225633256342563525636256372563825639256402564125642256432564425645256462564725648256492565025651256522565325654256552565625657256582565925660256612566225663256642566525666256672566825669256702567125672256732567425675256762567725678256792568025681256822568325684256852568625687256882568925690256912569225693256942569525696256972569825699257002570125702257032570425705257062570725708257092571025711257122571325714257152571625717257182571925720257212572225723257242572525726257272572825729257302573125732257332573425735257362573725738257392574025741257422574325744257452574625747257482574925750257512575225753257542575525756257572575825759257602576125762257632576425765257662576725768257692577025771257722577325774257752577625777257782577925780257812578225783257842578525786257872578825789257902579125792257932579425795257962579725798257992580025801258022580325804258052580625807258082580925810258112581225813258142581525816258172581825819258202582125822258232582425825258262582725828258292583025831258322583325834258352583625837258382583925840258412584225843258442584525846258472584825849258502585125852258532585425855258562585725858258592586025861258622586325864258652586625867258682586925870258712587225873258742587525876258772587825879258802588125882258832588425885258862588725888258892589025891258922589325894258952589625897258982589925900259012590225903259042590525906259072590825909259102591125912259132591425915259162591725918259192592025921259222592325924259252592625927259282592925930259312593225933259342593525936259372593825939259402594125942259432594425945259462594725948259492595025951259522595325954259552595625957259582595925960259612596225963259642596525966259672596825969259702597125972259732597425975259762597725978259792598025981259822598325984259852598625987259882598925990259912599225993259942599525996259972599825999260002600126002260032600426005260062600726008260092601026011260122601326014260152601626017260182601926020260212602226023260242602526026260272602826029260302603126032260332603426035260362603726038260392604026041260422604326044260452604626047260482604926050260512605226053260542605526056260572605826059260602606126062260632606426065260662606726068260692607026071260722607326074260752607626077260782607926080260812608226083260842608526086260872608826089260902609126092260932609426095260962609726098260992610026101261022610326104261052610626107261082610926110261112611226113261142611526116261172611826119261202612126122261232612426125261262612726128261292613026131261322613326134261352613626137261382613926140261412614226143261442614526146261472614826149261502615126152261532615426155261562615726158261592616026161261622616326164261652616626167261682616926170261712617226173261742617526176261772617826179261802618126182261832618426185261862618726188261892619026191261922619326194261952619626197261982619926200262012620226203262042620526206262072620826209262102621126212262132621426215262162621726218262192622026221262222622326224262252622626227262282622926230262312623226233262342623526236262372623826239262402624126242262432624426245262462624726248262492625026251262522625326254262552625626257262582625926260262612626226263262642626526266262672626826269262702627126272262732627426275262762627726278262792628026281262822628326284262852628626287262882628926290262912629226293262942629526296262972629826299263002630126302263032630426305263062630726308263092631026311263122631326314263152631626317263182631926320263212632226323263242632526326263272632826329263302633126332263332633426335263362633726338263392634026341263422634326344263452634626347263482634926350263512635226353263542635526356263572635826359263602636126362263632636426365263662636726368263692637026371263722637326374263752637626377263782637926380263812638226383263842638526386263872638826389263902639126392263932639426395263962639726398263992640026401264022640326404264052640626407264082640926410264112641226413264142641526416264172641826419264202642126422264232642426425264262642726428264292643026431264322643326434264352643626437264382643926440264412644226443264442644526446264472644826449264502645126452264532645426455264562645726458264592646026461264622646326464264652646626467264682646926470264712647226473264742647526476264772647826479264802648126482264832648426485264862648726488264892649026491264922649326494264952649626497264982649926500265012650226503265042650526506265072650826509265102651126512265132651426515265162651726518265192652026521265222652326524265252652626527265282652926530265312653226533265342653526536265372653826539265402654126542265432654426545265462654726548265492655026551265522655326554265552655626557265582655926560265612656226563265642656526566265672656826569265702657126572265732657426575265762657726578265792658026581265822658326584265852658626587265882658926590265912659226593265942659526596265972659826599266002660126602266032660426605266062660726608266092661026611266122661326614266152661626617266182661926620266212662226623266242662526626266272662826629266302663126632266332663426635266362663726638266392664026641266422664326644266452664626647266482664926650266512665226653266542665526656266572665826659266602666126662266632666426665266662666726668266692667026671266722667326674266752667626677266782667926680266812668226683266842668526686266872668826689266902669126692266932669426695266962669726698266992670026701267022670326704267052670626707267082670926710267112671226713267142671526716267172671826719267202672126722267232672426725267262672726728267292673026731267322673326734267352673626737267382673926740267412674226743267442674526746267472674826749267502675126752267532675426755267562675726758267592676026761267622676326764267652676626767267682676926770267712677226773267742677526776267772677826779267802678126782267832678426785267862678726788267892679026791267922679326794267952679626797267982679926800268012680226803268042680526806268072680826809268102681126812268132681426815268162681726818268192682026821268222682326824268252682626827268282682926830268312683226833268342683526836268372683826839268402684126842268432684426845268462684726848268492685026851268522685326854268552685626857268582685926860268612686226863268642686526866268672686826869268702687126872268732687426875268762687726878268792688026881268822688326884268852688626887268882688926890268912689226893268942689526896268972689826899269002690126902269032690426905269062690726908269092691026911269122691326914269152691626917269182691926920269212692226923269242692526926269272692826929269302693126932269332693426935269362693726938269392694026941269422694326944269452694626947269482694926950269512695226953269542695526956269572695826959269602696126962269632696426965269662696726968269692697026971269722697326974269752697626977269782697926980269812698226983269842698526986269872698826989269902699126992269932699426995269962699726998269992700027001270022700327004270052700627007270082700927010270112701227013270142701527016270172701827019270202702127022270232702427025270262702727028270292703027031270322703327034270352703627037270382703927040270412704227043270442704527046270472704827049270502705127052270532705427055270562705727058270592706027061270622706327064270652706627067270682706927070270712707227073270742707527076270772707827079270802708127082270832708427085270862708727088270892709027091270922709327094270952709627097270982709927100271012710227103271042710527106271072710827109271102711127112271132711427115271162711727118271192712027121271222712327124271252712627127271282712927130271312713227133271342713527136271372713827139271402714127142271432714427145271462714727148271492715027151271522715327154271552715627157271582715927160271612716227163271642716527166271672716827169271702717127172271732717427175271762717727178271792718027181271822718327184271852718627187271882718927190271912719227193271942719527196271972719827199272002720127202272032720427205272062720727208272092721027211272122721327214272152721627217272182721927220272212722227223272242722527226272272722827229272302723127232272332723427235272362723727238272392724027241272422724327244272452724627247272482724927250272512725227253272542725527256272572725827259272602726127262272632726427265272662726727268272692727027271272722727327274272752727627277272782727927280272812728227283272842728527286272872728827289272902729127292272932729427295272962729727298272992730027301273022730327304273052730627307273082730927310273112731227313273142731527316273172731827319273202732127322273232732427325273262732727328273292733027331273322733327334273352733627337273382733927340273412734227343273442734527346273472734827349273502735127352273532735427355273562735727358273592736027361273622736327364273652736627367273682736927370273712737227373273742737527376273772737827379273802738127382273832738427385273862738727388273892739027391273922739327394273952739627397273982739927400274012740227403274042740527406274072740827409274102741127412274132741427415274162741727418274192742027421274222742327424274252742627427274282742927430274312743227433274342743527436274372743827439274402744127442274432744427445274462744727448274492745027451274522745327454274552745627457274582745927460274612746227463274642746527466274672746827469274702747127472274732747427475274762747727478274792748027481274822748327484274852748627487274882748927490274912749227493274942749527496274972749827499275002750127502275032750427505275062750727508275092751027511275122751327514275152751627517275182751927520275212752227523275242752527526275272752827529275302753127532275332753427535275362753727538275392754027541275422754327544275452754627547275482754927550275512755227553275542755527556275572755827559275602756127562275632756427565275662756727568275692757027571275722757327574275752757627577275782757927580275812758227583275842758527586275872758827589275902759127592275932759427595275962759727598275992760027601276022760327604276052760627607276082760927610276112761227613276142761527616276172761827619276202762127622276232762427625276262762727628276292763027631276322763327634276352763627637276382763927640276412764227643276442764527646276472764827649276502765127652276532765427655276562765727658276592766027661276622766327664276652766627667276682766927670276712767227673276742767527676276772767827679276802768127682276832768427685276862768727688276892769027691276922769327694276952769627697276982769927700277012770227703277042770527706277072770827709277102771127712277132771427715277162771727718277192772027721277222772327724277252772627727277282772927730277312773227733277342773527736277372773827739277402774127742277432774427745277462774727748277492775027751277522775327754277552775627757277582775927760277612776227763277642776527766277672776827769277702777127772277732777427775277762777727778277792778027781277822778327784277852778627787277882778927790277912779227793277942779527796277972779827799278002780127802278032780427805278062780727808278092781027811278122781327814278152781627817278182781927820278212782227823278242782527826278272782827829278302783127832278332783427835278362783727838278392784027841278422784327844278452784627847278482784927850278512785227853278542785527856278572785827859278602786127862278632786427865278662786727868278692787027871278722787327874278752787627877278782787927880278812788227883278842788527886278872788827889278902789127892278932789427895278962789727898278992790027901279022790327904279052790627907279082790927910279112791227913279142791527916279172791827919279202792127922279232792427925279262792727928279292793027931279322793327934279352793627937279382793927940279412794227943279442794527946279472794827949279502795127952279532795427955279562795727958279592796027961279622796327964279652796627967279682796927970279712797227973279742797527976279772797827979279802798127982279832798427985279862798727988279892799027991279922799327994279952799627997279982799928000280012800228003280042800528006280072800828009280102801128012280132801428015280162801728018280192802028021280222802328024280252802628027280282802928030280312803228033280342803528036280372803828039280402804128042280432804428045280462804728048280492805028051280522805328054280552805628057280582805928060280612806228063280642806528066280672806828069280702807128072280732807428075280762807728078280792808028081280822808328084280852808628087280882808928090280912809228093280942809528096280972809828099281002810128102281032810428105281062810728108281092811028111281122811328114281152811628117281182811928120281212812228123281242812528126281272812828129281302813128132281332813428135281362813728138281392814028141281422814328144281452814628147281482814928150281512815228153281542815528156281572815828159281602816128162281632816428165281662816728168281692817028171281722817328174281752817628177281782817928180281812818228183281842818528186281872818828189281902819128192281932819428195281962819728198281992820028201282022820328204282052820628207282082820928210282112821228213282142821528216282172821828219282202822128222282232822428225282262822728228282292823028231282322823328234282352823628237282382823928240282412824228243282442824528246282472824828249282502825128252282532825428255282562825728258282592826028261282622826328264282652826628267282682826928270282712827228273282742827528276282772827828279282802828128282282832828428285282862828728288282892829028291282922829328294282952829628297282982829928300283012830228303283042830528306283072830828309283102831128312283132831428315283162831728318283192832028321283222832328324283252832628327283282832928330283312833228333283342833528336283372833828339283402834128342283432834428345283462834728348283492835028351283522835328354283552835628357283582835928360283612836228363283642836528366283672836828369283702837128372283732837428375283762837728378283792838028381283822838328384283852838628387283882838928390283912839228393283942839528396283972839828399284002840128402284032840428405284062840728408284092841028411284122841328414284152841628417284182841928420284212842228423284242842528426284272842828429284302843128432284332843428435284362843728438284392844028441284422844328444284452844628447284482844928450284512845228453284542845528456284572845828459284602846128462284632846428465284662846728468284692847028471284722847328474284752847628477284782847928480284812848228483284842848528486284872848828489284902849128492284932849428495284962849728498284992850028501285022850328504285052850628507285082850928510285112851228513285142851528516285172851828519285202852128522285232852428525285262852728528285292853028531285322853328534285352853628537285382853928540285412854228543285442854528546285472854828549285502855128552285532855428555285562855728558285592856028561285622856328564285652856628567285682856928570285712857228573285742857528576285772857828579285802858128582285832858428585285862858728588285892859028591285922859328594285952859628597285982859928600286012860228603286042860528606286072860828609286102861128612286132861428615286162861728618286192862028621286222862328624286252862628627286282862928630286312863228633286342863528636286372863828639286402864128642286432864428645286462864728648286492865028651286522865328654286552865628657286582865928660286612866228663286642866528666286672866828669286702867128672286732867428675286762867728678286792868028681286822868328684286852868628687286882868928690286912869228693286942869528696286972869828699287002870128702287032870428705287062870728708287092871028711287122871328714287152871628717287182871928720287212872228723287242872528726287272872828729287302873128732287332873428735287362873728738287392874028741287422874328744287452874628747287482874928750287512875228753287542875528756287572875828759287602876128762287632876428765287662876728768287692877028771287722877328774287752877628777287782877928780287812878228783287842878528786287872878828789287902879128792287932879428795287962879728798287992880028801288022880328804288052880628807288082880928810288112881228813288142881528816288172881828819288202882128822288232882428825288262882728828288292883028831288322883328834288352883628837288382883928840288412884228843288442884528846288472884828849288502885128852288532885428855288562885728858288592886028861288622886328864288652886628867288682886928870288712887228873288742887528876288772887828879288802888128882288832888428885288862888728888288892889028891288922889328894288952889628897288982889928900289012890228903289042890528906289072890828909289102891128912289132891428915289162891728918289192892028921289222892328924289252892628927289282892928930289312893228933289342893528936289372893828939289402894128942289432894428945289462894728948289492895028951289522895328954289552895628957289582895928960289612896228963289642896528966289672896828969289702897128972289732897428975289762897728978289792898028981289822898328984289852898628987289882898928990289912899228993289942899528996289972899828999290002900129002290032900429005290062900729008290092901029011290122901329014290152901629017290182901929020290212902229023290242902529026290272902829029290302903129032290332903429035290362903729038290392904029041290422904329044290452904629047290482904929050290512905229053290542905529056290572905829059290602906129062290632906429065290662906729068290692907029071290722907329074290752907629077290782907929080290812908229083290842908529086290872908829089290902909129092290932909429095290962909729098290992910029101291022910329104291052910629107291082910929110291112911229113291142911529116291172911829119291202912129122291232912429125291262912729128291292913029131291322913329134291352913629137291382913929140291412914229143291442914529146291472914829149291502915129152291532915429155291562915729158291592916029161291622916329164291652916629167291682916929170291712917229173291742917529176291772917829179291802918129182291832918429185291862918729188291892919029191291922919329194291952919629197291982919929200292012920229203292042920529206292072920829209292102921129212292132921429215292162921729218292192922029221292222922329224292252922629227292282922929230292312923229233292342923529236292372923829239292402924129242292432924429245292462924729248292492925029251292522925329254292552925629257292582925929260292612926229263292642926529266292672926829269292702927129272292732927429275292762927729278292792928029281292822928329284292852928629287292882928929290292912929229293292942929529296292972929829299293002930129302293032930429305293062930729308293092931029311293122931329314293152931629317293182931929320293212932229323293242932529326293272932829329293302933129332293332933429335293362933729338293392934029341293422934329344293452934629347293482934929350293512935229353293542935529356293572935829359293602936129362293632936429365293662936729368293692937029371293722937329374293752937629377293782937929380293812938229383293842938529386293872938829389293902939129392293932939429395293962939729398293992940029401294022940329404294052940629407294082940929410294112941229413294142941529416294172941829419294202942129422294232942429425294262942729428294292943029431294322943329434294352943629437294382943929440294412944229443294442944529446294472944829449294502945129452294532945429455294562945729458294592946029461294622946329464294652946629467294682946929470294712947229473294742947529476294772947829479294802948129482294832948429485294862948729488294892949029491294922949329494294952949629497294982949929500295012950229503295042950529506295072950829509295102951129512295132951429515295162951729518295192952029521295222952329524295252952629527295282952929530295312953229533295342953529536295372953829539295402954129542295432954429545295462954729548295492955029551295522955329554295552955629557295582955929560295612956229563295642956529566295672956829569295702957129572295732957429575295762957729578295792958029581295822958329584295852958629587295882958929590295912959229593295942959529596295972959829599296002960129602296032960429605296062960729608296092961029611296122961329614296152961629617296182961929620296212962229623296242962529626296272962829629296302963129632296332963429635296362963729638296392964029641296422964329644296452964629647296482964929650296512965229653296542965529656296572965829659296602966129662296632966429665296662966729668296692967029671296722967329674296752967629677296782967929680296812968229683296842968529686296872968829689296902969129692296932969429695296962969729698296992970029701297022970329704297052970629707297082970929710297112971229713297142971529716297172971829719297202972129722297232972429725297262972729728297292973029731297322973329734297352973629737297382973929740297412974229743297442974529746297472974829749297502975129752297532975429755297562975729758297592976029761297622976329764297652976629767297682976929770297712977229773297742977529776297772977829779297802978129782297832978429785297862978729788297892979029791297922979329794297952979629797297982979929800298012980229803298042980529806298072980829809298102981129812298132981429815298162981729818298192982029821298222982329824298252982629827298282982929830298312983229833298342983529836298372983829839298402984129842298432984429845298462984729848298492985029851298522985329854298552985629857298582985929860298612986229863298642986529866298672986829869298702987129872298732987429875298762987729878298792988029881298822988329884298852988629887298882988929890298912989229893298942989529896298972989829899299002990129902299032990429905299062990729908299092991029911299122991329914299152991629917299182991929920299212992229923299242992529926299272992829929299302993129932299332993429935299362993729938299392994029941299422994329944299452994629947299482994929950299512995229953299542995529956299572995829959299602996129962299632996429965299662996729968299692997029971299722997329974299752997629977299782997929980299812998229983299842998529986299872998829989299902999129992299932999429995299962999729998299993000030001300023000330004300053000630007300083000930010300113001230013300143001530016300173001830019300203002130022300233002430025300263002730028300293003030031300323003330034300353003630037300383003930040300413004230043300443004530046300473004830049300503005130052300533005430055300563005730058300593006030061300623006330064300653006630067300683006930070300713007230073300743007530076300773007830079300803008130082300833008430085300863008730088300893009030091300923009330094300953009630097300983009930100301013010230103301043010530106301073010830109301103011130112301133011430115301163011730118301193012030121301223012330124301253012630127301283012930130301313013230133301343013530136301373013830139301403014130142301433014430145301463014730148301493015030151301523015330154301553015630157301583015930160301613016230163301643016530166301673016830169301703017130172301733017430175301763017730178301793018030181301823018330184301853018630187301883018930190301913019230193301943019530196301973019830199302003020130202302033020430205302063020730208302093021030211302123021330214302153021630217302183021930220302213022230223302243022530226302273022830229302303023130232302333023430235302363023730238302393024030241302423024330244302453024630247302483024930250302513025230253302543025530256302573025830259302603026130262302633026430265302663026730268302693027030271302723027330274302753027630277302783027930280302813028230283302843028530286302873028830289302903029130292302933029430295302963029730298302993030030301303023030330304303053030630307303083030930310303113031230313303143031530316303173031830319303203032130322303233032430325303263032730328303293033030331303323033330334303353033630337303383033930340303413034230343303443034530346303473034830349303503035130352303533035430355303563035730358303593036030361303623036330364303653036630367303683036930370303713037230373303743037530376303773037830379303803038130382303833038430385303863038730388303893039030391303923039330394303953039630397303983039930400304013040230403304043040530406304073040830409304103041130412304133041430415304163041730418304193042030421304223042330424304253042630427304283042930430304313043230433304343043530436304373043830439304403044130442304433044430445304463044730448304493045030451304523045330454304553045630457304583045930460304613046230463304643046530466304673046830469304703047130472304733047430475304763047730478304793048030481304823048330484304853048630487304883048930490304913049230493304943049530496304973049830499305003050130502305033050430505305063050730508305093051030511305123051330514305153051630517305183051930520305213052230523305243052530526305273052830529305303053130532305333053430535305363053730538305393054030541305423054330544305453054630547305483054930550305513055230553305543055530556305573055830559305603056130562305633056430565305663056730568305693057030571305723057330574305753057630577305783057930580305813058230583305843058530586305873058830589305903059130592305933059430595305963059730598305993060030601306023060330604306053060630607306083060930610306113061230613306143061530616306173061830619306203062130622306233062430625306263062730628306293063030631306323063330634306353063630637306383063930640306413064230643306443064530646306473064830649306503065130652306533065430655306563065730658306593066030661306623066330664306653066630667306683066930670306713067230673306743067530676306773067830679306803068130682306833068430685306863068730688306893069030691306923069330694306953069630697306983069930700307013070230703307043070530706307073070830709307103071130712307133071430715307163071730718307193072030721307223072330724307253072630727307283072930730307313073230733307343073530736307373073830739307403074130742307433074430745307463074730748307493075030751307523075330754307553075630757307583075930760307613076230763307643076530766307673076830769307703077130772307733077430775307763077730778307793078030781307823078330784307853078630787307883078930790307913079230793307943079530796307973079830799308003080130802308033080430805308063080730808308093081030811308123081330814308153081630817308183081930820308213082230823308243082530826308273082830829308303083130832308333083430835308363083730838308393084030841308423084330844308453084630847308483084930850308513085230853308543085530856308573085830859308603086130862308633086430865308663086730868308693087030871308723087330874308753087630877308783087930880308813088230883308843088530886308873088830889308903089130892308933089430895308963089730898308993090030901309023090330904309053090630907309083090930910309113091230913309143091530916309173091830919309203092130922309233092430925309263092730928309293093030931309323093330934309353093630937309383093930940309413094230943309443094530946309473094830949309503095130952309533095430955309563095730958309593096030961309623096330964309653096630967309683096930970309713097230973309743097530976309773097830979309803098130982309833098430985309863098730988309893099030991309923099330994309953099630997309983099931000310013100231003310043100531006310073100831009310103101131012310133101431015310163101731018310193102031021310223102331024310253102631027310283102931030310313103231033310343103531036310373103831039310403104131042310433104431045310463104731048310493105031051310523105331054310553105631057310583105931060310613106231063310643106531066310673106831069310703107131072310733107431075310763107731078310793108031081310823108331084310853108631087310883108931090310913109231093310943109531096310973109831099311003110131102311033110431105311063110731108311093111031111311123111331114311153111631117311183111931120311213112231123311243112531126311273112831129311303113131132311333113431135311363113731138311393114031141311423114331144311453114631147311483114931150311513115231153311543115531156311573115831159311603116131162311633116431165311663116731168311693117031171311723117331174311753117631177311783117931180311813118231183311843118531186311873118831189311903119131192311933119431195311963119731198311993120031201312023120331204312053120631207312083120931210312113121231213312143121531216312173121831219312203122131222312233122431225312263122731228312293123031231312323123331234312353123631237312383123931240312413124231243312443124531246312473124831249312503125131252312533125431255312563125731258312593126031261312623126331264312653126631267312683126931270312713127231273312743127531276312773127831279312803128131282312833128431285312863128731288312893129031291312923129331294312953129631297312983129931300313013130231303313043130531306313073130831309313103131131312313133131431315313163131731318313193132031321313223132331324313253132631327313283132931330313313133231333313343133531336313373133831339313403134131342313433134431345313463134731348313493135031351313523135331354313553135631357313583135931360313613136231363313643136531366313673136831369313703137131372313733137431375313763137731378313793138031381313823138331384313853138631387313883138931390313913139231393313943139531396313973139831399314003140131402314033140431405314063140731408314093141031411314123141331414314153141631417314183141931420314213142231423314243142531426314273142831429314303143131432314333143431435314363143731438314393144031441314423144331444314453144631447314483144931450314513145231453314543145531456314573145831459314603146131462314633146431465314663146731468314693147031471314723147331474314753147631477314783147931480314813148231483314843148531486314873148831489314903149131492314933149431495314963149731498314993150031501315023150331504315053150631507315083150931510315113151231513315143151531516315173151831519315203152131522315233152431525315263152731528315293153031531315323153331534315353153631537315383153931540315413154231543315443154531546315473154831549315503155131552315533155431555315563155731558315593156031561315623156331564315653156631567315683156931570315713157231573315743157531576315773157831579315803158131582315833158431585315863158731588315893159031591315923159331594315953159631597315983159931600316013160231603316043160531606316073160831609316103161131612316133161431615316163161731618316193162031621316223162331624316253162631627316283162931630316313163231633316343163531636316373163831639316403164131642316433164431645316463164731648316493165031651316523165331654316553165631657316583165931660316613166231663316643166531666316673166831669316703167131672316733167431675316763167731678316793168031681316823168331684316853168631687316883168931690316913169231693316943169531696316973169831699317003170131702317033170431705317063170731708317093171031711317123171331714317153171631717317183171931720317213172231723317243172531726317273172831729317303173131732317333173431735317363173731738317393174031741317423174331744317453174631747317483174931750317513175231753317543175531756317573175831759317603176131762317633176431765317663176731768317693177031771317723177331774317753177631777317783177931780317813178231783317843178531786317873178831789317903179131792317933179431795317963179731798317993180031801318023180331804318053180631807318083180931810318113181231813318143181531816318173181831819318203182131822318233182431825318263182731828318293183031831318323183331834318353183631837318383183931840318413184231843318443184531846318473184831849318503185131852318533185431855318563185731858318593186031861318623186331864318653186631867318683186931870318713187231873318743187531876318773187831879318803188131882318833188431885318863188731888318893189031891318923189331894318953189631897318983189931900319013190231903319043190531906319073190831909319103191131912319133191431915319163191731918319193192031921319223192331924319253192631927319283192931930319313193231933319343193531936319373193831939319403194131942319433194431945319463194731948319493195031951319523195331954319553195631957319583195931960319613196231963319643196531966319673196831969319703197131972319733197431975319763197731978319793198031981319823198331984319853198631987319883198931990319913199231993319943199531996319973199831999320003200132002320033200432005320063200732008320093201032011320123201332014320153201632017320183201932020320213202232023320243202532026320273202832029320303203132032320333203432035320363203732038320393204032041320423204332044320453204632047320483204932050320513205232053320543205532056320573205832059320603206132062320633206432065320663206732068320693207032071320723207332074320753207632077320783207932080320813208232083320843208532086320873208832089320903209132092320933209432095320963209732098320993210032101321023210332104321053210632107321083210932110321113211232113321143211532116321173211832119321203212132122321233212432125321263212732128321293213032131321323213332134321353213632137321383213932140321413214232143321443214532146321473214832149321503215132152321533215432155321563215732158321593216032161321623216332164321653216632167321683216932170321713217232173321743217532176321773217832179321803218132182321833218432185321863218732188321893219032191321923219332194321953219632197321983219932200322013220232203322043220532206322073220832209322103221132212322133221432215322163221732218322193222032221322223222332224322253222632227322283222932230322313223232233322343223532236322373223832239322403224132242322433224432245322463224732248322493225032251322523225332254322553225632257322583225932260322613226232263322643226532266322673226832269322703227132272322733227432275322763227732278322793228032281322823228332284322853228632287322883228932290322913229232293322943229532296322973229832299323003230132302323033230432305323063230732308323093231032311323123231332314323153231632317323183231932320323213232232323323243232532326323273232832329323303233132332323333233432335323363233732338323393234032341323423234332344323453234632347323483234932350323513235232353323543235532356323573235832359323603236132362323633236432365323663236732368323693237032371323723237332374323753237632377323783237932380323813238232383323843238532386323873238832389323903239132392323933239432395323963239732398323993240032401324023240332404324053240632407324083240932410324113241232413324143241532416324173241832419324203242132422324233242432425324263242732428324293243032431324323243332434324353243632437324383243932440324413244232443324443244532446324473244832449324503245132452324533245432455324563245732458324593246032461324623246332464324653246632467324683246932470324713247232473324743247532476324773247832479324803248132482324833248432485324863248732488324893249032491324923249332494324953249632497324983249932500325013250232503325043250532506325073250832509325103251132512325133251432515325163251732518325193252032521325223252332524325253252632527325283252932530325313253232533325343253532536325373253832539325403254132542325433254432545325463254732548325493255032551325523255332554325553255632557325583255932560325613256232563325643256532566325673256832569325703257132572325733257432575325763257732578325793258032581325823258332584325853258632587325883258932590325913259232593325943259532596325973259832599326003260132602326033260432605326063260732608326093261032611326123261332614326153261632617326183261932620326213262232623326243262532626326273262832629326303263132632326333263432635326363263732638326393264032641326423264332644326453264632647326483264932650326513265232653326543265532656326573265832659326603266132662326633266432665326663266732668326693267032671326723267332674326753267632677326783267932680326813268232683326843268532686326873268832689326903269132692326933269432695326963269732698326993270032701327023270332704327053270632707327083270932710327113271232713327143271532716327173271832719327203272132722327233272432725327263272732728327293273032731327323273332734327353273632737327383273932740327413274232743327443274532746327473274832749327503275132752327533275432755327563275732758327593276032761327623276332764327653276632767327683276932770327713277232773327743277532776327773277832779327803278132782327833278432785327863278732788327893279032791327923279332794327953279632797327983279932800328013280232803328043280532806328073280832809328103281132812328133281432815328163281732818328193282032821328223282332824328253282632827328283282932830328313283232833328343283532836328373283832839328403284132842328433284432845328463284732848328493285032851328523285332854328553285632857328583285932860328613286232863328643286532866328673286832869328703287132872328733287432875328763287732878328793288032881328823288332884328853288632887328883288932890328913289232893328943289532896328973289832899329003290132902329033290432905329063290732908329093291032911329123291332914329153291632917329183291932920329213292232923329243292532926329273292832929329303293132932329333293432935329363293732938329393294032941329423294332944329453294632947329483294932950329513295232953329543295532956329573295832959329603296132962329633296432965329663296732968329693297032971329723297332974329753297632977329783297932980329813298232983329843298532986329873298832989329903299132992329933299432995329963299732998329993300033001330023300333004330053300633007330083300933010330113301233013330143301533016330173301833019330203302133022330233302433025330263302733028330293303033031330323303333034330353303633037330383303933040330413304233043330443304533046330473304833049330503305133052330533305433055330563305733058330593306033061330623306333064330653306633067330683306933070330713307233073330743307533076330773307833079330803308133082330833308433085330863308733088330893309033091330923309333094330953309633097330983309933100331013310233103331043310533106331073310833109331103311133112331133311433115331163311733118331193312033121331223312333124331253312633127331283312933130331313313233133331343313533136331373313833139331403314133142331433314433145331463314733148331493315033151331523315333154331553315633157331583315933160331613316233163331643316533166331673316833169331703317133172331733317433175331763317733178331793318033181331823318333184331853318633187331883318933190331913319233193331943319533196331973319833199332003320133202332033320433205332063320733208332093321033211332123321333214332153321633217332183321933220332213322233223332243322533226332273322833229332303323133232332333323433235332363323733238332393324033241332423324333244332453324633247332483324933250332513325233253332543325533256332573325833259332603326133262332633326433265332663326733268332693327033271332723327333274332753327633277332783327933280332813328233283332843328533286332873328833289332903329133292332933329433295332963329733298332993330033301333023330333304333053330633307333083330933310333113331233313333143331533316333173331833319333203332133322333233332433325333263332733328333293333033331333323333333334333353333633337333383333933340333413334233343333443334533346333473334833349333503335133352333533335433355333563335733358333593336033361333623336333364333653336633367333683336933370333713337233373333743337533376333773337833379333803338133382333833338433385333863338733388333893339033391333923339333394333953339633397333983339933400334013340233403334043340533406334073340833409334103341133412334133341433415334163341733418334193342033421334223342333424334253342633427334283342933430334313343233433334343343533436334373343833439334403344133442334433344433445334463344733448334493345033451334523345333454334553345633457334583345933460334613346233463334643346533466334673346833469334703347133472334733347433475334763347733478334793348033481334823348333484334853348633487334883348933490334913349233493334943349533496334973349833499335003350133502335033350433505335063350733508335093351033511335123351333514335153351633517335183351933520335213352233523335243352533526335273352833529335303353133532335333353433535335363353733538335393354033541335423354333544335453354633547335483354933550335513355233553335543355533556335573355833559335603356133562335633356433565335663356733568335693357033571335723357333574335753357633577335783357933580335813358233583335843358533586335873358833589335903359133592335933359433595335963359733598335993360033601336023360333604336053360633607336083360933610336113361233613336143361533616336173361833619336203362133622336233362433625336263362733628336293363033631336323363333634336353363633637336383363933640336413364233643336443364533646336473364833649336503365133652336533365433655336563365733658336593366033661336623366333664336653366633667336683366933670336713367233673336743367533676336773367833679336803368133682336833368433685336863368733688336893369033691336923369333694336953369633697336983369933700337013370233703337043370533706337073370833709337103371133712337133371433715337163371733718337193372033721337223372333724337253372633727337283372933730337313373233733337343373533736337373373833739337403374133742337433374433745337463374733748337493375033751337523375333754337553375633757337583375933760337613376233763337643376533766337673376833769337703377133772337733377433775337763377733778337793378033781337823378333784337853378633787337883378933790337913379233793337943379533796337973379833799338003380133802338033380433805338063380733808338093381033811338123381333814338153381633817338183381933820338213382233823338243382533826338273382833829338303383133832338333383433835338363383733838338393384033841338423384333844338453384633847338483384933850338513385233853338543385533856338573385833859338603386133862338633386433865338663386733868338693387033871338723387333874338753387633877338783387933880338813388233883338843388533886338873388833889338903389133892338933389433895338963389733898338993390033901339023390333904339053390633907339083390933910339113391233913339143391533916339173391833919339203392133922339233392433925339263392733928339293393033931339323393333934339353393633937339383393933940339413394233943339443394533946339473394833949339503395133952339533395433955339563395733958339593396033961339623396333964339653396633967339683396933970339713397233973339743397533976339773397833979339803398133982339833398433985339863398733988339893399033991339923399333994339953399633997339983399934000340013400234003340043400534006340073400834009340103401134012340133401434015340163401734018340193402034021340223402334024340253402634027340283402934030340313403234033340343403534036340373403834039340403404134042340433404434045340463404734048340493405034051340523405334054340553405634057340583405934060340613406234063340643406534066340673406834069340703407134072340733407434075340763407734078340793408034081340823408334084340853408634087340883408934090340913409234093340943409534096340973409834099341003410134102341033410434105341063410734108341093411034111341123411334114341153411634117341183411934120341213412234123341243412534126341273412834129341303413134132341333413434135341363413734138341393414034141341423414334144341453414634147341483414934150341513415234153341543415534156341573415834159341603416134162341633416434165341663416734168341693417034171341723417334174341753417634177341783417934180341813418234183341843418534186341873418834189341903419134192341933419434195341963419734198341993420034201342023420334204342053420634207342083420934210342113421234213342143421534216342173421834219342203422134222342233422434225342263422734228342293423034231342323423334234342353423634237342383423934240342413424234243342443424534246342473424834249342503425134252342533425434255342563425734258342593426034261342623426334264342653426634267342683426934270342713427234273342743427534276342773427834279342803428134282342833428434285342863428734288342893429034291342923429334294342953429634297342983429934300343013430234303343043430534306343073430834309343103431134312343133431434315343163431734318343193432034321343223432334324343253432634327343283432934330343313433234333343343433534336343373433834339343403434134342343433434434345343463434734348343493435034351343523435334354343553435634357343583435934360343613436234363343643436534366343673436834369343703437134372343733437434375343763437734378343793438034381343823438334384343853438634387343883438934390343913439234393343943439534396343973439834399344003440134402344033440434405344063440734408344093441034411344123441334414344153441634417344183441934420344213442234423344243442534426344273442834429344303443134432344333443434435344363443734438344393444034441344423444334444344453444634447344483444934450344513445234453344543445534456344573445834459344603446134462344633446434465344663446734468344693447034471344723447334474344753447634477344783447934480344813448234483344843448534486344873448834489344903449134492344933449434495344963449734498344993450034501345023450334504345053450634507345083450934510345113451234513345143451534516345173451834519345203452134522345233452434525345263452734528345293453034531345323453334534345353453634537345383453934540345413454234543345443454534546345473454834549345503455134552345533455434555345563455734558345593456034561345623456334564345653456634567345683456934570345713457234573345743457534576345773457834579345803458134582345833458434585345863458734588345893459034591345923459334594345953459634597345983459934600346013460234603346043460534606346073460834609346103461134612346133461434615346163461734618346193462034621346223462334624346253462634627346283462934630346313463234633346343463534636346373463834639346403464134642346433464434645346463464734648346493465034651346523465334654346553465634657346583465934660346613466234663346643466534666346673466834669346703467134672346733467434675346763467734678346793468034681346823468334684346853468634687346883468934690346913469234693346943469534696346973469834699347003470134702347033470434705347063470734708347093471034711347123471334714347153471634717347183471934720347213472234723347243472534726347273472834729347303473134732347333473434735347363473734738347393474034741347423474334744347453474634747347483474934750347513475234753347543475534756347573475834759347603476134762347633476434765347663476734768347693477034771347723477334774347753477634777347783477934780347813478234783347843478534786347873478834789347903479134792347933479434795347963479734798347993480034801348023480334804348053480634807348083480934810348113481234813348143481534816348173481834819348203482134822348233482434825348263482734828348293483034831348323483334834348353483634837348383483934840348413484234843348443484534846348473484834849348503485134852348533485434855348563485734858348593486034861348623486334864348653486634867348683486934870348713487234873348743487534876348773487834879348803488134882348833488434885348863488734888348893489034891348923489334894348953489634897348983489934900349013490234903349043490534906349073490834909349103491134912349133491434915349163491734918349193492034921349223492334924349253492634927349283492934930349313493234933349343493534936349373493834939349403494134942349433494434945349463494734948349493495034951349523495334954349553495634957349583495934960349613496234963349643496534966349673496834969349703497134972349733497434975349763497734978349793498034981349823498334984349853498634987349883498934990349913499234993349943499534996349973499834999350003500135002350033500435005350063500735008350093501035011350123501335014350153501635017350183501935020350213502235023350243502535026350273502835029350303503135032350333503435035350363503735038350393504035041350423504335044350453504635047350483504935050350513505235053350543505535056350573505835059350603506135062350633506435065350663506735068350693507035071350723507335074350753507635077350783507935080350813508235083350843508535086350873508835089350903509135092350933509435095350963509735098350993510035101351023510335104351053510635107351083510935110351113511235113351143511535116351173511835119351203512135122351233512435125351263512735128351293513035131351323513335134351353513635137351383513935140351413514235143351443514535146351473514835149351503515135152351533515435155351563515735158351593516035161351623516335164351653516635167351683516935170351713517235173351743517535176351773517835179351803518135182351833518435185351863518735188351893519035191351923519335194351953519635197351983519935200352013520235203352043520535206352073520835209352103521135212352133521435215352163521735218352193522035221352223522335224352253522635227352283522935230352313523235233352343523535236352373523835239352403524135242352433524435245352463524735248352493525035251352523525335254352553525635257352583525935260352613526235263352643526535266352673526835269352703527135272352733527435275352763527735278352793528035281352823528335284352853528635287352883528935290352913529235293352943529535296352973529835299353003530135302353033530435305353063530735308353093531035311353123531335314353153531635317353183531935320353213532235323353243532535326353273532835329353303533135332353333533435335353363533735338353393534035341353423534335344353453534635347353483534935350353513535235353353543535535356353573535835359353603536135362353633536435365353663536735368353693537035371353723537335374353753537635377353783537935380353813538235383353843538535386353873538835389353903539135392353933539435395353963539735398353993540035401354023540335404354053540635407354083540935410354113541235413354143541535416354173541835419354203542135422354233542435425354263542735428354293543035431354323543335434354353543635437354383543935440354413544235443354443544535446354473544835449354503545135452354533545435455354563545735458354593546035461354623546335464354653546635467354683546935470354713547235473354743547535476354773547835479354803548135482354833548435485354863548735488354893549035491354923549335494354953549635497354983549935500355013550235503355043550535506355073550835509355103551135512355133551435515355163551735518355193552035521355223552335524355253552635527355283552935530355313553235533355343553535536355373553835539355403554135542355433554435545355463554735548355493555035551355523555335554355553555635557355583555935560355613556235563355643556535566355673556835569355703557135572355733557435575355763557735578355793558035581355823558335584355853558635587355883558935590355913559235593355943559535596355973559835599356003560135602356033560435605356063560735608356093561035611356123561335614356153561635617356183561935620356213562235623356243562535626356273562835629356303563135632356333563435635356363563735638356393564035641356423564335644356453564635647356483564935650356513565235653356543565535656356573565835659356603566135662356633566435665356663566735668356693567035671356723567335674356753567635677356783567935680356813568235683356843568535686356873568835689356903569135692356933569435695356963569735698356993570035701357023570335704357053570635707357083570935710357113571235713357143571535716357173571835719357203572135722357233572435725357263572735728357293573035731357323573335734357353573635737357383573935740357413574235743357443574535746357473574835749357503575135752357533575435755357563575735758357593576035761357623576335764357653576635767357683576935770357713577235773357743577535776357773577835779357803578135782357833578435785357863578735788357893579035791357923579335794357953579635797357983579935800358013580235803358043580535806358073580835809358103581135812358133581435815358163581735818358193582035821358223582335824358253582635827358283582935830358313583235833358343583535836358373583835839358403584135842358433584435845358463584735848358493585035851358523585335854358553585635857358583585935860358613586235863358643586535866358673586835869358703587135872358733587435875358763587735878358793588035881358823588335884358853588635887358883588935890358913589235893358943589535896358973589835899359003590135902359033590435905359063590735908359093591035911359123591335914359153591635917359183591935920359213592235923359243592535926359273592835929359303593135932359333593435935359363593735938359393594035941359423594335944359453594635947359483594935950359513595235953359543595535956359573595835959359603596135962359633596435965359663596735968359693597035971359723597335974359753597635977359783597935980359813598235983359843598535986359873598835989359903599135992359933599435995359963599735998359993600036001360023600336004360053600636007360083600936010360113601236013360143601536016360173601836019360203602136022360233602436025360263602736028360293603036031360323603336034360353603636037360383603936040360413604236043360443604536046360473604836049360503605136052360533605436055360563605736058360593606036061360623606336064360653606636067360683606936070360713607236073360743607536076360773607836079360803608136082360833608436085360863608736088360893609036091360923609336094360953609636097360983609936100361013610236103361043610536106361073610836109361103611136112361133611436115361163611736118361193612036121361223612336124361253612636127361283612936130361313613236133361343613536136361373613836139361403614136142361433614436145361463614736148361493615036151361523615336154361553615636157361583615936160361613616236163361643616536166361673616836169361703617136172361733617436175361763617736178361793618036181361823618336184361853618636187361883618936190361913619236193361943619536196361973619836199362003620136202362033620436205362063620736208362093621036211362123621336214362153621636217362183621936220362213622236223362243622536226362273622836229362303623136232362333623436235362363623736238362393624036241362423624336244362453624636247362483624936250362513625236253362543625536256362573625836259362603626136262362633626436265362663626736268362693627036271362723627336274362753627636277362783627936280362813628236283362843628536286362873628836289362903629136292362933629436295362963629736298362993630036301363023630336304363053630636307363083630936310363113631236313363143631536316363173631836319363203632136322363233632436325363263632736328363293633036331363323633336334363353633636337363383633936340363413634236343363443634536346363473634836349363503635136352363533635436355363563635736358363593636036361363623636336364363653636636367363683636936370363713637236373363743637536376363773637836379363803638136382363833638436385363863638736388363893639036391363923639336394363953639636397363983639936400364013640236403364043640536406364073640836409364103641136412364133641436415364163641736418364193642036421364223642336424364253642636427364283642936430364313643236433364343643536436364373643836439364403644136442364433644436445364463644736448364493645036451364523645336454364553645636457364583645936460364613646236463364643646536466364673646836469364703647136472364733647436475364763647736478364793648036481364823648336484364853648636487364883648936490364913649236493364943649536496364973649836499365003650136502365033650436505365063650736508365093651036511365123651336514365153651636517365183651936520365213652236523365243652536526365273652836529365303653136532365333653436535365363653736538365393654036541365423654336544365453654636547365483654936550365513655236553365543655536556365573655836559365603656136562365633656436565365663656736568365693657036571365723657336574365753657636577365783657936580365813658236583365843658536586365873658836589365903659136592365933659436595365963659736598365993660036601366023660336604366053660636607366083660936610366113661236613366143661536616366173661836619366203662136622366233662436625366263662736628366293663036631366323663336634366353663636637366383663936640366413664236643366443664536646366473664836649366503665136652366533665436655366563665736658366593666036661366623666336664366653666636667366683666936670366713667236673366743667536676366773667836679366803668136682366833668436685366863668736688366893669036691366923669336694366953669636697366983669936700367013670236703367043670536706367073670836709367103671136712367133671436715367163671736718367193672036721367223672336724367253672636727367283672936730367313673236733367343673536736367373673836739367403674136742367433674436745367463674736748367493675036751367523675336754367553675636757367583675936760367613676236763367643676536766367673676836769367703677136772367733677436775367763677736778367793678036781367823678336784367853678636787367883678936790367913679236793367943679536796367973679836799368003680136802368033680436805368063680736808368093681036811368123681336814368153681636817368183681936820368213682236823368243682536826368273682836829368303683136832368333683436835368363683736838368393684036841368423684336844368453684636847368483684936850368513685236853368543685536856368573685836859368603686136862368633686436865368663686736868368693687036871368723687336874368753687636877368783687936880368813688236883368843688536886368873688836889368903689136892368933689436895368963689736898368993690036901369023690336904369053690636907369083690936910369113691236913369143691536916369173691836919369203692136922369233692436925369263692736928369293693036931369323693336934369353693636937369383693936940369413694236943369443694536946369473694836949369503695136952369533695436955369563695736958369593696036961369623696336964369653696636967369683696936970369713697236973369743697536976369773697836979369803698136982369833698436985369863698736988369893699036991369923699336994369953699636997369983699937000370013700237003370043700537006370073700837009370103701137012370133701437015370163701737018370193702037021370223702337024370253702637027370283702937030370313703237033370343703537036370373703837039370403704137042370433704437045370463704737048370493705037051370523705337054370553705637057370583705937060370613706237063370643706537066370673706837069370703707137072370733707437075370763707737078370793708037081370823708337084370853708637087370883708937090370913709237093370943709537096370973709837099371003710137102371033710437105371063710737108371093711037111371123711337114371153711637117371183711937120371213712237123371243712537126371273712837129371303713137132371333713437135371363713737138371393714037141371423714337144371453714637147371483714937150371513715237153371543715537156371573715837159371603716137162371633716437165371663716737168371693717037171371723717337174371753717637177371783717937180371813718237183371843718537186371873718837189371903719137192371933719437195371963719737198371993720037201372023720337204372053720637207372083720937210372113721237213372143721537216372173721837219372203722137222372233722437225372263722737228372293723037231372323723337234372353723637237372383723937240372413724237243372443724537246372473724837249372503725137252372533725437255372563725737258372593726037261372623726337264372653726637267372683726937270372713727237273372743727537276372773727837279372803728137282372833728437285372863728737288372893729037291372923729337294372953729637297372983729937300373013730237303373043730537306373073730837309373103731137312373133731437315373163731737318373193732037321373223732337324373253732637327373283732937330373313733237333373343733537336373373733837339373403734137342373433734437345373463734737348373493735037351373523735337354373553735637357373583735937360373613736237363373643736537366373673736837369373703737137372373733737437375373763737737378373793738037381373823738337384373853738637387373883738937390373913739237393373943739537396373973739837399374003740137402374033740437405374063740737408374093741037411374123741337414374153741637417374183741937420374213742237423374243742537426374273742837429374303743137432374333743437435374363743737438374393744037441374423744337444374453744637447374483744937450374513745237453374543745537456374573745837459374603746137462374633746437465374663746737468374693747037471374723747337474374753747637477374783747937480374813748237483374843748537486374873748837489374903749137492374933749437495374963749737498374993750037501375023750337504375053750637507375083750937510375113751237513375143751537516375173751837519375203752137522375233752437525375263752737528375293753037531375323753337534375353753637537375383753937540375413754237543375443754537546375473754837549375503755137552375533755437555375563755737558375593756037561375623756337564375653756637567375683756937570375713757237573375743757537576375773757837579375803758137582375833758437585375863758737588375893759037591375923759337594375953759637597375983759937600376013760237603376043760537606376073760837609376103761137612376133761437615376163761737618376193762037621376223762337624376253762637627376283762937630376313763237633376343763537636376373763837639376403764137642376433764437645376463764737648376493765037651376523765337654376553765637657376583765937660376613766237663376643766537666376673766837669376703767137672376733767437675376763767737678376793768037681376823768337684376853768637687376883768937690376913769237693376943769537696376973769837699377003770137702377033770437705377063770737708377093771037711377123771337714377153771637717377183771937720377213772237723377243772537726377273772837729377303773137732377333773437735377363773737738377393774037741377423774337744377453774637747377483774937750377513775237753377543775537756377573775837759377603776137762377633776437765377663776737768377693777037771377723777337774377753777637777377783777937780377813778237783377843778537786377873778837789377903779137792377933779437795377963779737798377993780037801378023780337804378053780637807378083780937810378113781237813378143781537816378173781837819378203782137822378233782437825378263782737828378293783037831378323783337834378353783637837378383783937840378413784237843378443784537846378473784837849378503785137852378533785437855378563785737858378593786037861378623786337864378653786637867378683786937870378713787237873378743787537876378773787837879378803788137882378833788437885378863788737888378893789037891378923789337894378953789637897378983789937900379013790237903379043790537906379073790837909379103791137912379133791437915379163791737918379193792037921379223792337924379253792637927379283792937930379313793237933379343793537936379373793837939379403794137942379433794437945379463794737948379493795037951379523795337954379553795637957379583795937960379613796237963379643796537966379673796837969379703797137972379733797437975379763797737978379793798037981379823798337984379853798637987379883798937990379913799237993379943799537996379973799837999380003800138002380033800438005380063800738008380093801038011380123801338014380153801638017380183801938020380213802238023380243802538026380273802838029380303803138032380333803438035380363803738038380393804038041380423804338044380453804638047380483804938050380513805238053380543805538056380573805838059380603806138062380633806438065380663806738068380693807038071380723807338074380753807638077380783807938080380813808238083380843808538086380873808838089380903809138092380933809438095380963809738098380993810038101381023810338104381053810638107381083810938110381113811238113381143811538116381173811838119381203812138122381233812438125381263812738128381293813038131381323813338134381353813638137381383813938140381413814238143381443814538146381473814838149381503815138152381533815438155381563815738158381593816038161381623816338164381653816638167381683816938170381713817238173381743817538176381773817838179381803818138182381833818438185381863818738188381893819038191381923819338194381953819638197381983819938200382013820238203382043820538206382073820838209382103821138212382133821438215382163821738218382193822038221382223822338224382253822638227382283822938230382313823238233382343823538236382373823838239382403824138242382433824438245382463824738248382493825038251382523825338254382553825638257382583825938260382613826238263382643826538266382673826838269382703827138272382733827438275382763827738278382793828038281382823828338284382853828638287382883828938290382913829238293382943829538296382973829838299383003830138302383033830438305383063830738308383093831038311383123831338314383153831638317383183831938320383213832238323383243832538326383273832838329383303833138332383333833438335383363833738338383393834038341383423834338344383453834638347383483834938350383513835238353383543835538356383573835838359383603836138362383633836438365383663836738368383693837038371383723837338374383753837638377383783837938380383813838238383383843838538386383873838838389383903839138392383933839438395383963839738398383993840038401384023840338404384053840638407384083840938410384113841238413384143841538416384173841838419384203842138422384233842438425384263842738428384293843038431384323843338434384353843638437384383843938440384413844238443384443844538446384473844838449384503845138452384533845438455384563845738458384593846038461384623846338464384653846638467384683846938470384713847238473384743847538476384773847838479384803848138482384833848438485384863848738488384893849038491384923849338494384953849638497384983849938500385013850238503385043850538506385073850838509385103851138512385133851438515385163851738518385193852038521385223852338524385253852638527385283852938530385313853238533385343853538536385373853838539385403854138542385433854438545385463854738548385493855038551385523855338554385553855638557385583855938560385613856238563385643856538566385673856838569385703857138572385733857438575385763857738578385793858038581385823858338584385853858638587385883858938590385913859238593385943859538596385973859838599386003860138602386033860438605386063860738608386093861038611386123861338614386153861638617386183861938620386213862238623386243862538626386273862838629386303863138632386333863438635386363863738638386393864038641386423864338644386453864638647386483864938650386513865238653386543865538656386573865838659386603866138662386633866438665386663866738668386693867038671386723867338674386753867638677386783867938680386813868238683386843868538686386873868838689386903869138692386933869438695386963869738698386993870038701387023870338704387053870638707387083870938710387113871238713387143871538716387173871838719387203872138722387233872438725387263872738728387293873038731387323873338734387353873638737387383873938740387413874238743387443874538746387473874838749387503875138752387533875438755387563875738758387593876038761387623876338764387653876638767387683876938770387713877238773387743877538776387773877838779387803878138782387833878438785387863878738788387893879038791387923879338794387953879638797387983879938800388013880238803388043880538806388073880838809388103881138812388133881438815388163881738818388193882038821388223882338824388253882638827388283882938830388313883238833388343883538836388373883838839388403884138842388433884438845388463884738848388493885038851388523885338854388553885638857388583885938860388613886238863388643886538866388673886838869388703887138872388733887438875388763887738878388793888038881388823888338884388853888638887388883888938890388913889238893388943889538896388973889838899389003890138902389033890438905389063890738908389093891038911389123891338914389153891638917389183891938920389213892238923389243892538926389273892838929389303893138932389333893438935389363893738938389393894038941389423894338944389453894638947389483894938950389513895238953389543895538956389573895838959389603896138962389633896438965389663896738968389693897038971389723897338974389753897638977389783897938980389813898238983389843898538986389873898838989389903899138992389933899438995389963899738998389993900039001390023900339004390053900639007390083900939010390113901239013390143901539016390173901839019390203902139022390233902439025390263902739028390293903039031390323903339034390353903639037390383903939040390413904239043390443904539046390473904839049390503905139052390533905439055390563905739058390593906039061390623906339064390653906639067390683906939070390713907239073390743907539076390773907839079390803908139082390833908439085390863908739088390893909039091390923909339094390953909639097390983909939100391013910239103391043910539106391073910839109391103911139112391133911439115391163911739118391193912039121391223912339124391253912639127391283912939130391313913239133391343913539136391373913839139391403914139142391433914439145391463914739148391493915039151391523915339154391553915639157391583915939160391613916239163391643916539166391673916839169391703917139172391733917439175391763917739178391793918039181391823918339184391853918639187391883918939190391913919239193391943919539196391973919839199392003920139202392033920439205392063920739208392093921039211392123921339214392153921639217392183921939220392213922239223392243922539226392273922839229392303923139232392333923439235392363923739238392393924039241392423924339244392453924639247392483924939250392513925239253392543925539256392573925839259392603926139262392633926439265392663926739268392693927039271392723927339274392753927639277392783927939280392813928239283392843928539286392873928839289392903929139292392933929439295392963929739298392993930039301393023930339304393053930639307393083930939310393113931239313393143931539316393173931839319393203932139322393233932439325393263932739328393293933039331393323933339334393353933639337393383933939340393413934239343393443934539346393473934839349393503935139352393533935439355393563935739358393593936039361393623936339364393653936639367393683936939370393713937239373393743937539376393773937839379393803938139382393833938439385393863938739388393893939039391393923939339394393953939639397393983939939400394013940239403394043940539406394073940839409394103941139412394133941439415394163941739418394193942039421394223942339424394253942639427394283942939430394313943239433394343943539436394373943839439394403944139442394433944439445394463944739448394493945039451394523945339454394553945639457394583945939460394613946239463394643946539466394673946839469394703947139472394733947439475394763947739478394793948039481394823948339484394853948639487394883948939490394913949239493394943949539496394973949839499395003950139502395033950439505395063950739508395093951039511395123951339514395153951639517395183951939520395213952239523395243952539526395273952839529395303953139532395333953439535395363953739538395393954039541395423954339544395453954639547395483954939550395513955239553395543955539556395573955839559395603956139562395633956439565395663956739568395693957039571395723957339574395753957639577395783957939580395813958239583395843958539586395873958839589395903959139592395933959439595395963959739598395993960039601396023960339604396053960639607396083960939610396113961239613396143961539616396173961839619396203962139622396233962439625396263962739628396293963039631396323963339634396353963639637396383963939640396413964239643396443964539646396473964839649396503965139652396533965439655396563965739658396593966039661396623966339664396653966639667396683966939670396713967239673396743967539676396773967839679396803968139682396833968439685396863968739688396893969039691396923969339694396953969639697396983969939700397013970239703397043970539706397073970839709397103971139712397133971439715397163971739718397193972039721397223972339724397253972639727397283972939730397313973239733397343973539736397373973839739397403974139742397433974439745397463974739748397493975039751397523975339754397553975639757397583975939760397613976239763397643976539766397673976839769397703977139772397733977439775397763977739778397793978039781397823978339784397853978639787397883978939790397913979239793397943979539796397973979839799398003980139802398033980439805398063980739808398093981039811398123981339814398153981639817398183981939820398213982239823398243982539826398273982839829398303983139832398333983439835398363983739838398393984039841398423984339844398453984639847398483984939850398513985239853398543985539856398573985839859398603986139862398633986439865398663986739868398693987039871398723987339874398753987639877398783987939880398813988239883398843988539886398873988839889398903989139892398933989439895398963989739898398993990039901399023990339904399053990639907399083990939910399113991239913399143991539916399173991839919399203992139922399233992439925399263992739928399293993039931399323993339934399353993639937399383993939940399413994239943399443994539946399473994839949399503995139952399533995439955399563995739958399593996039961399623996339964399653996639967399683996939970399713997239973399743997539976399773997839979399803998139982399833998439985399863998739988399893999039991399923999339994399953999639997399983999940000400014000240003400044000540006400074000840009400104001140012400134001440015400164001740018400194002040021400224002340024400254002640027400284002940030400314003240033400344003540036400374003840039400404004140042400434004440045400464004740048400494005040051400524005340054400554005640057400584005940060400614006240063400644006540066400674006840069400704007140072400734007440075400764007740078400794008040081400824008340084400854008640087400884008940090400914009240093400944009540096400974009840099401004010140102401034010440105401064010740108401094011040111401124011340114401154011640117401184011940120401214012240123401244012540126401274012840129401304013140132401334013440135401364013740138401394014040141401424014340144401454014640147401484014940150401514015240153401544015540156401574015840159401604016140162401634016440165401664016740168401694017040171401724017340174401754017640177401784017940180401814018240183401844018540186401874018840189401904019140192401934019440195401964019740198401994020040201402024020340204402054020640207402084020940210402114021240213402144021540216402174021840219402204022140222402234022440225402264022740228402294023040231402324023340234402354023640237402384023940240402414024240243402444024540246402474024840249402504025140252402534025440255402564025740258402594026040261402624026340264402654026640267402684026940270402714027240273402744027540276402774027840279402804028140282402834028440285402864028740288402894029040291402924029340294402954029640297402984029940300403014030240303403044030540306403074030840309403104031140312403134031440315403164031740318403194032040321403224032340324403254032640327403284032940330403314033240333403344033540336403374033840339403404034140342403434034440345403464034740348403494035040351403524035340354403554035640357403584035940360403614036240363403644036540366403674036840369403704037140372403734037440375403764037740378403794038040381403824038340384403854038640387403884038940390403914039240393403944039540396403974039840399404004040140402404034040440405404064040740408404094041040411404124041340414404154041640417404184041940420404214042240423404244042540426404274042840429404304043140432404334043440435404364043740438404394044040441404424044340444404454044640447404484044940450404514045240453404544045540456404574045840459404604046140462404634046440465404664046740468404694047040471404724047340474404754047640477404784047940480404814048240483404844048540486404874048840489404904049140492404934049440495404964049740498404994050040501405024050340504405054050640507405084050940510405114051240513405144051540516405174051840519405204052140522405234052440525405264052740528405294053040531405324053340534405354053640537405384053940540405414054240543405444054540546405474054840549405504055140552405534055440555405564055740558405594056040561405624056340564405654056640567405684056940570405714057240573405744057540576405774057840579405804058140582405834058440585405864058740588405894059040591405924059340594405954059640597405984059940600406014060240603406044060540606406074060840609406104061140612406134061440615406164061740618406194062040621406224062340624406254062640627406284062940630406314063240633406344063540636406374063840639406404064140642406434064440645406464064740648406494065040651406524065340654406554065640657406584065940660406614066240663406644066540666406674066840669406704067140672406734067440675406764067740678406794068040681406824068340684406854068640687406884068940690406914069240693406944069540696406974069840699407004070140702407034070440705407064070740708407094071040711407124071340714407154071640717407184071940720407214072240723407244072540726407274072840729407304073140732407334073440735407364073740738407394074040741407424074340744407454074640747407484074940750407514075240753407544075540756407574075840759407604076140762407634076440765407664076740768407694077040771407724077340774407754077640777407784077940780407814078240783407844078540786407874078840789407904079140792407934079440795407964079740798407994080040801408024080340804408054080640807408084080940810408114081240813408144081540816408174081840819408204082140822408234082440825408264082740828408294083040831408324083340834408354083640837408384083940840408414084240843408444084540846408474084840849408504085140852408534085440855408564085740858408594086040861408624086340864408654086640867408684086940870408714087240873408744087540876408774087840879408804088140882408834088440885408864088740888408894089040891408924089340894408954089640897408984089940900409014090240903409044090540906409074090840909409104091140912409134091440915409164091740918409194092040921409224092340924409254092640927409284092940930409314093240933409344093540936409374093840939409404094140942409434094440945409464094740948409494095040951409524095340954409554095640957409584095940960409614096240963409644096540966409674096840969409704097140972409734097440975409764097740978409794098040981409824098340984409854098640987409884098940990409914099240993409944099540996409974099840999410004100141002410034100441005410064100741008410094101041011410124101341014410154101641017410184101941020410214102241023410244102541026410274102841029410304103141032410334103441035410364103741038410394104041041410424104341044410454104641047410484104941050410514105241053410544105541056410574105841059410604106141062410634106441065410664106741068410694107041071410724107341074410754107641077410784107941080410814108241083410844108541086410874108841089410904109141092410934109441095410964109741098410994110041101411024110341104411054110641107411084110941110411114111241113411144111541116411174111841119411204112141122411234112441125411264112741128411294113041131411324113341134411354113641137411384113941140411414114241143411444114541146411474114841149411504115141152411534115441155411564115741158411594116041161411624116341164411654116641167411684116941170411714117241173411744117541176411774117841179411804118141182411834118441185411864118741188411894119041191411924119341194411954119641197411984119941200412014120241203412044120541206412074120841209412104121141212412134121441215412164121741218412194122041221412224122341224412254122641227412284122941230412314123241233412344123541236412374123841239412404124141242412434124441245412464124741248412494125041251412524125341254412554125641257412584125941260412614126241263412644126541266412674126841269412704127141272412734127441275412764127741278412794128041281412824128341284412854128641287412884128941290412914129241293412944129541296412974129841299413004130141302413034130441305413064130741308413094131041311413124131341314413154131641317413184131941320413214132241323413244132541326413274132841329413304133141332413334133441335413364133741338413394134041341413424134341344413454134641347413484134941350413514135241353413544135541356413574135841359413604136141362413634136441365413664136741368413694137041371413724137341374413754137641377413784137941380413814138241383413844138541386413874138841389413904139141392413934139441395413964139741398413994140041401414024140341404414054140641407414084140941410414114141241413414144141541416414174141841419414204142141422414234142441425414264142741428414294143041431414324143341434414354143641437414384143941440414414144241443414444144541446414474144841449414504145141452414534145441455414564145741458414594146041461414624146341464414654146641467414684146941470414714147241473414744147541476414774147841479414804148141482414834148441485414864148741488414894149041491414924149341494414954149641497414984149941500415014150241503415044150541506415074150841509415104151141512415134151441515415164151741518415194152041521415224152341524415254152641527415284152941530415314153241533415344153541536415374153841539415404154141542415434154441545415464154741548415494155041551415524155341554415554155641557415584155941560415614156241563415644156541566415674156841569415704157141572415734157441575415764157741578415794158041581415824158341584415854158641587415884158941590415914159241593415944159541596415974159841599416004160141602416034160441605416064160741608416094161041611416124161341614416154161641617416184161941620416214162241623416244162541626416274162841629416304163141632416334163441635416364163741638416394164041641416424164341644416454164641647416484164941650416514165241653416544165541656416574165841659416604166141662416634166441665416664166741668416694167041671416724167341674416754167641677416784167941680416814168241683416844168541686416874168841689416904169141692416934169441695416964169741698416994170041701417024170341704417054170641707417084170941710417114171241713417144171541716417174171841719417204172141722417234172441725417264172741728417294173041731417324173341734417354173641737417384173941740417414174241743417444174541746417474174841749417504175141752417534175441755417564175741758417594176041761417624176341764417654176641767417684176941770417714177241773417744177541776417774177841779417804178141782417834178441785417864178741788417894179041791417924179341794417954179641797417984179941800418014180241803418044180541806418074180841809418104181141812418134181441815418164181741818418194182041821418224182341824418254182641827418284182941830418314183241833418344183541836418374183841839418404184141842418434184441845418464184741848418494185041851418524185341854418554185641857418584185941860418614186241863418644186541866418674186841869418704187141872418734187441875418764187741878418794188041881418824188341884418854188641887418884188941890418914189241893418944189541896418974189841899419004190141902419034190441905419064190741908419094191041911419124191341914419154191641917419184191941920419214192241923419244192541926419274192841929419304193141932419334193441935419364193741938419394194041941419424194341944419454194641947419484194941950419514195241953419544195541956419574195841959419604196141962419634196441965419664196741968419694197041971419724197341974419754197641977419784197941980419814198241983419844198541986419874198841989419904199141992419934199441995419964199741998419994200042001420024200342004420054200642007420084200942010420114201242013420144201542016420174201842019420204202142022420234202442025420264202742028420294203042031420324203342034420354203642037420384203942040420414204242043420444204542046420474204842049420504205142052420534205442055420564205742058420594206042061420624206342064420654206642067420684206942070420714207242073420744207542076420774207842079420804208142082420834208442085420864208742088420894209042091420924209342094420954209642097420984209942100421014210242103421044210542106421074210842109421104211142112421134211442115421164211742118421194212042121421224212342124421254212642127421284212942130421314213242133421344213542136421374213842139421404214142142421434214442145421464214742148421494215042151421524215342154421554215642157421584215942160421614216242163421644216542166421674216842169421704217142172421734217442175421764217742178421794218042181421824218342184421854218642187421884218942190421914219242193421944219542196421974219842199422004220142202422034220442205422064220742208422094221042211422124221342214422154221642217422184221942220422214222242223422244222542226422274222842229422304223142232422334223442235422364223742238422394224042241422424224342244422454224642247422484224942250422514225242253422544225542256422574225842259422604226142262422634226442265422664226742268422694227042271422724227342274422754227642277422784227942280422814228242283422844228542286422874228842289422904229142292422934229442295422964229742298422994230042301423024230342304423054230642307423084230942310423114231242313423144231542316423174231842319423204232142322423234232442325423264232742328423294233042331423324233342334423354233642337423384233942340423414234242343423444234542346423474234842349423504235142352423534235442355423564235742358423594236042361423624236342364423654236642367423684236942370423714237242373423744237542376423774237842379423804238142382423834238442385423864238742388423894239042391423924239342394423954239642397423984239942400424014240242403424044240542406424074240842409424104241142412424134241442415424164241742418424194242042421424224242342424424254242642427424284242942430424314243242433424344243542436424374243842439424404244142442424434244442445424464244742448424494245042451424524245342454424554245642457424584245942460424614246242463424644246542466424674246842469424704247142472424734247442475424764247742478424794248042481424824248342484424854248642487424884248942490424914249242493424944249542496424974249842499425004250142502425034250442505425064250742508425094251042511425124251342514425154251642517425184251942520425214252242523425244252542526425274252842529425304253142532425334253442535425364253742538425394254042541425424254342544425454254642547425484254942550425514255242553425544255542556425574255842559425604256142562425634256442565425664256742568425694257042571425724257342574425754257642577425784257942580425814258242583425844258542586425874258842589425904259142592425934259442595425964259742598425994260042601426024260342604426054260642607426084260942610426114261242613426144261542616426174261842619426204262142622426234262442625426264262742628426294263042631426324263342634426354263642637426384263942640426414264242643426444264542646426474264842649426504265142652426534265442655426564265742658426594266042661426624266342664426654266642667426684266942670426714267242673426744267542676426774267842679426804268142682426834268442685426864268742688426894269042691426924269342694426954269642697426984269942700427014270242703427044270542706427074270842709427104271142712427134271442715427164271742718427194272042721427224272342724427254272642727427284272942730427314273242733427344273542736427374273842739427404274142742427434274442745427464274742748427494275042751427524275342754427554275642757427584275942760427614276242763427644276542766427674276842769427704277142772427734277442775427764277742778427794278042781427824278342784427854278642787427884278942790427914279242793427944279542796427974279842799428004280142802428034280442805428064280742808428094281042811428124281342814428154281642817428184281942820428214282242823428244282542826428274282842829428304283142832428334283442835428364283742838428394284042841428424284342844428454284642847428484284942850428514285242853428544285542856428574285842859428604286142862428634286442865428664286742868428694287042871428724287342874428754287642877428784287942880428814288242883428844288542886428874288842889428904289142892428934289442895428964289742898428994290042901429024290342904429054290642907429084290942910429114291242913429144291542916429174291842919429204292142922429234292442925429264292742928429294293042931429324293342934429354293642937429384293942940429414294242943429444294542946429474294842949429504295142952429534295442955429564295742958429594296042961429624296342964429654296642967429684296942970429714297242973429744297542976429774297842979429804298142982429834298442985429864298742988429894299042991429924299342994429954299642997429984299943000430014300243003430044300543006430074300843009430104301143012430134301443015430164301743018430194302043021430224302343024430254302643027430284302943030430314303243033430344303543036430374303843039430404304143042430434304443045430464304743048430494305043051430524305343054430554305643057430584305943060430614306243063430644306543066430674306843069430704307143072430734307443075430764307743078430794308043081430824308343084430854308643087430884308943090430914309243093430944309543096430974309843099431004310143102431034310443105431064310743108431094311043111431124311343114431154311643117431184311943120431214312243123431244312543126431274312843129431304313143132431334313443135431364313743138431394314043141431424314343144431454314643147431484314943150431514315243153431544315543156431574315843159431604316143162431634316443165431664316743168431694317043171431724317343174431754317643177431784317943180431814318243183431844318543186431874318843189431904319143192431934319443195431964319743198431994320043201432024320343204432054320643207432084320943210432114321243213432144321543216432174321843219432204322143222432234322443225432264322743228432294323043231432324323343234432354323643237432384323943240432414324243243432444324543246432474324843249432504325143252432534325443255432564325743258432594326043261432624326343264432654326643267432684326943270432714327243273432744327543276432774327843279432804328143282432834328443285432864328743288432894329043291432924329343294432954329643297432984329943300433014330243303433044330543306433074330843309433104331143312433134331443315433164331743318433194332043321433224332343324433254332643327433284332943330433314333243333433344333543336433374333843339433404334143342433434334443345433464334743348433494335043351433524335343354433554335643357433584335943360433614336243363433644336543366433674336843369433704337143372433734337443375433764337743378433794338043381433824338343384433854338643387433884338943390433914339243393433944339543396433974339843399434004340143402434034340443405434064340743408434094341043411434124341343414434154341643417434184341943420434214342243423434244342543426434274342843429434304343143432434334343443435434364343743438434394344043441434424344343444434454344643447434484344943450434514345243453434544345543456434574345843459434604346143462434634346443465434664346743468434694347043471434724347343474434754347643477434784347943480434814348243483434844348543486434874348843489434904349143492434934349443495434964349743498434994350043501435024350343504435054350643507435084350943510435114351243513435144351543516435174351843519435204352143522435234352443525435264352743528435294353043531435324353343534435354353643537435384353943540435414354243543435444354543546435474354843549435504355143552435534355443555435564355743558435594356043561435624356343564435654356643567435684356943570435714357243573435744357543576435774357843579435804358143582435834358443585435864358743588435894359043591435924359343594435954359643597435984359943600436014360243603436044360543606436074360843609436104361143612436134361443615436164361743618436194362043621436224362343624436254362643627436284362943630436314363243633436344363543636436374363843639436404364143642436434364443645436464364743648436494365043651436524365343654436554365643657436584365943660436614366243663436644366543666436674366843669436704367143672436734367443675436764367743678436794368043681436824368343684436854368643687436884368943690436914369243693436944369543696436974369843699437004370143702437034370443705437064370743708437094371043711437124371343714437154371643717437184371943720437214372243723437244372543726437274372843729437304373143732437334373443735437364373743738437394374043741437424374343744437454374643747437484374943750437514375243753437544375543756437574375843759437604376143762437634376443765437664376743768437694377043771437724377343774437754377643777437784377943780437814378243783437844378543786437874378843789437904379143792437934379443795437964379743798437994380043801438024380343804438054380643807438084380943810438114381243813438144381543816438174381843819438204382143822438234382443825438264382743828438294383043831438324383343834438354383643837438384383943840438414384243843438444384543846438474384843849438504385143852438534385443855438564385743858438594386043861438624386343864438654386643867438684386943870438714387243873438744387543876438774387843879438804388143882438834388443885438864388743888438894389043891438924389343894438954389643897438984389943900439014390243903439044390543906439074390843909439104391143912439134391443915439164391743918439194392043921439224392343924439254392643927439284392943930439314393243933439344393543936439374393843939439404394143942439434394443945439464394743948439494395043951439524395343954439554395643957439584395943960439614396243963439644396543966439674396843969439704397143972439734397443975439764397743978439794398043981439824398343984439854398643987439884398943990439914399243993439944399543996439974399843999440004400144002440034400444005440064400744008440094401044011440124401344014440154401644017440184401944020440214402244023440244402544026440274402844029440304403144032440334403444035440364403744038440394404044041440424404344044440454404644047440484404944050440514405244053440544405544056440574405844059440604406144062440634406444065440664406744068440694407044071440724407344074440754407644077440784407944080440814408244083440844408544086440874408844089440904409144092440934409444095440964409744098440994410044101441024410344104441054410644107441084410944110441114411244113441144411544116441174411844119441204412144122441234412444125441264412744128441294413044131441324413344134441354413644137441384413944140441414414244143441444414544146441474414844149441504415144152441534415444155441564415744158441594416044161441624416344164441654416644167441684416944170441714417244173441744417544176441774417844179441804418144182441834418444185441864418744188441894419044191441924419344194441954419644197441984419944200442014420244203442044420544206442074420844209442104421144212442134421444215442164421744218442194422044221442224422344224442254422644227442284422944230442314423244233442344423544236442374423844239442404424144242442434424444245442464424744248442494425044251442524425344254442554425644257442584425944260442614426244263442644426544266442674426844269442704427144272442734427444275442764427744278442794428044281442824428344284442854428644287442884428944290442914429244293442944429544296442974429844299443004430144302443034430444305443064430744308443094431044311443124431344314443154431644317443184431944320443214432244323443244432544326443274432844329443304433144332443334433444335443364433744338443394434044341443424434344344443454434644347443484434944350443514435244353443544435544356443574435844359443604436144362443634436444365443664436744368443694437044371443724437344374443754437644377443784437944380443814438244383443844438544386443874438844389443904439144392443934439444395443964439744398443994440044401444024440344404444054440644407444084440944410444114441244413444144441544416444174441844419444204442144422444234442444425444264442744428444294443044431444324443344434444354443644437444384443944440444414444244443444444444544446444474444844449444504445144452444534445444455444564445744458444594446044461444624446344464444654446644467444684446944470444714447244473444744447544476444774447844479444804448144482444834448444485444864448744488444894449044491444924449344494444954449644497444984449944500445014450244503445044450544506445074450844509445104451144512445134451444515445164451744518445194452044521445224452344524445254452644527445284452944530445314453244533445344453544536445374453844539445404454144542445434454444545445464454744548445494455044551445524455344554445554455644557445584455944560445614456244563445644456544566445674456844569445704457144572445734457444575445764457744578445794458044581445824458344584445854458644587445884458944590445914459244593445944459544596445974459844599446004460144602446034460444605446064460744608446094461044611446124461344614446154461644617446184461944620446214462244623446244462544626446274462844629446304463144632446334463444635446364463744638446394464044641446424464344644446454464644647446484464944650446514465244653446544465544656446574465844659446604466144662446634466444665446664466744668446694467044671446724467344674446754467644677446784467944680446814468244683446844468544686446874468844689446904469144692446934469444695446964469744698446994470044701447024470344704447054470644707447084470944710447114471244713447144471544716447174471844719447204472144722447234472444725447264472744728447294473044731447324473344734447354473644737447384473944740447414474244743447444474544746447474474844749447504475144752447534475444755447564475744758447594476044761447624476344764447654476644767447684476944770447714477244773447744477544776447774477844779447804478144782447834478444785447864478744788447894479044791447924479344794447954479644797447984479944800448014480244803448044480544806448074480844809448104481144812448134481444815448164481744818448194482044821448224482344824448254482644827448284482944830448314483244833448344483544836448374483844839448404484144842448434484444845448464484744848448494485044851448524485344854448554485644857448584485944860448614486244863448644486544866448674486844869448704487144872448734487444875448764487744878448794488044881448824488344884448854488644887448884488944890448914489244893448944489544896448974489844899449004490144902449034490444905449064490744908449094491044911449124491344914449154491644917449184491944920449214492244923449244492544926449274492844929449304493144932449334493444935449364493744938449394494044941449424494344944449454494644947449484494944950449514495244953449544495544956449574495844959449604496144962449634496444965449664496744968449694497044971449724497344974449754497644977449784497944980449814498244983449844498544986449874498844989449904499144992449934499444995449964499744998449994500045001450024500345004450054500645007450084500945010450114501245013450144501545016450174501845019450204502145022450234502445025450264502745028450294503045031450324503345034450354503645037450384503945040450414504245043450444504545046450474504845049450504505145052450534505445055450564505745058450594506045061450624506345064450654506645067450684506945070450714507245073450744507545076450774507845079450804508145082450834508445085450864508745088450894509045091450924509345094450954509645097450984509945100451014510245103451044510545106451074510845109451104511145112451134511445115451164511745118451194512045121451224512345124451254512645127451284512945130451314513245133451344513545136451374513845139451404514145142451434514445145451464514745148451494515045151451524515345154451554515645157451584515945160451614516245163451644516545166451674516845169451704517145172451734517445175451764517745178451794518045181451824518345184451854518645187451884518945190451914519245193451944519545196451974519845199452004520145202452034520445205452064520745208452094521045211452124521345214452154521645217452184521945220452214522245223452244522545226452274522845229452304523145232452334523445235452364523745238452394524045241452424524345244452454524645247452484524945250452514525245253452544525545256452574525845259452604526145262452634526445265452664526745268452694527045271452724527345274452754527645277452784527945280452814528245283452844528545286452874528845289452904529145292452934529445295452964529745298452994530045301453024530345304453054530645307453084530945310453114531245313453144531545316453174531845319453204532145322453234532445325453264532745328453294533045331453324533345334453354533645337453384533945340453414534245343453444534545346453474534845349453504535145352453534535445355453564535745358453594536045361453624536345364453654536645367453684536945370453714537245373453744537545376453774537845379453804538145382453834538445385453864538745388453894539045391453924539345394453954539645397453984539945400454014540245403454044540545406454074540845409454104541145412454134541445415454164541745418454194542045421454224542345424454254542645427454284542945430454314543245433454344543545436454374543845439454404544145442454434544445445454464544745448454494545045451454524545345454454554545645457454584545945460454614546245463454644546545466454674546845469454704547145472454734547445475454764547745478454794548045481454824548345484454854548645487454884548945490454914549245493454944549545496454974549845499455004550145502455034550445505455064550745508455094551045511455124551345514455154551645517455184551945520455214552245523455244552545526455274552845529455304553145532455334553445535455364553745538455394554045541455424554345544455454554645547455484554945550455514555245553455544555545556455574555845559455604556145562455634556445565455664556745568455694557045571455724557345574455754557645577455784557945580455814558245583455844558545586455874558845589455904559145592455934559445595455964559745598455994560045601456024560345604456054560645607456084560945610456114561245613456144561545616456174561845619456204562145622456234562445625456264562745628456294563045631456324563345634456354563645637456384563945640456414564245643456444564545646456474564845649456504565145652456534565445655456564565745658456594566045661456624566345664456654566645667456684566945670456714567245673456744567545676456774567845679456804568145682456834568445685456864568745688456894569045691456924569345694456954569645697456984569945700457014570245703457044570545706457074570845709457104571145712457134571445715457164571745718457194572045721457224572345724457254572645727457284572945730457314573245733457344573545736457374573845739457404574145742457434574445745457464574745748457494575045751457524575345754457554575645757457584575945760457614576245763457644576545766457674576845769457704577145772457734577445775457764577745778457794578045781457824578345784457854578645787457884578945790457914579245793457944579545796457974579845799458004580145802458034580445805458064580745808458094581045811458124581345814458154581645817458184581945820458214582245823458244582545826458274582845829458304583145832458334583445835458364583745838458394584045841458424584345844458454584645847458484584945850458514585245853458544585545856458574585845859458604586145862458634586445865458664586745868458694587045871458724587345874458754587645877458784587945880458814588245883458844588545886458874588845889458904589145892458934589445895458964589745898458994590045901459024590345904459054590645907459084590945910459114591245913459144591545916459174591845919459204592145922459234592445925459264592745928459294593045931459324593345934459354593645937459384593945940459414594245943459444594545946459474594845949459504595145952459534595445955459564595745958459594596045961459624596345964459654596645967459684596945970459714597245973459744597545976459774597845979459804598145982459834598445985459864598745988459894599045991459924599345994459954599645997459984599946000460014600246003460044600546006460074600846009460104601146012460134601446015460164601746018460194602046021460224602346024460254602646027460284602946030460314603246033460344603546036460374603846039460404604146042460434604446045460464604746048460494605046051460524605346054460554605646057460584605946060460614606246063460644606546066460674606846069460704607146072460734607446075460764607746078460794608046081460824608346084460854608646087460884608946090460914609246093460944609546096460974609846099461004610146102461034610446105461064610746108461094611046111461124611346114461154611646117461184611946120461214612246123461244612546126461274612846129461304613146132461334613446135461364613746138461394614046141461424614346144461454614646147461484614946150461514615246153461544615546156461574615846159461604616146162461634616446165461664616746168461694617046171461724617346174461754617646177461784617946180461814618246183461844618546186461874618846189461904619146192461934619446195461964619746198461994620046201462024620346204462054620646207462084620946210462114621246213462144621546216462174621846219462204622146222462234622446225462264622746228462294623046231462324623346234462354623646237462384623946240462414624246243462444624546246462474624846249462504625146252462534625446255462564625746258462594626046261462624626346264462654626646267462684626946270462714627246273462744627546276462774627846279462804628146282462834628446285462864628746288462894629046291462924629346294462954629646297462984629946300463014630246303463044630546306463074630846309463104631146312463134631446315463164631746318463194632046321463224632346324463254632646327463284632946330463314633246333463344633546336463374633846339463404634146342463434634446345463464634746348463494635046351463524635346354463554635646357463584635946360463614636246363463644636546366463674636846369463704637146372463734637446375463764637746378463794638046381463824638346384463854638646387463884638946390463914639246393463944639546396463974639846399464004640146402464034640446405464064640746408464094641046411464124641346414464154641646417464184641946420464214642246423464244642546426464274642846429464304643146432464334643446435464364643746438464394644046441464424644346444464454644646447464484644946450464514645246453464544645546456464574645846459464604646146462464634646446465464664646746468464694647046471464724647346474464754647646477464784647946480464814648246483464844648546486464874648846489464904649146492464934649446495464964649746498464994650046501465024650346504465054650646507465084650946510465114651246513465144651546516465174651846519465204652146522465234652446525465264652746528465294653046531465324653346534465354653646537465384653946540465414654246543465444654546546465474654846549465504655146552465534655446555465564655746558465594656046561465624656346564465654656646567465684656946570465714657246573465744657546576465774657846579465804658146582465834658446585465864658746588465894659046591465924659346594465954659646597465984659946600466014660246603466044660546606466074660846609466104661146612466134661446615466164661746618466194662046621466224662346624466254662646627466284662946630466314663246633466344663546636466374663846639466404664146642466434664446645466464664746648466494665046651466524665346654466554665646657466584665946660466614666246663466644666546666466674666846669466704667146672466734667446675466764667746678466794668046681466824668346684466854668646687466884668946690466914669246693466944669546696466974669846699467004670146702467034670446705467064670746708467094671046711467124671346714467154671646717467184671946720467214672246723467244672546726467274672846729467304673146732467334673446735467364673746738467394674046741467424674346744467454674646747467484674946750467514675246753467544675546756467574675846759467604676146762467634676446765467664676746768467694677046771467724677346774467754677646777467784677946780467814678246783467844678546786467874678846789467904679146792467934679446795467964679746798467994680046801468024680346804468054680646807468084680946810468114681246813468144681546816468174681846819468204682146822468234682446825468264682746828468294683046831468324683346834468354683646837468384683946840468414684246843468444684546846468474684846849468504685146852468534685446855468564685746858468594686046861468624686346864468654686646867468684686946870468714687246873468744687546876468774687846879468804688146882468834688446885468864688746888468894689046891468924689346894468954689646897468984689946900469014690246903469044690546906469074690846909469104691146912469134691446915469164691746918469194692046921469224692346924469254692646927469284692946930469314693246933469344693546936469374693846939469404694146942469434694446945469464694746948469494695046951469524695346954469554695646957469584695946960469614696246963469644696546966469674696846969469704697146972469734697446975469764697746978469794698046981
  1. // Code generated for linux/ppc64le by 'generator -D__sync_fetch_and_add(var, val)=__sync_fetch_and_add_impl(&(var), val) --predef int __sync_fetch_and_add_impl(int *p, int val); --predef int __sync_bool_compare_and_swap(void *p, void *old, void *new); --predef int initstate_r(unsigned int seed, char statebuf[], __SIZE_TYPE__ statelen, struct random_data *buf); --prefix-enumerator=_ --prefix-external=x_ --prefix-field=F --prefix-macro=m_ --prefix-static-internal=_ --prefix-static-none=_ --prefix-tagged-enum=_ --prefix-tagged-struct=T --prefix-tagged-union=T --prefix-typename=T --prefix-undefined=_ -extended-errors -ignore-unsupported-alignment -ignore-link-errors -I /home/debian/src/modernc.org/builder/.exclude/modernc.org/libexpat/include/linux/ppc64le -I /home/debian/src/modernc.org/builder/.exclude/modernc.org/libfreetype/include/linux/ppc64le -lexpat -lfreetype -o libfontconfig.go --package-name libfontconfig src/.libs/libfontconfig.a', DO NOT EDIT.
  2. //go:build linux && ppc64le
  3. package libfontconfig
  4. import (
  5. "reflect"
  6. "unsafe"
  7. "modernc.org/libc"
  8. "modernc.org/libexpat"
  9. "modernc.org/libfreetype"
  10. )
  11. var _ reflect.Type
  12. var _ unsafe.Pointer
  13. const m_ALIGNOF_DOUBLE = 8
  14. const m_ALIGNOF_VOID_P = 8
  15. const m_ARG_MAX = 131072
  16. const m_BC_BASE_MAX = 99
  17. const m_BC_DIM_MAX = 2048
  18. const m_BC_SCALE_MAX = 99
  19. const m_BC_STRING_MAX = 1000
  20. const m_BIG_ENDIAN = "__BIG_ENDIAN"
  21. const m_BUFSIZ = 1024
  22. const m_BYTE_ORDER = "__BYTE_ORDER"
  23. const m_CHARCLASS_NAME_MAX = 14
  24. const m_CHAR_BIT = 8
  25. const m_CHAR_MAX = 255
  26. const m_CHAR_MIN = 0
  27. const m_CLOCKS_PER_SEC = 1000000
  28. const m_CLOCK_BOOTTIME = 7
  29. const m_CLOCK_BOOTTIME_ALARM = 9
  30. const m_CLOCK_MONOTONIC = 1
  31. const m_CLOCK_MONOTONIC_COARSE = 6
  32. const m_CLOCK_MONOTONIC_RAW = 4
  33. const m_CLOCK_PROCESS_CPUTIME_ID = 2
  34. const m_CLOCK_REALTIME = 0
  35. const m_CLOCK_REALTIME_ALARM = 8
  36. const m_CLOCK_REALTIME_COARSE = 5
  37. const m_CLOCK_SGI_CYCLE = 10
  38. const m_CLOCK_TAI = 11
  39. const m_CLOCK_THREAD_CPUTIME_ID = 3
  40. const m_COLL_WEIGHTS_MAX = 2
  41. const m_DBL_DECIMAL_DIG = 17
  42. const m_DBL_DIG = 15
  43. const m_DBL_EPSILON = 2.22044604925031308085e-16
  44. const m_DBL_HAS_SUBNORM = 1
  45. const m_DBL_MANT_DIG = 53
  46. const m_DBL_MAX = 1.79769313486231570815e+308
  47. const m_DBL_MAX_10_EXP = 308
  48. const m_DBL_MAX_EXP = 1024
  49. const m_DBL_MIN = 2.22507385850720138309e-308
  50. const m_DBL_TRUE_MIN = 4.94065645841246544177e-324
  51. const m_DECIMAL_DIG = 17
  52. const m_DELAYTIMER_MAX = 0x7fffffff
  53. const m_E2BIG = 7
  54. const m_EACCES = 13
  55. const m_EADDRINUSE = 98
  56. const m_EADDRNOTAVAIL = 99
  57. const m_EADV = 68
  58. const m_EAFNOSUPPORT = 97
  59. const m_EAGAIN = 11
  60. const m_EALREADY = 114
  61. const m_EBADE = 52
  62. const m_EBADF = 9
  63. const m_EBADFD = 77
  64. const m_EBADMSG = 74
  65. const m_EBADR = 53
  66. const m_EBADRQC = 56
  67. const m_EBADSLT = 57
  68. const m_EBFONT = 59
  69. const m_EBUSY = 16
  70. const m_ECANCELED = 125
  71. const m_ECHILD = 10
  72. const m_ECHRNG = 44
  73. const m_ECOMM = 70
  74. const m_ECONNABORTED = 103
  75. const m_ECONNREFUSED = 111
  76. const m_ECONNRESET = 104
  77. const m_EDEADLK = 35
  78. const m_EDEADLOCK = 58
  79. const m_EDESTADDRREQ = 89
  80. const m_EDOM = 33
  81. const m_EDOTDOT = 73
  82. const m_EDQUOT = 122
  83. const m_EEXIST = 17
  84. const m_EFAULT = 14
  85. const m_EFBIG = 27
  86. const m_EHOSTDOWN = 112
  87. const m_EHOSTUNREACH = 113
  88. const m_EHWPOISON = 133
  89. const m_EIDRM = 43
  90. const m_EILSEQ = 84
  91. const m_EINPROGRESS = 115
  92. const m_EINTR = 4
  93. const m_EINVAL = 22
  94. const m_EIO = 5
  95. const m_EISCONN = 106
  96. const m_EISDIR = 21
  97. const m_EISNAM = 120
  98. const m_EKEYEXPIRED = 127
  99. const m_EKEYREJECTED = 129
  100. const m_EKEYREVOKED = 128
  101. const m_EL2HLT = 51
  102. const m_EL2NSYNC = 45
  103. const m_EL3HLT = 46
  104. const m_EL3RST = 47
  105. const m_ELIBACC = 79
  106. const m_ELIBBAD = 80
  107. const m_ELIBEXEC = 83
  108. const m_ELIBMAX = 82
  109. const m_ELIBSCN = 81
  110. const m_ELNRNG = 48
  111. const m_ELOOP = 40
  112. const m_EMEDIUMTYPE = 124
  113. const m_EMFILE = 24
  114. const m_EMLINK = 31
  115. const m_EMSGSIZE = 90
  116. const m_EMULTIHOP = 72
  117. const m_ENABLE_NLS = 1
  118. const m_ENAMETOOLONG = 36
  119. const m_ENAVAIL = 119
  120. const m_ENETDOWN = 100
  121. const m_ENETRESET = 102
  122. const m_ENETUNREACH = 101
  123. const m_ENFILE = 23
  124. const m_ENOANO = 55
  125. const m_ENOBUFS = 105
  126. const m_ENOCSI = 50
  127. const m_ENODATA = 61
  128. const m_ENODEV = 19
  129. const m_ENOENT = 2
  130. const m_ENOEXEC = 8
  131. const m_ENOKEY = 126
  132. const m_ENOLCK = 37
  133. const m_ENOLINK = 67
  134. const m_ENOMEDIUM = 123
  135. const m_ENOMEM = 12
  136. const m_ENOMSG = 42
  137. const m_ENONET = 64
  138. const m_ENOPKG = 65
  139. const m_ENOPROTOOPT = 92
  140. const m_ENOSPC = 28
  141. const m_ENOSR = 63
  142. const m_ENOSTR = 60
  143. const m_ENOSYS = 38
  144. const m_ENOTBLK = 15
  145. const m_ENOTCONN = 107
  146. const m_ENOTDIR = 20
  147. const m_ENOTEMPTY = 39
  148. const m_ENOTNAM = 118
  149. const m_ENOTRECOVERABLE = 131
  150. const m_ENOTSOCK = 88
  151. const m_ENOTSUP = "EOPNOTSUPP"
  152. const m_ENOTTY = 25
  153. const m_ENOTUNIQ = 76
  154. const m_ENXIO = 6
  155. const m_EOPNOTSUPP = 95
  156. const m_EOVERFLOW = 75
  157. const m_EOWNERDEAD = 130
  158. const m_EPERM = 1
  159. const m_EPFNOSUPPORT = 96
  160. const m_EPIPE = 32
  161. const m_EPROTO = 71
  162. const m_EPROTONOSUPPORT = 93
  163. const m_EPROTOTYPE = 91
  164. const m_ERANGE = 34
  165. const m_EREMCHG = 78
  166. const m_EREMOTE = 66
  167. const m_EREMOTEIO = 121
  168. const m_ERESTART = 85
  169. const m_ERFKILL = 132
  170. const m_EROFS = 30
  171. const m_ESHUTDOWN = 108
  172. const m_ESOCKTNOSUPPORT = 94
  173. const m_ESPIPE = 29
  174. const m_ESRCH = 3
  175. const m_ESRMNT = 69
  176. const m_ESTALE = 116
  177. const m_ESTRPIPE = 86
  178. const m_ETIME = 62
  179. const m_ETIMEDOUT = 110
  180. const m_ETOOMANYREFS = 109
  181. const m_ETXTBSY = 26
  182. const m_EUCLEAN = 117
  183. const m_EUNATCH = 49
  184. const m_EUSERS = 87
  185. const m_EWOULDBLOCK = "EAGAIN"
  186. const m_EXDEV = 18
  187. const m_EXFULL = 54
  188. const m_EXIT_FAILURE = 1
  189. const m_EXIT_SUCCESS = 0
  190. const m_EXPR_NEST_MAX = 32
  191. const m_FCSS_ALLOW_DUPLICATES = 1
  192. const m_FCSS_DEFAULT = 0
  193. const m_FCSS_GROW_BY_64 = 2
  194. const m_FC_ADD_FONTS = "yes"
  195. const m_FC_ANTIALIAS = "antialias"
  196. const m_FC_ASPECT = "aspect"
  197. const m_FC_AUTOHINT = "autohint"
  198. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  199. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  200. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  201. const m_FC_CACHE_VERSION_NUMBER = 7
  202. const m_FC_CAPABILITY = "capability"
  203. const m_FC_CASE_FOLD_EVEN_ODD = 1
  204. const m_FC_CASE_FOLD_FULL = 2
  205. const m_FC_CASE_FOLD_RANGE = 0
  206. const m_FC_CHARCELL = 110
  207. const m_FC_CHARSET = "charset"
  208. const m_FC_CHARWIDTH = "charwidth"
  209. const m_FC_CHAR_HEIGHT = "charheight"
  210. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  211. const m_FC_COLOR = "color"
  212. const m_FC_CONFIG_PATH = "fonts.conf"
  213. const m_FC_DBG_CACHE = 16
  214. const m_FC_DBG_CACHEV = 32
  215. const m_FC_DBG_CONFIG = 1024
  216. const m_FC_DBG_EDIT = 4
  217. const m_FC_DBG_FONTSET = 8
  218. const m_FC_DBG_LANGSET = 2048
  219. const m_FC_DBG_MATCH = 1
  220. const m_FC_DBG_MATCH2 = 4096
  221. const m_FC_DBG_MATCHV = 2
  222. const m_FC_DBG_PARSE = 64
  223. const m_FC_DBG_SCAN = 128
  224. const m_FC_DBG_SCANV = 256
  225. const m_FC_DECORATIVE = "decorative"
  226. const m_FC_DEFAULT_FONTS = "/usr/share/fonts"
  227. const m_FC_DIR_SEPARATOR = '/'
  228. const m_FC_DIR_SEPARATOR_S = "/"
  229. const m_FC_DPI = "dpi"
  230. const m_FC_DUAL = 90
  231. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  232. const m_FC_EMBOLDEN = "embolden"
  233. const m_FC_EXT_OBJ_INDEX = 1024
  234. const m_FC_FAMILY = "family"
  235. const m_FC_FAMILYLANG = "familylang"
  236. const m_FC_FILE = "file"
  237. const m_FC_FONTFORMAT = "fontformat"
  238. const m_FC_FONTVERSION = "fontversion"
  239. const m_FC_FONT_FEATURES = "fontfeatures"
  240. const m_FC_FONT_VARIATIONS = "fontvariations"
  241. const m_FC_FOUNDRY = "foundry"
  242. const m_FC_FT_FACE = "ftface"
  243. const m_FC_FULLNAME = "fullname"
  244. const m_FC_FULLNAMELANG = "fullnamelang"
  245. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  246. const m_FC_GPERF_SIZE_T = "size_t"
  247. const m_FC_HASH = "hash"
  248. const m_FC_HINTING = "hinting"
  249. const m_FC_HINT_FULL = 3
  250. const m_FC_HINT_MEDIUM = 2
  251. const m_FC_HINT_NONE = 0
  252. const m_FC_HINT_SLIGHT = 1
  253. const m_FC_HINT_STYLE = "hintstyle"
  254. const m_FC_INDEX = "index"
  255. const m_FC_LANG = "lang"
  256. const m_FC_LCD_DEFAULT = 1
  257. const m_FC_LCD_FILTER = "lcdfilter"
  258. const m_FC_LCD_LEGACY = 3
  259. const m_FC_LCD_LIGHT = 2
  260. const m_FC_LCD_NONE = 0
  261. const m_FC_MAJOR = 2
  262. const m_FC_MATRIX = "matrix"
  263. const m_FC_MAX_FILE_LEN = 4096
  264. const m_FC_MINOR = 13
  265. const m_FC_MINSPACE = "minspace"
  266. const m_FC_MONO = 100
  267. const m_FC_MUTEX_IMPL_INIT = 0
  268. const m_FC_NAMELANG = "namelang"
  269. const m_FC_NO_MT = 1
  270. const m_FC_OUTLINE = "outline"
  271. const m_FC_PATH_MAX = "PATH_MAX"
  272. const m_FC_PIXEL_SIZE = "pixelsize"
  273. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  274. const m_FC_PRGNAME = "prgname"
  275. const m_FC_PROPORTIONAL = 0
  276. const m_FC_RASTERIZER = "rasterizer"
  277. const m_FC_REVISION = 1
  278. const m_FC_RGBA = "rgba"
  279. const m_FC_RGBA_BGR = 2
  280. const m_FC_RGBA_NONE = 5
  281. const m_FC_RGBA_RGB = 1
  282. const m_FC_RGBA_UNKNOWN = 0
  283. const m_FC_RGBA_VBGR = 4
  284. const m_FC_RGBA_VRGB = 3
  285. const m_FC_SCALABLE = "scalable"
  286. const m_FC_SCALE = "scale"
  287. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  288. const m_FC_SERIALIZE_HASH_SIZE = 8191
  289. const m_FC_SIZE = "size"
  290. const m_FC_SLANT = "slant"
  291. const m_FC_SLANT_ITALIC = 100
  292. const m_FC_SLANT_OBLIQUE = 110
  293. const m_FC_SLANT_ROMAN = 0
  294. const m_FC_SOURCE = "source"
  295. const m_FC_SPACING = "spacing"
  296. const m_FC_STMT_START = "do"
  297. const m_FC_STYLE = "style"
  298. const m_FC_STYLELANG = "stylelang"
  299. const m_FC_SYMBOL = "symbol"
  300. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  301. const m_FC_UTF8_MAX_LEN = 6
  302. const m_FC_VARIABLE = "variable"
  303. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  304. const m_FC_WEIGHT = "weight"
  305. const m_FC_WEIGHT_BLACK = 210
  306. const m_FC_WEIGHT_BOLD = 200
  307. const m_FC_WEIGHT_BOOK = 75
  308. const m_FC_WEIGHT_DEMIBOLD = 180
  309. const m_FC_WEIGHT_DEMILIGHT = 55
  310. const m_FC_WEIGHT_EXTRABLACK = 215
  311. const m_FC_WEIGHT_EXTRABOLD = 205
  312. const m_FC_WEIGHT_EXTRALIGHT = 40
  313. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  314. const m_FC_WEIGHT_LIGHT = 50
  315. const m_FC_WEIGHT_MEDIUM = 100
  316. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  317. const m_FC_WEIGHT_REGULAR = 80
  318. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  319. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  320. const m_FC_WEIGHT_THIN = 0
  321. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  322. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  323. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  324. const m_FC_WIDTH = "width"
  325. const m_FC_WIDTH_CONDENSED = 75
  326. const m_FC_WIDTH_EXPANDED = 125
  327. const m_FC_WIDTH_EXTRACONDENSED = 63
  328. const m_FC_WIDTH_EXTRAEXPANDED = 150
  329. const m_FC_WIDTH_NORMAL = 100
  330. const m_FC_WIDTH_SEMICONDENSED = 87
  331. const m_FC_WIDTH_SEMIEXPANDED = 113
  332. const m_FC_WIDTH_ULTRACONDENSED = 50
  333. const m_FC_WIDTH_ULTRAEXPANDED = 200
  334. const m_FD_SETSIZE = 1024
  335. const m_FILENAME_MAX = 4096
  336. const m_FILESIZEBITS = 64
  337. const m_FLT_DECIMAL_DIG = 9
  338. const m_FLT_DIG = 6
  339. const m_FLT_EPSILON = 1.1920928955078125e-07
  340. const m_FLT_EVAL_METHOD = 0
  341. const m_FLT_HAS_SUBNORM = 1
  342. const m_FLT_MANT_DIG = 24
  343. const m_FLT_MAX = 3.40282346638528859812e+38
  344. const m_FLT_MAX_10_EXP = 38
  345. const m_FLT_MAX_EXP = 128
  346. const m_FLT_MIN = 1.17549435082228750797e-38
  347. const m_FLT_RADIX = 2
  348. const m_FLT_TRUE_MIN = 1.40129846432481707092e-45
  349. const m_FONTCONFIG_PATH = "/etc/fonts"
  350. const m_FOPEN_MAX = 1000
  351. const m_FP_FAST_FMA = 1
  352. const m_FP_FAST_FMAF = 1
  353. const m_FP_FAST_FMAL = 1
  354. const m_FP_ILOGB0 = "FP_ILOGBNAN"
  355. const m_FP_INFINITE = 1
  356. const m_FP_NAN = 0
  357. const m_FP_NORMAL = 4
  358. const m_FP_SUBNORMAL = 3
  359. const m_FP_ZERO = 2
  360. const m_F_LOCK = 1
  361. const m_F_OK = 0
  362. const m_F_TEST = 3
  363. const m_F_TLOCK = 2
  364. const m_F_ULOCK = 0
  365. const m_FcBlanksAdd = "IA__FcBlanksAdd"
  366. const m_FcBlanksCreate = "IA__FcBlanksCreate"
  367. const m_FcBlanksDestroy = "IA__FcBlanksDestroy"
  368. const m_FcBlanksIsMember = "IA__FcBlanksIsMember"
  369. const m_FcCacheCopySet = "IA__FcCacheCopySet"
  370. const m_FcCacheCreateTagFile = "IA__FcCacheCreateTagFile"
  371. const m_FcCacheNumFont = "IA__FcCacheNumFont"
  372. const m_FcCacheNumSubdir = "IA__FcCacheNumSubdir"
  373. const m_FcCharSetAddChar = "IA__FcCharSetAddChar"
  374. const m_FcCharSetCopy = "IA__FcCharSetCopy"
  375. const m_FcCharSetCount = "IA__FcCharSetCount"
  376. const m_FcCharSetCoverage = "IA__FcCharSetCoverage"
  377. const m_FcCharSetCreate = "IA__FcCharSetCreate"
  378. const m_FcCharSetDelChar = "IA__FcCharSetDelChar"
  379. const m_FcCharSetDestroy = "IA__FcCharSetDestroy"
  380. const m_FcCharSetEqual = "IA__FcCharSetEqual"
  381. const m_FcCharSetFirstPage = "IA__FcCharSetFirstPage"
  382. const m_FcCharSetHasChar = "IA__FcCharSetHasChar"
  383. const m_FcCharSetIntersect = "IA__FcCharSetIntersect"
  384. const m_FcCharSetIntersectCount = "IA__FcCharSetIntersectCount"
  385. const m_FcCharSetIsSubset = "IA__FcCharSetIsSubset"
  386. const m_FcCharSetMerge = "IA__FcCharSetMerge"
  387. const m_FcCharSetNew = "IA__FcCharSetNew"
  388. const m_FcCharSetNextPage = "IA__FcCharSetNextPage"
  389. const m_FcCharSetSubtract = "IA__FcCharSetSubtract"
  390. const m_FcCharSetSubtractCount = "IA__FcCharSetSubtractCount"
  391. const m_FcCharSetUnion = "IA__FcCharSetUnion"
  392. const m_FcConfigAppFontAddDir = "IA__FcConfigAppFontAddDir"
  393. const m_FcConfigAppFontAddFile = "IA__FcConfigAppFontAddFile"
  394. const m_FcConfigAppFontClear = "IA__FcConfigAppFontClear"
  395. const m_FcConfigBuildFonts = "IA__FcConfigBuildFonts"
  396. const m_FcConfigCreate = "IA__FcConfigCreate"
  397. const m_FcConfigDestroy = "IA__FcConfigDestroy"
  398. const m_FcConfigEnableHome = "IA__FcConfigEnableHome"
  399. const m_FcConfigFileInfoIterGet = "IA__FcConfigFileInfoIterGet"
  400. const m_FcConfigFileInfoIterInit = "IA__FcConfigFileInfoIterInit"
  401. const m_FcConfigFileInfoIterNext = "IA__FcConfigFileInfoIterNext"
  402. const m_FcConfigFilename = "IA__FcConfigFilename"
  403. const m_FcConfigGetBlanks = "IA__FcConfigGetBlanks"
  404. const m_FcConfigGetCache = "IA__FcConfigGetCache"
  405. const m_FcConfigGetCacheDirs = "IA__FcConfigGetCacheDirs"
  406. const m_FcConfigGetConfigDirs = "IA__FcConfigGetConfigDirs"
  407. const m_FcConfigGetConfigFiles = "IA__FcConfigGetConfigFiles"
  408. const m_FcConfigGetCurrent = "IA__FcConfigGetCurrent"
  409. const m_FcConfigGetFontDirs = "IA__FcConfigGetFontDirs"
  410. const m_FcConfigGetFonts = "IA__FcConfigGetFonts"
  411. const m_FcConfigGetRescanInterval = "IA__FcConfigGetRescanInterval"
  412. const m_FcConfigGetRescanInverval = "IA__FcConfigGetRescanInverval"
  413. const m_FcConfigGetSysRoot = "IA__FcConfigGetSysRoot"
  414. const m_FcConfigHome = "IA__FcConfigHome"
  415. const m_FcConfigParseAndLoad = "IA__FcConfigParseAndLoad"
  416. const m_FcConfigParseAndLoadFromMemory = "IA__FcConfigParseAndLoadFromMemory"
  417. const m_FcConfigReference = "IA__FcConfigReference"
  418. const m_FcConfigSetCurrent = "IA__FcConfigSetCurrent"
  419. const m_FcConfigSetRescanInterval = "IA__FcConfigSetRescanInterval"
  420. const m_FcConfigSetRescanInverval = "IA__FcConfigSetRescanInverval"
  421. const m_FcConfigSetSysRoot = "IA__FcConfigSetSysRoot"
  422. const m_FcConfigSubstitute = "IA__FcConfigSubstitute"
  423. const m_FcConfigSubstituteWithPat = "IA__FcConfigSubstituteWithPat"
  424. const m_FcConfigUptoDate = "IA__FcConfigUptoDate"
  425. const m_FcDefaultSubstitute = "IA__FcDefaultSubstitute"
  426. const m_FcDirCacheClean = "IA__FcDirCacheClean"
  427. const m_FcDirCacheCreateUUID = "IA__FcDirCacheCreateUUID"
  428. const m_FcDirCacheDeleteUUID = "IA__FcDirCacheDeleteUUID"
  429. const m_FcDirCacheLoad = "IA__FcDirCacheLoad"
  430. const m_FcDirCacheLoadFile = "IA__FcDirCacheLoadFile"
  431. const m_FcDirCacheRead = "IA__FcDirCacheRead"
  432. const m_FcDirCacheRescan = "IA__FcDirCacheRescan"
  433. const m_FcDirCacheUnlink = "IA__FcDirCacheUnlink"
  434. const m_FcDirCacheUnload = "IA__FcDirCacheUnload"
  435. const m_FcDirCacheValid = "IA__FcDirCacheValid"
  436. const m_FcDirSave = "IA__FcDirSave"
  437. const m_FcDirScan = "IA__FcDirScan"
  438. const m_FcDontCare = 2
  439. const m_FcFalse = 0
  440. const m_FcFileIsDir = "IA__FcFileIsDir"
  441. const m_FcFileScan = "IA__FcFileScan"
  442. const m_FcFini = "IA__FcFini"
  443. const m_FcFontList = "IA__FcFontList"
  444. const m_FcFontMatch = "IA__FcFontMatch"
  445. const m_FcFontRenderPrepare = "IA__FcFontRenderPrepare"
  446. const m_FcFontSetAdd = "IA__FcFontSetAdd"
  447. const m_FcFontSetCreate = "IA__FcFontSetCreate"
  448. const m_FcFontSetDestroy = "IA__FcFontSetDestroy"
  449. const m_FcFontSetList = "IA__FcFontSetList"
  450. const m_FcFontSetMatch = "IA__FcFontSetMatch"
  451. const m_FcFontSetPrint = "IA__FcFontSetPrint"
  452. const m_FcFontSetSort = "IA__FcFontSetSort"
  453. const m_FcFontSetSortDestroy = "IA__FcFontSetSortDestroy"
  454. const m_FcFontSort = "IA__FcFontSort"
  455. const m_FcFreeTypeQuery = "IA__FcFreeTypeQuery"
  456. const m_FcFreeTypeQueryAll = "IA__FcFreeTypeQueryAll"
  457. const m_FcGetDefaultLangs = "IA__FcGetDefaultLangs"
  458. const m_FcGetLangs = "IA__FcGetLangs"
  459. const m_FcGetVersion = "IA__FcGetVersion"
  460. const m_FcInit = "IA__FcInit"
  461. const m_FcInitBringUptoDate = "IA__FcInitBringUptoDate"
  462. const m_FcInitLoadConfig = "IA__FcInitLoadConfig"
  463. const m_FcInitLoadConfigAndFonts = "IA__FcInitLoadConfigAndFonts"
  464. const m_FcInitReinitialize = "IA__FcInitReinitialize"
  465. const m_FcLangGetCharSet = "IA__FcLangGetCharSet"
  466. const m_FcLangNormalize = "IA__FcLangNormalize"
  467. const m_FcLangSetAdd = "IA__FcLangSetAdd"
  468. const m_FcLangSetCompare = "IA__FcLangSetCompare"
  469. const m_FcLangSetContains = "IA__FcLangSetContains"
  470. const m_FcLangSetCopy = "IA__FcLangSetCopy"
  471. const m_FcLangSetCreate = "IA__FcLangSetCreate"
  472. const m_FcLangSetDel = "IA__FcLangSetDel"
  473. const m_FcLangSetDestroy = "IA__FcLangSetDestroy"
  474. const m_FcLangSetEqual = "IA__FcLangSetEqual"
  475. const m_FcLangSetGetLangs = "IA__FcLangSetGetLangs"
  476. const m_FcLangSetHasLang = "IA__FcLangSetHasLang"
  477. const m_FcLangSetHash = "IA__FcLangSetHash"
  478. const m_FcLangSetSubtract = "IA__FcLangSetSubtract"
  479. const m_FcLangSetUnion = "IA__FcLangSetUnion"
  480. const m_FcMatrixCopy = "IA__FcMatrixCopy"
  481. const m_FcMatrixEqual = "IA__FcMatrixEqual"
  482. const m_FcMatrixMultiply = "IA__FcMatrixMultiply"
  483. const m_FcMatrixRotate = "IA__FcMatrixRotate"
  484. const m_FcMatrixScale = "IA__FcMatrixScale"
  485. const m_FcMatrixShear = "IA__FcMatrixShear"
  486. const m_FcNameConstant = "IA__FcNameConstant"
  487. const m_FcNameGetConstant = "IA__FcNameGetConstant"
  488. const m_FcNameGetObjectType = "IA__FcNameGetObjectType"
  489. const m_FcNameParse = "IA__FcNameParse"
  490. const m_FcNameRegisterConstants = "IA__FcNameRegisterConstants"
  491. const m_FcNameRegisterObjectTypes = "IA__FcNameRegisterObjectTypes"
  492. const m_FcNameUnparse = "IA__FcNameUnparse"
  493. const m_FcNameUnregisterConstants = "IA__FcNameUnregisterConstants"
  494. const m_FcNameUnregisterObjectTypes = "IA__FcNameUnregisterObjectTypes"
  495. const m_FcObjectSetAdd = "IA__FcObjectSetAdd"
  496. const m_FcObjectSetBuild = "IA__FcObjectSetBuild"
  497. const m_FcObjectSetCreate = "IA__FcObjectSetCreate"
  498. const m_FcObjectSetDestroy = "IA__FcObjectSetDestroy"
  499. const m_FcObjectSetVaBuild = "IA__FcObjectSetVaBuild"
  500. const m_FcPatternAdd = "IA__FcPatternAdd"
  501. const m_FcPatternAddBool = "IA__FcPatternAddBool"
  502. const m_FcPatternAddCharSet = "IA__FcPatternAddCharSet"
  503. const m_FcPatternAddDouble = "IA__FcPatternAddDouble"
  504. const m_FcPatternAddInteger = "IA__FcPatternAddInteger"
  505. const m_FcPatternAddLangSet = "IA__FcPatternAddLangSet"
  506. const m_FcPatternAddMatrix = "IA__FcPatternAddMatrix"
  507. const m_FcPatternAddRange = "IA__FcPatternAddRange"
  508. const m_FcPatternAddString = "IA__FcPatternAddString"
  509. const m_FcPatternAddWeak = "IA__FcPatternAddWeak"
  510. const m_FcPatternBuild = "IA__FcPatternBuild"
  511. const m_FcPatternCreate = "IA__FcPatternCreate"
  512. const m_FcPatternDel = "IA__FcPatternDel"
  513. const m_FcPatternDestroy = "IA__FcPatternDestroy"
  514. const m_FcPatternDuplicate = "IA__FcPatternDuplicate"
  515. const m_FcPatternEqual = "IA__FcPatternEqual"
  516. const m_FcPatternEqualSubset = "IA__FcPatternEqualSubset"
  517. const m_FcPatternFilter = "IA__FcPatternFilter"
  518. const m_FcPatternFindIter = "IA__FcPatternFindIter"
  519. const m_FcPatternFormat = "IA__FcPatternFormat"
  520. const m_FcPatternGet = "IA__FcPatternGet"
  521. const m_FcPatternGetBool = "IA__FcPatternGetBool"
  522. const m_FcPatternGetCharSet = "IA__FcPatternGetCharSet"
  523. const m_FcPatternGetDouble = "IA__FcPatternGetDouble"
  524. const m_FcPatternGetInteger = "IA__FcPatternGetInteger"
  525. const m_FcPatternGetLangSet = "IA__FcPatternGetLangSet"
  526. const m_FcPatternGetMatrix = "IA__FcPatternGetMatrix"
  527. const m_FcPatternGetRange = "IA__FcPatternGetRange"
  528. const m_FcPatternGetString = "IA__FcPatternGetString"
  529. const m_FcPatternGetWithBinding = "IA__FcPatternGetWithBinding"
  530. const m_FcPatternHash = "IA__FcPatternHash"
  531. const m_FcPatternIterEqual = "IA__FcPatternIterEqual"
  532. const m_FcPatternIterGetObject = "IA__FcPatternIterGetObject"
  533. const m_FcPatternIterGetValue = "IA__FcPatternIterGetValue"
  534. const m_FcPatternIterIsValid = "IA__FcPatternIterIsValid"
  535. const m_FcPatternIterNext = "IA__FcPatternIterNext"
  536. const m_FcPatternIterStart = "IA__FcPatternIterStart"
  537. const m_FcPatternIterValueCount = "IA__FcPatternIterValueCount"
  538. const m_FcPatternObjectCount = "IA__FcPatternObjectCount"
  539. const m_FcPatternPrint = "IA__FcPatternPrint"
  540. const m_FcPatternReference = "IA__FcPatternReference"
  541. const m_FcPatternRemove = "IA__FcPatternRemove"
  542. const m_FcPatternVaBuild = "IA__FcPatternVaBuild"
  543. const m_FcRangeCopy = "IA__FcRangeCopy"
  544. const m_FcRangeCreateDouble = "IA__FcRangeCreateDouble"
  545. const m_FcRangeCreateInteger = "IA__FcRangeCreateInteger"
  546. const m_FcRangeDestroy = "IA__FcRangeDestroy"
  547. const m_FcRangeGetDouble = "IA__FcRangeGetDouble"
  548. const m_FcStrBasename = "IA__FcStrBasename"
  549. const m_FcStrCmp = "IA__FcStrCmp"
  550. const m_FcStrCmpIgnoreCase = "IA__FcStrCmpIgnoreCase"
  551. const m_FcStrCopy = "IA__FcStrCopy"
  552. const m_FcStrCopyFilename = "IA__FcStrCopyFilename"
  553. const m_FcStrDirname = "IA__FcStrDirname"
  554. const m_FcStrDowncase = "IA__FcStrDowncase"
  555. const m_FcStrFree = "IA__FcStrFree"
  556. const m_FcStrListCreate = "IA__FcStrListCreate"
  557. const m_FcStrListDone = "IA__FcStrListDone"
  558. const m_FcStrListFirst = "IA__FcStrListFirst"
  559. const m_FcStrListNext = "IA__FcStrListNext"
  560. const m_FcStrPlus = "IA__FcStrPlus"
  561. const m_FcStrSetAdd = "IA__FcStrSetAdd"
  562. const m_FcStrSetAddFilename = "IA__FcStrSetAddFilename"
  563. const m_FcStrSetCreate = "IA__FcStrSetCreate"
  564. const m_FcStrSetDel = "IA__FcStrSetDel"
  565. const m_FcStrSetDestroy = "IA__FcStrSetDestroy"
  566. const m_FcStrSetEqual = "IA__FcStrSetEqual"
  567. const m_FcStrSetMember = "IA__FcStrSetMember"
  568. const m_FcStrStr = "IA__FcStrStr"
  569. const m_FcStrStrIgnoreCase = "IA__FcStrStrIgnoreCase"
  570. const m_FcTrue = 1
  571. const m_FcUcs4ToUtf8 = "IA__FcUcs4ToUtf8"
  572. const m_FcUtf16Len = "IA__FcUtf16Len"
  573. const m_FcUtf16ToUcs4 = "IA__FcUtf16ToUcs4"
  574. const m_FcUtf8Len = "IA__FcUtf8Len"
  575. const m_FcUtf8ToUcs4 = "IA__FcUtf8ToUcs4"
  576. const m_FcValueDestroy = "IA__FcValueDestroy"
  577. const m_FcValueEqual = "IA__FcValueEqual"
  578. const m_FcValuePrint = "IA__FcValuePrint"
  579. const m_FcValueSave = "IA__FcValueSave"
  580. const m_FcWeightFromOpenType = "IA__FcWeightFromOpenType"
  581. const m_FcWeightFromOpenTypeDouble = "IA__FcWeightFromOpenTypeDouble"
  582. const m_FcWeightToOpenType = "IA__FcWeightToOpenType"
  583. const m_FcWeightToOpenTypeDouble = "IA__FcWeightToOpenTypeDouble"
  584. const m_GETTEXT_PACKAGE = "fontconfig"
  585. const m_HAVE_CONFIG_H = 1
  586. const m_HAVE_DCGETTEXT = 1
  587. const m_HAVE_DIRENT_H = 1
  588. const m_HAVE_DLFCN_H = 1
  589. const m_HAVE_FCNTL_H = 1
  590. const m_HAVE_FSTATFS = 1
  591. const m_HAVE_FSTATVFS = 1
  592. const m_HAVE_FT_DONE_MM_VAR = 1
  593. const m_HAVE_FT_GET_BDF_PROPERTY = 1
  594. const m_HAVE_FT_GET_PS_FONT_INFO = 1
  595. const m_HAVE_FT_GET_X11_FONT_FORMAT = 1
  596. const m_HAVE_FT_HAS_PS_GLYPH_NAMES = 1
  597. const m_HAVE_GETOPT = 1
  598. const m_HAVE_GETOPT_LONG = 1
  599. const m_HAVE_GETPAGESIZE = 1
  600. const m_HAVE_GETTEXT = 1
  601. const m_HAVE_GNUC_ATTRIBUTE = 1
  602. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  603. const m_HAVE_INTTYPES_H = 1
  604. const m_HAVE_LINK = 1
  605. const m_HAVE_LRAND48 = 1
  606. const m_HAVE_LSTAT = 1
  607. const m_HAVE_MEMORY_H = 1
  608. const m_HAVE_MKDTEMP = 1
  609. const m_HAVE_MKOSTEMP = 1
  610. const m_HAVE_MKSTEMP = 1
  611. const m_HAVE_MMAP = 1
  612. const m_HAVE_POSIX_FADVISE = 1
  613. const m_HAVE_PTHREAD = 1
  614. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  615. const m_HAVE_RAND = 1
  616. const m_HAVE_RANDOM = 1
  617. const m_HAVE_RANDOM_R = 1
  618. const m_HAVE_RAND_R = 1
  619. const m_HAVE_READLINK = 1
  620. const m_HAVE_STDINT_H = 1
  621. const m_HAVE_STDLIB_H = 1
  622. const m_HAVE_STRERROR = 1
  623. const m_HAVE_STRERROR_R = 1
  624. const m_HAVE_STRINGS_H = 1
  625. const m_HAVE_STRING_H = 1
  626. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  627. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  628. const m_HAVE_STRUCT_STAT_ST_MTIM = 1
  629. const m_HAVE_SYS_MOUNT_H = 1
  630. const m_HAVE_SYS_PARAM_H = 1
  631. const m_HAVE_SYS_STATFS_H = 1
  632. const m_HAVE_SYS_STATVFS_H = 1
  633. const m_HAVE_SYS_STAT_H = 1
  634. const m_HAVE_SYS_TYPES_H = 1
  635. const m_HAVE_SYS_VFS_H = 1
  636. const m_HAVE_UNISTD_H = 1
  637. const m_HAVE_VPRINTF = 1
  638. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  639. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  640. const m_HOST_NAME_MAX = 255
  641. const m_HUGE = 3.40282346638528859812e+38
  642. const m_HUGE_VALF = "INFINITY"
  643. const m_INT16_MAX = 0x7fff
  644. const m_INT32_MAX = 0x7fffffff
  645. const m_INT64_MAX = 0x7fffffffffffffff
  646. const m_INT8_MAX = 0x7f
  647. const m_INTMAX_MAX = "INT64_MAX"
  648. const m_INTMAX_MIN = "INT64_MIN"
  649. const m_INTPTR_MAX = "INT64_MAX"
  650. const m_INTPTR_MIN = "INT64_MIN"
  651. const m_INT_FAST16_MAX = "INT32_MAX"
  652. const m_INT_FAST16_MIN = "INT32_MIN"
  653. const m_INT_FAST32_MAX = "INT32_MAX"
  654. const m_INT_FAST32_MIN = "INT32_MIN"
  655. const m_INT_FAST64_MAX = "INT64_MAX"
  656. const m_INT_FAST64_MIN = "INT64_MIN"
  657. const m_INT_FAST8_MAX = "INT8_MAX"
  658. const m_INT_FAST8_MIN = "INT8_MIN"
  659. const m_INT_LEAST16_MAX = "INT16_MAX"
  660. const m_INT_LEAST16_MIN = "INT16_MIN"
  661. const m_INT_LEAST32_MAX = "INT32_MAX"
  662. const m_INT_LEAST32_MIN = "INT32_MIN"
  663. const m_INT_LEAST64_MAX = "INT64_MAX"
  664. const m_INT_LEAST64_MIN = "INT64_MIN"
  665. const m_INT_LEAST8_MAX = "INT8_MAX"
  666. const m_INT_LEAST8_MIN = "INT8_MIN"
  667. const m_INT_MAX = 2147483647
  668. const m_IOV_MAX = 1024
  669. const m_LCK_NAME = ".LCK"
  670. const m_LDBL_DECIMAL_DIG = "DECIMAL_DIG"
  671. const m_LDBL_DIG = 15
  672. const m_LDBL_EPSILON = 2.22044604925031308085e-16
  673. const m_LDBL_HAS_SUBNORM = 1
  674. const m_LDBL_MANT_DIG = 53
  675. const m_LDBL_MAX = 1.79769313486231570815e+308
  676. const m_LDBL_MAX_10_EXP = 308
  677. const m_LDBL_MAX_EXP = 1024
  678. const m_LDBL_MIN = 2.22507385850720138309e-308
  679. const m_LDBL_TRUE_MIN = 4.94065645841246544177e-324
  680. const m_LINE_MAX = 4096
  681. const m_LITTLE_ENDIAN = "__LITTLE_ENDIAN"
  682. const m_LLONG_MAX = 0x7fffffffffffffff
  683. const m_LOGIN_NAME_MAX = 256
  684. const m_LONG_BIT = 64
  685. const m_LONG_MAX = "__LONG_MAX"
  686. const m_LT_OBJDIR = ".libs/"
  687. const m_L_INCR = 1
  688. const m_L_SET = 0
  689. const m_L_XTND = 2
  690. const m_L_ctermid = 20
  691. const m_L_cuserid = 20
  692. const m_L_tmpnam = 20
  693. const m_MATH_ERREXCEPT = 2
  694. const m_MATH_ERRNO = 1
  695. const m_MB_LEN_MAX = 4
  696. const m_MQ_PRIO_MAX = 32768
  697. const m_M_1_PI = 0.31830988618379067154
  698. const m_M_2_PI = 0.63661977236758134308
  699. const m_M_2_SQRTPI = 1.12837916709551257390
  700. const m_M_E = 2.7182818284590452354
  701. const m_M_LN10 = 2.30258509299404568402
  702. const m_M_LN2 = 0.69314718055994530942
  703. const m_M_LOG10E = 0.43429448190325182765
  704. const m_M_LOG2E = 1.4426950408889634074
  705. const m_M_PI = 3.14159265358979323846
  706. const m_M_PI_2 = 1.57079632679489661923
  707. const m_M_PI_4 = 0.78539816339744830962
  708. const m_M_SQRT1_2 = 0.70710678118654752440
  709. const m_M_SQRT2 = 1.41421356237309504880
  710. const m_NAME_MAX = 255
  711. const m_NDEBUG = 1
  712. const m_NEW_NAME = ".NEW"
  713. const m_NGROUPS_MAX = 32
  714. const m_NL_ARGMAX = 9
  715. const m_NL_LANGMAX = 32
  716. const m_NL_MSGMAX = 32767
  717. const m_NL_NMAX = 16
  718. const m_NL_SETMAX = 255
  719. const m_NL_TEXTMAX = 2048
  720. const m_NZERO = 20
  721. const m_PACKAGE = "fontconfig"
  722. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  723. const m_PACKAGE_NAME = "fontconfig"
  724. const m_PACKAGE_STRING = "fontconfig 2.13.1"
  725. const m_PACKAGE_TARNAME = "fontconfig"
  726. const m_PACKAGE_URL = ""
  727. const m_PACKAGE_VERSION = "2.13.1"
  728. const m_PATH_MAX = 4096
  729. const m_PDP_ENDIAN = "__PDP_ENDIAN"
  730. const m_PIPE_BUF = 4096
  731. const m_POSIX_CLOSE_RESTART = 0
  732. const m_PTHREAD_DESTRUCTOR_ITERATIONS = 4
  733. const m_PTHREAD_KEYS_MAX = 128
  734. const m_PTHREAD_STACK_MIN = 2048
  735. const m_PTRDIFF_MAX = "INT64_MAX"
  736. const m_PTRDIFF_MIN = "INT64_MIN"
  737. const m_P_tmpdir = "/tmp"
  738. const m_RAND_MAX = 0x7fffffff
  739. const m_RE_DUP_MAX = 255
  740. const m_R_OK = 4
  741. const m_SCHAR_MAX = 127
  742. const m_SEEK_DATA = 3
  743. const m_SEEK_HOLE = 4
  744. const m_SEM_NSEMS_MAX = 256
  745. const m_SEM_VALUE_MAX = 0x7fffffff
  746. const m_SHRT_MAX = 0x7fff
  747. const m_SIG_ATOMIC_MAX = "INT32_MAX"
  748. const m_SIG_ATOMIC_MIN = "INT32_MIN"
  749. const m_SIZEOF_VOID_P = 8
  750. const m_SIZE_MAX = "UINT64_MAX"
  751. const m_SSIZE_MAX = "LONG_MAX"
  752. const m_STATX_ALL = 0xfff
  753. const m_STATX_ATIME = 0x20
  754. const m_STATX_BASIC_STATS = 0x7ff
  755. const m_STATX_BLOCKS = 0x400
  756. const m_STATX_BTIME = 0x800
  757. const m_STATX_CTIME = 0x80
  758. const m_STATX_GID = 0x10
  759. const m_STATX_INO = 0x100
  760. const m_STATX_MODE = 2
  761. const m_STATX_MTIME = 0x40
  762. const m_STATX_NLINK = 4
  763. const m_STATX_SIZE = 0x200
  764. const m_STATX_TYPE = 1
  765. const m_STATX_UID = 8
  766. const m_STDC_HEADERS = 1
  767. const m_STDERR_FILENO = 2
  768. const m_STDIN_FILENO = 0
  769. const m_STDOUT_FILENO = 1
  770. const m_SYMLOOP_MAX = 40
  771. const m_S_IEXEC = "S_IXUSR"
  772. const m_S_IFBLK = 0060000
  773. const m_S_IFCHR = 0020000
  774. const m_S_IFDIR = 0040000
  775. const m_S_IFIFO = 0010000
  776. const m_S_IFLNK = 0120000
  777. const m_S_IFMT = 0170000
  778. const m_S_IFREG = 0100000
  779. const m_S_IFSOCK = 0140000
  780. const m_S_IREAD = "S_IRUSR"
  781. const m_S_IRGRP = 0040
  782. const m_S_IROTH = 0004
  783. const m_S_IRUSR = 0400
  784. const m_S_IRWXG = 0070
  785. const m_S_IRWXO = 0007
  786. const m_S_IRWXU = 0700
  787. const m_S_ISGID = 02000
  788. const m_S_ISUID = 04000
  789. const m_S_ISVTX = 01000
  790. const m_S_IWGRP = 0020
  791. const m_S_IWOTH = 0002
  792. const m_S_IWRITE = "S_IWUSR"
  793. const m_S_IWUSR = 0200
  794. const m_S_IXGRP = 0010
  795. const m_S_IXOTH = 0001
  796. const m_S_IXUSR = 0100
  797. const m_TIMER_ABSTIME = 1
  798. const m_TIME_UTC = 1
  799. const m_TMP_MAX = 10000
  800. const m_TMP_NAME = ".TMP-XXXXXX"
  801. const m_TTY_NAME_MAX = 32
  802. const m_TZNAME_MAX = 6
  803. const m_UCHAR_MAX = 255
  804. const m_UINT16_MAX = 0xffff
  805. const m_UINT32_MAX = "0xffffffffu"
  806. const m_UINT64_MAX = "0xffffffffffffffffu"
  807. const m_UINT8_MAX = 0xff
  808. const m_UINTMAX_MAX = "UINT64_MAX"
  809. const m_UINTPTR_MAX = "UINT64_MAX"
  810. const m_UINT_FAST16_MAX = "UINT32_MAX"
  811. const m_UINT_FAST32_MAX = "UINT32_MAX"
  812. const m_UINT_FAST64_MAX = "UINT64_MAX"
  813. const m_UINT_FAST8_MAX = "UINT8_MAX"
  814. const m_UINT_LEAST16_MAX = "UINT16_MAX"
  815. const m_UINT_LEAST32_MAX = "UINT32_MAX"
  816. const m_UINT_LEAST64_MAX = "UINT64_MAX"
  817. const m_UINT_LEAST8_MAX = "UINT8_MAX"
  818. const m_UINT_MAX = 0xffffffff
  819. const m_USE_ICONV = 0
  820. const m_USHRT_MAX = 0xffff
  821. const m_UTIME_NOW = 0x3fffffff
  822. const m_UTIME_OMIT = 0x3ffffffe
  823. const m_VERSION = "2.13.1"
  824. const m_WINT_MAX = "UINT32_MAX"
  825. const m_WINT_MIN = 0
  826. const m_WNOHANG = 1
  827. const m_WORD_BIT = 32
  828. const m_WUNTRACED = 2
  829. const m_W_OK = 2
  830. const m_X_OK = 1
  831. const m__ALL_SOURCE = 1
  832. const m__ARCH_PPC = 1
  833. const m__ARCH_PPC64 = 1
  834. const m__ARCH_PPCGR = 1
  835. const m__ARCH_PPCSQ = 1
  836. const m__ARCH_PWR4 = 1
  837. const m__ARCH_PWR5 = 1
  838. const m__ARCH_PWR5X = 1
  839. const m__ARCH_PWR6 = 1
  840. const m__ARCH_PWR7 = 1
  841. const m__ARCH_PWR8 = 1
  842. const m__CALL_ELF = 2
  843. const m__CALL_LINUX = 1
  844. const m__CS_GNU_LIBC_VERSION = 2
  845. const m__CS_GNU_LIBPTHREAD_VERSION = 3
  846. const m__CS_PATH = 0
  847. const m__CS_POSIX_V5_WIDTH_RESTRICTED_ENVS = 4
  848. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 1116
  849. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 1117
  850. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 1118
  851. const m__CS_POSIX_V6_ILP32_OFF32_LINTFLAGS = 1119
  852. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 1120
  853. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 1121
  854. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 1122
  855. const m__CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS = 1123
  856. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 1124
  857. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 1125
  858. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 1126
  859. const m__CS_POSIX_V6_LP64_OFF64_LINTFLAGS = 1127
  860. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 1128
  861. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 1129
  862. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 1130
  863. const m__CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS = 1131
  864. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 1
  865. const m__CS_POSIX_V7_ILP32_OFF32_CFLAGS = 1132
  866. const m__CS_POSIX_V7_ILP32_OFF32_LDFLAGS = 1133
  867. const m__CS_POSIX_V7_ILP32_OFF32_LIBS = 1134
  868. const m__CS_POSIX_V7_ILP32_OFF32_LINTFLAGS = 1135
  869. const m__CS_POSIX_V7_ILP32_OFFBIG_CFLAGS = 1136
  870. const m__CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS = 1137
  871. const m__CS_POSIX_V7_ILP32_OFFBIG_LIBS = 1138
  872. const m__CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS = 1139
  873. const m__CS_POSIX_V7_LP64_OFF64_CFLAGS = 1140
  874. const m__CS_POSIX_V7_LP64_OFF64_LDFLAGS = 1141
  875. const m__CS_POSIX_V7_LP64_OFF64_LIBS = 1142
  876. const m__CS_POSIX_V7_LP64_OFF64_LINTFLAGS = 1143
  877. const m__CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS = 1144
  878. const m__CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS = 1145
  879. const m__CS_POSIX_V7_LPBIG_OFFBIG_LIBS = 1146
  880. const m__CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS = 1147
  881. const m__CS_POSIX_V7_THREADS_CFLAGS = 1150
  882. const m__CS_POSIX_V7_THREADS_LDFLAGS = 1151
  883. const m__CS_POSIX_V7_WIDTH_RESTRICTED_ENVS = 5
  884. const m__CS_V6_ENV = 1148
  885. const m__CS_V7_ENV = 1149
  886. const m__DARWIN_USE_64_BIT_INODE = 1
  887. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  888. const m__GENERATED_STDINT_H = "fontconfig 2.13.1"
  889. const m__GNU_SOURCE = 1
  890. const m__IOFBF = 0
  891. const m__IOLBF = 1
  892. const m__IONBF = 2
  893. const m__LITTLE_ENDIAN = 1
  894. const m__LP64 = 1
  895. const m__PC_2_SYMLINKS = 20
  896. const m__PC_ALLOC_SIZE_MIN = 18
  897. const m__PC_ASYNC_IO = 10
  898. const m__PC_CHOWN_RESTRICTED = 6
  899. const m__PC_FILESIZEBITS = 13
  900. const m__PC_LINK_MAX = 0
  901. const m__PC_MAX_CANON = 1
  902. const m__PC_MAX_INPUT = 2
  903. const m__PC_NAME_MAX = 3
  904. const m__PC_NO_TRUNC = 7
  905. const m__PC_PATH_MAX = 4
  906. const m__PC_PIPE_BUF = 5
  907. const m__PC_PRIO_IO = 11
  908. const m__PC_REC_INCR_XFER_SIZE = 14
  909. const m__PC_REC_MAX_XFER_SIZE = 15
  910. const m__PC_REC_MIN_XFER_SIZE = 16
  911. const m__PC_REC_XFER_ALIGN = 17
  912. const m__PC_SOCK_MAXBUF = 12
  913. const m__PC_SYMLINK_MAX = 19
  914. const m__PC_SYNC_IO = 9
  915. const m__PC_VDISABLE = 8
  916. const m__POSIX2_BC_BASE_MAX = 99
  917. const m__POSIX2_BC_DIM_MAX = 2048
  918. const m__POSIX2_BC_SCALE_MAX = 99
  919. const m__POSIX2_BC_STRING_MAX = 1000
  920. const m__POSIX2_CHARCLASS_NAME_MAX = 14
  921. const m__POSIX2_COLL_WEIGHTS_MAX = 2
  922. const m__POSIX2_C_BIND = "_POSIX_VERSION"
  923. const m__POSIX2_EXPR_NEST_MAX = 32
  924. const m__POSIX2_LINE_MAX = 2048
  925. const m__POSIX2_RE_DUP_MAX = 255
  926. const m__POSIX2_VERSION = "_POSIX_VERSION"
  927. const m__POSIX_ADVISORY_INFO = "_POSIX_VERSION"
  928. const m__POSIX_AIO_LISTIO_MAX = 2
  929. const m__POSIX_AIO_MAX = 1
  930. const m__POSIX_ARG_MAX = 4096
  931. const m__POSIX_ASYNCHRONOUS_IO = "_POSIX_VERSION"
  932. const m__POSIX_BARRIERS = "_POSIX_VERSION"
  933. const m__POSIX_CHILD_MAX = 25
  934. const m__POSIX_CHOWN_RESTRICTED = 1
  935. const m__POSIX_CLOCKRES_MIN = 20000000
  936. const m__POSIX_CLOCK_SELECTION = "_POSIX_VERSION"
  937. const m__POSIX_CPUTIME = "_POSIX_VERSION"
  938. const m__POSIX_DELAYTIMER_MAX = 32
  939. const m__POSIX_FSYNC = "_POSIX_VERSION"
  940. const m__POSIX_HOST_NAME_MAX = 255
  941. const m__POSIX_IPV6 = "_POSIX_VERSION"
  942. const m__POSIX_JOB_CONTROL = 1
  943. const m__POSIX_LINK_MAX = 8
  944. const m__POSIX_LOGIN_NAME_MAX = 9
  945. const m__POSIX_MAPPED_FILES = "_POSIX_VERSION"
  946. const m__POSIX_MAX_CANON = 255
  947. const m__POSIX_MAX_INPUT = 255
  948. const m__POSIX_MEMLOCK = "_POSIX_VERSION"
  949. const m__POSIX_MEMLOCK_RANGE = "_POSIX_VERSION"
  950. const m__POSIX_MEMORY_PROTECTION = "_POSIX_VERSION"
  951. const m__POSIX_MESSAGE_PASSING = "_POSIX_VERSION"
  952. const m__POSIX_MONOTONIC_CLOCK = "_POSIX_VERSION"
  953. const m__POSIX_MQ_OPEN_MAX = 8
  954. const m__POSIX_MQ_PRIO_MAX = 32
  955. const m__POSIX_NAME_MAX = 14
  956. const m__POSIX_NGROUPS_MAX = 8
  957. const m__POSIX_NO_TRUNC = 1
  958. const m__POSIX_OPEN_MAX = 20
  959. const m__POSIX_PATH_MAX = 256
  960. const m__POSIX_PIPE_BUF = 512
  961. const m__POSIX_PTHREAD_SEMANTICS = 1
  962. const m__POSIX_RAW_SOCKETS = "_POSIX_VERSION"
  963. const m__POSIX_READER_WRITER_LOCKS = "_POSIX_VERSION"
  964. const m__POSIX_REALTIME_SIGNALS = "_POSIX_VERSION"
  965. const m__POSIX_REGEXP = 1
  966. const m__POSIX_RE_DUP_MAX = 255
  967. const m__POSIX_RTSIG_MAX = 8
  968. const m__POSIX_SAVED_IDS = 1
  969. const m__POSIX_SEMAPHORES = "_POSIX_VERSION"
  970. const m__POSIX_SEM_NSEMS_MAX = 256
  971. const m__POSIX_SEM_VALUE_MAX = 32767
  972. const m__POSIX_SHARED_MEMORY_OBJECTS = "_POSIX_VERSION"
  973. const m__POSIX_SHELL = 1
  974. const m__POSIX_SIGQUEUE_MAX = 32
  975. const m__POSIX_SPAWN = "_POSIX_VERSION"
  976. const m__POSIX_SPIN_LOCKS = "_POSIX_VERSION"
  977. const m__POSIX_SSIZE_MAX = 32767
  978. const m__POSIX_SS_REPL_MAX = 4
  979. const m__POSIX_STREAM_MAX = 8
  980. const m__POSIX_SYMLINK_MAX = 255
  981. const m__POSIX_SYMLOOP_MAX = 8
  982. const m__POSIX_THREADS = "_POSIX_VERSION"
  983. const m__POSIX_THREAD_ATTR_STACKADDR = "_POSIX_VERSION"
  984. const m__POSIX_THREAD_ATTR_STACKSIZE = "_POSIX_VERSION"
  985. const m__POSIX_THREAD_CPUTIME = "_POSIX_VERSION"
  986. const m__POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4
  987. const m__POSIX_THREAD_KEYS_MAX = 128
  988. const m__POSIX_THREAD_PRIORITY_SCHEDULING = "_POSIX_VERSION"
  989. const m__POSIX_THREAD_PROCESS_SHARED = "_POSIX_VERSION"
  990. const m__POSIX_THREAD_SAFE_FUNCTIONS = "_POSIX_VERSION"
  991. const m__POSIX_THREAD_THREADS_MAX = 64
  992. const m__POSIX_TIMEOUTS = "_POSIX_VERSION"
  993. const m__POSIX_TIMERS = "_POSIX_VERSION"
  994. const m__POSIX_TIMER_MAX = 32
  995. const m__POSIX_TRACE_EVENT_NAME_MAX = 30
  996. const m__POSIX_TRACE_NAME_MAX = 8
  997. const m__POSIX_TRACE_SYS_MAX = 8
  998. const m__POSIX_TRACE_USER_EVENT_MAX = 32
  999. const m__POSIX_TTY_NAME_MAX = 9
  1000. const m__POSIX_TZNAME_MAX = 6
  1001. const m__POSIX_V6_LP64_OFF64 = 1
  1002. const m__POSIX_V7_LP64_OFF64 = 1
  1003. const m__POSIX_VDISABLE = 0
  1004. const m__POSIX_VERSION = 200809
  1005. const m__REENTRANT = 1
  1006. const m__SC_2_CHAR_TERM = 95
  1007. const m__SC_2_C_BIND = 47
  1008. const m__SC_2_C_DEV = 48
  1009. const m__SC_2_FORT_DEV = 49
  1010. const m__SC_2_FORT_RUN = 50
  1011. const m__SC_2_LOCALEDEF = 52
  1012. const m__SC_2_PBS = 168
  1013. const m__SC_2_PBS_ACCOUNTING = 169
  1014. const m__SC_2_PBS_CHECKPOINT = 175
  1015. const m__SC_2_PBS_LOCATE = 170
  1016. const m__SC_2_PBS_MESSAGE = 171
  1017. const m__SC_2_PBS_TRACK = 172
  1018. const m__SC_2_SW_DEV = 51
  1019. const m__SC_2_UPE = 97
  1020. const m__SC_2_VERSION = 46
  1021. const m__SC_ADVISORY_INFO = 132
  1022. const m__SC_AIO_LISTIO_MAX = 23
  1023. const m__SC_AIO_MAX = 24
  1024. const m__SC_AIO_PRIO_DELTA_MAX = 25
  1025. const m__SC_ARG_MAX = 0
  1026. const m__SC_ASYNCHRONOUS_IO = 12
  1027. const m__SC_ATEXIT_MAX = 87
  1028. const m__SC_AVPHYS_PAGES = 86
  1029. const m__SC_BARRIERS = 133
  1030. const m__SC_BC_BASE_MAX = 36
  1031. const m__SC_BC_DIM_MAX = 37
  1032. const m__SC_BC_SCALE_MAX = 38
  1033. const m__SC_BC_STRING_MAX = 39
  1034. const m__SC_CHILD_MAX = 1
  1035. const m__SC_CLK_TCK = 2
  1036. const m__SC_CLOCK_SELECTION = 137
  1037. const m__SC_COLL_WEIGHTS_MAX = 40
  1038. const m__SC_CPUTIME = 138
  1039. const m__SC_DELAYTIMER_MAX = 26
  1040. const m__SC_EXPR_NEST_MAX = 42
  1041. const m__SC_FSYNC = 15
  1042. const m__SC_GETGR_R_SIZE_MAX = 69
  1043. const m__SC_GETPW_R_SIZE_MAX = 70
  1044. const m__SC_HOST_NAME_MAX = 180
  1045. const m__SC_IOV_MAX = 60
  1046. const m__SC_IPV6 = 235
  1047. const m__SC_JOB_CONTROL = 7
  1048. const m__SC_LINE_MAX = 43
  1049. const m__SC_LOGIN_NAME_MAX = 71
  1050. const m__SC_MAPPED_FILES = 16
  1051. const m__SC_MEMLOCK = 17
  1052. const m__SC_MEMLOCK_RANGE = 18
  1053. const m__SC_MEMORY_PROTECTION = 19
  1054. const m__SC_MESSAGE_PASSING = 20
  1055. const m__SC_MINSIGSTKSZ = 249
  1056. const m__SC_MONOTONIC_CLOCK = 149
  1057. const m__SC_MQ_OPEN_MAX = 27
  1058. const m__SC_MQ_PRIO_MAX = 28
  1059. const m__SC_NGROUPS_MAX = 3
  1060. const m__SC_NPROCESSORS_CONF = 83
  1061. const m__SC_NPROCESSORS_ONLN = 84
  1062. const m__SC_NZERO = 109
  1063. const m__SC_OPEN_MAX = 4
  1064. const m__SC_PAGESIZE = 30
  1065. const m__SC_PAGE_SIZE = 30
  1066. const m__SC_PASS_MAX = 88
  1067. const m__SC_PHYS_PAGES = 85
  1068. const m__SC_PRIORITIZED_IO = 13
  1069. const m__SC_PRIORITY_SCHEDULING = 10
  1070. const m__SC_RAW_SOCKETS = 236
  1071. const m__SC_READER_WRITER_LOCKS = 153
  1072. const m__SC_REALTIME_SIGNALS = 9
  1073. const m__SC_REGEXP = 155
  1074. const m__SC_RE_DUP_MAX = 44
  1075. const m__SC_RTSIG_MAX = 31
  1076. const m__SC_SAVED_IDS = 8
  1077. const m__SC_SEMAPHORES = 21
  1078. const m__SC_SEM_NSEMS_MAX = 32
  1079. const m__SC_SEM_VALUE_MAX = 33
  1080. const m__SC_SHARED_MEMORY_OBJECTS = 22
  1081. const m__SC_SHELL = 157
  1082. const m__SC_SIGQUEUE_MAX = 34
  1083. const m__SC_SIGSTKSZ = 250
  1084. const m__SC_SPAWN = 159
  1085. const m__SC_SPIN_LOCKS = 154
  1086. const m__SC_SPORADIC_SERVER = 160
  1087. const m__SC_SS_REPL_MAX = 241
  1088. const m__SC_STREAMS = 174
  1089. const m__SC_STREAM_MAX = 5
  1090. const m__SC_SYMLOOP_MAX = 173
  1091. const m__SC_SYNCHRONIZED_IO = 14
  1092. const m__SC_THREADS = 67
  1093. const m__SC_THREAD_ATTR_STACKADDR = 77
  1094. const m__SC_THREAD_ATTR_STACKSIZE = 78
  1095. const m__SC_THREAD_CPUTIME = 139
  1096. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 73
  1097. const m__SC_THREAD_KEYS_MAX = 74
  1098. const m__SC_THREAD_PRIORITY_SCHEDULING = 79
  1099. const m__SC_THREAD_PRIO_INHERIT = 80
  1100. const m__SC_THREAD_PRIO_PROTECT = 81
  1101. const m__SC_THREAD_PROCESS_SHARED = 82
  1102. const m__SC_THREAD_ROBUST_PRIO_INHERIT = 247
  1103. const m__SC_THREAD_ROBUST_PRIO_PROTECT = 248
  1104. const m__SC_THREAD_SAFE_FUNCTIONS = 68
  1105. const m__SC_THREAD_SPORADIC_SERVER = 161
  1106. const m__SC_THREAD_STACK_MIN = 75
  1107. const m__SC_THREAD_THREADS_MAX = 76
  1108. const m__SC_TIMEOUTS = 164
  1109. const m__SC_TIMERS = 11
  1110. const m__SC_TIMER_MAX = 35
  1111. const m__SC_TRACE = 181
  1112. const m__SC_TRACE_EVENT_FILTER = 182
  1113. const m__SC_TRACE_EVENT_NAME_MAX = 242
  1114. const m__SC_TRACE_INHERIT = 183
  1115. const m__SC_TRACE_LOG = 184
  1116. const m__SC_TRACE_NAME_MAX = 243
  1117. const m__SC_TRACE_SYS_MAX = 244
  1118. const m__SC_TRACE_USER_EVENT_MAX = 245
  1119. const m__SC_TTY_NAME_MAX = 72
  1120. const m__SC_TYPED_MEMORY_OBJECTS = 165
  1121. const m__SC_TZNAME_MAX = 6
  1122. const m__SC_UIO_MAXIOV = 60
  1123. const m__SC_V6_ILP32_OFF32 = 176
  1124. const m__SC_V6_ILP32_OFFBIG = 177
  1125. const m__SC_V6_LP64_OFF64 = 178
  1126. const m__SC_V6_LPBIG_OFFBIG = 179
  1127. const m__SC_V7_ILP32_OFF32 = 237
  1128. const m__SC_V7_ILP32_OFFBIG = 238
  1129. const m__SC_V7_LP64_OFF64 = 239
  1130. const m__SC_V7_LPBIG_OFFBIG = 240
  1131. const m__SC_VERSION = 29
  1132. const m__SC_XBS5_ILP32_OFF32 = 125
  1133. const m__SC_XBS5_ILP32_OFFBIG = 126
  1134. const m__SC_XBS5_LP64_OFF64 = 127
  1135. const m__SC_XBS5_LPBIG_OFFBIG = 128
  1136. const m__SC_XOPEN_CRYPT = 92
  1137. const m__SC_XOPEN_ENH_I18N = 93
  1138. const m__SC_XOPEN_LEGACY = 129
  1139. const m__SC_XOPEN_REALTIME = 130
  1140. const m__SC_XOPEN_REALTIME_THREADS = 131
  1141. const m__SC_XOPEN_SHM = 94
  1142. const m__SC_XOPEN_STREAMS = 246
  1143. const m__SC_XOPEN_UNIX = 91
  1144. const m__SC_XOPEN_VERSION = 89
  1145. const m__SC_XOPEN_XCU_VERSION = 90
  1146. const m__SC_XOPEN_XPG2 = 98
  1147. const m__SC_XOPEN_XPG3 = 99
  1148. const m__SC_XOPEN_XPG4 = 100
  1149. const m__STDC_PREDEF_H = 1
  1150. const m__STDINT_HAVE_STDINT_H = 1
  1151. const m__TANDEM_SOURCE = 1
  1152. const m__XOPEN_ENH_I18N = 1
  1153. const m__XOPEN_IOV_MAX = 16
  1154. const m__XOPEN_NAME_MAX = 255
  1155. const m__XOPEN_PATH_MAX = 1024
  1156. const m__XOPEN_UNIX = 1
  1157. const m__XOPEN_VERSION = 700
  1158. const m___ALTIVEC__ = 1
  1159. const m___APPLE_ALTIVEC__ = 1
  1160. const m___ATOMIC_ACQUIRE = 2
  1161. const m___ATOMIC_ACQ_REL = 4
  1162. const m___ATOMIC_CONSUME = 1
  1163. const m___ATOMIC_RELAXED = 0
  1164. const m___ATOMIC_RELEASE = 3
  1165. const m___ATOMIC_SEQ_CST = 5
  1166. const m___BIGGEST_ALIGNMENT__ = 16
  1167. const m___BIG_ENDIAN = 4321
  1168. const m___BUILTIN_CPU_SUPPORTS__ = 1
  1169. const m___BYTE_ORDER = 1234
  1170. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1171. const m___CCGO__ = 1
  1172. const m___CHAR_BIT__ = 8
  1173. const m___CHAR_UNSIGNED__ = 1
  1174. const m___CMODEL_MEDIUM__ = 1
  1175. const m___CRYPTO__ = 1
  1176. const m___DBL_DECIMAL_DIG__ = 17
  1177. const m___DBL_DIG__ = 15
  1178. const m___DBL_HAS_DENORM__ = 1
  1179. const m___DBL_HAS_INFINITY__ = 1
  1180. const m___DBL_HAS_QUIET_NAN__ = 1
  1181. const m___DBL_MANT_DIG__ = 53
  1182. const m___DBL_MAX_10_EXP__ = 308
  1183. const m___DBL_MAX_EXP__ = 1024
  1184. const m___DEC128_EPSILON__ = 1e-33
  1185. const m___DEC128_MANT_DIG__ = 34
  1186. const m___DEC128_MAX_EXP__ = 6145
  1187. const m___DEC128_MAX__ = "9.999999999999999999999999999999999E6144"
  1188. const m___DEC128_MIN__ = 1e-6143
  1189. const m___DEC128_SUBNORMAL_MIN__ = 0.000000000000000000000000000000001e-6143
  1190. const m___DEC32_EPSILON__ = 1e-6
  1191. const m___DEC32_MANT_DIG__ = 7
  1192. const m___DEC32_MAX_EXP__ = 97
  1193. const m___DEC32_MAX__ = 9.999999e96
  1194. const m___DEC32_MIN__ = 1e-95
  1195. const m___DEC32_SUBNORMAL_MIN__ = 0.000001e-95
  1196. const m___DEC64_EPSILON__ = 1e-15
  1197. const m___DEC64_MANT_DIG__ = 16
  1198. const m___DEC64_MAX_EXP__ = 385
  1199. const m___DEC64_MAX__ = "9.999999999999999E384"
  1200. const m___DEC64_MIN__ = 1e-383
  1201. const m___DEC64_SUBNORMAL_MIN__ = 0.000000000000001e-383
  1202. const m___DECIMAL_DIG__ = 17
  1203. const m___DEC_EVAL_METHOD__ = 2
  1204. const m___ELF__ = 1
  1205. const m___EXTENSIONS__ = 1
  1206. const m___FINITE_MATH_ONLY__ = 0
  1207. const m___FLOAT128_TYPE__ = 1
  1208. const m___FLOAT128__ = 1
  1209. const m___FLOAT_WORD_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1210. const m___FLT128_DECIMAL_DIG__ = 36
  1211. const m___FLT128_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1212. const m___FLT128_DIG__ = 33
  1213. const m___FLT128_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1214. const m___FLT128_HAS_DENORM__ = 1
  1215. const m___FLT128_HAS_INFINITY__ = 1
  1216. const m___FLT128_HAS_QUIET_NAN__ = 1
  1217. const m___FLT128_MANT_DIG__ = 113
  1218. const m___FLT128_MAX_10_EXP__ = 4932
  1219. const m___FLT128_MAX_EXP__ = 16384
  1220. const m___FLT128_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1221. const m___FLT128_MIN__ = 3.36210314311209350626267781732175260e-4932
  1222. const m___FLT128_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1223. const m___FLT32X_DECIMAL_DIG__ = 17
  1224. const m___FLT32X_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1225. const m___FLT32X_DIG__ = 15
  1226. const m___FLT32X_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1227. const m___FLT32X_HAS_DENORM__ = 1
  1228. const m___FLT32X_HAS_INFINITY__ = 1
  1229. const m___FLT32X_HAS_QUIET_NAN__ = 1
  1230. const m___FLT32X_MANT_DIG__ = 53
  1231. const m___FLT32X_MAX_10_EXP__ = 308
  1232. const m___FLT32X_MAX_EXP__ = 1024
  1233. const m___FLT32X_MAX__ = 1.79769313486231570814527423731704357e+308
  1234. const m___FLT32X_MIN__ = 2.22507385850720138309023271733240406e-308
  1235. const m___FLT32X_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1236. const m___FLT32_DECIMAL_DIG__ = 9
  1237. const m___FLT32_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1238. const m___FLT32_DIG__ = 6
  1239. const m___FLT32_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1240. const m___FLT32_HAS_DENORM__ = 1
  1241. const m___FLT32_HAS_INFINITY__ = 1
  1242. const m___FLT32_HAS_QUIET_NAN__ = 1
  1243. const m___FLT32_MANT_DIG__ = 24
  1244. const m___FLT32_MAX_10_EXP__ = 38
  1245. const m___FLT32_MAX_EXP__ = 128
  1246. const m___FLT32_MAX__ = 3.40282346638528859811704183484516925e+38
  1247. const m___FLT32_MIN__ = 1.17549435082228750796873653722224568e-38
  1248. const m___FLT32_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1249. const m___FLT64X_DECIMAL_DIG__ = 36
  1250. const m___FLT64X_DENORM_MIN__ = 6.47517511943802511092443895822764655e-4966
  1251. const m___FLT64X_DIG__ = 33
  1252. const m___FLT64X_EPSILON__ = 1.92592994438723585305597794258492732e-34
  1253. const m___FLT64X_HAS_DENORM__ = 1
  1254. const m___FLT64X_HAS_INFINITY__ = 1
  1255. const m___FLT64X_HAS_QUIET_NAN__ = 1
  1256. const m___FLT64X_MANT_DIG__ = 113
  1257. const m___FLT64X_MAX_10_EXP__ = 4932
  1258. const m___FLT64X_MAX_EXP__ = 16384
  1259. const m___FLT64X_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1260. const m___FLT64X_MIN__ = 3.36210314311209350626267781732175260e-4932
  1261. const m___FLT64X_NORM_MAX__ = "1.18973149535723176508575932662800702e+4932"
  1262. const m___FLT64_DECIMAL_DIG__ = 17
  1263. const m___FLT64_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1264. const m___FLT64_DIG__ = 15
  1265. const m___FLT64_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1266. const m___FLT64_HAS_DENORM__ = 1
  1267. const m___FLT64_HAS_INFINITY__ = 1
  1268. const m___FLT64_HAS_QUIET_NAN__ = 1
  1269. const m___FLT64_MANT_DIG__ = 53
  1270. const m___FLT64_MAX_10_EXP__ = 308
  1271. const m___FLT64_MAX_EXP__ = 1024
  1272. const m___FLT64_MAX__ = 1.79769313486231570814527423731704357e+308
  1273. const m___FLT64_MIN__ = 2.22507385850720138309023271733240406e-308
  1274. const m___FLT64_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1275. const m___FLT_DECIMAL_DIG__ = 9
  1276. const m___FLT_DENORM_MIN__ = 1.40129846432481707092372958328991613e-45
  1277. const m___FLT_DIG__ = 6
  1278. const m___FLT_EPSILON__ = 1.19209289550781250000000000000000000e-7
  1279. const m___FLT_EVAL_METHOD_TS_18661_3__ = 0
  1280. const m___FLT_EVAL_METHOD__ = 0
  1281. const m___FLT_HAS_DENORM__ = 1
  1282. const m___FLT_HAS_INFINITY__ = 1
  1283. const m___FLT_HAS_QUIET_NAN__ = 1
  1284. const m___FLT_MANT_DIG__ = 24
  1285. const m___FLT_MAX_10_EXP__ = 38
  1286. const m___FLT_MAX_EXP__ = 128
  1287. const m___FLT_MAX__ = 3.40282346638528859811704183484516925e+38
  1288. const m___FLT_MIN__ = 1.17549435082228750796873653722224568e-38
  1289. const m___FLT_NORM_MAX__ = 3.40282346638528859811704183484516925e+38
  1290. const m___FLT_RADIX__ = 2
  1291. const m___FP_FAST_FMA = 1
  1292. const m___FP_FAST_FMAF = 1
  1293. const m___FP_FAST_FMAF32 = 1
  1294. const m___FP_FAST_FMAF32x = 1
  1295. const m___FP_FAST_FMAF64 = 1
  1296. const m___FP_FAST_FMAL = 1
  1297. const m___FUNCTION__ = "__func__"
  1298. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1299. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1300. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1301. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1302. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1303. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1304. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1305. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1306. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1307. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1308. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1309. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1310. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1311. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  1312. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1313. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1314. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1315. const m___GCC_IEC_559 = 2
  1316. const m___GCC_IEC_559_COMPLEX = 2
  1317. const m___GNUC_MINOR__ = 2
  1318. const m___GNUC_PATCHLEVEL__ = 1
  1319. const m___GNUC_STDC_INLINE__ = 1
  1320. const m___GNUC__ = 10
  1321. const m___GXX_ABI_VERSION = 1014
  1322. const m___HAVE_BSWAP__ = 1
  1323. const m___HAVE_SPECULATION_SAFE_VALUE = 1
  1324. const m___HTM__ = 1
  1325. const m___INT16_MAX__ = 0x7fff
  1326. const m___INT32_MAX__ = 0x7fffffff
  1327. const m___INT32_TYPE__ = "int"
  1328. const m___INT64_MAX__ = 0x7fffffffffffffff
  1329. const m___INT8_MAX__ = 0x7f
  1330. const m___INTMAX_MAX__ = 0x7fffffffffffffff
  1331. const m___INTMAX_WIDTH__ = 64
  1332. const m___INTPTR_MAX__ = 0x7fffffffffffffff
  1333. const m___INTPTR_WIDTH__ = 64
  1334. const m___INT_FAST16_MAX__ = 0x7fffffffffffffff
  1335. const m___INT_FAST16_WIDTH__ = 64
  1336. const m___INT_FAST32_MAX__ = 0x7fffffffffffffff
  1337. const m___INT_FAST32_WIDTH__ = 64
  1338. const m___INT_FAST64_MAX__ = 0x7fffffffffffffff
  1339. const m___INT_FAST64_WIDTH__ = 64
  1340. const m___INT_FAST8_MAX__ = 0x7f
  1341. const m___INT_FAST8_WIDTH__ = 8
  1342. const m___INT_LEAST16_MAX__ = 0x7fff
  1343. const m___INT_LEAST16_WIDTH__ = 16
  1344. const m___INT_LEAST32_MAX__ = 0x7fffffff
  1345. const m___INT_LEAST32_TYPE__ = "int"
  1346. const m___INT_LEAST32_WIDTH__ = 32
  1347. const m___INT_LEAST64_MAX__ = 0x7fffffffffffffff
  1348. const m___INT_LEAST64_WIDTH__ = 64
  1349. const m___INT_LEAST8_MAX__ = 0x7f
  1350. const m___INT_LEAST8_WIDTH__ = 8
  1351. const m___INT_MAX__ = 0x7fffffff
  1352. const m___INT_WIDTH__ = 32
  1353. const m___LDBL_DECIMAL_DIG__ = 17
  1354. const m___LDBL_DENORM_MIN__ = 4.94065645841246544176568792868221372e-324
  1355. const m___LDBL_DIG__ = 15
  1356. const m___LDBL_EPSILON__ = 2.22044604925031308084726333618164062e-16
  1357. const m___LDBL_HAS_DENORM__ = 1
  1358. const m___LDBL_HAS_INFINITY__ = 1
  1359. const m___LDBL_HAS_QUIET_NAN__ = 1
  1360. const m___LDBL_MANT_DIG__ = 53
  1361. const m___LDBL_MAX_10_EXP__ = 308
  1362. const m___LDBL_MAX_EXP__ = 1024
  1363. const m___LDBL_MAX__ = 1.79769313486231570814527423731704357e+308
  1364. const m___LDBL_MIN__ = 2.22507385850720138309023271733240406e-308
  1365. const m___LDBL_NORM_MAX__ = 1.79769313486231570814527423731704357e+308
  1366. const m___LITTLE_ENDIAN = 1234
  1367. const m___LITTLE_ENDIAN__ = 1
  1368. const m___LONG_LONG_MAX__ = 0x7fffffffffffffff
  1369. const m___LONG_LONG_WIDTH__ = 64
  1370. const m___LONG_MAX = 0x7fffffffffffffff
  1371. const m___LONG_MAX__ = 0x7fffffffffffffff
  1372. const m___LONG_WIDTH__ = 64
  1373. const m___LP64__ = 1
  1374. const m___NO_INLINE__ = 1
  1375. const m___ORDER_BIG_ENDIAN__ = 4321
  1376. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1377. const m___ORDER_PDP_ENDIAN__ = 3412
  1378. const m___PDP_ENDIAN = 3412
  1379. const m___PIC__ = 2
  1380. const m___PIE__ = 2
  1381. const m___POWER8_VECTOR__ = 1
  1382. const m___PPC64__ = 1
  1383. const m___PPC__ = 1
  1384. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1385. const m___PRETTY_FUNCTION__ = "__func__"
  1386. const m___PTRDIFF_MAX__ = 0x7fffffffffffffff
  1387. const m___PTRDIFF_WIDTH__ = 64
  1388. const m___QUAD_MEMORY_ATOMIC__ = 1
  1389. const m___RECIPF__ = 1
  1390. const m___RECIP_PRECISION__ = 1
  1391. const m___RECIP__ = 1
  1392. const m___RSQRTEF__ = 1
  1393. const m___RSQRTE__ = 1
  1394. const m___SCHAR_MAX__ = 0x7f
  1395. const m___SCHAR_WIDTH__ = 8
  1396. const m___SHRT_MAX__ = 0x7fff
  1397. const m___SHRT_WIDTH__ = 16
  1398. const m___SIG_ATOMIC_MAX__ = 0x7fffffff
  1399. const m___SIG_ATOMIC_TYPE__ = "int"
  1400. const m___SIG_ATOMIC_WIDTH__ = 32
  1401. const m___SIZEOF_DOUBLE__ = 8
  1402. const m___SIZEOF_FLOAT__ = 4
  1403. const m___SIZEOF_INT128__ = 16
  1404. const m___SIZEOF_INT__ = 4
  1405. const m___SIZEOF_LONG_DOUBLE__ = 8
  1406. const m___SIZEOF_LONG_LONG__ = 8
  1407. const m___SIZEOF_LONG__ = 8
  1408. const m___SIZEOF_POINTER__ = 8
  1409. const m___SIZEOF_PTRDIFF_T__ = 8
  1410. const m___SIZEOF_SHORT__ = 2
  1411. const m___SIZEOF_SIZE_T__ = 8
  1412. const m___SIZEOF_WCHAR_T__ = 4
  1413. const m___SIZEOF_WINT_T__ = 4
  1414. const m___SIZE_MAX__ = 0xffffffffffffffff
  1415. const m___SIZE_WIDTH__ = 64
  1416. const m___STDC_HOSTED__ = 1
  1417. const m___STDC_IEC_559_COMPLEX__ = 1
  1418. const m___STDC_IEC_559__ = 1
  1419. const m___STDC_ISO_10646__ = 201706
  1420. const m___STDC_UTF_16__ = 1
  1421. const m___STDC_UTF_32__ = 1
  1422. const m___STDC_VERSION__ = 201710
  1423. const m___STDC__ = 1
  1424. const m___STRUCT_PARM_ALIGN__ = 16
  1425. const m___TM_FENCE__ = 1
  1426. const m___UINT16_MAX__ = 0xffff
  1427. const m___UINT32_MAX__ = 0xffffffff
  1428. const m___UINT64_MAX__ = 0xffffffffffffffff
  1429. const m___UINT8_MAX__ = 0xff
  1430. const m___UINTMAX_MAX__ = 0xffffffffffffffff
  1431. const m___UINTPTR_MAX__ = 0xffffffffffffffff
  1432. const m___UINT_FAST16_MAX__ = 0xffffffffffffffff
  1433. const m___UINT_FAST32_MAX__ = 0xffffffffffffffff
  1434. const m___UINT_FAST64_MAX__ = 0xffffffffffffffff
  1435. const m___UINT_FAST8_MAX__ = 0xff
  1436. const m___UINT_LEAST16_MAX__ = 0xffff
  1437. const m___UINT_LEAST32_MAX__ = 0xffffffff
  1438. const m___UINT_LEAST64_MAX__ = 0xffffffffffffffff
  1439. const m___UINT_LEAST8_MAX__ = 0xff
  1440. const m___USE_GNU_GETTEXT = 1
  1441. const m___USE_TIME_BITS64 = 1
  1442. const m___VEC_ELEMENT_REG_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1443. const m___VEC__ = 10206
  1444. const m___VERSION__ = "10.2.1 20210110"
  1445. const m___VSX__ = 1
  1446. const m___WCHAR_MAX__ = 0x7fffffff
  1447. const m___WCHAR_TYPE__ = "int"
  1448. const m___WCHAR_WIDTH__ = 32
  1449. const m___WINT_MAX__ = 0xffffffff
  1450. const m___WINT_MIN__ = 0
  1451. const m___WINT_WIDTH__ = 32
  1452. const m___builtin_copysignq = "__builtin_copysignf128"
  1453. const m___builtin_fabsq = "__builtin_fabsf128"
  1454. const m___builtin_huge_valq = "__builtin_huge_valf128"
  1455. const m___builtin_infq = "__builtin_inff128"
  1456. const m___builtin_nanq = "__builtin_nanf128"
  1457. const m___builtin_nansq = "__builtin_nansf128"
  1458. const m___builtin_vsx_vperm = "__builtin_vec_perm"
  1459. const m___builtin_vsx_xvmaddadp = "__builtin_vsx_xvmadddp"
  1460. const m___builtin_vsx_xvmaddasp = "__builtin_vsx_xvmaddsp"
  1461. const m___builtin_vsx_xvmaddmdp = "__builtin_vsx_xvmadddp"
  1462. const m___builtin_vsx_xvmaddmsp = "__builtin_vsx_xvmaddsp"
  1463. const m___builtin_vsx_xvmsubadp = "__builtin_vsx_xvmsubdp"
  1464. const m___builtin_vsx_xvmsubasp = "__builtin_vsx_xvmsubsp"
  1465. const m___builtin_vsx_xvmsubmdp = "__builtin_vsx_xvmsubdp"
  1466. const m___builtin_vsx_xvmsubmsp = "__builtin_vsx_xvmsubsp"
  1467. const m___builtin_vsx_xvnmaddadp = "__builtin_vsx_xvnmadddp"
  1468. const m___builtin_vsx_xvnmaddasp = "__builtin_vsx_xvnmaddsp"
  1469. const m___builtin_vsx_xvnmaddmdp = "__builtin_vsx_xvnmadddp"
  1470. const m___builtin_vsx_xvnmaddmsp = "__builtin_vsx_xvnmaddsp"
  1471. const m___builtin_vsx_xvnmsubadp = "__builtin_vsx_xvnmsubdp"
  1472. const m___builtin_vsx_xvnmsubasp = "__builtin_vsx_xvnmsubsp"
  1473. const m___builtin_vsx_xvnmsubmdp = "__builtin_vsx_xvnmsubdp"
  1474. const m___builtin_vsx_xvnmsubmsp = "__builtin_vsx_xvnmsubsp"
  1475. const m___builtin_vsx_xxland = "__builtin_vec_and"
  1476. const m___builtin_vsx_xxlandc = "__builtin_vec_andc"
  1477. const m___builtin_vsx_xxlnor = "__builtin_vec_nor"
  1478. const m___builtin_vsx_xxlor = "__builtin_vec_or"
  1479. const m___builtin_vsx_xxlxor = "__builtin_vec_xor"
  1480. const m___builtin_vsx_xxsel = "__builtin_vec_sel"
  1481. const m___float128 = "__ieee128"
  1482. const m___gnu_linux__ = 1
  1483. const m___inline = "inline"
  1484. const m___linux = 1
  1485. const m___linux__ = 1
  1486. const m___pic__ = 2
  1487. const m___pie__ = 2
  1488. const m___powerpc64__ = 1
  1489. const m___powerpc__ = 1
  1490. const m___restrict = "restrict"
  1491. const m___restrict_arr = "restrict"
  1492. const m___tm_gmtoff = "tm_gmtoff"
  1493. const m___tm_zone = "tm_zone"
  1494. const m___unix = 1
  1495. const m___unix__ = 1
  1496. const m_alloca = "__builtin_alloca"
  1497. const m_linux = 1
  1498. const m_math_errhandling = 2
  1499. const m_static_assert = "_Static_assert"
  1500. const m_unix = 1
  1501. type t__builtin_va_list = uintptr
  1502. type t__predefined_size_t = uint64
  1503. type t__predefined_wchar_t = int32
  1504. type t__predefined_ptrdiff_t = int64
  1505. type Tuintptr_t = uint64
  1506. type Tintptr_t = int64
  1507. type Tint8_t = int8
  1508. type Tint16_t = int16
  1509. type Tint32_t = int32
  1510. type Tint64_t = int64
  1511. type Tintmax_t = int64
  1512. type Tuint8_t = uint8
  1513. type Tuint16_t = uint16
  1514. type Tuint32_t = uint32
  1515. type Tuint64_t = uint64
  1516. type Tuintmax_t = uint64
  1517. type Tint_fast8_t = int8
  1518. type Tint_fast64_t = int64
  1519. type Tint_least8_t = int8
  1520. type Tint_least16_t = int16
  1521. type Tint_least32_t = int32
  1522. type Tint_least64_t = int64
  1523. type Tuint_fast8_t = uint8
  1524. type Tuint_fast64_t = uint64
  1525. type Tuint_least8_t = uint8
  1526. type Tuint_least16_t = uint16
  1527. type Tuint_least32_t = uint32
  1528. type Tuint_least64_t = uint64
  1529. type Tint_fast16_t = int32
  1530. type Tint_fast32_t = int32
  1531. type Tuint_fast16_t = uint32
  1532. type Tuint_fast32_t = uint32
  1533. type Twchar_t = int32
  1534. type Tsize_t = uint64
  1535. type Tdiv_t = struct {
  1536. Fquot int32
  1537. Frem int32
  1538. }
  1539. type Tldiv_t = struct {
  1540. Fquot int64
  1541. Frem int64
  1542. }
  1543. type Tlldiv_t = struct {
  1544. Fquot int64
  1545. Frem int64
  1546. }
  1547. type Tssize_t = int64
  1548. type Toff_t = int64
  1549. type Tva_list = uintptr
  1550. type t__isoc_va_list = uintptr
  1551. type Tfpos_t = struct {
  1552. F__lldata [0]int64
  1553. F__align [0]float64
  1554. F__opaque [16]uint8
  1555. }
  1556. type T_G_fpos64_t = Tfpos_t
  1557. type Tcookie_io_functions_t = struct {
  1558. Fread uintptr
  1559. Fwrite uintptr
  1560. Fseek uintptr
  1561. Fclose1 uintptr
  1562. }
  1563. type T_IO_cookie_io_functions_t = Tcookie_io_functions_t
  1564. type Tlocale_t = uintptr
  1565. type Tfloat_t = float32
  1566. type Tdouble_t = float64
  1567. type Tpid_t = int32
  1568. type Tuid_t = uint32
  1569. type Tgid_t = uint32
  1570. type Tuseconds_t = uint32
  1571. type Tmax_align_t = struct {
  1572. F__ll int64
  1573. F__ld float64
  1574. }
  1575. type Tptrdiff_t = int64
  1576. type Tregister_t = int64
  1577. type Ttime_t = int64
  1578. type Tsuseconds_t = int64
  1579. type Tu_int64_t = uint64
  1580. type Tmode_t = uint32
  1581. type Tnlink_t = uint64
  1582. type Tino_t = uint64
  1583. type Tdev_t = uint64
  1584. type Tblksize_t = int64
  1585. type Tblkcnt_t = int64
  1586. type Tfsblkcnt_t = uint64
  1587. type Tfsfilcnt_t = uint64
  1588. type Ttimer_t = uintptr
  1589. type Tclockid_t = int32
  1590. type Tclock_t = int64
  1591. type Tid_t = uint32
  1592. type Tkey_t = int32
  1593. type Tpthread_t = uintptr
  1594. type Tpthread_once_t = int32
  1595. type Tpthread_key_t = uint32
  1596. type Tpthread_spinlock_t = int32
  1597. type Tpthread_mutexattr_t = struct {
  1598. F__attr uint32
  1599. }
  1600. type Tpthread_condattr_t = struct {
  1601. F__attr uint32
  1602. }
  1603. type Tpthread_barrierattr_t = struct {
  1604. F__attr uint32
  1605. }
  1606. type Tpthread_rwlockattr_t = struct {
  1607. F__attr [2]uint32
  1608. }
  1609. type Tpthread_attr_t = struct {
  1610. F__u struct {
  1611. F__vi [0][14]int32
  1612. F__s [0][7]uint64
  1613. F__i [14]int32
  1614. }
  1615. }
  1616. type Tpthread_mutex_t = struct {
  1617. F__u struct {
  1618. F__vi [0][10]int32
  1619. F__p [0][5]uintptr
  1620. F__i [10]int32
  1621. }
  1622. }
  1623. type Tpthread_cond_t = struct {
  1624. F__u struct {
  1625. F__vi [0][12]int32
  1626. F__p [0][6]uintptr
  1627. F__i [12]int32
  1628. }
  1629. }
  1630. type Tpthread_rwlock_t = struct {
  1631. F__u struct {
  1632. F__vi [0][14]int32
  1633. F__p [0][7]uintptr
  1634. F__i [14]int32
  1635. }
  1636. }
  1637. type Tpthread_barrier_t = struct {
  1638. F__u struct {
  1639. F__vi [0][8]int32
  1640. F__p [0][4]uintptr
  1641. F__i [8]int32
  1642. }
  1643. }
  1644. type Tu_int8_t = uint8
  1645. type Tu_int16_t = uint16
  1646. type Tu_int32_t = uint32
  1647. type Tcaddr_t = uintptr
  1648. type Tu_char = uint8
  1649. type Tu_short = uint16
  1650. type Tushort = uint16
  1651. type Tu_int = uint32
  1652. type Tuint = uint32
  1653. type Tu_long = uint64
  1654. type Tulong = uint64
  1655. type Tquad_t = int64
  1656. type Tu_quad_t = uint64
  1657. type Ttimeval = struct {
  1658. Ftv_sec Ttime_t
  1659. Ftv_usec Tsuseconds_t
  1660. }
  1661. type Ttimespec = struct {
  1662. Ftv_sec Ttime_t
  1663. Ftv_nsec int64
  1664. }
  1665. type Tsigset_t = struct {
  1666. F__bits [16]uint64
  1667. }
  1668. type t__sigset_t = Tsigset_t
  1669. type Tfd_mask = uint64
  1670. type Tfd_set = struct {
  1671. Ffds_bits [16]uint64
  1672. }
  1673. type Tstat = struct {
  1674. Fst_dev Tdev_t
  1675. Fst_ino Tino_t
  1676. Fst_nlink Tnlink_t
  1677. Fst_mode Tmode_t
  1678. Fst_uid Tuid_t
  1679. Fst_gid Tgid_t
  1680. Fst_rdev Tdev_t
  1681. Fst_size Toff_t
  1682. Fst_blksize Tblksize_t
  1683. Fst_blocks Tblkcnt_t
  1684. Fst_atim Ttimespec
  1685. Fst_mtim Ttimespec
  1686. Fst_ctim Ttimespec
  1687. F__unused [3]uint64
  1688. }
  1689. type Tstatx_timestamp = struct {
  1690. Ftv_sec Tint64_t
  1691. Ftv_nsec Tuint32_t
  1692. F__pad Tuint32_t
  1693. }
  1694. type Tstatx = struct {
  1695. Fstx_mask Tuint32_t
  1696. Fstx_blksize Tuint32_t
  1697. Fstx_attributes Tuint64_t
  1698. Fstx_nlink Tuint32_t
  1699. Fstx_uid Tuint32_t
  1700. Fstx_gid Tuint32_t
  1701. Fstx_mode Tuint16_t
  1702. F__pad0 [1]Tuint16_t
  1703. Fstx_ino Tuint64_t
  1704. Fstx_size Tuint64_t
  1705. Fstx_blocks Tuint64_t
  1706. Fstx_attributes_mask Tuint64_t
  1707. Fstx_atime Tstatx_timestamp
  1708. Fstx_btime Tstatx_timestamp
  1709. Fstx_ctime Tstatx_timestamp
  1710. Fstx_mtime Tstatx_timestamp
  1711. Fstx_rdev_major Tuint32_t
  1712. Fstx_rdev_minor Tuint32_t
  1713. Fstx_dev_major Tuint32_t
  1714. Fstx_dev_minor Tuint32_t
  1715. F__pad1 [14]Tuint64_t
  1716. }
  1717. type Ttm = struct {
  1718. Ftm_sec int32
  1719. Ftm_min int32
  1720. Ftm_hour int32
  1721. Ftm_mday int32
  1722. Ftm_mon int32
  1723. Ftm_year int32
  1724. Ftm_wday int32
  1725. Ftm_yday int32
  1726. Ftm_isdst int32
  1727. Ftm_gmtoff int64
  1728. Ftm_zone uintptr
  1729. }
  1730. type Titimerspec = struct {
  1731. Fit_interval Ttimespec
  1732. Fit_value Ttimespec
  1733. }
  1734. type TFcChar8 = uint8
  1735. type TFcChar16 = uint16
  1736. type TFcChar32 = uint32
  1737. type TFcBool = int32
  1738. type TFcType = int32
  1739. type __FcType = int32
  1740. const _FcTypeUnknown = -1
  1741. const _FcTypeVoid = 0
  1742. const _FcTypeInteger = 1
  1743. const _FcTypeDouble = 2
  1744. const _FcTypeString = 3
  1745. const _FcTypeBool = 4
  1746. const _FcTypeMatrix = 5
  1747. const _FcTypeCharSet = 6
  1748. const _FcTypeFTFace = 7
  1749. const _FcTypeLangSet = 8
  1750. const _FcTypeRange = 9
  1751. type TFcMatrix = struct {
  1752. Fxx float64
  1753. Fxy float64
  1754. Fyx float64
  1755. Fyy float64
  1756. }
  1757. type T_FcMatrix = TFcMatrix
  1758. type TFcCharSet = struct {
  1759. Fref TFcRef
  1760. Fnum int32
  1761. Fleaves_offset Tintptr_t
  1762. Fnumbers_offset Tintptr_t
  1763. }
  1764. type T_FcCharSet = TFcCharSet
  1765. type TFcObjectType = struct {
  1766. Fobject uintptr
  1767. Ftype1 TFcType
  1768. }
  1769. type T_FcObjectType = TFcObjectType
  1770. type TFcConstant = struct {
  1771. Fname uintptr
  1772. Fobject uintptr
  1773. Fvalue int32
  1774. }
  1775. type T_FcConstant = TFcConstant
  1776. type TFcResult = int32
  1777. type __FcResult = int32
  1778. const _FcResultMatch = 0
  1779. const _FcResultNoMatch = 1
  1780. const _FcResultTypeMismatch = 2
  1781. const _FcResultNoId = 3
  1782. const _FcResultOutOfMemory = 4
  1783. type TFcValueBinding = int32
  1784. type __FcValueBinding = int32
  1785. const _FcValueBindingWeak = 0
  1786. const _FcValueBindingStrong = 1
  1787. const _FcValueBindingSame = 2
  1788. const _FcValueBindingEnd = 2147483647
  1789. type TFcPattern = struct {
  1790. Fnum int32
  1791. Fsize int32
  1792. Felts_offset Tintptr_t
  1793. Fref TFcRef
  1794. }
  1795. type T_FcPattern = TFcPattern
  1796. type TFcPatternIter = struct {
  1797. Fdummy1 uintptr
  1798. Fdummy2 uintptr
  1799. }
  1800. type T_FcPatternIter = TFcPatternIter
  1801. type TFcRange = struct {
  1802. Fbegin float64
  1803. Fend float64
  1804. }
  1805. type T_FcRange = TFcRange
  1806. type TFcValue = struct {
  1807. Ftype1 TFcType
  1808. Fu struct {
  1809. Fi [0]int32
  1810. Fb [0]TFcBool
  1811. Fd [0]float64
  1812. Fm [0]uintptr
  1813. Fc [0]uintptr
  1814. Ff [0]uintptr
  1815. Fl [0]uintptr
  1816. Fr [0]uintptr
  1817. Fs uintptr
  1818. }
  1819. }
  1820. type T_FcValue = TFcValue
  1821. type TFcFontSet = struct {
  1822. Fnfont int32
  1823. Fsfont int32
  1824. Ffonts uintptr
  1825. }
  1826. type T_FcFontSet = TFcFontSet
  1827. type TFcObjectSet = struct {
  1828. Fnobject int32
  1829. Fsobject int32
  1830. Fobjects uintptr
  1831. }
  1832. type T_FcObjectSet = TFcObjectSet
  1833. type TFcMatchKind = int32
  1834. type __FcMatchKind = int32
  1835. const _FcMatchPattern = 0
  1836. const _FcMatchFont = 1
  1837. const _FcMatchScan = 2
  1838. const _FcMatchKindEnd = 3
  1839. const _FcMatchKindBegin = 0
  1840. type TFcLangResult = int32
  1841. type __FcLangResult = int32
  1842. const _FcLangEqual = 0
  1843. const _FcLangDifferentCountry = 1
  1844. const _FcLangDifferentTerritory = 1
  1845. const _FcLangDifferentLang = 2
  1846. type TFcSetName = int32
  1847. type __FcSetName = int32
  1848. const _FcSetSystem = 0
  1849. const _FcSetApplication = 1
  1850. type TFcConfigFileInfoIter = struct {
  1851. Fdummy1 uintptr
  1852. Fdummy2 uintptr
  1853. Fdummy3 uintptr
  1854. }
  1855. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  1856. type TFcAtomic = struct {
  1857. Ffile uintptr
  1858. Fnew1 uintptr
  1859. Flck uintptr
  1860. Ftmp uintptr
  1861. }
  1862. type T_FcAtomic = TFcAtomic
  1863. type TFcEndian = int32
  1864. const _FcEndianBig = 0
  1865. const _FcEndianLittle = 1
  1866. type TFcConfig = struct {
  1867. FconfigDirs uintptr
  1868. FfontDirs uintptr
  1869. FcacheDirs uintptr
  1870. FconfigFiles uintptr
  1871. Fsubst [3]uintptr
  1872. FmaxObjects int32
  1873. FacceptGlobs uintptr
  1874. FrejectGlobs uintptr
  1875. FacceptPatterns uintptr
  1876. FrejectPatterns uintptr
  1877. Ffonts [2]uintptr
  1878. FrescanTime Ttime_t
  1879. FrescanInterval int32
  1880. Fref TFcRef
  1881. Fexpr_pool uintptr
  1882. FsysRoot uintptr
  1883. FavailConfigFiles uintptr
  1884. FrulesetList uintptr
  1885. Fuuid_table uintptr
  1886. }
  1887. type T_FcConfig = TFcConfig
  1888. type TFcStrList = struct {
  1889. Fset uintptr
  1890. Fn int32
  1891. }
  1892. type T_FcStrList = TFcStrList
  1893. type TFcStrSet = struct {
  1894. Fref TFcRef
  1895. Fnum int32
  1896. Fsize int32
  1897. Fstrs uintptr
  1898. Fcontrol uint32
  1899. }
  1900. type T_FcStrSet = TFcStrSet
  1901. type TFcCache = struct {
  1902. Fmagic uint32
  1903. Fversion int32
  1904. Fsize Tintptr_t
  1905. Fdir Tintptr_t
  1906. Fdirs Tintptr_t
  1907. Fdirs_count int32
  1908. Fset Tintptr_t
  1909. Fchecksum int32
  1910. Fchecksum_nano Tint64_t
  1911. }
  1912. type T_FcCache = TFcCache
  1913. type Tfc_mutex_impl_t = int32
  1914. type TFcMutex = int32
  1915. type Tfc_atomic_int_t = int32
  1916. type TFcRef = struct {
  1917. Fcount Tfc_atomic_int_t
  1918. }
  1919. type T_FcRef = TFcRef
  1920. type T_static_assert_on_line_127_failed = [1]int32
  1921. type TFcValueListPtr = uintptr
  1922. type T_FcValueList = struct {
  1923. Fnext uintptr
  1924. Fvalue TFcValue
  1925. Fbinding TFcValueBinding
  1926. }
  1927. type TFcValueList = struct {
  1928. Fnext uintptr
  1929. Fvalue TFcValue
  1930. Fbinding TFcValueBinding
  1931. }
  1932. type TFcObject = int32
  1933. type TFcPatternEltPtr = uintptr
  1934. type T_FcPatternElt = struct {
  1935. Fobject TFcObject
  1936. Fvalues uintptr
  1937. }
  1938. type TFcPatternElt = struct {
  1939. Fobject TFcObject
  1940. Fvalues uintptr
  1941. }
  1942. type TFcOp = int32
  1943. type __FcOp = int32
  1944. const _FcOpInteger = 0
  1945. const _FcOpDouble = 1
  1946. const _FcOpString = 2
  1947. const _FcOpMatrix = 3
  1948. const _FcOpRange = 4
  1949. const _FcOpBool = 5
  1950. const _FcOpCharSet = 6
  1951. const _FcOpLangSet = 7
  1952. const _FcOpNil = 8
  1953. const _FcOpField = 9
  1954. const _FcOpConst = 10
  1955. const _FcOpAssign = 11
  1956. const _FcOpAssignReplace = 12
  1957. const _FcOpPrependFirst = 13
  1958. const _FcOpPrepend = 14
  1959. const _FcOpAppend = 15
  1960. const _FcOpAppendLast = 16
  1961. const _FcOpDelete = 17
  1962. const _FcOpDeleteAll = 18
  1963. const _FcOpQuest = 19
  1964. const _FcOpOr = 20
  1965. const _FcOpAnd = 21
  1966. const _FcOpEqual = 22
  1967. const _FcOpNotEqual = 23
  1968. const _FcOpContains = 24
  1969. const _FcOpListing = 25
  1970. const _FcOpNotContains = 26
  1971. const _FcOpLess = 27
  1972. const _FcOpLessEqual = 28
  1973. const _FcOpMore = 29
  1974. const _FcOpMoreEqual = 30
  1975. const _FcOpPlus = 31
  1976. const _FcOpMinus = 32
  1977. const _FcOpTimes = 33
  1978. const _FcOpDivide = 34
  1979. const _FcOpNot = 35
  1980. const _FcOpComma = 36
  1981. const _FcOpFloor = 37
  1982. const _FcOpCeil = 38
  1983. const _FcOpRound = 39
  1984. const _FcOpTrunc = 40
  1985. const _FcOpInvalid = 41
  1986. type TFcOpFlags = int32
  1987. type __FcOpFlags = int32
  1988. const _FcOpFlagIgnoreBlanks = 1
  1989. type TFcExprMatrix = struct {
  1990. Fxx uintptr
  1991. Fxy uintptr
  1992. Fyx uintptr
  1993. Fyy uintptr
  1994. }
  1995. type T_FcExprMatrix = TFcExprMatrix
  1996. type TFcExprName = struct {
  1997. Fobject TFcObject
  1998. Fkind TFcMatchKind
  1999. }
  2000. type T_FcExprName = TFcExprName
  2001. type TFcExpr = struct {
  2002. Fop TFcOp
  2003. Fu struct {
  2004. Fdval [0]float64
  2005. Fsval [0]uintptr
  2006. Fmexpr [0]uintptr
  2007. Fbval [0]TFcBool
  2008. Fcval [0]uintptr
  2009. Flval [0]uintptr
  2010. Frval [0]uintptr
  2011. Fname [0]TFcExprName
  2012. Fconstant [0]uintptr
  2013. Ftree [0]struct {
  2014. Fleft uintptr
  2015. Fright uintptr
  2016. }
  2017. Fival int32
  2018. F__ccgo_pad11 [12]byte
  2019. }
  2020. }
  2021. type T_FcExpr = TFcExpr
  2022. type TFcExprPage = struct {
  2023. Fnext_page uintptr
  2024. Fnext uintptr
  2025. Fexprs [340]TFcExpr
  2026. }
  2027. type T_FcExprPage = TFcExprPage
  2028. type TFcQual = int32
  2029. type __FcQual = int32
  2030. const _FcQualAny = 0
  2031. const _FcQualAll = 1
  2032. const _FcQualFirst = 2
  2033. const _FcQualNotFirst = 3
  2034. type TFcTest = struct {
  2035. Fkind TFcMatchKind
  2036. Fqual TFcQual
  2037. Fobject TFcObject
  2038. Fop TFcOp
  2039. Fexpr uintptr
  2040. }
  2041. type T_FcTest = TFcTest
  2042. type TFcEdit = struct {
  2043. Fobject TFcObject
  2044. Fop TFcOp
  2045. Fexpr uintptr
  2046. Fbinding TFcValueBinding
  2047. }
  2048. type T_FcEdit = TFcEdit
  2049. type TFcDestroyFunc = uintptr
  2050. type TFcPtrListIter = struct {
  2051. Fdummy1 uintptr
  2052. Fdummy2 uintptr
  2053. Fdummy3 uintptr
  2054. }
  2055. type T_FcPtrListIter = TFcPtrListIter
  2056. type TFcRuleType = int32
  2057. type __FcRuleType = int32
  2058. const _FcRuleUnknown = 0
  2059. const _FcRuleTest = 1
  2060. const _FcRuleEdit = 2
  2061. type TFcRule = struct {
  2062. Fnext uintptr
  2063. Ftype1 TFcRuleType
  2064. Fu struct {
  2065. Fedit [0]uintptr
  2066. Ftest uintptr
  2067. }
  2068. }
  2069. type T_FcRule = TFcRule
  2070. type TFcRuleSet = struct {
  2071. Fref TFcRef
  2072. Fname uintptr
  2073. Fdescription uintptr
  2074. Fdomain uintptr
  2075. Fenabled TFcBool
  2076. Fsubst [3]uintptr
  2077. }
  2078. type T_FcRuleSet = TFcRuleSet
  2079. type TFcCharLeaf = struct {
  2080. Fmap1 [8]TFcChar32
  2081. }
  2082. type T_FcCharLeaf = TFcCharLeaf
  2083. type TFcStrBuf = struct {
  2084. Fbuf uintptr
  2085. Fallocated TFcBool
  2086. Ffailed TFcBool
  2087. Flen1 int32
  2088. Fsize int32
  2089. Fbuf_static [128]TFcChar8
  2090. }
  2091. type T_FcStrBuf = TFcStrBuf
  2092. type TFcHashFunc = uintptr
  2093. type TFcCompareFunc = uintptr
  2094. type TFcCopyFunc = uintptr
  2095. type TFcAlign = struct {
  2096. Fi [0]int32
  2097. Fip [0]Tintptr_t
  2098. Fb [0]TFcBool
  2099. Fp [0]uintptr
  2100. Fd float64
  2101. }
  2102. type T_FcAlign = TFcAlign
  2103. type TFcSerializeBucket = struct {
  2104. Fnext uintptr
  2105. Fobject uintptr
  2106. Foffset Tintptr_t
  2107. }
  2108. type T_FcSerializeBucket = TFcSerializeBucket
  2109. type TFcSerialize = struct {
  2110. Fsize Tintptr_t
  2111. Fcs_freezer uintptr
  2112. Flinear uintptr
  2113. Fbuckets [8191]uintptr
  2114. }
  2115. type T_FcSerialize = TFcSerialize
  2116. type TFcGlyphName = struct {
  2117. Fucs TFcChar32
  2118. Fname [1]TFcChar8
  2119. }
  2120. type T_FcGlyphName = TFcGlyphName
  2121. type TFcCaseFold = struct {
  2122. Fupper TFcChar32
  2123. F__ccgo4 uint16
  2124. Foffset int16
  2125. }
  2126. type T_FcCaseFold = TFcCaseFold
  2127. type TFcFileTime = struct {
  2128. Ftime Ttime_t
  2129. Fset TFcBool
  2130. }
  2131. type T_FcFileTime = TFcFileTime
  2132. type TFcStatFS = struct {
  2133. Fis_remote_fs TFcBool
  2134. Fis_mtime_broken TFcBool
  2135. }
  2136. type T_FcStatFS = TFcStatFS
  2137. type TFcValuePromotionBuffer = struct {
  2138. Fu struct {
  2139. Fi [0]int32
  2140. Fl [0]int64
  2141. Fc [0][256]uint8
  2142. Fd float64
  2143. F__ccgo_pad4 [248]byte
  2144. }
  2145. }
  2146. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  2147. const _FC_INVALID_OBJECT = 0
  2148. const _FC_FAMILY_OBJECT = 1
  2149. const _FC_FAMILYLANG_OBJECT = 2
  2150. const _FC_STYLE_OBJECT = 3
  2151. const _FC_STYLELANG_OBJECT = 4
  2152. const _FC_FULLNAME_OBJECT = 5
  2153. const _FC_FULLNAMELANG_OBJECT = 6
  2154. const _FC_SLANT_OBJECT = 7
  2155. const _FC_WEIGHT_OBJECT = 8
  2156. const _FC_WIDTH_OBJECT = 9
  2157. const _FC_SIZE_OBJECT = 10
  2158. const _FC_ASPECT_OBJECT = 11
  2159. const _FC_PIXEL_SIZE_OBJECT = 12
  2160. const _FC_SPACING_OBJECT = 13
  2161. const _FC_FOUNDRY_OBJECT = 14
  2162. const _FC_ANTIALIAS_OBJECT = 15
  2163. const _FC_HINT_STYLE_OBJECT = 16
  2164. const _FC_HINTING_OBJECT = 17
  2165. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  2166. const _FC_AUTOHINT_OBJECT = 19
  2167. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  2168. const _FC_FILE_OBJECT = 21
  2169. const _FC_INDEX_OBJECT = 22
  2170. const _FC_RASTERIZER_OBJECT = 23
  2171. const _FC_OUTLINE_OBJECT = 24
  2172. const _FC_SCALABLE_OBJECT = 25
  2173. const _FC_DPI_OBJECT = 26
  2174. const _FC_RGBA_OBJECT = 27
  2175. const _FC_SCALE_OBJECT = 28
  2176. const _FC_MINSPACE_OBJECT = 29
  2177. const _FC_CHARWIDTH_OBJECT = 30
  2178. const _FC_CHAR_HEIGHT_OBJECT = 31
  2179. const _FC_MATRIX_OBJECT = 32
  2180. const _FC_CHARSET_OBJECT = 33
  2181. const _FC_LANG_OBJECT = 34
  2182. const _FC_FONTVERSION_OBJECT = 35
  2183. const _FC_CAPABILITY_OBJECT = 36
  2184. const _FC_FONTFORMAT_OBJECT = 37
  2185. const _FC_EMBOLDEN_OBJECT = 38
  2186. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  2187. const _FC_DECORATIVE_OBJECT = 40
  2188. const _FC_LCD_FILTER_OBJECT = 41
  2189. const _FC_NAMELANG_OBJECT = 42
  2190. const _FC_FONT_FEATURES_OBJECT = 43
  2191. const _FC_PRGNAME_OBJECT = 44
  2192. const _FC_HASH_OBJECT = 45
  2193. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  2194. const _FC_COLOR_OBJECT = 47
  2195. const _FC_SYMBOL_OBJECT = 48
  2196. const _FC_FONT_VARIATIONS_OBJECT = 49
  2197. const _FC_VARIABLE_OBJECT = 50
  2198. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 51
  2199. func XIA__FcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  2200. var atomic uintptr
  2201. var file_len, lck_len, new_len, tmp_len, total_len int32
  2202. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  2203. file_len = libc.Int32FromUint64(libc.Xstrlen(tls, file))
  2204. new_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2205. lck_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(5))
  2206. tmp_len = libc.Int32FromUint64(libc.Uint64FromInt32(file_len) + uint64(12))
  2207. 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))
  2208. atomic = libc.Xmalloc(tls, libc.Uint64FromInt32(total_len))
  2209. if !(atomic != 0) {
  2210. return uintptr(0)
  2211. }
  2212. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  2213. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file)
  2214. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  2215. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file)
  2216. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts)
  2217. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  2218. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file)
  2219. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5)
  2220. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  2221. return atomic
  2222. }
  2223. var XFcAtomicCreate = XIA__FcAtomicCreate
  2224. func XIA__FcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2225. bp := tls.Alloc(160)
  2226. defer tls.Free(160)
  2227. var f uintptr
  2228. var fd, ret int32
  2229. var no_link TFcBool
  2230. var now Ttime_t
  2231. var _ /* lck_stat at bp+0 */ Tstat
  2232. _, _, _, _, _ = f, fd, no_link, now, ret
  2233. fd = -int32(1)
  2234. f = uintptr(0)
  2235. no_link = m_FcFalse
  2236. libc.Xstrcpy(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile)
  2237. libc.Xstrcat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10)
  2238. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2239. if fd < 0 {
  2240. return m_FcFalse
  2241. }
  2242. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  2243. if !(f != 0) {
  2244. libc.Xclose(tls, fd)
  2245. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2246. return m_FcFalse
  2247. }
  2248. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, int64(libc.Xgetpid(tls))))
  2249. if ret <= 0 {
  2250. libc.Xfclose(tls, f)
  2251. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2252. return m_FcFalse
  2253. }
  2254. if libc.Xfclose(tls, f) == -int32(1) {
  2255. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2256. return m_FcFalse
  2257. }
  2258. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2259. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EOPNOTSUPP) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_EACCES)) {
  2260. /* the filesystem where atomic->lck points to may not supports
  2261. * the hard link. so better try to fallback
  2262. */
  2263. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint32(0600))
  2264. no_link = int32(m_FcTrue)
  2265. }
  2266. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  2267. if ret < 0 {
  2268. /*
  2269. * If the file is around and old (> 10 minutes),
  2270. * assume the lock is stale. This assumes that any
  2271. * machines sharing the same filesystem will have clocks
  2272. * reasonably close to each other.
  2273. */
  2274. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  2275. now = libc.Xtime(tls, uintptr(0))
  2276. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  2277. if no_link != 0 {
  2278. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2279. return XIA__FcAtomicLock(tls, atomic)
  2280. }
  2281. } else {
  2282. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  2283. return XIA__FcAtomicLock(tls, atomic)
  2284. }
  2285. }
  2286. }
  2287. }
  2288. return m_FcFalse
  2289. }
  2290. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2291. return int32(m_FcTrue)
  2292. }
  2293. var XFcAtomicLock = XIA__FcAtomicLock
  2294. func XIA__FcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2295. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  2296. }
  2297. var XFcAtomicNewFile = XIA__FcAtomicNewFile
  2298. func XIA__FcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  2299. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  2300. }
  2301. var XFcAtomicOrigFile = XIA__FcAtomicOrigFile
  2302. func XIA__FcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  2303. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  2304. return m_FcFalse
  2305. }
  2306. return int32(m_FcTrue)
  2307. }
  2308. var XFcAtomicReplaceOrig = XIA__FcAtomicReplaceOrig
  2309. func XIA__FcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  2310. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  2311. }
  2312. var XFcAtomicDeleteNew = XIA__FcAtomicDeleteNew
  2313. func XIA__FcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  2314. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  2315. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  2316. }
  2317. }
  2318. var XFcAtomicUnlock = XIA__FcAtomicUnlock
  2319. func XIA__FcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  2320. libc.Xfree(tls, atomic)
  2321. }
  2322. var XFcAtomicDestroy = XIA__FcAtomicDestroy
  2323. const m_AT_EACCESS = 0x200
  2324. const m_AT_EMPTY_PATH = 0x1000
  2325. const m_AT_NO_AUTOMOUNT = 0x800
  2326. const m_AT_RECURSIVE = 0x8000
  2327. const m_AT_REMOVEDIR = 0x200
  2328. const m_AT_STATX_DONT_SYNC = 0x4000
  2329. const m_AT_STATX_FORCE_SYNC = 0x2000
  2330. const m_AT_STATX_SYNC_AS_STAT = 0x0000
  2331. const m_AT_STATX_SYNC_TYPE = 0x6000
  2332. const m_AT_SYMLINK_FOLLOW = 0x400
  2333. const m_AT_SYMLINK_NOFOLLOW = 0x100
  2334. const m_DN_ACCESS = 0x00000001
  2335. const m_DN_ATTRIB = 0x00000020
  2336. const m_DN_CREATE = 0x00000004
  2337. const m_DN_DELETE = 0x00000008
  2338. const m_DN_MODIFY = 0x00000002
  2339. const m_DN_MULTISHOT = 0x80000000
  2340. const m_DN_RENAME = 0x00000010
  2341. const m_DT_BLK = 6
  2342. const m_DT_CHR = 2
  2343. const m_DT_DIR = 4
  2344. const m_DT_FIFO = 1
  2345. const m_DT_LNK = 10
  2346. const m_DT_REG = 8
  2347. const m_DT_SOCK = 12
  2348. const m_DT_UNKNOWN = 0
  2349. const m_DT_WHT = 14
  2350. const m_FALLOC_FL_KEEP_SIZE = 1
  2351. const m_FALLOC_FL_PUNCH_HOLE = 2
  2352. const m_FAPPEND = "O_APPEND"
  2353. const m_FASYNC = "O_ASYNC"
  2354. const m_FC_ARCH_ENDIAN = "le64"
  2355. const m_FC_ARCH_SIZE_ALIGN = "64"
  2356. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  2357. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  2358. const m_FC_CACHE_MAX_LEVEL = 16
  2359. const m_FC_CACHE_MIN_MMAP = 1024
  2360. const m_FD_CLOEXEC = 1
  2361. const m_FFSYNC = "O_SYNC"
  2362. const m_FNDELAY = "O_NDELAY"
  2363. const m_FNONBLOCK = "O_NONBLOCK"
  2364. const m_F_ADD_SEALS = 1033
  2365. const m_F_CANCELLK = 1029
  2366. const m_F_DUPFD = 0
  2367. const m_F_DUPFD_CLOEXEC = 1030
  2368. const m_F_GETFD = 1
  2369. const m_F_GETFL = 3
  2370. const m_F_GETLEASE = 1025
  2371. const m_F_GETLK = 5
  2372. const m_F_GETOWN = 9
  2373. const m_F_GETOWNER_UIDS = 17
  2374. const m_F_GETOWN_EX = 16
  2375. const m_F_GETPIPE_SZ = 1032
  2376. const m_F_GETSIG = 11
  2377. const m_F_GET_FILE_RW_HINT = 1037
  2378. const m_F_GET_RW_HINT = 1035
  2379. const m_F_GET_SEALS = 1034
  2380. const m_F_NOTIFY = 1026
  2381. const m_F_OFD_GETLK = 36
  2382. const m_F_OFD_SETLK = 37
  2383. const m_F_OFD_SETLKW = 38
  2384. const m_F_OWNER_GID = 2
  2385. const m_F_OWNER_PGRP = 2
  2386. const m_F_OWNER_PID = 1
  2387. const m_F_OWNER_TID = 0
  2388. const m_F_RDLCK = 0
  2389. const m_F_SEAL_FUTURE_WRITE = 0x0010
  2390. const m_F_SEAL_GROW = 0x0004
  2391. const m_F_SEAL_SEAL = 0x0001
  2392. const m_F_SEAL_SHRINK = 0x0002
  2393. const m_F_SEAL_WRITE = 0x0008
  2394. const m_F_SETFD = 2
  2395. const m_F_SETFL = 4
  2396. const m_F_SETLEASE = 1024
  2397. const m_F_SETLK = 6
  2398. const m_F_SETLKW = 7
  2399. const m_F_SETOWN = 8
  2400. const m_F_SETOWN_EX = 15
  2401. const m_F_SETPIPE_SZ = 1031
  2402. const m_F_SETSIG = 10
  2403. const m_F_SET_FILE_RW_HINT = 1038
  2404. const m_F_SET_RW_HINT = 1036
  2405. const m_F_UNLCK = 2
  2406. const m_F_WRLCK = 1
  2407. const m_FcAtomicCreate = "IA__FcAtomicCreate"
  2408. const m_FcAtomicDeleteNew = "IA__FcAtomicDeleteNew"
  2409. const m_FcAtomicDestroy = "IA__FcAtomicDestroy"
  2410. const m_FcAtomicLock = "IA__FcAtomicLock"
  2411. const m_FcAtomicNewFile = "IA__FcAtomicNewFile"
  2412. const m_FcAtomicOrigFile = "IA__FcAtomicOrigFile"
  2413. const m_FcAtomicReplaceOrig = "IA__FcAtomicReplaceOrig"
  2414. const m_FcAtomicUnlock = "IA__FcAtomicUnlock"
  2415. const m_INT64_MAX1 = 9223372036854775807
  2416. const m_ITIMER_PROF = 2
  2417. const m_ITIMER_REAL = 0
  2418. const m_ITIMER_VIRTUAL = 1
  2419. const m_LLONG_MAX1 = 9223372036854775807
  2420. const m_MADV_COLD = 20
  2421. const m_MADV_DODUMP = 17
  2422. const m_MADV_DOFORK = 11
  2423. const m_MADV_DONTDUMP = 16
  2424. const m_MADV_DONTFORK = 10
  2425. const m_MADV_DONTNEED = 4
  2426. const m_MADV_FREE = 8
  2427. const m_MADV_HUGEPAGE = 14
  2428. const m_MADV_HWPOISON = 100
  2429. const m_MADV_KEEPONFORK = 19
  2430. const m_MADV_MERGEABLE = 12
  2431. const m_MADV_NOHUGEPAGE = 15
  2432. const m_MADV_NORMAL = 0
  2433. const m_MADV_PAGEOUT = 21
  2434. const m_MADV_RANDOM = 1
  2435. const m_MADV_REMOVE = 9
  2436. const m_MADV_SEQUENTIAL = 2
  2437. const m_MADV_SOFT_OFFLINE = 101
  2438. const m_MADV_UNMERGEABLE = 13
  2439. const m_MADV_WILLNEED = 3
  2440. const m_MADV_WIPEONFORK = 18
  2441. const m_MAP_ANON = 0x20
  2442. const m_MAP_ANONYMOUS = "MAP_ANON"
  2443. const m_MAP_DENYWRITE = 0x0800
  2444. const m_MAP_EXECUTABLE = 0x1000
  2445. const m_MAP_FILE = 0
  2446. const m_MAP_FIXED = 0x10
  2447. const m_MAP_FIXED_NOREPLACE = 0x100000
  2448. const m_MAP_GROWSDOWN = 0x0100
  2449. const m_MAP_HUGETLB = 0x40000
  2450. const m_MAP_HUGE_MASK = 0x3f
  2451. const m_MAP_HUGE_SHIFT = 26
  2452. const m_MAP_NONBLOCK = 0x10000
  2453. const m_MAP_POPULATE = 0x8000
  2454. const m_MAP_PRIVATE = 0x02
  2455. const m_MAP_SHARED = 1
  2456. const m_MAP_SHARED_VALIDATE = 0x03
  2457. const m_MAP_STACK = 0x20000
  2458. const m_MAP_SYNC = 0x80000
  2459. const m_MAP_TYPE = 0x0f
  2460. const m_MAX_HANDLE_SZ = 128
  2461. const m_MFD_ALLOW_SEALING = 0x0002
  2462. const m_MFD_CLOEXEC = 0x0001
  2463. const m_MFD_HUGETLB = 0x0004
  2464. const m_MLOCK_ONFAULT = 0x01
  2465. const m_MREMAP_DONTUNMAP = 4
  2466. const m_MREMAP_FIXED = 2
  2467. const m_MREMAP_MAYMOVE = 1
  2468. const m_MS_ASYNC = 1
  2469. const m_MS_INVALIDATE = 2
  2470. const m_MS_SYNC = 4
  2471. const m_O_APPEND = 02000
  2472. const m_O_ASYNC = 020000
  2473. const m_O_BINARY = 0
  2474. const m_O_CLOEXEC = 02000000
  2475. const m_O_CREAT = 64
  2476. const m_O_DIRECT = 0400000
  2477. const m_O_DIRECTORY = 040000
  2478. const m_O_DSYNC = 010000
  2479. const m_O_EXCL = 0200
  2480. const m_O_EXEC = "O_PATH"
  2481. const m_O_LARGEFILE = 0200000
  2482. const m_O_NDELAY = "O_NONBLOCK"
  2483. const m_O_NOATIME = 01000000
  2484. const m_O_NOCTTY = 0400
  2485. const m_O_NOFOLLOW = 0100000
  2486. const m_O_NONBLOCK = 04000
  2487. const m_O_PATH = 010000000
  2488. const m_O_RDONLY = 0
  2489. const m_O_RDWR = 2
  2490. const m_O_RSYNC = 04010000
  2491. const m_O_SEARCH = "O_PATH"
  2492. const m_O_SYNC = 04010000
  2493. const m_O_TMPFILE = 020040000
  2494. const m_O_TRUNC = 01000
  2495. const m_O_TTY_INIT = 0
  2496. const m_O_WRONLY = 01
  2497. const m_POSIX_FADV_DONTNEED = 4
  2498. const m_POSIX_FADV_NOREUSE = 5
  2499. const m_POSIX_FADV_NORMAL = 0
  2500. const m_POSIX_FADV_RANDOM = 1
  2501. const m_POSIX_FADV_SEQUENTIAL = 2
  2502. const m_POSIX_FADV_WILLNEED = 3
  2503. const m_POSIX_MADV_DONTNEED = 4
  2504. const m_POSIX_MADV_NORMAL = 0
  2505. const m_POSIX_MADV_RANDOM = 1
  2506. const m_POSIX_MADV_SEQUENTIAL = 2
  2507. const m_POSIX_MADV_WILLNEED = 3
  2508. const m_PROT_EXEC = 4
  2509. const m_PROT_GROWSDOWN = 0x01000000
  2510. const m_PROT_GROWSUP = 0x02000000
  2511. const m_PROT_NONE = 0
  2512. const m_PROT_READ = 1
  2513. const m_PROT_SAO = 0x10
  2514. const m_PROT_WRITE = 2
  2515. const m_RWF_WRITE_LIFE_NOT_SET = 0
  2516. const m_RWH_WRITE_LIFE_EXTREME = 5
  2517. const m_RWH_WRITE_LIFE_LONG = 4
  2518. const m_RWH_WRITE_LIFE_MEDIUM = 3
  2519. const m_RWH_WRITE_LIFE_NONE = 1
  2520. const m_RWH_WRITE_LIFE_SHORT = 2
  2521. const m_SPLICE_F_GIFT = 8
  2522. const m_SPLICE_F_MORE = 4
  2523. const m_SPLICE_F_MOVE = 1
  2524. const m_SPLICE_F_NONBLOCK = 2
  2525. const m_SYNC_FILE_RANGE_WAIT_AFTER = 4
  2526. const m_SYNC_FILE_RANGE_WAIT_BEFORE = 1
  2527. const m_SYNC_FILE_RANGE_WRITE = 2
  2528. const m_UUID_STR_LEN = 37
  2529. const m_UUID_TYPE_DCE_MD5 = 3
  2530. const m_UUID_TYPE_DCE_RANDOM = 4
  2531. const m_UUID_TYPE_DCE_SECURITY = 2
  2532. const m_UUID_TYPE_DCE_SHA1 = 5
  2533. const m_UUID_TYPE_DCE_TIME = 1
  2534. const m_UUID_TYPE_MASK = 0xf
  2535. const m_UUID_TYPE_SHIFT = 4
  2536. const m_UUID_VARIANT_DCE = 1
  2537. const m_UUID_VARIANT_MASK = 0x7
  2538. const m_UUID_VARIANT_MICROSOFT = 2
  2539. const m_UUID_VARIANT_NCS = 0
  2540. const m_UUID_VARIANT_OTHER = 3
  2541. const m_UUID_VARIANT_SHIFT = 5
  2542. const m___LONG_MAX1 = 9223372036854775807
  2543. const m_d_fileno = "d_ino"
  2544. const m_loff_t = "off_t"
  2545. type Tiovec = struct {
  2546. Fiov_base uintptr
  2547. Fiov_len Tsize_t
  2548. }
  2549. type Tflock = struct {
  2550. Fl_type int16
  2551. Fl_whence int16
  2552. Fl_start Toff_t
  2553. Fl_len Toff_t
  2554. Fl_pid Tpid_t
  2555. }
  2556. type Tfile_handle = struct {
  2557. Fhandle_bytes uint32
  2558. Fhandle_type int32
  2559. }
  2560. type Tf_owner_ex = struct {
  2561. Ftype1 int32
  2562. Fpid Tpid_t
  2563. }
  2564. type Tdirent = struct {
  2565. Fd_ino Tino_t
  2566. Fd_off Toff_t
  2567. Fd_reclen uint16
  2568. Fd_type uint8
  2569. Fd_name [256]uint8
  2570. }
  2571. type Titimerval = struct {
  2572. Fit_interval Ttimeval
  2573. Fit_value Ttimeval
  2574. }
  2575. type Ttimezone = struct {
  2576. Ftz_minuteswest int32
  2577. Ftz_dsttime int32
  2578. }
  2579. type Tuuid_t = [16]uint8
  2580. func XIA__FcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  2581. bp := tls.Alloc(256)
  2582. defer tls.Free(256)
  2583. var atomic, hash_add, sysroot, target, uuidname uintptr
  2584. var fd int32
  2585. var ret TFcBool
  2586. var _ /* out at bp+16 */ [37]uint8
  2587. var _ /* statb at bp+56 */ Tstat
  2588. var _ /* times at bp+200 */ [2]Ttimeval
  2589. var _ /* uuid at bp+0 */ Tuuid_t
  2590. _, _, _, _, _, _, _ = atomic, fd, hash_add, ret, sysroot, target, uuidname
  2591. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2592. ret = int32(m_FcTrue)
  2593. if sysroot != 0 {
  2594. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+240, dir, libc.UintptrFromInt32(0)))
  2595. } else {
  2596. target = libc.Xstrdup(tls, dir)
  2597. }
  2598. uuidname = XFcStrBuildFilename(tls, target, libc.VaList(bp+240, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2599. if !(uuidname != 0) {
  2600. XIA__FcStrFree(tls, target)
  2601. return m_FcFalse
  2602. }
  2603. if force != 0 || libc.Xaccess(tls, uuidname, m_F_OK) < 0 {
  2604. if XFcStat(tls, target, bp+56) != 0 {
  2605. ret = m_FcFalse
  2606. goto bail1
  2607. }
  2608. atomic = XIA__FcAtomicCreate(tls, uuidname)
  2609. if !(atomic != 0) {
  2610. ret = m_FcFalse
  2611. goto bail1
  2612. }
  2613. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  2614. ret = m_FcFalse
  2615. goto bail2
  2616. }
  2617. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+240, int32(0644)))
  2618. if fd == -int32(1) {
  2619. ret = m_FcFalse
  2620. goto bail3
  2621. }
  2622. libc.Xuuid_generate_random(tls, bp)
  2623. if force != 0 {
  2624. hash_add = __ccgo_fp(XFcHashTableReplace)
  2625. } else {
  2626. hash_add = __ccgo_fp(XFcHashTableAdd)
  2627. }
  2628. if !((*(*func(*libc.TLS, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{hash_add})))(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0) {
  2629. ret = m_FcFalse
  2630. XIA__FcAtomicDeleteNew(tls, atomic)
  2631. libc.Xclose(tls, fd)
  2632. goto bail3
  2633. }
  2634. libc.Xuuid_unparse(tls, bp, bp+16)
  2635. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2636. libc.Xprintf(tls, __ccgo_ts+35, libc.VaList(bp+240, uuidname, bp+16))
  2637. }
  2638. libc.Xwrite(tls, fd, bp+16, libc.Xstrlen(tls, bp+16))
  2639. libc.Xclose(tls, fd)
  2640. XIA__FcAtomicReplaceOrig(tls, atomic)
  2641. goto bail3
  2642. bail3:
  2643. ;
  2644. XIA__FcAtomicUnlock(tls, atomic)
  2645. goto bail2
  2646. bail2:
  2647. ;
  2648. XIA__FcAtomicDestroy(tls, atomic)
  2649. if ret != 0 {
  2650. /* revert mtime of the directory */
  2651. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_atim.Ftv_sec
  2652. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  2653. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[0].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_atim.Ftv_nsec / int64(1000)
  2654. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 200)))[int32(1)].Ftv_usec = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec / int64(1000)
  2655. if libc.Xutimes(tls, target, bp+200) != 0 {
  2656. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+64, libc.VaList(bp+240, target))
  2657. }
  2658. }
  2659. }
  2660. goto bail1
  2661. bail1:
  2662. ;
  2663. XIA__FcStrFree(tls, uuidname)
  2664. XIA__FcStrFree(tls, target)
  2665. return ret
  2666. }
  2667. var XFcDirCacheCreateUUID = XIA__FcDirCacheCreateUUID
  2668. func XIA__FcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2669. bp := tls.Alloc(32)
  2670. defer tls.Free(32)
  2671. var ret TFcBool
  2672. var sysroot, target uintptr
  2673. _, _, _ = ret, sysroot, target
  2674. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2675. ret = int32(m_FcTrue)
  2676. if sysroot != 0 {
  2677. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2678. } else {
  2679. target = XFcStrBuildFilename(tls, dir, libc.VaList(bp+8, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2680. }
  2681. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  2682. XFcHashTableRemove(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target)
  2683. XIA__FcStrFree(tls, target)
  2684. return ret
  2685. }
  2686. var XFcDirCacheDeleteUUID = XIA__FcDirCacheDeleteUUID
  2687. func _FcDirCacheReadUUID(tls *libc.TLS, dir uintptr, config uintptr) {
  2688. bp := tls.Alloc(96)
  2689. defer tls.Free(96)
  2690. var fd, v1 int32
  2691. var len1 Tssize_t
  2692. var sysroot, target, uuidname uintptr
  2693. var _ /* suuid at bp+24 */ [37]uint8
  2694. var _ /* u at bp+0 */ uintptr
  2695. var _ /* uuid at bp+8 */ Tuuid_t
  2696. _, _, _, _, _, _ = fd, len1, sysroot, target, uuidname, v1
  2697. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2698. if sysroot != 0 {
  2699. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+72, dir, libc.UintptrFromInt32(0)))
  2700. } else {
  2701. target = libc.Xstrdup(tls, dir)
  2702. }
  2703. if !(XFcHashTableFind(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0) {
  2704. uuidname = XFcStrBuildFilename(tls, target, libc.VaList(bp+72, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  2705. v1 = XFcOpen(tls, uuidname, m_O_RDONLY, 0)
  2706. fd = v1
  2707. if v1 >= 0 {
  2708. libc.Xmemset(tls, bp+24, 0, uint64(37))
  2709. len1 = libc.Xread(tls, fd, bp+24, uint64(36))
  2710. if len1 != int64(-int32(1)) {
  2711. (*(*[37]uint8)(unsafe.Pointer(bp + 24)))[len1] = uint8(0)
  2712. libc.Xmemset(tls, bp+8, 0, uint64(16))
  2713. if libc.Xuuid_parse(tls, bp+24, bp+8) == 0 {
  2714. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2715. libc.Xprintf(tls, __ccgo_ts+92, libc.VaList(bp+72, uuidname, bp+24))
  2716. }
  2717. XFcHashTableAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp+8)
  2718. }
  2719. }
  2720. libc.Xclose(tls, fd)
  2721. } else {
  2722. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  2723. libc.Xprintf(tls, __ccgo_ts+121, libc.VaList(bp+72, uuidname))
  2724. }
  2725. }
  2726. XIA__FcStrFree(tls, uuidname)
  2727. } else {
  2728. XFcHashUuidFree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  2729. }
  2730. XIA__FcStrFree(tls, target)
  2731. }
  2732. type TMD5Context = struct {
  2733. Fbuf [4]TFcChar32
  2734. Fbits [2]TFcChar32
  2735. Fin [64]uint8
  2736. }
  2737. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  2738. bp := tls.Alloc(16)
  2739. defer tls.Free(16)
  2740. var env uintptr
  2741. var status, v1 int32
  2742. var _ /* use at bp+0 */ TFcBool
  2743. _, _, _ = env, status, v1
  2744. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  2745. if status == 0 {
  2746. env = libc.Xgetenv(tls, __ccgo_ts+159)
  2747. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  2748. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  2749. v1 = 1
  2750. } else {
  2751. v1 = 2
  2752. }
  2753. status = v1
  2754. } else {
  2755. status = 3
  2756. }
  2757. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  2758. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(status)
  2759. _ = libc.Int32FromInt32(m_FcTrue)
  2760. }
  2761. }
  2762. if status == 3 {
  2763. return XFcIsFsMmapSafe(tls, fd)
  2764. } else {
  2765. return libc.BoolInt32(status == 1)
  2766. }
  2767. return r
  2768. }
  2769. var _static_status uintptr
  2770. var _bin2hex = [16]uint8{
  2771. 0: uint8('0'),
  2772. 1: uint8('1'),
  2773. 2: uint8('2'),
  2774. 3: uint8('3'),
  2775. 4: uint8('4'),
  2776. 5: uint8('5'),
  2777. 6: uint8('6'),
  2778. 7: uint8('7'),
  2779. 8: uint8('8'),
  2780. 9: uint8('9'),
  2781. 10: uint8('a'),
  2782. 11: uint8('b'),
  2783. 12: uint8('c'),
  2784. 13: uint8('d'),
  2785. 14: uint8('e'),
  2786. 15: uint8('f'),
  2787. }
  2788. func _FcDirCacheBasenameMD5(tls *libc.TLS, dir uintptr, cache_base uintptr) (r uintptr) {
  2789. bp := tls.Alloc(112)
  2790. defer tls.Free(112)
  2791. var cnt int32
  2792. var hex_hash uintptr
  2793. var _ /* ctx at bp+16 */ TMD5Context
  2794. var _ /* hash at bp+0 */ [16]uint8
  2795. _, _ = cnt, hex_hash
  2796. _MD5Init(tls, bp+16)
  2797. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  2798. _MD5Final(tls, bp, bp+16)
  2799. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  2800. hex_hash = cache_base + uintptr(1)
  2801. cnt = 0
  2802. for {
  2803. if !(cnt < int32(16)) {
  2804. break
  2805. }
  2806. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)]
  2807. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = _bin2hex[libc.Int32FromUint8((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)]
  2808. goto _1
  2809. _1:
  2810. ;
  2811. cnt++
  2812. }
  2813. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  2814. libc.Xstrcat(tls, cache_base, __ccgo_ts+179)
  2815. return cache_base
  2816. }
  2817. func _FcDirCacheBasenameUUID(tls *libc.TLS, dir uintptr, cache_base uintptr, config uintptr) (r uintptr) {
  2818. bp := tls.Alloc(32)
  2819. defer tls.Free(32)
  2820. var sysroot, target uintptr
  2821. var _ /* u at bp+0 */ uintptr
  2822. _, _ = sysroot, target
  2823. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2824. if sysroot != 0 {
  2825. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+16, dir, libc.UintptrFromInt32(0)))
  2826. } else {
  2827. target = libc.Xstrdup(tls, dir)
  2828. }
  2829. if XFcHashTableFind(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table, target, bp) != 0 {
  2830. libc.Xuuid_unparse(tls, *(*uintptr)(unsafe.Pointer(bp)), cache_base)
  2831. libc.Xstrcat(tls, cache_base, __ccgo_ts+179)
  2832. XFcHashUuidFree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  2833. XIA__FcStrFree(tls, target)
  2834. return cache_base
  2835. }
  2836. XIA__FcStrFree(tls, target)
  2837. return libc.UintptrFromInt32(0)
  2838. }
  2839. func XIA__FcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  2840. bp := tls.Alloc(96)
  2841. defer tls.Free(96)
  2842. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  2843. var _ /* cache_base at bp+0 */ [52]TFcChar8
  2844. _, _, _, _, _ = cache_dir, cache_hashed, list, sysroot, v1
  2845. cache_hashed = libc.UintptrFromInt32(0)
  2846. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2847. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  2848. _FcDirCacheBasenameMD5(tls, dir, bp)
  2849. }
  2850. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  2851. if !(list != 0) {
  2852. return m_FcFalse
  2853. }
  2854. for {
  2855. v1 = XIA__FcStrListNext(tls, list)
  2856. cache_dir = v1
  2857. if !(v1 != 0) {
  2858. break
  2859. }
  2860. if sysroot != 0 {
  2861. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+64, cache_dir, bp, libc.UintptrFromInt32(0)))
  2862. } else {
  2863. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+64, bp, libc.UintptrFromInt32(0)))
  2864. }
  2865. if !(cache_hashed != 0) {
  2866. break
  2867. }
  2868. libc.Xunlink(tls, cache_hashed)
  2869. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  2870. XIA__FcStrFree(tls, cache_hashed)
  2871. }
  2872. XIA__FcStrListDone(tls, list)
  2873. /* return FcFalse if something went wrong */
  2874. if cache_dir != 0 {
  2875. return m_FcFalse
  2876. }
  2877. return int32(m_FcTrue)
  2878. }
  2879. var XFcDirCacheUnlink = XIA__FcDirCacheUnlink
  2880. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  2881. var fd int32
  2882. _ = fd
  2883. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  2884. if fd < 0 {
  2885. return fd
  2886. }
  2887. if libc.Xfstat(tls, fd, file_stat) < 0 {
  2888. libc.Xclose(tls, fd)
  2889. return -int32(1)
  2890. }
  2891. return fd
  2892. }
  2893. // C documentation
  2894. //
  2895. // /*
  2896. // * Look for a cache file for the specified dir. Attempt
  2897. // * to use each one we find, stopping when the callback
  2898. // * indicates success
  2899. // */
  2900. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  2901. bp := tls.Alloc(384)
  2902. defer tls.Free(384)
  2903. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  2904. var fd int32
  2905. var ret TFcBool
  2906. var _ /* cache_base at bp+0 */ [52]TFcChar8
  2907. var _ /* dir_stat at bp+200 */ Tstat
  2908. var _ /* file_stat at bp+56 */ Tstat
  2909. _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, sysroot, v1
  2910. fd = -int32(1)
  2911. ret = m_FcFalse
  2912. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  2913. if sysroot != 0 {
  2914. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+352, dir, libc.UintptrFromInt32(0)))
  2915. } else {
  2916. d = libc.Xstrdup(tls, dir)
  2917. }
  2918. if XFcStatChecksum(tls, d, bp+200) < 0 {
  2919. XIA__FcStrFree(tls, d)
  2920. return m_FcFalse
  2921. }
  2922. XIA__FcStrFree(tls, d)
  2923. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  2924. _FcDirCacheBasenameMD5(tls, dir, bp)
  2925. }
  2926. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  2927. if !(list != 0) {
  2928. return m_FcFalse
  2929. }
  2930. for {
  2931. v1 = XIA__FcStrListNext(tls, list)
  2932. cache_dir = v1
  2933. if !(v1 != 0) {
  2934. break
  2935. }
  2936. if sysroot != 0 {
  2937. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+352, cache_dir, bp, libc.UintptrFromInt32(0)))
  2938. } else {
  2939. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+352, bp, libc.UintptrFromInt32(0)))
  2940. }
  2941. if !(cache_hashed != 0) {
  2942. break
  2943. }
  2944. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  2945. if fd >= 0 {
  2946. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+200, closure)
  2947. libc.Xclose(tls, fd)
  2948. if ret != 0 {
  2949. if cache_file_ret != 0 {
  2950. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  2951. } else {
  2952. XIA__FcStrFree(tls, cache_hashed)
  2953. }
  2954. break
  2955. }
  2956. }
  2957. XIA__FcStrFree(tls, cache_hashed)
  2958. }
  2959. XIA__FcStrListDone(tls, list)
  2960. return ret
  2961. }
  2962. /*
  2963. * Skip list element, make sure the 'next' pointer is the last thing
  2964. * in the structure, it will be allocated large enough to hold all
  2965. * of the necessary pointers
  2966. */
  2967. type TFcCacheSkip = struct {
  2968. Fcache uintptr
  2969. Fref TFcRef
  2970. Fsize Tintptr_t
  2971. Fallocated uintptr
  2972. Fcache_dev Tdev_t
  2973. Fcache_ino Tino_t
  2974. Fcache_mtime Ttime_t
  2975. Fcache_mtime_nano int64
  2976. Fnext [1]uintptr
  2977. }
  2978. /*
  2979. * Skip list element, make sure the 'next' pointer is the last thing
  2980. * in the structure, it will be allocated large enough to hold all
  2981. * of the necessary pointers
  2982. */
  2983. type T_FcCacheSkip = TFcCacheSkip
  2984. /*
  2985. * The head of the skip list; pointers for every possible level
  2986. * in the skip list, plus the largest level in the list
  2987. */
  2988. // C documentation
  2989. //
  2990. // /* Protected by cache_lock below */
  2991. var _fcCacheChains [16]uintptr
  2992. var _fcCacheMaxLevel int32
  2993. var _cache_lock uintptr
  2994. func _lock_cache(tls *libc.TLS) {
  2995. var lock uintptr
  2996. var v1 int32
  2997. _, _ = lock, v1
  2998. goto retry
  2999. retry:
  3000. ;
  3001. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3002. if !(lock != 0) {
  3003. lock = libc.Xmalloc(tls, uint64(4))
  3004. _ = lock
  3005. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  3006. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  3007. v1 = libc.Int32FromInt32(m_FcTrue)
  3008. } else {
  3009. v1 = m_FcFalse
  3010. }
  3011. if !(v1 != 0) {
  3012. _ = lock
  3013. goto retry
  3014. }
  3015. _ = lock
  3016. /* Initialize random state */
  3017. XFcRandom(tls)
  3018. return
  3019. }
  3020. _ = lock
  3021. }
  3022. func _unlock_cache(tls *libc.TLS) {
  3023. _ = _cache_lock
  3024. }
  3025. func _free_lock(tls *libc.TLS) {
  3026. var lock uintptr
  3027. var v1 int32
  3028. var v2 bool
  3029. _, _, _ = lock, v1, v2
  3030. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  3031. if v2 = lock != 0; v2 {
  3032. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  3033. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  3034. v1 = libc.Int32FromInt32(m_FcTrue)
  3035. } else {
  3036. v1 = m_FcFalse
  3037. }
  3038. }
  3039. if v2 && v1 != 0 {
  3040. _ = lock
  3041. libc.Xfree(tls, lock)
  3042. }
  3043. }
  3044. // C documentation
  3045. //
  3046. // /*
  3047. // * Generate a random level number, distributed
  3048. // * so that each level is 1/4 as likely as the one before
  3049. // *
  3050. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  3051. // */
  3052. func _random_level(tls *libc.TLS) (r int32) {
  3053. var bits int64
  3054. var level, v1 int32
  3055. _, _, _ = bits, level, v1
  3056. /* tricky bit -- each bit is '1' 75% of the time */
  3057. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  3058. level = 0
  3059. for {
  3060. level++
  3061. v1 = level
  3062. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  3063. break
  3064. }
  3065. if bits&int64(1) != 0 {
  3066. break
  3067. }
  3068. bits >>= int64(1)
  3069. }
  3070. return level
  3071. }
  3072. // C documentation
  3073. //
  3074. // /*
  3075. // * Insert cache into the list
  3076. // */
  3077. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  3078. var i, level, v2 int32
  3079. var next, s, v4 uintptr
  3080. var update [16]uintptr
  3081. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  3082. _lock_cache(tls)
  3083. /*
  3084. * Find links along each chain
  3085. */
  3086. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3087. i = _fcCacheMaxLevel
  3088. for {
  3089. i--
  3090. v2 = i
  3091. if !(v2 >= 0) {
  3092. break
  3093. }
  3094. for {
  3095. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3096. s = v4
  3097. if !(v4 != 0) {
  3098. break
  3099. }
  3100. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  3101. break
  3102. }
  3103. goto _3
  3104. _3:
  3105. ;
  3106. next = s + 64
  3107. }
  3108. update[i] = next + uintptr(i)*8
  3109. goto _1
  3110. _1:
  3111. }
  3112. /*
  3113. * Create new list element
  3114. */
  3115. level = _random_level(tls)
  3116. if level > _fcCacheMaxLevel {
  3117. level = _fcCacheMaxLevel + int32(1)
  3118. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  3119. _fcCacheMaxLevel = level
  3120. }
  3121. s = libc.Xmalloc(tls, uint64(72)+libc.Uint64FromInt32(level-libc.Int32FromInt32(1))*uint64(8))
  3122. if !(s != 0) {
  3123. return m_FcFalse
  3124. }
  3125. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  3126. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  3127. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  3128. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  3129. if cache_stat != 0 {
  3130. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  3131. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  3132. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec
  3133. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec
  3134. } else {
  3135. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = uint64(0)
  3136. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  3137. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  3138. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  3139. }
  3140. /*
  3141. * Insert into all fcCacheChains
  3142. */
  3143. i = 0
  3144. for {
  3145. if !(i < level) {
  3146. break
  3147. }
  3148. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  3149. *(*uintptr)(unsafe.Pointer(update[i])) = s
  3150. goto _5
  3151. _5:
  3152. ;
  3153. i++
  3154. }
  3155. _unlock_cache(tls)
  3156. return int32(m_FcTrue)
  3157. }
  3158. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  3159. var i, v2 int32
  3160. var next, s uintptr
  3161. _, _, _, _ = i, next, s, v2
  3162. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3163. if !(object != 0) {
  3164. return libc.UintptrFromInt32(0)
  3165. }
  3166. /*
  3167. * Walk chain pointers one level at a time
  3168. */
  3169. i = _fcCacheMaxLevel
  3170. for {
  3171. i--
  3172. v2 = i
  3173. if !(v2 >= 0) {
  3174. break
  3175. }
  3176. 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) {
  3177. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  3178. }
  3179. goto _1
  3180. _1:
  3181. }
  3182. /*
  3183. * Here we are
  3184. */
  3185. s = *(*uintptr)(unsafe.Pointer(next))
  3186. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  3187. return s
  3188. }
  3189. return libc.UintptrFromInt32(0)
  3190. }
  3191. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  3192. var ret uintptr
  3193. _ = ret
  3194. _lock_cache(tls)
  3195. ret = _FcCacheFindByAddrUnlocked(tls, object)
  3196. _unlock_cache(tls)
  3197. return ret
  3198. }
  3199. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  3200. var allocated, next, s, v4 uintptr
  3201. var i, v2 int32
  3202. var update [16]uintptr
  3203. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  3204. /*
  3205. * Find links along each chain
  3206. */
  3207. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  3208. i = _fcCacheMaxLevel
  3209. for {
  3210. i--
  3211. v2 = i
  3212. if !(v2 >= 0) {
  3213. break
  3214. }
  3215. for {
  3216. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  3217. s = v4
  3218. if !(v4 != 0) {
  3219. break
  3220. }
  3221. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  3222. break
  3223. }
  3224. goto _3
  3225. _3:
  3226. ;
  3227. next = s + 64
  3228. }
  3229. update[i] = next + uintptr(i)*8
  3230. goto _1
  3231. _1:
  3232. }
  3233. s = *(*uintptr)(unsafe.Pointer(next))
  3234. i = 0
  3235. for {
  3236. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  3237. break
  3238. }
  3239. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  3240. goto _5
  3241. _5:
  3242. ;
  3243. i++
  3244. }
  3245. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  3246. _fcCacheMaxLevel--
  3247. }
  3248. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  3249. for allocated != 0 {
  3250. /* First element in allocated chunk is the free list */
  3251. next = *(*uintptr)(unsafe.Pointer(allocated))
  3252. libc.Xfree(tls, allocated)
  3253. allocated = next
  3254. }
  3255. libc.Xfree(tls, s)
  3256. }
  3257. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  3258. var s, p3 uintptr
  3259. _, _ = s, p3
  3260. _lock_cache(tls)
  3261. s = _fcCacheChains[0]
  3262. for {
  3263. if !(s != 0) {
  3264. break
  3265. }
  3266. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_sec {
  3267. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano != (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtim.Ftv_nsec {
  3268. goto _1
  3269. }
  3270. p3 = s + 8
  3271. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  3272. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  3273. goto _2
  3274. _2:
  3275. ;
  3276. _unlock_cache(tls)
  3277. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  3278. }
  3279. goto _1
  3280. _1:
  3281. ;
  3282. s = *(*uintptr)(unsafe.Pointer(s + 64))
  3283. }
  3284. _unlock_cache(tls)
  3285. return libc.UintptrFromInt32(0)
  3286. }
  3287. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  3288. _FcCacheRemoveUnlocked(tls, cache)
  3289. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  3290. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  3291. libc.Xfree(tls, cache)
  3292. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  3293. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  3294. break
  3295. }
  3296. }
  3297. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  3298. var skip, p2 uintptr
  3299. _, _ = skip, p2
  3300. skip = _FcCacheFindByAddr(tls, object)
  3301. if skip != 0 {
  3302. p2 = skip + 8
  3303. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  3304. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  3305. goto _1
  3306. _1:
  3307. }
  3308. }
  3309. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  3310. var skip, p3 uintptr
  3311. var v1 int32
  3312. _, _, _ = skip, v1, p3
  3313. _lock_cache(tls)
  3314. skip = _FcCacheFindByAddrUnlocked(tls, object)
  3315. if skip != 0 {
  3316. p3 = skip + 8
  3317. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  3318. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  3319. goto _2
  3320. _2:
  3321. if v1 == int32(1) {
  3322. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  3323. }
  3324. }
  3325. _unlock_cache(tls)
  3326. }
  3327. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  3328. var allocated, chunk, skip uintptr
  3329. _, _, _ = allocated, chunk, skip
  3330. allocated = libc.UintptrFromInt32(0)
  3331. _lock_cache(tls)
  3332. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  3333. if skip != 0 {
  3334. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  3335. if chunk != 0 {
  3336. /* First element in allocated chunk is the free list */
  3337. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  3338. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  3339. /* Return the rest */
  3340. allocated = chunk + uintptr(8)
  3341. }
  3342. }
  3343. _unlock_cache(tls)
  3344. return allocated
  3345. }
  3346. func XFcCacheFini(tls *libc.TLS) {
  3347. var i int32
  3348. _ = i
  3349. i = 0
  3350. for {
  3351. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  3352. break
  3353. }
  3354. goto _1
  3355. _1:
  3356. ;
  3357. i++
  3358. }
  3359. _free_lock(tls)
  3360. }
  3361. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  3362. bp := tls.Alloc(192)
  3363. defer tls.Free(192)
  3364. var d, sysroot uintptr
  3365. var fnano TFcBool
  3366. var _ /* dir_static at bp+0 */ Tstat
  3367. _, _, _ = d, fnano, sysroot
  3368. fnano = int32(m_FcTrue)
  3369. if !(dir_stat != 0) {
  3370. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3371. if sysroot != 0 {
  3372. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  3373. } else {
  3374. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  3375. }
  3376. if XFcStatChecksum(tls, d, bp) < 0 {
  3377. XIA__FcStrFree(tls, d)
  3378. return m_FcFalse
  3379. }
  3380. XIA__FcStrFree(tls, d)
  3381. dir_stat = bp
  3382. }
  3383. fnano = libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano == (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec)
  3384. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3385. libc.Xprintf(tls, __ccgo_ts+193, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec), (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_nsec))
  3386. }
  3387. return libc.BoolInt32((*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtim.Ftv_sec) && fnano != 0)
  3388. }
  3389. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  3390. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  3391. var i, j int32
  3392. var l TFcValueListPtr
  3393. var v5 TFcBool
  3394. var v7 bool
  3395. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  3396. base = cache
  3397. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  3398. 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) {
  3399. return m_FcFalse
  3400. }
  3401. 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) {
  3402. return m_FcFalse
  3403. }
  3404. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  3405. if dirs != 0 {
  3406. i = 0
  3407. for {
  3408. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  3409. break
  3410. }
  3411. 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) {
  3412. return m_FcFalse
  3413. }
  3414. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  3415. if libc.Xmemchr(tls, dir, int32('\000'), libc.Uint64FromInt64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  3416. return m_FcFalse
  3417. }
  3418. goto _1
  3419. _1:
  3420. ;
  3421. i++
  3422. }
  3423. }
  3424. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fset) > libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  3425. return m_FcFalse
  3426. }
  3427. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  3428. if fs != 0 {
  3429. if libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > libc.Uint64FromInt64(int64(end)-int64(fs))/uint64(24) {
  3430. return m_FcFalse
  3431. }
  3432. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3433. return m_FcFalse
  3434. }
  3435. i = 0
  3436. for {
  3437. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  3438. break
  3439. }
  3440. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3441. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  3442. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  3443. } else {
  3444. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  3445. }
  3446. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  3447. } else {
  3448. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  3449. }
  3450. font = v3
  3451. 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 {
  3452. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  3453. goto _6
  3454. _6:
  3455. }
  3456. if v7 || !(v5 != 0) {
  3457. return m_FcFalse
  3458. }
  3459. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3460. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  3461. return m_FcFalse
  3462. }
  3463. j = 0
  3464. for {
  3465. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  3466. break
  3467. }
  3468. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  3469. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  3470. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  3471. } else {
  3472. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  3473. }
  3474. l = v10
  3475. for {
  3476. if !(l != 0) {
  3477. break
  3478. }
  3479. 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)) {
  3480. return m_FcFalse
  3481. }
  3482. last_offset = l + uintptr(1)
  3483. goto _9
  3484. _9:
  3485. ;
  3486. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  3487. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  3488. } else {
  3489. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  3490. }
  3491. l = v11
  3492. }
  3493. goto _8
  3494. _8:
  3495. ;
  3496. j++
  3497. }
  3498. goto _2
  3499. _2:
  3500. ;
  3501. i++
  3502. }
  3503. }
  3504. return int32(m_FcTrue)
  3505. }
  3506. // C documentation
  3507. //
  3508. // /*
  3509. // * Map a cache file into memory
  3510. // */
  3511. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  3512. var allocated TFcBool
  3513. var cache uintptr
  3514. _, _ = allocated, cache
  3515. allocated = m_FcFalse
  3516. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(m_INT64_MAX1) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  3517. return libc.UintptrFromInt32(0)
  3518. }
  3519. cache = _FcCacheFindByStat(tls, fd_stat)
  3520. if cache != 0 {
  3521. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  3522. return cache
  3523. }
  3524. XIA__FcDirCacheUnload(tls, cache)
  3525. cache = libc.UintptrFromInt32(0)
  3526. }
  3527. /*
  3528. * Large cache files are mmap'ed, smaller cache files are read. This
  3529. * balances the system cost of mmap against per-process memory usage.
  3530. */
  3531. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  3532. 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)
  3533. libc.Xposix_fadvise(tls, fd, 0, (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size, int32(m_POSIX_FADV_WILLNEED))
  3534. if cache == uintptr(-libc.Int32FromInt32(1)) {
  3535. cache = libc.UintptrFromInt32(0)
  3536. }
  3537. }
  3538. if !(cache != 0) {
  3539. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3540. if !(cache != 0) {
  3541. return libc.UintptrFromInt32(0)
  3542. }
  3543. if libc.Xread(tls, fd, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size)) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  3544. libc.Xfree(tls, cache)
  3545. return libc.UintptrFromInt32(0)
  3546. }
  3547. allocated = int32(m_FcTrue)
  3548. }
  3549. 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) {
  3550. if allocated != 0 {
  3551. libc.Xfree(tls, cache)
  3552. } else {
  3553. libc.Xmunmap(tls, cache, libc.Uint64FromInt64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  3554. }
  3555. return libc.UintptrFromInt32(0)
  3556. }
  3557. /* Mark allocated caches so they're freed rather than unmapped */
  3558. if allocated != 0 {
  3559. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3560. }
  3561. return cache
  3562. }
  3563. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  3564. var skip, p3 uintptr
  3565. var v1 int32
  3566. _, _, _ = skip, v1, p3
  3567. skip = _FcCacheFindByAddr(tls, cache)
  3568. if skip != 0 {
  3569. v1 = nref
  3570. p3 = skip + 8
  3571. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  3572. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  3573. goto _2
  3574. _2:
  3575. }
  3576. }
  3577. func XIA__FcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  3578. XFcCacheObjectDereference(tls, cache)
  3579. }
  3580. var XFcDirCacheUnload = XIA__FcDirCacheUnload
  3581. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, closure uintptr) (r TFcBool) {
  3582. var cache uintptr
  3583. _ = cache
  3584. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  3585. if !(cache != 0) {
  3586. return m_FcFalse
  3587. }
  3588. *(*uintptr)(unsafe.Pointer(closure)) = cache
  3589. return int32(m_FcTrue)
  3590. }
  3591. func XIA__FcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  3592. bp := tls.Alloc(16)
  3593. defer tls.Free(16)
  3594. var _ /* cache at bp+0 */ uintptr
  3595. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  3596. _FcDirCacheReadUUID(tls, dir, config)
  3597. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  3598. return libc.UintptrFromInt32(0)
  3599. }
  3600. return *(*uintptr)(unsafe.Pointer(bp))
  3601. }
  3602. var XFcDirCacheLoad = XIA__FcDirCacheLoad
  3603. func XIA__FcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  3604. bp := tls.Alloc(144)
  3605. defer tls.Free(144)
  3606. var cache uintptr
  3607. var fd int32
  3608. var _ /* my_file_stat at bp+0 */ Tstat
  3609. _, _ = cache, fd
  3610. if !(file_stat != 0) {
  3611. file_stat = bp
  3612. }
  3613. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  3614. if fd < 0 {
  3615. return libc.UintptrFromInt32(0)
  3616. }
  3617. cache = _FcDirCacheMapFd(tls, XIA__FcConfigGetCurrent(tls), fd, file_stat, libc.UintptrFromInt32(0))
  3618. libc.Xclose(tls, fd)
  3619. return cache
  3620. }
  3621. var XFcDirCacheLoadFile = XIA__FcDirCacheLoadFile
  3622. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  3623. bp := tls.Alloc(32)
  3624. defer tls.Free(32)
  3625. var epoch uint64
  3626. var ret int32
  3627. var source_date_epoch uintptr
  3628. var _ /* endptr at bp+0 */ uintptr
  3629. _, _, _ = epoch, ret, source_date_epoch
  3630. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_sec)
  3631. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+262)
  3632. if source_date_epoch != 0 {
  3633. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  3634. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  3635. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+280, 0)
  3636. } else {
  3637. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 && epoch == uint64(0) {
  3638. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+319, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))), epoch))
  3639. } else {
  3640. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  3641. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+370, 0)
  3642. } else {
  3643. if epoch > libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1) {
  3644. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+422, libc.VaList(bp+16, libc.Uint64FromUint64(2)*libc.Uint64FromInt64(0x7fffffffffffffff)+libc.Uint64FromInt32(1), epoch))
  3645. } else {
  3646. if epoch < libc.Uint64FromInt32(ret) {
  3647. /* Only override if directory is newer */
  3648. ret = libc.Int32FromUint64(epoch)
  3649. }
  3650. }
  3651. }
  3652. }
  3653. }
  3654. }
  3655. return ret
  3656. }
  3657. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  3658. /* No nanosecond component to parse */
  3659. if libc.Xgetenv(tls, __ccgo_ts+262) != 0 {
  3660. return 0
  3661. }
  3662. return (*Tstat)(unsafe.Pointer(statb)).Fst_mtim.Ftv_nsec
  3663. }
  3664. // C documentation
  3665. //
  3666. // /*
  3667. // * Validate a cache file by reading the header and checking
  3668. // * the magic number and the size field
  3669. // */
  3670. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, closure uintptr) (r TFcBool) {
  3671. bp := tls.Alloc(64)
  3672. defer tls.Free(64)
  3673. var ret TFcBool
  3674. var _ /* c at bp+0 */ TFcCache
  3675. _ = ret
  3676. ret = int32(m_FcTrue)
  3677. if libc.Uint64FromInt64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  3678. ret = m_FcFalse
  3679. } else {
  3680. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3681. ret = m_FcFalse
  3682. } else {
  3683. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  3684. ret = m_FcFalse
  3685. } else {
  3686. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  3687. ret = m_FcFalse
  3688. } else {
  3689. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  3690. ret = m_FcFalse
  3691. } else {
  3692. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum_nano != _FcDirChecksumNano(tls, dir_stat) {
  3693. ret = m_FcFalse
  3694. }
  3695. }
  3696. }
  3697. }
  3698. }
  3699. }
  3700. return ret
  3701. }
  3702. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  3703. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  3704. }
  3705. func XIA__FcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  3706. var config uintptr
  3707. _ = config
  3708. config = XIA__FcConfigGetCurrent(tls)
  3709. if !(config != 0) {
  3710. return m_FcFalse
  3711. }
  3712. return _FcDirCacheValidConfig(tls, dir, config)
  3713. }
  3714. var XFcDirCacheValid = XIA__FcDirCacheValid
  3715. // C documentation
  3716. //
  3717. // /*
  3718. // * Build a cache structure from the given contents
  3719. // */
  3720. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  3721. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  3722. var i int32
  3723. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  3724. serialize = XFcSerializeCreate(tls)
  3725. if !(serialize != 0) {
  3726. return libc.UintptrFromInt32(0)
  3727. }
  3728. /*
  3729. * Space for cache structure
  3730. */
  3731. XFcSerializeReserve(tls, serialize, int32(64))
  3732. /*
  3733. * Directory name
  3734. */
  3735. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  3736. goto bail1
  3737. }
  3738. /*
  3739. * Subdirs
  3740. */
  3741. XFcSerializeAlloc(tls, serialize, dirs, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  3742. i = 0
  3743. for {
  3744. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  3745. break
  3746. }
  3747. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  3748. goto bail1
  3749. }
  3750. goto _1
  3751. _1:
  3752. ;
  3753. i++
  3754. }
  3755. /*
  3756. * Patterns
  3757. */
  3758. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  3759. goto bail1
  3760. }
  3761. /* Serialize layout complete. Now allocate space and fill it */
  3762. cache = libc.Xmalloc(tls, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  3763. if !(cache != 0) {
  3764. goto bail1
  3765. }
  3766. /* shut up valgrind */
  3767. libc.Xmemset(tls, cache, 0, libc.Uint64FromInt64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  3768. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  3769. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  3770. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  3771. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  3772. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  3773. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  3774. /*
  3775. * Serialize directory name
  3776. */
  3777. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  3778. if !(dir_serialize != 0) {
  3779. goto bail2
  3780. }
  3781. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  3782. /*
  3783. * Serialize sub dirs
  3784. */
  3785. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  3786. if !(dirs_serialize != 0) {
  3787. goto bail2
  3788. }
  3789. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  3790. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  3791. i = 0
  3792. for {
  3793. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  3794. break
  3795. }
  3796. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  3797. if !(d_serialize != 0) {
  3798. goto bail2
  3799. }
  3800. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  3801. goto _2
  3802. _2:
  3803. ;
  3804. i++
  3805. }
  3806. /*
  3807. * Serialize font set
  3808. */
  3809. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  3810. if !(set_serialize != 0) {
  3811. goto bail2
  3812. }
  3813. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  3814. XFcSerializeDestroy(tls, serialize)
  3815. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  3816. return cache
  3817. goto bail2
  3818. bail2:
  3819. ;
  3820. libc.Xfree(tls, cache)
  3821. goto bail1
  3822. bail1:
  3823. ;
  3824. XFcSerializeDestroy(tls, serialize)
  3825. return libc.UintptrFromInt32(0)
  3826. }
  3827. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  3828. var dir, new1, set uintptr
  3829. _, _, _ = dir, new1, set
  3830. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  3831. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  3832. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  3833. XIA__FcFontSetDestroy(tls, set)
  3834. return new1
  3835. }
  3836. // C documentation
  3837. //
  3838. // /* write serialized state to the cache file */
  3839. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  3840. bp := tls.Alloc(224)
  3841. defer tls.Free(224)
  3842. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  3843. var fd, written int32
  3844. var magic uint32
  3845. var _ /* cache_base at bp+0 */ [52]TFcChar8
  3846. var _ /* cache_stat at bp+56 */ Tstat
  3847. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  3848. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  3849. cache_dir = libc.UintptrFromInt32(0)
  3850. d = libc.UintptrFromInt32(0)
  3851. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  3852. /*
  3853. * Write it to the first directory in the list which is writable
  3854. */
  3855. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  3856. if !(list != 0) {
  3857. return m_FcFalse
  3858. }
  3859. for {
  3860. v1 = XIA__FcStrListNext(tls, list)
  3861. test_dir = v1
  3862. if !(v1 != 0) {
  3863. break
  3864. }
  3865. if d != 0 {
  3866. XIA__FcStrFree(tls, d)
  3867. }
  3868. if sysroot != 0 {
  3869. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  3870. } else {
  3871. d = XIA__FcStrCopyFilename(tls, test_dir)
  3872. }
  3873. if libc.Xaccess(tls, d, int32(m_W_OK)) == 0 {
  3874. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3875. break
  3876. } else {
  3877. /*
  3878. * If the directory doesn't exist, try to create it
  3879. */
  3880. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  3881. if XFcMakeDirectory(tls, d) != 0 {
  3882. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3883. /* Create CACHEDIR.TAG */
  3884. XFcDirCacheCreateTagFile(tls, d)
  3885. break
  3886. }
  3887. } else {
  3888. if libc.Xchmod(tls, d, uint32(0755)) == 0 {
  3889. cache_dir = XIA__FcStrCopyFilename(tls, d)
  3890. /* Try to create CACHEDIR.TAG too */
  3891. XFcDirCacheCreateTagFile(tls, d)
  3892. break
  3893. }
  3894. }
  3895. }
  3896. }
  3897. if d != 0 {
  3898. XIA__FcStrFree(tls, d)
  3899. }
  3900. XIA__FcStrListDone(tls, list)
  3901. if !(cache_dir != 0) {
  3902. return m_FcFalse
  3903. }
  3904. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  3905. _FcDirCacheBasenameMD5(tls, dir, bp)
  3906. }
  3907. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  3908. XIA__FcStrFree(tls, cache_dir)
  3909. if !(cache_hashed != 0) {
  3910. return m_FcFalse
  3911. }
  3912. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  3913. libc.Xprintf(tls, __ccgo_ts+482, libc.VaList(bp+208, dir, cache_hashed))
  3914. }
  3915. atomic = XIA__FcAtomicCreate(tls, cache_hashed)
  3916. if !(atomic != 0) {
  3917. goto bail1
  3918. }
  3919. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  3920. goto bail3
  3921. }
  3922. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+208, int32(0666)))
  3923. if fd == -int32(1) {
  3924. goto bail4
  3925. }
  3926. /* Temporarily switch magic to MMAP while writing to file */
  3927. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  3928. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3929. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  3930. }
  3931. /*
  3932. * Write cache contents to file
  3933. */
  3934. written = int32(libc.Xwrite(tls, fd, cache, libc.Uint64FromInt64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  3935. /* Switch magic back */
  3936. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  3937. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  3938. }
  3939. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  3940. libc.Xperror(tls, __ccgo_ts+521)
  3941. goto bail5
  3942. }
  3943. libc.Xclose(tls, fd)
  3944. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  3945. goto bail4
  3946. }
  3947. /* If the file is small, update the cache chain entry such that the
  3948. * new cache file is not read again. If it's large, we don't do that
  3949. * such that we reload it, using mmap, which is shared across processes.
  3950. */
  3951. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  3952. _lock_cache(tls)
  3953. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  3954. skip = v2
  3955. if v2 != 0 {
  3956. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  3957. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  3958. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_sec
  3959. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtim.Ftv_nsec
  3960. }
  3961. _unlock_cache(tls)
  3962. }
  3963. XIA__FcStrFree(tls, cache_hashed)
  3964. XIA__FcAtomicUnlock(tls, atomic)
  3965. XIA__FcAtomicDestroy(tls, atomic)
  3966. return int32(m_FcTrue)
  3967. goto bail5
  3968. bail5:
  3969. ;
  3970. libc.Xclose(tls, fd)
  3971. goto bail4
  3972. bail4:
  3973. ;
  3974. XIA__FcAtomicUnlock(tls, atomic)
  3975. goto bail3
  3976. bail3:
  3977. ;
  3978. XIA__FcAtomicDestroy(tls, atomic)
  3979. goto bail1
  3980. bail1:
  3981. ;
  3982. XIA__FcStrFree(tls, cache_hashed)
  3983. return m_FcFalse
  3984. }
  3985. func XIA__FcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  3986. bp := tls.Alloc(176)
  3987. defer tls.Free(176)
  3988. var cache, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  3989. var remove, ret TFcBool
  3990. var _ /* target_stat at bp+0 */ Tstat
  3991. _, _, _, _, _, _, _, _, _, _, _, _ = cache, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  3992. ret = int32(m_FcTrue)
  3993. /* FIXME: this API needs to support non-current FcConfig */
  3994. sysroot = XIA__FcConfigGetSysRoot(tls, libc.UintptrFromInt32(0))
  3995. if sysroot != 0 {
  3996. dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  3997. } else {
  3998. dir = XIA__FcStrCopyFilename(tls, cache_dir)
  3999. }
  4000. if !(dir != 0) {
  4001. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+533, libc.VaList(bp+152, cache_dir))
  4002. return m_FcFalse
  4003. }
  4004. if libc.Xaccess(tls, dir, int32(m_W_OK)) != 0 {
  4005. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4006. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  4007. v1 = __ccgo_ts + 570
  4008. } else {
  4009. v1 = __ccgo_ts + 581
  4010. }
  4011. libc.Xprintf(tls, __ccgo_ts+594, libc.VaList(bp+152, dir, v1))
  4012. }
  4013. goto bail0
  4014. }
  4015. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4016. libc.Xprintf(tls, __ccgo_ts+631, libc.VaList(bp+152, dir))
  4017. }
  4018. d = libc.Xopendir(tls, dir)
  4019. if !(d != 0) {
  4020. libc.Xperror(tls, dir)
  4021. ret = m_FcFalse
  4022. goto bail0
  4023. }
  4024. for {
  4025. v2 = libc.Xreaddir(tls, d)
  4026. ent = v2
  4027. if !(v2 != 0) {
  4028. break
  4029. }
  4030. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(ent + 19))) == int32('.') {
  4031. continue
  4032. }
  4033. /* skip cache files for different architectures and */
  4034. /* files which are not cache files at all */
  4035. if libc.Xstrlen(tls, ent+19) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+179) || libc.Xstrcmp(tls, ent+19+uintptr(32), __ccgo_ts+179) != 0 {
  4036. continue
  4037. }
  4038. file_name = XFcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+19, libc.UintptrFromInt32(0)))
  4039. if !(file_name != 0) {
  4040. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+661, libc.VaList(bp+152, dir))
  4041. ret = m_FcFalse
  4042. break
  4043. }
  4044. remove = m_FcFalse
  4045. cache = XIA__FcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  4046. if !(cache != 0) {
  4047. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4048. libc.Xprintf(tls, __ccgo_ts+703, libc.VaList(bp+152, dir, ent+19))
  4049. }
  4050. remove = int32(m_FcTrue)
  4051. } else {
  4052. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  4053. if sysroot != 0 {
  4054. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  4055. } else {
  4056. s = libc.Xstrdup(tls, target_dir)
  4057. }
  4058. if libc.Xstat(tls, s, bp) < 0 {
  4059. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4060. libc.Xprintf(tls, __ccgo_ts+731, libc.VaList(bp+152, dir, ent+19, s))
  4061. }
  4062. remove = int32(m_FcTrue)
  4063. }
  4064. XIA__FcDirCacheUnload(tls, cache)
  4065. XIA__FcStrFree(tls, s)
  4066. }
  4067. if remove != 0 {
  4068. if libc.Xunlink(tls, file_name) < 0 {
  4069. libc.Xperror(tls, file_name)
  4070. ret = m_FcFalse
  4071. }
  4072. }
  4073. XIA__FcStrFree(tls, file_name)
  4074. }
  4075. libc.Xclosedir(tls, d)
  4076. goto bail0
  4077. bail0:
  4078. ;
  4079. XIA__FcStrFree(tls, dir)
  4080. return ret
  4081. }
  4082. var XFcDirCacheClean = XIA__FcDirCacheClean
  4083. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  4084. bp := tls.Alloc(128)
  4085. defer tls.Free(128)
  4086. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4087. var fd int32
  4088. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4089. var _ /* fl at bp+56 */ Tflock
  4090. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  4091. cache_hashed = libc.UintptrFromInt32(0)
  4092. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4093. fd = -int32(1)
  4094. if !(_FcDirCacheBasenameUUID(tls, dir, bp, config) != 0) {
  4095. _FcDirCacheBasenameMD5(tls, dir, bp)
  4096. }
  4097. list = XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4098. if !(list != 0) {
  4099. return -int32(1)
  4100. }
  4101. for {
  4102. v1 = XIA__FcStrListNext(tls, list)
  4103. cache_dir = v1
  4104. if !(v1 != 0) {
  4105. break
  4106. }
  4107. if sysroot != 0 {
  4108. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+96, cache_dir, bp, libc.UintptrFromInt32(0)))
  4109. } else {
  4110. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+96, bp, libc.UintptrFromInt32(0)))
  4111. }
  4112. if !(cache_hashed != 0) {
  4113. break
  4114. }
  4115. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  4116. XIA__FcStrFree(tls, cache_hashed)
  4117. /* No caches in that directory. simply retry with another one */
  4118. if fd != -int32(1) {
  4119. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  4120. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = 0
  4121. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  4122. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  4123. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  4124. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+96, bp+56)) == -int32(1) {
  4125. goto bail
  4126. }
  4127. break
  4128. }
  4129. }
  4130. XIA__FcStrListDone(tls, list)
  4131. return fd
  4132. goto bail
  4133. bail:
  4134. ;
  4135. XIA__FcStrListDone(tls, list)
  4136. if fd != -int32(1) {
  4137. libc.Xclose(tls, fd)
  4138. }
  4139. return -int32(1)
  4140. }
  4141. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  4142. bp := tls.Alloc(48)
  4143. defer tls.Free(48)
  4144. var _ /* fl at bp+0 */ Tflock
  4145. if fd != -int32(1) {
  4146. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  4147. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = 0
  4148. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  4149. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  4150. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  4151. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+40, bp))
  4152. libc.Xclose(tls, fd)
  4153. }
  4154. }
  4155. /*
  4156. * Hokey little macro trick to permit the definitions of C functions
  4157. * with the same name as CPP macros
  4158. */
  4159. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  4160. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  4161. }
  4162. func XIA__FcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  4163. var font, new1, old, v2, v3 uintptr
  4164. var i int32
  4165. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  4166. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  4167. new1 = XIA__FcFontSetCreate(tls)
  4168. if !(new1 != 0) {
  4169. return libc.UintptrFromInt32(0)
  4170. }
  4171. i = 0
  4172. for {
  4173. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  4174. break
  4175. }
  4176. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4177. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  4178. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  4179. } else {
  4180. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  4181. }
  4182. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  4183. } else {
  4184. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  4185. }
  4186. font = v2
  4187. XIA__FcPatternReference(tls, font)
  4188. if !(XIA__FcFontSetAdd(tls, new1, font) != 0) {
  4189. XIA__FcFontSetDestroy(tls, new1)
  4190. return libc.UintptrFromInt32(0)
  4191. }
  4192. goto _1
  4193. _1:
  4194. ;
  4195. i++
  4196. }
  4197. return new1
  4198. }
  4199. var XFcCacheCopySet = XIA__FcCacheCopySet
  4200. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  4201. 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)))
  4202. }
  4203. func XIA__FcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  4204. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  4205. }
  4206. var XFcCacheNumSubdir = XIA__FcCacheNumSubdir
  4207. func XIA__FcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  4208. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  4209. }
  4210. var XFcCacheNumFont = XIA__FcCacheNumFont
  4211. /*
  4212. * This code implements the MD5 message-digest algorithm.
  4213. * The algorithm is due to Ron Rivest. This code was
  4214. * written by Colin Plumb in 1993, no copyright is claimed.
  4215. * This code is in the public domain; do with it what you wish.
  4216. *
  4217. * Equivalent code is available from RSA Data Security, Inc.
  4218. * This code has been tested against that, and is equivalent,
  4219. * except that you don't need to include two pages of legalese
  4220. * with every copy.
  4221. *
  4222. * To compute the message digest of a chunk of bytes, declare an
  4223. * MD5Context structure, pass it to MD5Init, call MD5Update as
  4224. * needed on buffers full of bytes, and then call MD5Final, which
  4225. * will fill a supplied 16-byte array with the digest.
  4226. */
  4227. // C documentation
  4228. //
  4229. // /*
  4230. // * Start MD5 accumulation. Set bit count to 0 and buffer to mysterious
  4231. // * initialization constants.
  4232. // */
  4233. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  4234. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  4235. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  4236. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  4237. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  4238. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  4239. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  4240. }
  4241. // C documentation
  4242. //
  4243. // /*
  4244. // * Update context to reflect the concatenation of another buffer full
  4245. // * of bytes.
  4246. // */
  4247. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  4248. var p uintptr
  4249. var t, v1 TFcChar32
  4250. _, _, _ = p, t, v1
  4251. /* Update bitcount */
  4252. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4253. v1 = t + len1<<libc.Int32FromInt32(3)
  4254. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  4255. if v1 < t {
  4256. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  4257. } /* Carry from low to high */
  4258. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  4259. t = t >> libc.Int32FromInt32(3) & uint32(0x3f) /* Bytes already in shsInfo->data */
  4260. /* Handle any leading odd-sized chunks */
  4261. if t != 0 {
  4262. p = ctx + 24 + uintptr(t)
  4263. t = uint32(64) - t
  4264. if len1 < t {
  4265. libc.Xmemcpy(tls, p, buf, uint64(len1))
  4266. return
  4267. }
  4268. libc.Xmemcpy(tls, p, buf, uint64(t))
  4269. _MD5Transform(tls, ctx, ctx+24)
  4270. buf += uintptr(t)
  4271. len1 -= t
  4272. }
  4273. /* Process data in 64-byte chunks */
  4274. for len1 >= uint32(64) {
  4275. libc.Xmemcpy(tls, ctx+24, buf, uint64(64))
  4276. _MD5Transform(tls, ctx, ctx+24)
  4277. buf += uintptr(64)
  4278. len1 -= uint32(64)
  4279. }
  4280. /* Handle any remaining bytes of data. */
  4281. libc.Xmemcpy(tls, ctx+24, buf, uint64(len1))
  4282. }
  4283. // C documentation
  4284. //
  4285. // /*
  4286. // * Final wrapup - pad to 64-byte boundary with the bit pattern
  4287. // * 1 0* (64-bit count of bits processed, MSB-first)
  4288. // */
  4289. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  4290. var count uint32
  4291. var p, v1 uintptr
  4292. _, _, _ = count, p, v1
  4293. /* Compute number of bytes mod 64 */
  4294. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  4295. /* Set the first char of padding to 0x80. This is safe since there is
  4296. always at least one byte free */
  4297. p = ctx + 24 + uintptr(count)
  4298. v1 = p
  4299. p++
  4300. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  4301. /* Bytes of padding needed to make 64 bytes */
  4302. count = libc.Uint32FromInt32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  4303. /* Pad out to 56 mod 64 */
  4304. if count < uint32(8) {
  4305. /* Two lots of padding: Pad the first block to 64 bytes */
  4306. libc.Xmemset(tls, p, 0, uint64(count))
  4307. _MD5Transform(tls, ctx, ctx+24)
  4308. /* Now fill the next block with 56 bytes */
  4309. libc.Xmemset(tls, ctx+24, 0, uint64(56))
  4310. } else {
  4311. /* Pad block to 56 bytes */
  4312. libc.Xmemset(tls, p, 0, uint64(count-uint32(8)))
  4313. }
  4314. /* Append length in bits and transform */
  4315. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4316. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  4317. _MD5Transform(tls, ctx, ctx+24)
  4318. libc.Xmemcpy(tls, digest, ctx, uint64(16))
  4319. libc.Xmemset(tls, ctx, 0, uint64(88)) /* In case it's sensitive */
  4320. }
  4321. /* The four core functions - F1 is optimized somewhat */
  4322. /* #define F1(x, y, z) (x & y | ~x & z) */
  4323. /* This is the central step in the MD5 algorithm. */
  4324. // C documentation
  4325. //
  4326. // /*
  4327. // * The core of the MD5 algorithm, this alters an existing MD5 hash to
  4328. // * reflect the addition of 16 longwords of new data. MD5Update blocks
  4329. // * the data and converts bytes into longwords for this routine.
  4330. // */
  4331. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  4332. var a, b, c, d TFcChar32
  4333. _, _, _, _ = a, b, c, d
  4334. a = *(*TFcChar32)(unsafe.Pointer(buf))
  4335. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  4336. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  4337. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  4338. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  4339. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4340. a += b
  4341. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  4342. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4343. d += a
  4344. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  4345. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4346. c += d
  4347. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  4348. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4349. b += c
  4350. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  4351. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4352. a += b
  4353. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  4354. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4355. d += a
  4356. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  4357. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4358. c += d
  4359. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  4360. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4361. b += c
  4362. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  4363. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4364. a += b
  4365. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  4366. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4367. d += a
  4368. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  4369. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4370. c += d
  4371. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  4372. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4373. b += c
  4374. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  4375. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4376. a += b
  4377. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  4378. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4379. d += a
  4380. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  4381. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4382. c += d
  4383. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  4384. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4385. b += c
  4386. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  4387. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4388. a += b
  4389. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  4390. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4391. d += a
  4392. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  4393. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4394. c += d
  4395. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  4396. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4397. b += c
  4398. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  4399. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4400. a += b
  4401. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  4402. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4403. d += a
  4404. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  4405. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4406. c += d
  4407. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  4408. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4409. b += c
  4410. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  4411. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4412. a += b
  4413. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  4414. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4415. d += a
  4416. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  4417. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4418. c += d
  4419. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  4420. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4421. b += c
  4422. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  4423. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4424. a += b
  4425. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  4426. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4427. d += a
  4428. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  4429. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4430. c += d
  4431. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  4432. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4433. b += c
  4434. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  4435. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4436. a += b
  4437. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  4438. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4439. d += a
  4440. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  4441. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4442. c += d
  4443. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  4444. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4445. b += c
  4446. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  4447. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4448. a += b
  4449. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  4450. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4451. d += a
  4452. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  4453. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4454. c += d
  4455. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  4456. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4457. b += c
  4458. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  4459. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4460. a += b
  4461. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  4462. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4463. d += a
  4464. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  4465. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4466. c += d
  4467. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  4468. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4469. b += c
  4470. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  4471. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4472. a += b
  4473. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  4474. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4475. d += a
  4476. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  4477. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4478. c += d
  4479. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  4480. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4481. b += c
  4482. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  4483. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4484. a += b
  4485. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  4486. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4487. d += a
  4488. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  4489. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4490. c += d
  4491. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  4492. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4493. b += c
  4494. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  4495. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4496. a += b
  4497. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  4498. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4499. d += a
  4500. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  4501. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4502. c += d
  4503. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  4504. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4505. b += c
  4506. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  4507. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4508. a += b
  4509. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  4510. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4511. d += a
  4512. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  4513. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4514. c += d
  4515. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  4516. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4517. b += c
  4518. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  4519. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4520. a += b
  4521. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  4522. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4523. d += a
  4524. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  4525. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4526. c += d
  4527. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  4528. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4529. b += c
  4530. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  4531. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  4532. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  4533. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  4534. }
  4535. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  4536. bp := tls.Alloc(32)
  4537. defer tls.Free(32)
  4538. var atomic, cache_tag, fp uintptr
  4539. var fd int32
  4540. var ret TFcBool
  4541. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  4542. ret = m_FcFalse
  4543. if !(cache_dir != 0) {
  4544. return m_FcFalse
  4545. }
  4546. if libc.Xaccess(tls, cache_dir, int32(m_W_OK)) == 0 {
  4547. /* Create CACHEDIR.TAG */
  4548. cache_tag = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+763, libc.UintptrFromInt32(0)))
  4549. if !(cache_tag != 0) {
  4550. return m_FcFalse
  4551. }
  4552. atomic = XIA__FcAtomicCreate(tls, cache_tag)
  4553. if !(atomic != 0) {
  4554. goto bail1
  4555. }
  4556. if !(XIA__FcAtomicLock(tls, atomic) != 0) {
  4557. goto bail2
  4558. }
  4559. fd = XFcOpen(tls, XIA__FcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  4560. if fd == -int32(1) {
  4561. goto bail3
  4562. }
  4563. fp = libc.Xfdopen(tls, fd, __ccgo_ts+776)
  4564. if fp == libc.UintptrFromInt32(0) {
  4565. goto bail3
  4566. }
  4567. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  4568. libc.Xfclose(tls, fp)
  4569. if !(XIA__FcAtomicReplaceOrig(tls, atomic) != 0) {
  4570. goto bail3
  4571. }
  4572. ret = int32(m_FcTrue)
  4573. goto bail3
  4574. bail3:
  4575. ;
  4576. XIA__FcAtomicUnlock(tls, atomic)
  4577. goto bail2
  4578. bail2:
  4579. ;
  4580. XIA__FcAtomicDestroy(tls, atomic)
  4581. goto bail1
  4582. bail1:
  4583. ;
  4584. XIA__FcStrFree(tls, cache_tag)
  4585. }
  4586. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4587. if ret != 0 {
  4588. libc.Xprintf(tls, __ccgo_ts+779, libc.VaList(bp+8, cache_dir))
  4589. } else {
  4590. libc.Xprintf(tls, __ccgo_ts+807, libc.VaList(bp+8, cache_dir))
  4591. }
  4592. }
  4593. return ret
  4594. }
  4595. 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}
  4596. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  4597. func XIA__FcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  4598. bp := tls.Alloc(32)
  4599. defer tls.Free(32)
  4600. var cache_dir, d, list, sysroot, v1 uintptr
  4601. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  4602. cache_dir = libc.UintptrFromInt32(0)
  4603. d = libc.UintptrFromInt32(0)
  4604. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  4605. list = XIA__FcConfigGetCacheDirs(tls, config)
  4606. if !(list != 0) {
  4607. return
  4608. }
  4609. for {
  4610. v1 = XIA__FcStrListNext(tls, list)
  4611. cache_dir = v1
  4612. if !(v1 != 0) {
  4613. break
  4614. }
  4615. if d != 0 {
  4616. XIA__FcStrFree(tls, d)
  4617. }
  4618. if sysroot != 0 {
  4619. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  4620. } else {
  4621. d = XIA__FcStrCopyFilename(tls, cache_dir)
  4622. }
  4623. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  4624. break
  4625. }
  4626. }
  4627. if d != 0 {
  4628. XIA__FcStrFree(tls, d)
  4629. }
  4630. XIA__FcStrListDone(tls, list)
  4631. }
  4632. var XFcCacheCreateTagFile = XIA__FcCacheCreateTagFile
  4633. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  4634. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  4635. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  4636. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  4637. const m_FONTCONFIG_FILE = "fonts.conf"
  4638. const m_INT64_MAX2 = 0x7fffffffffffffff
  4639. const m_LLONG_MAX2 = 0x7fffffffffffffff
  4640. const m___LONG_MAX2 = 0x7fffffffffffffff
  4641. var __fcConfig uintptr /* MT-safe */
  4642. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  4643. var config uintptr
  4644. var v1 int32
  4645. _, _ = config, v1
  4646. goto retry
  4647. retry:
  4648. ;
  4649. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4650. if !(config != 0) {
  4651. config = XIA__FcInitLoadConfigAndFonts(tls)
  4652. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  4653. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  4654. v1 = libc.Int32FromInt32(m_FcTrue)
  4655. } else {
  4656. v1 = m_FcFalse
  4657. }
  4658. if !(v1 != 0) {
  4659. XIA__FcConfigDestroy(tls, config)
  4660. goto retry
  4661. }
  4662. }
  4663. return config
  4664. }
  4665. func _FcHashAsStrIgnoreCase(tls *libc.TLS, data uintptr) (r TFcChar32) {
  4666. return XFcStrHashIgnoreCase(tls, data)
  4667. }
  4668. func _FcCompareAsStr(tls *libc.TLS, v1 uintptr, v2 uintptr) (r int32) {
  4669. return XIA__FcStrCmp(tls, v1, v2)
  4670. }
  4671. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  4672. XFcRuleDestroy(tls, data)
  4673. }
  4674. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  4675. XFcRuleSetDestroy(tls, data)
  4676. }
  4677. func _FcDestroyAsStr(tls *libc.TLS, data uintptr) {
  4678. XIA__FcStrFree(tls, data)
  4679. }
  4680. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  4681. var v1 int32
  4682. _ = v1
  4683. if _FcConfigEnsure(tls) != 0 {
  4684. v1 = int32(m_FcTrue)
  4685. } else {
  4686. v1 = m_FcFalse
  4687. }
  4688. return v1
  4689. }
  4690. func XFcConfigFini(tls *libc.TLS) {
  4691. var cfg uintptr
  4692. var v1 int32
  4693. var v2 bool
  4694. _, _, _ = cfg, v1, v2
  4695. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  4696. if v2 = cfg != 0; v2 {
  4697. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  4698. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4699. v1 = libc.Int32FromInt32(m_FcTrue)
  4700. } else {
  4701. v1 = m_FcFalse
  4702. }
  4703. }
  4704. if v2 && v1 != 0 {
  4705. XIA__FcConfigDestroy(tls, cfg)
  4706. }
  4707. }
  4708. func XIA__FcConfigCreate(tls *libc.TLS) (r uintptr) {
  4709. var config uintptr
  4710. var err TFcBool
  4711. var k TFcMatchKind
  4712. var set TFcSetName
  4713. _, _, _, _ = config, err, k, set
  4714. err = m_FcFalse
  4715. config = libc.Xmalloc(tls, uint64(168))
  4716. if !(config != 0) {
  4717. goto bail0
  4718. }
  4719. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XIA__FcStrSetCreate(tls)
  4720. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  4721. goto bail1
  4722. }
  4723. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XIA__FcStrSetCreate(tls)
  4724. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  4725. goto bail2
  4726. }
  4727. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XIA__FcStrSetCreate(tls)
  4728. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  4729. goto bail3
  4730. }
  4731. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XIA__FcStrSetCreate(tls)
  4732. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  4733. goto bail4
  4734. }
  4735. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XIA__FcStrSetCreate(tls)
  4736. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  4737. goto bail5
  4738. }
  4739. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XIA__FcFontSetCreate(tls)
  4740. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  4741. goto bail6
  4742. }
  4743. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XIA__FcFontSetCreate(tls)
  4744. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  4745. goto bail7
  4746. }
  4747. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XIA__FcStrSetCreate(tls)
  4748. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  4749. goto bail8
  4750. }
  4751. k = int32(_FcMatchKindBegin)
  4752. for {
  4753. if !(k < int32(_FcMatchKindEnd)) {
  4754. break
  4755. }
  4756. *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4757. if !(*(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) != 0) {
  4758. err = int32(m_FcTrue)
  4759. }
  4760. goto _1
  4761. _1:
  4762. ;
  4763. k++
  4764. }
  4765. if err != 0 {
  4766. goto bail9
  4767. }
  4768. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  4769. set = int32(_FcSetSystem)
  4770. for {
  4771. if !(set <= int32(_FcSetApplication)) {
  4772. break
  4773. }
  4774. *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) = uintptr(0)
  4775. goto _2
  4776. _2:
  4777. ;
  4778. set++
  4779. }
  4780. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  4781. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  4782. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  4783. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = libc.UintptrFromInt32(0)
  4784. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  4785. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  4786. goto bail9
  4787. }
  4788. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XIA__FcStrSetCreate(tls)
  4789. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  4790. goto bail10
  4791. }
  4792. (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table = XFcHashTableCreate(tls, __ccgo_fp(_FcHashAsStrIgnoreCase), __ccgo_fp(_FcCompareAsStr), __ccgo_fp(XFcHashStrCopy), __ccgo_fp(XFcHashUuidCopy), __ccgo_fp(_FcDestroyAsStr), __ccgo_fp(XFcHashUuidFree))
  4793. (*TFcRef)(unsafe.Pointer(config + 124)).Fcount = int32(1)
  4794. return config
  4795. goto bail10
  4796. bail10:
  4797. ;
  4798. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4799. goto bail9
  4800. bail9:
  4801. ;
  4802. k = int32(_FcMatchKindBegin)
  4803. for {
  4804. if !(k < int32(_FcMatchKindEnd)) {
  4805. break
  4806. }
  4807. if *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)) != 0 {
  4808. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)))
  4809. }
  4810. goto _3
  4811. _3:
  4812. ;
  4813. k++
  4814. }
  4815. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4816. goto bail8
  4817. bail8:
  4818. ;
  4819. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4820. goto bail7
  4821. bail7:
  4822. ;
  4823. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4824. goto bail6
  4825. bail6:
  4826. ;
  4827. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4828. goto bail5
  4829. bail5:
  4830. ;
  4831. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4832. goto bail4
  4833. bail4:
  4834. ;
  4835. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4836. goto bail3
  4837. bail3:
  4838. ;
  4839. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4840. goto bail2
  4841. bail2:
  4842. ;
  4843. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4844. goto bail1
  4845. bail1:
  4846. ;
  4847. libc.Xfree(tls, config)
  4848. goto bail0
  4849. bail0:
  4850. ;
  4851. return uintptr(0)
  4852. return r
  4853. }
  4854. var XFcConfigCreate = XIA__FcConfigCreate
  4855. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  4856. bp := tls.Alloc(144)
  4857. defer tls.Free(144)
  4858. var file, list, v1 uintptr
  4859. var newest TFcFileTime
  4860. var _ /* statb at bp+0 */ Tstat
  4861. _, _, _, _ = file, list, newest, v1
  4862. list = XIA__FcStrListCreate(tls, files)
  4863. newest = TFcFileTime{}
  4864. if list != 0 {
  4865. for {
  4866. v1 = XIA__FcStrListNext(tls, list)
  4867. file = v1
  4868. if !(v1 != 0) {
  4869. break
  4870. }
  4871. if XFcStat(tls, file, bp) == 0 {
  4872. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec-newest.Ftime > 0 {
  4873. newest.Fset = int32(m_FcTrue)
  4874. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtim.Ftv_sec
  4875. }
  4876. }
  4877. }
  4878. XIA__FcStrListDone(tls, list)
  4879. }
  4880. return newest
  4881. }
  4882. func XIA__FcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  4883. var config_dir_time, config_time, font_time TFcFileTime
  4884. var now Ttime_t
  4885. _, _, _, _ = config_dir_time, config_time, font_time, now
  4886. now = libc.Xtime(tls, uintptr(0))
  4887. if !(config != 0) {
  4888. config = XIA__FcConfigGetCurrent(tls)
  4889. if !(config != 0) {
  4890. return m_FcFalse
  4891. }
  4892. }
  4893. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4894. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4895. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4896. 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 {
  4897. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  4898. 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 {
  4899. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+844, 0)
  4900. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  4901. return int32(m_FcTrue)
  4902. } else {
  4903. return m_FcFalse
  4904. }
  4905. }
  4906. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  4907. return int32(m_FcTrue)
  4908. }
  4909. var XFcConfigUptoDate = XIA__FcConfigUptoDate
  4910. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  4911. var new_page, v1, v2 uintptr
  4912. _, _, _ = new_page, v1, v2
  4913. 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 {
  4914. new_page = libc.Xmalloc(tls, uint64(8176))
  4915. if !(new_page != 0) {
  4916. return uintptr(0)
  4917. }
  4918. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  4919. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  4920. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  4921. }
  4922. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  4923. v1 = *(*uintptr)(unsafe.Pointer(v2))
  4924. *(*uintptr)(unsafe.Pointer(v2)) += 24
  4925. return v1
  4926. }
  4927. func XIA__FcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  4928. var p2 uintptr
  4929. _ = p2
  4930. if !(config != 0) {
  4931. config = XIA__FcConfigGetCurrent(tls)
  4932. if !(config != 0) {
  4933. return uintptr(0)
  4934. }
  4935. }
  4936. p2 = config + 124
  4937. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  4938. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  4939. goto _1
  4940. _1:
  4941. ;
  4942. return config
  4943. }
  4944. var XFcConfigReference = XIA__FcConfigReference
  4945. func XIA__FcConfigDestroy(tls *libc.TLS, config uintptr) {
  4946. var k TFcMatchKind
  4947. var next, page, p3 uintptr
  4948. var set TFcSetName
  4949. var v1 int32
  4950. _, _, _, _, _, _ = k, next, page, set, v1, p3
  4951. p3 = config + 124
  4952. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  4953. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  4954. goto _2
  4955. _2:
  4956. if v1 != int32(1) {
  4957. return
  4958. }
  4959. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  4960. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  4961. _ = libc.Int32FromInt32(m_FcTrue)
  4962. }
  4963. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  4964. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  4965. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4966. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  4967. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  4968. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  4969. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  4970. XIA__FcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  4971. k = int32(_FcMatchKindBegin)
  4972. for {
  4973. if !(k < int32(_FcMatchKindEnd)) {
  4974. break
  4975. }
  4976. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(k)*8)))
  4977. goto _5
  4978. _5:
  4979. ;
  4980. k++
  4981. }
  4982. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  4983. XIA__FcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  4984. set = int32(_FcSetSystem)
  4985. for {
  4986. if !(set <= int32(_FcSetApplication)) {
  4987. break
  4988. }
  4989. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) != 0 {
  4990. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)))
  4991. }
  4992. goto _6
  4993. _6:
  4994. ;
  4995. set++
  4996. }
  4997. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  4998. for page != 0 {
  4999. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  5000. libc.Xfree(tls, page)
  5001. page = next
  5002. }
  5003. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  5004. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  5005. }
  5006. XFcHashTableDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).Fuuid_table)
  5007. libc.Xfree(tls, config)
  5008. }
  5009. var XFcConfigDestroy = XIA__FcConfigDestroy
  5010. /*
  5011. * Add cache to configuration, adding fonts and directories
  5012. */
  5013. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  5014. bp := tls.Alloc(32)
  5015. defer tls.Free(32)
  5016. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  5017. var i, nref int32
  5018. var relocated TFcBool
  5019. var _ /* font_file at bp+0 */ uintptr
  5020. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  5021. relocated = m_FcFalse
  5022. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  5023. relocated = int32(m_FcTrue)
  5024. }
  5025. /*
  5026. * Add fonts
  5027. */
  5028. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5029. if fs != 0 {
  5030. nref = 0
  5031. i = 0
  5032. for {
  5033. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5034. break
  5035. }
  5036. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5037. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5038. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  5039. } else {
  5040. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5041. }
  5042. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  5043. } else {
  5044. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  5045. }
  5046. font = v2
  5047. relocated_font_file = libc.UintptrFromInt32(0)
  5048. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  5049. if relocated != 0 {
  5050. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  5051. relocated_font_file = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  5052. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  5053. }
  5054. /*
  5055. * Check to see if font is banned by filename
  5056. */
  5057. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  5058. libc.Xfree(tls, relocated_font_file)
  5059. goto _1
  5060. }
  5061. }
  5062. /*
  5063. * Check to see if font is banned by pattern
  5064. */
  5065. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  5066. libc.Xfree(tls, relocated_font_file)
  5067. goto _1
  5068. }
  5069. if relocated_font_file != 0 {
  5070. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  5071. libc.Xfree(tls, relocated_font_file)
  5072. }
  5073. if XIA__FcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)), font) != 0 {
  5074. nref++
  5075. }
  5076. goto _1
  5077. _1:
  5078. ;
  5079. i++
  5080. }
  5081. XFcDirCacheReference(tls, cache, nref)
  5082. }
  5083. /*
  5084. * Add directories
  5085. */
  5086. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5087. if dirs != 0 {
  5088. i = 0
  5089. for {
  5090. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5091. break
  5092. }
  5093. 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)))
  5094. s = libc.UintptrFromInt32(0)
  5095. if relocated != 0 {
  5096. base = XIA__FcStrBasename(tls, dir)
  5097. v5 = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  5098. s = v5
  5099. dir = v5
  5100. XIA__FcStrFree(tls, base)
  5101. }
  5102. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  5103. XIA__FcStrSetAddFilename(tls, dirSet, dir)
  5104. }
  5105. if s != 0 {
  5106. XIA__FcStrFree(tls, s)
  5107. }
  5108. goto _4
  5109. _4:
  5110. ;
  5111. i++
  5112. }
  5113. }
  5114. return int32(m_FcTrue)
  5115. }
  5116. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  5117. bp := tls.Alloc(16)
  5118. defer tls.Free(16)
  5119. var cache, dir, dirlist, v1 uintptr
  5120. _, _, _, _ = cache, dir, dirlist, v1
  5121. dirlist = XIA__FcStrListCreate(tls, dirSet)
  5122. if !(dirlist != 0) {
  5123. return m_FcFalse
  5124. }
  5125. for {
  5126. v1 = XIA__FcStrListNext(tls, dirlist)
  5127. dir = v1
  5128. if !(v1 != 0) {
  5129. break
  5130. }
  5131. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5132. libc.Xprintf(tls, __ccgo_ts+932, libc.VaList(bp+8, dir))
  5133. }
  5134. cache = XIA__FcDirCacheRead(tls, dir, m_FcFalse, config)
  5135. if !(cache != 0) {
  5136. continue
  5137. }
  5138. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  5139. XIA__FcDirCacheUnload(tls, cache)
  5140. }
  5141. XIA__FcStrListDone(tls, dirlist)
  5142. return int32(m_FcTrue)
  5143. }
  5144. /*
  5145. * Scan the current list of directories in the configuration
  5146. * and build the set of available fonts.
  5147. */
  5148. func XIA__FcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  5149. var fonts uintptr
  5150. _ = fonts
  5151. if !(config != 0) {
  5152. config = XIA__FcConfigGetCurrent(tls)
  5153. if !(config != 0) {
  5154. return m_FcFalse
  5155. }
  5156. }
  5157. fonts = XIA__FcFontSetCreate(tls)
  5158. if !(fonts != 0) {
  5159. return m_FcFalse
  5160. }
  5161. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  5162. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  5163. return m_FcFalse
  5164. }
  5165. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  5166. XIA__FcFontSetPrint(tls, fonts)
  5167. }
  5168. return int32(m_FcTrue)
  5169. }
  5170. var XFcConfigBuildFonts = XIA__FcConfigBuildFonts
  5171. func XIA__FcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  5172. var cfg uintptr
  5173. var v1 int32
  5174. _, _ = cfg, v1
  5175. goto retry
  5176. retry:
  5177. ;
  5178. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  5179. if config == cfg {
  5180. return int32(m_FcTrue)
  5181. }
  5182. if config != 0 && !(*(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0) {
  5183. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  5184. return m_FcFalse
  5185. }
  5186. }
  5187. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  5188. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  5189. v1 = libc.Int32FromInt32(m_FcTrue)
  5190. } else {
  5191. v1 = m_FcFalse
  5192. }
  5193. if !(v1 != 0) {
  5194. goto retry
  5195. }
  5196. XIA__FcConfigReference(tls, config)
  5197. if cfg != 0 {
  5198. XIA__FcConfigDestroy(tls, cfg)
  5199. }
  5200. return int32(m_FcTrue)
  5201. }
  5202. var XFcConfigSetCurrent = XIA__FcConfigSetCurrent
  5203. func XIA__FcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  5204. return _FcConfigEnsure(tls)
  5205. }
  5206. var XFcConfigGetCurrent = XIA__FcConfigGetCurrent
  5207. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5208. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  5209. }
  5210. func XIA__FcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5211. if !(config != 0) {
  5212. config = XIA__FcConfigGetCurrent(tls)
  5213. if !(config != 0) {
  5214. return uintptr(0)
  5215. }
  5216. }
  5217. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  5218. }
  5219. var XFcConfigGetConfigDirs = XIA__FcConfigGetConfigDirs
  5220. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5221. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d)
  5222. }
  5223. func XIA__FcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5224. if !(config != 0) {
  5225. config = XIA__FcConfigGetCurrent(tls)
  5226. if !(config != 0) {
  5227. return uintptr(0)
  5228. }
  5229. }
  5230. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  5231. }
  5232. var XFcConfigGetFontDirs = XIA__FcConfigGetFontDirs
  5233. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  5234. return XIA__FcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  5235. }
  5236. func XIA__FcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  5237. if !(config != 0) {
  5238. config = XIA__FcConfigGetCurrent(tls)
  5239. if !(config != 0) {
  5240. return uintptr(0)
  5241. }
  5242. }
  5243. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5244. }
  5245. var XFcConfigGetCacheDirs = XIA__FcConfigGetCacheDirs
  5246. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  5247. var file uintptr
  5248. var ret TFcBool
  5249. _, _ = file, ret
  5250. file = XIA__FcConfigFilename(tls, f)
  5251. if !(file != 0) {
  5252. return m_FcFalse
  5253. }
  5254. ret = XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  5255. XIA__FcStrFree(tls, file)
  5256. return ret
  5257. }
  5258. func XIA__FcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  5259. if !(config != 0) {
  5260. config = XIA__FcConfigGetCurrent(tls)
  5261. if !(config != 0) {
  5262. return uintptr(0)
  5263. }
  5264. }
  5265. return XIA__FcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  5266. }
  5267. var XFcConfigGetConfigFiles = XIA__FcConfigGetConfigFiles
  5268. func XIA__FcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  5269. return libc.UintptrFromInt32(0)
  5270. }
  5271. var XFcConfigGetCache = XIA__FcConfigGetCache
  5272. func XIA__FcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  5273. if !(config != 0) {
  5274. config = XIA__FcConfigGetCurrent(tls)
  5275. if !(config != 0) {
  5276. return uintptr(0)
  5277. }
  5278. }
  5279. return *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8))
  5280. }
  5281. var XFcConfigGetFonts = XIA__FcConfigGetFonts
  5282. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  5283. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) != 0 {
  5284. XIA__FcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)))
  5285. }
  5286. *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(set)*8)) = fonts
  5287. }
  5288. func XIA__FcBlanksCreate(tls *libc.TLS) (r uintptr) {
  5289. /* Deprecated. */
  5290. return libc.UintptrFromInt32(0)
  5291. }
  5292. var XFcBlanksCreate = XIA__FcBlanksCreate
  5293. func XIA__FcBlanksDestroy(tls *libc.TLS, b uintptr) {
  5294. /* Deprecated. */
  5295. }
  5296. var XFcBlanksDestroy = XIA__FcBlanksDestroy
  5297. func XIA__FcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5298. /* Deprecated. */
  5299. return m_FcFalse
  5300. }
  5301. var XFcBlanksAdd = XIA__FcBlanksAdd
  5302. func XIA__FcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  5303. /* Deprecated. */
  5304. return m_FcFalse
  5305. }
  5306. var XFcBlanksIsMember = XIA__FcBlanksIsMember
  5307. func XIA__FcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  5308. /* Deprecated. */
  5309. return libc.UintptrFromInt32(0)
  5310. }
  5311. var XFcConfigGetBlanks = XIA__FcConfigGetBlanks
  5312. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  5313. /* Deprecated. */
  5314. return m_FcFalse
  5315. }
  5316. func XIA__FcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  5317. if !(config != 0) {
  5318. config = XIA__FcConfigGetCurrent(tls)
  5319. if !(config != 0) {
  5320. return 0
  5321. }
  5322. }
  5323. return (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  5324. }
  5325. var XFcConfigGetRescanInterval = XIA__FcConfigGetRescanInterval
  5326. func XIA__FcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5327. if !(config != 0) {
  5328. config = XIA__FcConfigGetCurrent(tls)
  5329. if !(config != 0) {
  5330. return m_FcFalse
  5331. }
  5332. }
  5333. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  5334. return int32(m_FcTrue)
  5335. }
  5336. var XFcConfigSetRescanInterval = XIA__FcConfigSetRescanInterval
  5337. // C documentation
  5338. //
  5339. // /*
  5340. // * A couple of typos escaped into the library
  5341. // */
  5342. func XIA__FcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  5343. return XIA__FcConfigGetRescanInterval(tls, config)
  5344. }
  5345. var XFcConfigGetRescanInverval = XIA__FcConfigGetRescanInverval
  5346. func XIA__FcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  5347. return XIA__FcConfigSetRescanInterval(tls, config, rescanInterval)
  5348. }
  5349. var XFcConfigSetRescanInverval = XIA__FcConfigSetRescanInverval
  5350. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  5351. /* deprecated */
  5352. return m_FcFalse
  5353. }
  5354. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  5355. bp := tls.Alloc(16)
  5356. defer tls.Free(16)
  5357. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  5358. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  5359. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5360. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  5361. } else {
  5362. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeMatrix) {
  5363. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  5364. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5365. } else {
  5366. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) && u.Ftype1 == int32(_FcTypeLangSet) {
  5367. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  5368. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5369. } else {
  5370. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeLangSet) {
  5371. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  5372. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5373. } else {
  5374. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeVoid) && u.Ftype1 == int32(_FcTypeCharSet) {
  5375. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  5376. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5377. }
  5378. }
  5379. }
  5380. }
  5381. }
  5382. if buf != 0 && (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && u.Ftype1 == int32(_FcTypeRange) {
  5383. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  5384. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5385. }
  5386. return *(*TFcValue)(unsafe.Pointer(bp))
  5387. }
  5388. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r TFcBool) {
  5389. bp := tls.Alloc(544)
  5390. defer tls.Free(544)
  5391. var flags int32
  5392. var op TFcOp
  5393. var ret TFcBool
  5394. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  5395. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  5396. var _ /* left at bp+0 */ TFcValue
  5397. var _ /* right at bp+16 */ TFcValue
  5398. _, _, _ = flags, op, ret
  5399. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  5400. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  5401. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  5402. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  5403. ret = m_FcFalse
  5404. op = libc.Int32FromUint32(op_ & libc.Uint32FromInt32(0xffff))
  5405. flags = libc.Int32FromUint32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  5406. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  5407. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  5408. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5409. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  5410. case int32(_FcTypeUnknown):
  5411. case int32(_FcTypeInteger):
  5412. case int32(_FcTypeDouble):
  5413. switch op {
  5414. case int32(_FcOpEqual):
  5415. fallthrough
  5416. case int32(_FcOpContains):
  5417. fallthrough
  5418. case int32(_FcOpListing):
  5419. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5420. case int32(_FcOpNotEqual):
  5421. fallthrough
  5422. case int32(_FcOpNotContains):
  5423. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) != *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5424. case int32(_FcOpLess):
  5425. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) < *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5426. case int32(_FcOpLessEqual):
  5427. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) <= *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5428. case int32(_FcOpMore):
  5429. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) > *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5430. case int32(_FcOpMoreEqual):
  5431. ret = libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) >= *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5432. default:
  5433. break
  5434. }
  5435. case int32(_FcTypeBool):
  5436. switch op {
  5437. case int32(_FcOpEqual):
  5438. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  5439. case int32(_FcOpContains):
  5440. fallthrough
  5441. case int32(_FcOpListing):
  5442. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5443. case int32(_FcOpNotEqual):
  5444. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  5445. case int32(_FcOpNotContains):
  5446. ret = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare)))
  5447. case int32(_FcOpLess):
  5448. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) && *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) == int32(m_FcDontCare))
  5449. case int32(_FcOpLessEqual):
  5450. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) == int32(m_FcDontCare))
  5451. case int32(_FcOpMore):
  5452. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) != *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) && *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5453. case int32(_FcOpMoreEqual):
  5454. ret = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) || *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcDontCare))
  5455. default:
  5456. break
  5457. }
  5458. case int32(_FcTypeString):
  5459. switch op {
  5460. case int32(_FcOpEqual):
  5461. fallthrough
  5462. case int32(_FcOpListing):
  5463. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5464. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  5465. } else {
  5466. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  5467. }
  5468. case int32(_FcOpContains):
  5469. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != uintptr(0))
  5470. case int32(_FcOpNotEqual):
  5471. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  5472. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0)
  5473. } else {
  5474. ret = libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0)
  5475. }
  5476. case int32(_FcOpNotContains):
  5477. ret = libc.BoolInt32(XIA__FcStrStrIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == uintptr(0))
  5478. default:
  5479. break
  5480. }
  5481. case int32(_FcTypeMatrix):
  5482. switch op {
  5483. case int32(_FcOpEqual):
  5484. fallthrough
  5485. case int32(_FcOpContains):
  5486. fallthrough
  5487. case int32(_FcOpListing):
  5488. ret = XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5489. case int32(_FcOpNotEqual):
  5490. fallthrough
  5491. case int32(_FcOpNotContains):
  5492. ret = libc.BoolInt32(!(XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5493. default:
  5494. break
  5495. }
  5496. case int32(_FcTypeCharSet):
  5497. switch op {
  5498. case int32(_FcOpContains):
  5499. fallthrough
  5500. case int32(_FcOpListing):
  5501. /* left contains right if right is a subset of left */
  5502. ret = XIA__FcCharSetIsSubset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8)))
  5503. case int32(_FcOpNotContains):
  5504. /* left contains right if right is a subset of left */
  5505. ret = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8))) != 0))
  5506. case int32(_FcOpEqual):
  5507. ret = XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5508. case int32(_FcOpNotEqual):
  5509. ret = libc.BoolInt32(!(XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5510. default:
  5511. break
  5512. }
  5513. case int32(_FcTypeLangSet):
  5514. switch op {
  5515. case int32(_FcOpContains):
  5516. fallthrough
  5517. case int32(_FcOpListing):
  5518. ret = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5519. case int32(_FcOpNotContains):
  5520. ret = libc.BoolInt32(!(XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5521. case int32(_FcOpEqual):
  5522. ret = XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5523. case int32(_FcOpNotEqual):
  5524. ret = libc.BoolInt32(!(XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) != 0))
  5525. default:
  5526. break
  5527. }
  5528. case int32(_FcTypeVoid):
  5529. switch op {
  5530. case int32(_FcOpEqual):
  5531. fallthrough
  5532. case int32(_FcOpContains):
  5533. fallthrough
  5534. case int32(_FcOpListing):
  5535. ret = int32(m_FcTrue)
  5536. default:
  5537. break
  5538. }
  5539. case int32(_FcTypeFTFace):
  5540. switch op {
  5541. case int32(_FcOpEqual):
  5542. fallthrough
  5543. case int32(_FcOpContains):
  5544. fallthrough
  5545. case int32(_FcOpListing):
  5546. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5547. case int32(_FcOpNotEqual):
  5548. fallthrough
  5549. case int32(_FcOpNotContains):
  5550. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) != *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5551. default:
  5552. break
  5553. }
  5554. case int32(_FcTypeRange):
  5555. ret = XFcRangeCompare(tls, op, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  5556. break
  5557. }
  5558. } else {
  5559. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  5560. ret = int32(m_FcTrue)
  5561. }
  5562. }
  5563. return ret
  5564. }
  5565. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  5566. bp := tls.Alloc(688)
  5567. defer tls.Free(688)
  5568. var m, str uintptr
  5569. var op TFcOp
  5570. var v1, v2, v3, v4, v5, v6, v7 int32
  5571. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  5572. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  5573. var _ /* m at bp+592 */ TFcMatrix
  5574. var _ /* v at bp+0 */ TFcValue
  5575. var _ /* vl at bp+16 */ TFcValue
  5576. var _ /* vle at bp+48 */ TFcValue
  5577. var _ /* vr at bp+32 */ TFcValue
  5578. var _ /* vre at bp+64 */ TFcValue
  5579. var _ /* xx at bp+624 */ TFcValue
  5580. var _ /* xy at bp+640 */ TFcValue
  5581. var _ /* yx at bp+656 */ TFcValue
  5582. var _ /* yy at bp+672 */ TFcValue
  5583. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  5584. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  5585. switch op {
  5586. case int32(_FcOpInteger):
  5587. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5588. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  5589. case int32(_FcOpDouble):
  5590. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5591. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5592. case int32(_FcOpString):
  5593. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  5594. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5595. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5596. case int32(_FcOpMatrix):
  5597. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5598. *(*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))
  5599. *(*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))
  5600. *(*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))
  5601. *(*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))
  5602. 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) {
  5603. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  5604. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  5605. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  5606. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  5607. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  5608. } else {
  5609. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5610. }
  5611. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5612. case int32(_FcOpCharSet):
  5613. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5614. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5615. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5616. case int32(_FcOpLangSet):
  5617. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5618. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5619. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5620. case int32(_FcOpRange):
  5621. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  5622. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5623. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5624. case int32(_FcOpBool):
  5625. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5626. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  5627. case int32(_FcOpField):
  5628. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  5629. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  5630. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5631. }
  5632. } else {
  5633. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  5634. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+954, 0)
  5635. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5636. } else {
  5637. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  5638. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5639. }
  5640. }
  5641. }
  5642. *(*TFcValue)(unsafe.Pointer(bp)) = XIA__FcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  5643. case int32(_FcOpConst):
  5644. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  5645. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5646. } else {
  5647. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5648. }
  5649. case int32(_FcOpQuest):
  5650. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5651. Fleft uintptr
  5652. Fright uintptr
  5653. })(unsafe.Pointer(e + 8))).Fleft)
  5654. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  5655. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  5656. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5657. Fleft uintptr
  5658. Fright uintptr
  5659. })(unsafe.Pointer((*(*struct {
  5660. Fleft uintptr
  5661. Fright uintptr
  5662. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  5663. } else {
  5664. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5665. Fleft uintptr
  5666. Fright uintptr
  5667. })(unsafe.Pointer((*(*struct {
  5668. Fleft uintptr
  5669. Fright uintptr
  5670. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  5671. }
  5672. } else {
  5673. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5674. }
  5675. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5676. case int32(_FcOpEqual):
  5677. fallthrough
  5678. case int32(_FcOpNotEqual):
  5679. fallthrough
  5680. case int32(_FcOpLess):
  5681. fallthrough
  5682. case int32(_FcOpLessEqual):
  5683. fallthrough
  5684. case int32(_FcOpMore):
  5685. fallthrough
  5686. case int32(_FcOpMoreEqual):
  5687. fallthrough
  5688. case int32(_FcOpContains):
  5689. fallthrough
  5690. case int32(_FcOpNotContains):
  5691. fallthrough
  5692. case int32(_FcOpListing):
  5693. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5694. Fleft uintptr
  5695. Fright uintptr
  5696. })(unsafe.Pointer(e + 8))).Fleft)
  5697. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5698. Fleft uintptr
  5699. Fright uintptr
  5700. })(unsafe.Pointer(e + 8))).Fright)
  5701. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5702. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  5703. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5704. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  5705. case int32(_FcOpOr):
  5706. fallthrough
  5707. case int32(_FcOpAnd):
  5708. fallthrough
  5709. case int32(_FcOpPlus):
  5710. fallthrough
  5711. case int32(_FcOpMinus):
  5712. fallthrough
  5713. case int32(_FcOpTimes):
  5714. fallthrough
  5715. case int32(_FcOpDivide):
  5716. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5717. Fleft uintptr
  5718. Fright uintptr
  5719. })(unsafe.Pointer(e + 8))).Fleft)
  5720. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5721. Fleft uintptr
  5722. Fright uintptr
  5723. })(unsafe.Pointer(e + 8))).Fright)
  5724. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  5725. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  5726. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  5727. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  5728. case int32(_FcTypeDouble):
  5729. switch op {
  5730. case int32(_FcOpPlus):
  5731. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5732. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5733. case int32(_FcOpMinus):
  5734. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5735. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5736. case int32(_FcOpTimes):
  5737. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5738. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5739. case int32(_FcOpDivide):
  5740. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  5741. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  5742. default:
  5743. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5744. break
  5745. }
  5746. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  5747. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5748. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  5749. }
  5750. case int32(_FcTypeBool):
  5751. switch op {
  5752. case int32(_FcOpOr):
  5753. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5754. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  5755. case int32(_FcOpAnd):
  5756. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5757. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  5758. default:
  5759. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5760. break
  5761. }
  5762. case int32(_FcTypeString):
  5763. switch op {
  5764. case int32(_FcOpPlus):
  5765. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  5766. str = XIA__FcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5767. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  5768. XIA__FcStrFree(tls, str)
  5769. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5770. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5771. }
  5772. default:
  5773. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5774. break
  5775. }
  5776. case int32(_FcTypeMatrix):
  5777. switch op {
  5778. case int32(_FcOpTimes):
  5779. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  5780. m = libc.Xmalloc(tls, uint64(32))
  5781. if m != 0 {
  5782. XIA__FcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5783. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  5784. } else {
  5785. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5786. }
  5787. default:
  5788. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5789. break
  5790. }
  5791. case int32(_FcTypeCharSet):
  5792. switch op {
  5793. case int32(_FcOpPlus):
  5794. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5795. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5796. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5797. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5798. }
  5799. case int32(_FcOpMinus):
  5800. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  5801. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5802. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5803. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5804. }
  5805. default:
  5806. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5807. break
  5808. }
  5809. case int32(_FcTypeLangSet):
  5810. switch op {
  5811. case int32(_FcOpPlus):
  5812. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5813. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5814. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5815. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5816. }
  5817. case int32(_FcOpMinus):
  5818. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  5819. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  5820. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  5821. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5822. }
  5823. default:
  5824. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5825. break
  5826. }
  5827. default:
  5828. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5829. break
  5830. }
  5831. } else {
  5832. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5833. }
  5834. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5835. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  5836. case int32(_FcOpNot):
  5837. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5838. Fleft uintptr
  5839. Fright uintptr
  5840. })(unsafe.Pointer(e + 8))).Fleft)
  5841. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5842. case int32(_FcTypeBool):
  5843. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  5844. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  5845. default:
  5846. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5847. break
  5848. }
  5849. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5850. case int32(_FcOpFloor):
  5851. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5852. Fleft uintptr
  5853. Fright uintptr
  5854. })(unsafe.Pointer(e + 8))).Fleft)
  5855. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5856. case int32(_FcTypeInteger):
  5857. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5858. case int32(_FcTypeDouble):
  5859. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5860. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5861. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5862. } else {
  5863. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  5864. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5865. } else {
  5866. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  5867. }
  5868. v1 = -v2
  5869. }
  5870. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  5871. default:
  5872. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5873. break
  5874. }
  5875. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5876. case int32(_FcOpCeil):
  5877. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5878. Fleft uintptr
  5879. Fright uintptr
  5880. })(unsafe.Pointer(e + 8))).Fleft)
  5881. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5882. case int32(_FcTypeInteger):
  5883. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5884. case int32(_FcTypeDouble):
  5885. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5886. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5887. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  5888. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5889. } else {
  5890. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  5891. }
  5892. v3 = v4
  5893. } else {
  5894. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5895. }
  5896. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  5897. default:
  5898. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5899. break
  5900. }
  5901. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5902. case int32(_FcOpRound):
  5903. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5904. Fleft uintptr
  5905. Fright uintptr
  5906. })(unsafe.Pointer(e + 8))).Fleft)
  5907. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5908. case int32(_FcTypeInteger):
  5909. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5910. case int32(_FcTypeDouble):
  5911. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5912. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  5913. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  5914. } else {
  5915. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  5916. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  5917. } else {
  5918. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  5919. }
  5920. v5 = -v6
  5921. }
  5922. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  5923. default:
  5924. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5925. break
  5926. }
  5927. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5928. case int32(_FcOpTrunc):
  5929. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5930. Fleft uintptr
  5931. Fright uintptr
  5932. })(unsafe.Pointer(e + 8))).Fleft)
  5933. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  5934. case int32(_FcTypeInteger):
  5935. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  5936. case int32(_FcTypeDouble):
  5937. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  5938. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  5939. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5940. } else {
  5941. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  5942. }
  5943. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  5944. default:
  5945. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5946. break
  5947. }
  5948. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  5949. default:
  5950. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  5951. break
  5952. }
  5953. return *(*TFcValue)(unsafe.Pointer(bp))
  5954. }
  5955. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr) (r uintptr) {
  5956. bp := tls.Alloc(16)
  5957. defer tls.Free(16)
  5958. var e, ret, v, v2 uintptr
  5959. var _ /* value at bp+0 */ TFcValue
  5960. _, _, _, _ = e, ret, v, v2
  5961. ret = uintptr(0)
  5962. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  5963. for e != 0 {
  5964. /* Compute the value of the match expression */
  5965. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  5966. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  5967. Fleft uintptr
  5968. Fright uintptr
  5969. })(unsafe.Pointer(e + 8))).Fleft)
  5970. e = (*(*struct {
  5971. Fleft uintptr
  5972. Fright uintptr
  5973. })(unsafe.Pointer(e + 8))).Fright
  5974. } else {
  5975. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  5976. e = uintptr(0)
  5977. }
  5978. v = values
  5979. for {
  5980. if !(v != 0) {
  5981. break
  5982. }
  5983. /* Compare the pattern value to the match expression value */
  5984. if XFcConfigCompareValue(tls, v+8, libc.Uint32FromInt32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  5985. if !(ret != 0) {
  5986. ret = v
  5987. }
  5988. } else {
  5989. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  5990. ret = uintptr(0)
  5991. break
  5992. }
  5993. }
  5994. goto _1
  5995. _1:
  5996. ;
  5997. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  5998. v2 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5999. } else {
  6000. v2 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  6001. }
  6002. v = v2
  6003. }
  6004. XIA__FcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  6005. }
  6006. return ret
  6007. }
  6008. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  6009. var l, next, v1 uintptr
  6010. _, _, _ = l, next, v1
  6011. if !(e != 0) {
  6012. return uintptr(0)
  6013. }
  6014. l = libc.Xmalloc(tls, uint64(32))
  6015. if !(l != 0) {
  6016. return uintptr(0)
  6017. }
  6018. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  6019. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  6020. Fleft uintptr
  6021. Fright uintptr
  6022. })(unsafe.Pointer(e + 8))).Fleft)
  6023. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  6024. Fleft uintptr
  6025. Fright uintptr
  6026. })(unsafe.Pointer(e + 8))).Fright, binding)
  6027. } else {
  6028. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  6029. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  6030. }
  6031. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  6032. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  6033. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  6034. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6035. } else {
  6036. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  6037. }
  6038. next = v1
  6039. libc.Xfree(tls, l)
  6040. l = next
  6041. }
  6042. return l
  6043. }
  6044. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject) (r TFcBool) {
  6045. bp := tls.Alloc(16)
  6046. defer tls.Free(16)
  6047. var l, last, v TFcValueListPtr
  6048. var prev, v2, v4, v7, v8 uintptr
  6049. var sameBinding TFcValueBinding
  6050. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  6051. /*
  6052. * Make sure the stored type is valid for built-in objects
  6053. */
  6054. l = new1
  6055. for {
  6056. if !(l != libc.UintptrFromInt32(0)) {
  6057. break
  6058. }
  6059. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  6060. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+8, XFcObjectName(tls, object)))
  6061. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  6062. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  6063. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6064. libc.Xprintf(tls, __ccgo_ts+1099, 0)
  6065. }
  6066. return m_FcFalse
  6067. }
  6068. goto _1
  6069. _1:
  6070. ;
  6071. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  6072. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6073. } else {
  6074. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  6075. }
  6076. l = v2
  6077. }
  6078. if position != 0 {
  6079. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  6080. } else {
  6081. sameBinding = int32(_FcValueBindingWeak)
  6082. }
  6083. v = new1
  6084. for {
  6085. if !(v != libc.UintptrFromInt32(0)) {
  6086. break
  6087. }
  6088. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  6089. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  6090. }
  6091. goto _3
  6092. _3:
  6093. ;
  6094. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  6095. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6096. } else {
  6097. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  6098. }
  6099. v = v4
  6100. }
  6101. if append1 != 0 {
  6102. if position != 0 {
  6103. prev = position
  6104. } else {
  6105. prev = head
  6106. for {
  6107. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6108. break
  6109. }
  6110. goto _5
  6111. _5:
  6112. ;
  6113. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6114. }
  6115. }
  6116. } else {
  6117. if position != 0 {
  6118. prev = head
  6119. for {
  6120. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6121. break
  6122. }
  6123. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6124. break
  6125. }
  6126. goto _6
  6127. _6:
  6128. ;
  6129. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6130. }
  6131. } else {
  6132. prev = head
  6133. }
  6134. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6135. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  6136. libc.Xprintf(tls, __ccgo_ts+1111, 0)
  6137. }
  6138. }
  6139. }
  6140. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6141. if append1 != 0 {
  6142. v7 = __ccgo_ts + 1133
  6143. } else {
  6144. v7 = __ccgo_ts + 1140
  6145. }
  6146. libc.Xprintf(tls, __ccgo_ts+1148, libc.VaList(bp+8, v7))
  6147. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  6148. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  6149. }
  6150. if new1 != 0 {
  6151. last = new1
  6152. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  6153. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  6154. }
  6155. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6156. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  6157. }
  6158. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6159. if append1 != 0 {
  6160. v8 = __ccgo_ts + 1133
  6161. } else {
  6162. v8 = __ccgo_ts + 1140
  6163. }
  6164. libc.Xprintf(tls, __ccgo_ts+1164, libc.VaList(bp+8, v8))
  6165. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  6166. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  6167. }
  6168. return int32(m_FcTrue)
  6169. }
  6170. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr) {
  6171. var prev uintptr
  6172. _ = prev
  6173. prev = head
  6174. for {
  6175. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  6176. break
  6177. }
  6178. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  6179. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  6180. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  6181. XFcValueListDestroy(tls, position)
  6182. break
  6183. }
  6184. goto _1
  6185. _1:
  6186. ;
  6187. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  6188. }
  6189. }
  6190. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool) {
  6191. var e uintptr
  6192. _ = e
  6193. if list != 0 {
  6194. e = XFcPatternObjectInsertElt(tls, p, object)
  6195. if !(e != 0) {
  6196. return
  6197. }
  6198. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object)
  6199. }
  6200. }
  6201. // C documentation
  6202. //
  6203. // /*
  6204. // * Delete all values associated with a field
  6205. // */
  6206. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject) {
  6207. var e uintptr
  6208. _ = e
  6209. e = XFcPatternObjectFindElt(tls, p, object)
  6210. if !(e != 0) {
  6211. return
  6212. }
  6213. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  6214. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  6215. }
  6216. }
  6217. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  6218. var e uintptr
  6219. _ = e
  6220. e = XFcPatternObjectFindElt(tls, p, object)
  6221. if !(e != 0) {
  6222. return
  6223. }
  6224. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  6225. XFcPatternObjectDel(tls, p, object)
  6226. }
  6227. }
  6228. func XIA__FcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  6229. bp := tls.Alloc(112)
  6230. defer tls.Free(112)
  6231. var b, retval TFcBool
  6232. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, thisValue, tst, value, vl, v1, v4, v5 uintptr
  6233. var i, nobjs int32
  6234. var ll TFcValueListPtr
  6235. var object TFcObject
  6236. var v2 bool
  6237. var _ /* iter at bp+16 */ TFcPtrListIter
  6238. var _ /* iter2 at bp+40 */ TFcPtrListIter
  6239. var _ /* v at bp+0 */ TFcValue
  6240. var _ /* v at bp+64 */ TFcValue
  6241. var _ /* vv at bp+80 */ TFcValue
  6242. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, thisValue, tst, value, vl, v1, v2, v4, v5
  6243. value = libc.UintptrFromInt32(0)
  6244. object = int32(_FC_INVALID_OBJECT)
  6245. elt = libc.UintptrFromInt32(0)
  6246. retval = int32(m_FcTrue)
  6247. tst = libc.UintptrFromInt32(0)
  6248. if !(config != 0) {
  6249. config = XIA__FcConfigGetCurrent(tls)
  6250. if !(config != 0) {
  6251. return m_FcFalse
  6252. }
  6253. }
  6254. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  6255. return m_FcFalse
  6256. }
  6257. s = *(*uintptr)(unsafe.Pointer(config + 32 + uintptr(kind)*8))
  6258. if kind == int32(_FcMatchPattern) {
  6259. strs = XIA__FcGetDefaultLangs(tls)
  6260. if strs != 0 {
  6261. l1 = XIA__FcStrListCreate(tls, strs)
  6262. lsund = XIA__FcLangSetCreate(tls)
  6263. XIA__FcLangSetAdd(tls, lsund, __ccgo_ts+1179)
  6264. XIA__FcStrSetDestroy(tls, strs)
  6265. for {
  6266. if v2 = l1 != 0; v2 {
  6267. v1 = XIA__FcStrListNext(tls, l1)
  6268. lang = v1
  6269. }
  6270. if !(v2 && v1 != 0) {
  6271. break
  6272. }
  6273. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  6274. if e1 != 0 {
  6275. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  6276. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  6277. } else {
  6278. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  6279. }
  6280. ll = v4
  6281. for {
  6282. if !(ll != 0) {
  6283. break
  6284. }
  6285. *(*TFcValue)(unsafe.Pointer(bp + 80)) = TFcValue{}
  6286. *(*T_FcValue)(unsafe.Pointer(bp + 80)) = XFcValueCanonicalize(tls, ll+8)
  6287. if (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 == int32(_FcTypeLangSet) {
  6288. ls = XIA__FcLangSetCreate(tls)
  6289. XIA__FcLangSetAdd(tls, ls, lang)
  6290. b = XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), ls)
  6291. XIA__FcLangSetDestroy(tls, ls)
  6292. if b != 0 {
  6293. goto bail_lang
  6294. }
  6295. if XIA__FcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), lsund) != 0 {
  6296. goto bail_lang
  6297. }
  6298. } else {
  6299. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), lang) == 0 {
  6300. goto bail_lang
  6301. }
  6302. if XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 80 + 8)), __ccgo_ts+1179) == 0 {
  6303. goto bail_lang
  6304. }
  6305. }
  6306. goto _3
  6307. _3:
  6308. ;
  6309. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  6310. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  6311. } else {
  6312. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  6313. }
  6314. ll = v5
  6315. }
  6316. }
  6317. (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 = int32(_FcTypeString)
  6318. *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) = lang
  6319. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 64)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  6320. }
  6321. goto bail_lang
  6322. bail_lang:
  6323. ;
  6324. XIA__FcStrListDone(tls, l1)
  6325. XIA__FcLangSetDestroy(tls, lsund)
  6326. }
  6327. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  6328. prgname = XFcGetPrgname(tls)
  6329. if prgname != 0 {
  6330. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  6331. }
  6332. }
  6333. }
  6334. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  6335. value = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6336. if !(value != 0) {
  6337. retval = m_FcFalse
  6338. goto bail1
  6339. }
  6340. elt = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6341. if !(elt != 0) {
  6342. retval = m_FcFalse
  6343. goto bail1
  6344. }
  6345. tst = libc.Xmalloc(tls, libc.Uint64FromInt32(int32(m_SIZEOF_VOID_P)*nobjs))
  6346. if !(tst != 0) {
  6347. retval = m_FcFalse
  6348. goto bail1
  6349. }
  6350. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6351. libc.Xprintf(tls, __ccgo_ts+1183, 0)
  6352. XIA__FcPatternPrint(tls, p)
  6353. }
  6354. XFcPtrListIterInit(tls, s, bp+16)
  6355. for {
  6356. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  6357. break
  6358. }
  6359. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  6360. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6361. libc.Xprintf(tls, __ccgo_ts+1203, libc.VaList(bp+104, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  6362. }
  6363. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6364. for {
  6365. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  6366. break
  6367. }
  6368. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6369. i = 0
  6370. for {
  6371. if !(i < nobjs) {
  6372. break
  6373. }
  6374. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6375. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6376. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  6377. goto _8
  6378. _8:
  6379. ;
  6380. i++
  6381. }
  6382. for {
  6383. if !(r != 0) {
  6384. break
  6385. }
  6386. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  6387. case int32(_FcRuleUnknown):
  6388. /* shouldn't be reached */
  6389. case int32(_FcRuleTest):
  6390. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6391. /*
  6392. * Check the tests to see if
  6393. * they all match the pattern
  6394. */
  6395. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6396. libc.Xprintf(tls, __ccgo_ts+1218, 0)
  6397. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  6398. }
  6399. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  6400. m = p_pat
  6401. } else {
  6402. m = p
  6403. }
  6404. if m != 0 {
  6405. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6406. } else {
  6407. e = libc.UintptrFromInt32(0)
  6408. }
  6409. /* different 'kind' won't be the target of edit */
  6410. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  6411. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  6412. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  6413. }
  6414. /*
  6415. * If there's no such field in the font,
  6416. * then FcQualAll matches while FcQualAny does not
  6417. */
  6418. if !(e != 0) {
  6419. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  6420. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  6421. goto _9
  6422. } else {
  6423. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6424. libc.Xprintf(tls, __ccgo_ts+1243, 0)
  6425. }
  6426. goto bail
  6427. }
  6428. }
  6429. /*
  6430. * Check to see if there is a match, mark the location
  6431. * to apply match-relative edits
  6432. */
  6433. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  6434. /* different 'kind' won't be the target of edit */
  6435. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  6436. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  6437. }
  6438. 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 {
  6439. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6440. libc.Xprintf(tls, __ccgo_ts+1243, 0)
  6441. }
  6442. goto bail
  6443. }
  6444. case int32(_FcRuleEdit):
  6445. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  6446. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6447. libc.Xprintf(tls, __ccgo_ts+1253, 0)
  6448. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  6449. libc.Xprintf(tls, __ccgo_ts+1265, 0)
  6450. }
  6451. /*
  6452. * Evaluate the list of expressions
  6453. */
  6454. 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)
  6455. 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)) {
  6456. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  6457. }
  6458. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  6459. case int32(_FcOpAssign):
  6460. /*
  6461. * If there was a test, then replace the matched
  6462. * value with the new list of values
  6463. */
  6464. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6465. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  6466. nextValue = l
  6467. /*
  6468. * Append the new list of values after the current value
  6469. */
  6470. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6471. /*
  6472. * Delete the marked value
  6473. */
  6474. if thisValue != 0 {
  6475. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue)
  6476. }
  6477. /*
  6478. * Adjust a pointer into the value list to ensure
  6479. * future edits occur at the same place
  6480. */
  6481. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  6482. break
  6483. }
  6484. /* fall through ... */
  6485. fallthrough
  6486. case int32(_FcOpAssignReplace):
  6487. /*
  6488. * Delete all of the values and insert
  6489. * the new set
  6490. */
  6491. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6492. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue))
  6493. /*
  6494. * Adjust a pointer into the value list as they no
  6495. * longer point to anything valid
  6496. */
  6497. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  6498. case int32(_FcOpPrepend):
  6499. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6500. _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)
  6501. break
  6502. }
  6503. /* fall through ... */
  6504. fallthrough
  6505. case int32(_FcOpPrependFirst):
  6506. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse)
  6507. case int32(_FcOpAppend):
  6508. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6509. _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)
  6510. break
  6511. }
  6512. /* fall through ... */
  6513. fallthrough
  6514. case int32(_FcOpAppendLast):
  6515. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue))
  6516. case int32(_FcOpDelete):
  6517. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  6518. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)))
  6519. XFcValueListDestroy(tls, l)
  6520. break
  6521. }
  6522. /* fall through ... */
  6523. fallthrough
  6524. case int32(_FcOpDeleteAll):
  6525. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6526. XFcValueListDestroy(tls, l)
  6527. default:
  6528. XFcValueListDestroy(tls, l)
  6529. break
  6530. }
  6531. /*
  6532. * Now go through the pattern and eliminate
  6533. * any properties without data
  6534. */
  6535. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  6536. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6537. libc.Xprintf(tls, __ccgo_ts+1268, 0)
  6538. XIA__FcPatternPrint(tls, p)
  6539. }
  6540. break
  6541. }
  6542. goto _9
  6543. _9:
  6544. ;
  6545. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  6546. }
  6547. goto bail
  6548. bail:
  6549. ;
  6550. goto _7
  6551. _7:
  6552. ;
  6553. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  6554. }
  6555. goto _6
  6556. _6:
  6557. ;
  6558. XFcPtrListIterNext(tls, s, bp+16)
  6559. }
  6560. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  6561. libc.Xprintf(tls, __ccgo_ts+1292, 0)
  6562. XIA__FcPatternPrint(tls, p)
  6563. }
  6564. goto bail1
  6565. bail1:
  6566. ;
  6567. if elt != 0 {
  6568. libc.Xfree(tls, elt)
  6569. }
  6570. if value != 0 {
  6571. libc.Xfree(tls, value)
  6572. }
  6573. if tst != 0 {
  6574. libc.Xfree(tls, tst)
  6575. }
  6576. return retval
  6577. }
  6578. var XFcConfigSubstituteWithPat = XIA__FcConfigSubstituteWithPat
  6579. func XIA__FcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  6580. return XIA__FcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  6581. }
  6582. var XFcConfigSubstitute = XIA__FcConfigSubstitute
  6583. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  6584. var osize, size int32
  6585. var path uintptr
  6586. _, _, _ = osize, path, size
  6587. if !(dir != 0) {
  6588. dir = __ccgo_ts + 1316
  6589. }
  6590. osize = libc.Int32FromUint64(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  6591. /*
  6592. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  6593. * allocated to implement strlen by reading in groups of 4
  6594. */
  6595. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  6596. path = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  6597. if !(path != 0) {
  6598. return uintptr(0)
  6599. }
  6600. libc.Xstrcpy(tls, path, dir)
  6601. /* make sure there's a single separator */
  6602. 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('/') {
  6603. libc.Xstrcat(tls, path, __ccgo_ts+1317)
  6604. } else {
  6605. osize--
  6606. }
  6607. libc.Xstrcat(tls, path, file)
  6608. if libc.Xaccess(tls, path, int32(m_R_OK)) == 0 {
  6609. return path
  6610. }
  6611. XIA__FcStrFree(tls, path)
  6612. return uintptr(0)
  6613. }
  6614. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  6615. var colon, dir, e, env, path, v1 uintptr
  6616. var i, npath int32
  6617. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  6618. npath = int32(2) /* default dir + null */
  6619. env = libc.Xgetenv(tls, __ccgo_ts+1319)
  6620. if env != 0 {
  6621. e = env
  6622. npath++
  6623. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  6624. v1 = e
  6625. e++
  6626. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  6627. npath++
  6628. }
  6629. }
  6630. }
  6631. path = libc.Xcalloc(tls, libc.Uint64FromInt32(npath), uint64(8))
  6632. if !(path != 0) {
  6633. goto bail0
  6634. }
  6635. i = 0
  6636. if env != 0 {
  6637. e = env
  6638. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  6639. colon = libc.Xstrchr(tls, e, int32(':'))
  6640. if !(colon != 0) {
  6641. colon = e + uintptr(libc.Xstrlen(tls, e))
  6642. }
  6643. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(colon)-int64(e)+int64(1)))
  6644. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6645. goto bail1
  6646. }
  6647. libc.Xstrncpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, libc.Uint64FromInt64(int64(colon)-int64(e)))
  6648. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  6649. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  6650. e = colon + uintptr(1)
  6651. } else {
  6652. e = colon
  6653. }
  6654. i++
  6655. }
  6656. }
  6657. dir = __ccgo_ts + 1335
  6658. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  6659. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6660. goto bail1
  6661. }
  6662. libc.Xstrcpy(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir)
  6663. return path
  6664. goto bail1
  6665. bail1:
  6666. ;
  6667. i = 0
  6668. for {
  6669. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  6670. break
  6671. }
  6672. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  6673. goto _2
  6674. _2:
  6675. ;
  6676. i++
  6677. }
  6678. libc.Xfree(tls, path)
  6679. goto bail0
  6680. bail0:
  6681. ;
  6682. return uintptr(0)
  6683. return r
  6684. }
  6685. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  6686. var p uintptr
  6687. _ = p
  6688. p = path
  6689. for {
  6690. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  6691. break
  6692. }
  6693. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  6694. goto _1
  6695. _1:
  6696. ;
  6697. p += 8
  6698. }
  6699. libc.Xfree(tls, path)
  6700. }
  6701. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  6702. func XIA__FcConfigHome(tls *libc.TLS) (r uintptr) {
  6703. var home uintptr
  6704. _ = home
  6705. if __FcConfigHomeEnabled != 0 {
  6706. home = libc.Xgetenv(tls, __ccgo_ts+1346)
  6707. return home
  6708. }
  6709. return uintptr(0)
  6710. }
  6711. var XFcConfigHome = XIA__FcConfigHome
  6712. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  6713. var env, home, ret uintptr
  6714. var len1 Tsize_t
  6715. var v1 uint64
  6716. _, _, _, _, _ = env, home, len1, ret, v1
  6717. env = libc.Xgetenv(tls, __ccgo_ts+1351)
  6718. ret = libc.UintptrFromInt32(0)
  6719. if !(__FcConfigHomeEnabled != 0) {
  6720. return libc.UintptrFromInt32(0)
  6721. }
  6722. if env != 0 {
  6723. ret = XIA__FcStrCopy(tls, env)
  6724. } else {
  6725. home = XIA__FcConfigHome(tls)
  6726. if home != 0 {
  6727. v1 = libc.Xstrlen(tls, home)
  6728. } else {
  6729. v1 = uint64(0)
  6730. }
  6731. len1 = v1
  6732. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  6733. if ret != 0 {
  6734. if home != 0 {
  6735. libc.Xmemcpy(tls, ret, home, len1)
  6736. }
  6737. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1366, uint64(7))
  6738. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  6739. }
  6740. }
  6741. return ret
  6742. }
  6743. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  6744. var env, home, ret uintptr
  6745. var len1 Tsize_t
  6746. var v1 uint64
  6747. _, _, _, _, _ = env, home, len1, ret, v1
  6748. env = libc.Xgetenv(tls, __ccgo_ts+1374)
  6749. ret = libc.UintptrFromInt32(0)
  6750. if !(__FcConfigHomeEnabled != 0) {
  6751. return libc.UintptrFromInt32(0)
  6752. }
  6753. if env != 0 {
  6754. ret = XIA__FcStrCopy(tls, env)
  6755. } else {
  6756. home = XIA__FcConfigHome(tls)
  6757. if home != 0 {
  6758. v1 = libc.Xstrlen(tls, home)
  6759. } else {
  6760. v1 = uint64(0)
  6761. }
  6762. len1 = v1
  6763. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  6764. if ret != 0 {
  6765. if home != 0 {
  6766. libc.Xmemcpy(tls, ret, home, len1)
  6767. }
  6768. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1390, uint64(8))
  6769. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  6770. }
  6771. }
  6772. return ret
  6773. }
  6774. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  6775. var env, home, ret uintptr
  6776. var len1 Tsize_t
  6777. var v1 uint64
  6778. _, _, _, _, _ = env, home, len1, ret, v1
  6779. env = libc.Xgetenv(tls, __ccgo_ts+1399)
  6780. ret = libc.UintptrFromInt32(0)
  6781. if !(__FcConfigHomeEnabled != 0) {
  6782. return libc.UintptrFromInt32(0)
  6783. }
  6784. if env != 0 {
  6785. ret = XIA__FcStrCopy(tls, env)
  6786. } else {
  6787. home = XIA__FcConfigHome(tls)
  6788. if home != 0 {
  6789. v1 = libc.Xstrlen(tls, home)
  6790. } else {
  6791. v1 = uint64(0)
  6792. }
  6793. len1 = v1
  6794. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  6795. if ret != 0 {
  6796. if home != 0 {
  6797. libc.Xmemcpy(tls, ret, home, len1)
  6798. }
  6799. libc.Xmemcpy(tls, ret+uintptr(len1), __ccgo_ts+1413, uint64(13))
  6800. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  6801. }
  6802. }
  6803. return ret
  6804. }
  6805. func XIA__FcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  6806. var prev TFcBool
  6807. _ = prev
  6808. prev = __FcConfigHomeEnabled
  6809. __FcConfigHomeEnabled = enable
  6810. return prev
  6811. }
  6812. var XFcConfigEnableHome = XIA__FcConfigEnableHome
  6813. func XIA__FcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  6814. var dir, file, p, path uintptr
  6815. _, _, _, _ = dir, file, p, path
  6816. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  6817. url = libc.Xgetenv(tls, __ccgo_ts+1427)
  6818. if !(url != 0) {
  6819. url = __ccgo_ts + 1443
  6820. }
  6821. }
  6822. file = uintptr(0)
  6823. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  6824. return _FcConfigFileExists(tls, uintptr(0), url)
  6825. }
  6826. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  6827. dir = XIA__FcConfigHome(tls)
  6828. if dir != 0 {
  6829. file = _FcConfigFileExists(tls, dir, url+uintptr(1))
  6830. } else {
  6831. file = uintptr(0)
  6832. }
  6833. }
  6834. path = _FcConfigGetPath(tls)
  6835. if !(path != 0) {
  6836. return libc.UintptrFromInt32(0)
  6837. }
  6838. p = path
  6839. for {
  6840. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  6841. break
  6842. }
  6843. file = _FcConfigFileExists(tls, *(*uintptr)(unsafe.Pointer(p)), url)
  6844. if file != 0 {
  6845. break
  6846. }
  6847. goto _1
  6848. _1:
  6849. ;
  6850. p += 8
  6851. }
  6852. _FcConfigFreePath(tls, path)
  6853. return file
  6854. }
  6855. var XFcConfigFilename = XIA__FcConfigFilename
  6856. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  6857. bp := tls.Alloc(4128)
  6858. defer tls.Free(4128)
  6859. var dirname, n, nn, path, sysroot uintptr
  6860. var len1, v1 Tssize_t
  6861. var _ /* buf at bp+0 */ [4096]TFcChar8
  6862. _, _, _, _, _, _, _ = dirname, len1, n, nn, path, sysroot, v1
  6863. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  6864. n = XIA__FcConfigFilename(tls, url)
  6865. nn = libc.UintptrFromInt32(0)
  6866. if n != 0 {
  6867. if sysroot != 0 {
  6868. nn = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+4104, n, libc.UintptrFromInt32(0)))
  6869. } else {
  6870. nn = libc.Xstrdup(tls, n)
  6871. }
  6872. XIA__FcStrFree(tls, n)
  6873. v1 = XFcReadLink(tls, nn, bp, libc.Uint64FromInt64(4096)-libc.Uint64FromInt32(1))
  6874. len1 = v1
  6875. if v1 != int64(-int32(1)) {
  6876. (*(*[4096]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  6877. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  6878. dirname = XIA__FcStrDirname(tls, nn)
  6879. XIA__FcStrFree(tls, nn)
  6880. if !(dirname != 0) {
  6881. return libc.UintptrFromInt32(0)
  6882. }
  6883. path = XFcStrBuildFilename(tls, dirname, libc.VaList(bp+4104, bp, libc.UintptrFromInt32(0)))
  6884. XIA__FcStrFree(tls, dirname)
  6885. if !(path != 0) {
  6886. return libc.UintptrFromInt32(0)
  6887. }
  6888. nn = XFcStrCanonFilename(tls, path)
  6889. XIA__FcStrFree(tls, path)
  6890. } else {
  6891. XIA__FcStrFree(tls, nn)
  6892. nn = libc.Xstrdup(tls, bp)
  6893. }
  6894. }
  6895. }
  6896. return nn
  6897. }
  6898. /*
  6899. * Manage the application-specific fonts
  6900. */
  6901. func XIA__FcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  6902. var set, subdir, subdirs, sublist, v1, v2 uintptr
  6903. _, _, _, _, _, _ = set, subdir, subdirs, sublist, v1, v2
  6904. if !(config != 0) {
  6905. config = XIA__FcConfigGetCurrent(tls)
  6906. if !(config != 0) {
  6907. return m_FcFalse
  6908. }
  6909. }
  6910. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  6911. if !(subdirs != 0) {
  6912. return m_FcFalse
  6913. }
  6914. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  6915. if !(set != 0) {
  6916. set = XIA__FcFontSetCreate(tls)
  6917. if !(set != 0) {
  6918. XIA__FcStrSetDestroy(tls, subdirs)
  6919. return m_FcFalse
  6920. }
  6921. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  6922. }
  6923. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  6924. XIA__FcStrSetDestroy(tls, subdirs)
  6925. return m_FcFalse
  6926. }
  6927. v1 = XIA__FcStrListCreate(tls, subdirs)
  6928. sublist = v1
  6929. if v1 != 0 {
  6930. for {
  6931. v2 = XIA__FcStrListNext(tls, sublist)
  6932. subdir = v2
  6933. if !(v2 != 0) {
  6934. break
  6935. }
  6936. XIA__FcConfigAppFontAddDir(tls, config, subdir)
  6937. }
  6938. XIA__FcStrListDone(tls, sublist)
  6939. }
  6940. XIA__FcStrSetDestroy(tls, subdirs)
  6941. return int32(m_FcTrue)
  6942. }
  6943. var XFcConfigAppFontAddFile = XIA__FcConfigAppFontAddFile
  6944. func XIA__FcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  6945. var dirs, set uintptr
  6946. _, _ = dirs, set
  6947. if !(config != 0) {
  6948. config = XIA__FcConfigGetCurrent(tls)
  6949. if !(config != 0) {
  6950. return m_FcFalse
  6951. }
  6952. }
  6953. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  6954. if !(dirs != 0) {
  6955. return m_FcFalse
  6956. }
  6957. set = XIA__FcConfigGetFonts(tls, config, int32(_FcSetApplication))
  6958. if !(set != 0) {
  6959. set = XIA__FcFontSetCreate(tls)
  6960. if !(set != 0) {
  6961. XIA__FcStrSetDestroy(tls, dirs)
  6962. return m_FcFalse
  6963. }
  6964. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  6965. }
  6966. XIA__FcStrSetAddFilename(tls, dirs, dir)
  6967. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  6968. XIA__FcStrSetDestroy(tls, dirs)
  6969. return m_FcFalse
  6970. }
  6971. XIA__FcStrSetDestroy(tls, dirs)
  6972. return int32(m_FcTrue)
  6973. }
  6974. var XFcConfigAppFontAddDir = XIA__FcConfigAppFontAddDir
  6975. func XIA__FcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  6976. if !(config != 0) {
  6977. config = XIA__FcConfigGetCurrent(tls)
  6978. if !(config != 0) {
  6979. return
  6980. }
  6981. }
  6982. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  6983. }
  6984. var XFcConfigAppFontClear = XIA__FcConfigAppFontClear
  6985. /*
  6986. * Manage filename-based font source selectors
  6987. */
  6988. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  6989. var set, v1 uintptr
  6990. _, _ = set, v1
  6991. if accept != 0 {
  6992. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  6993. } else {
  6994. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  6995. }
  6996. set = v1
  6997. return XIA__FcStrSetAdd(tls, set, glob)
  6998. }
  6999. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  7000. var i int32
  7001. _ = i
  7002. i = 0
  7003. for {
  7004. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  7005. break
  7006. }
  7007. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  7008. return int32(m_FcTrue)
  7009. }
  7010. goto _1
  7011. _1:
  7012. ;
  7013. i++
  7014. }
  7015. return m_FcFalse
  7016. }
  7017. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  7018. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  7019. return int32(m_FcTrue)
  7020. }
  7021. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  7022. return m_FcFalse
  7023. }
  7024. return int32(m_FcTrue)
  7025. }
  7026. /*
  7027. * Manage font-pattern based font source selectors
  7028. */
  7029. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  7030. var set, v1 uintptr
  7031. _, _ = set, v1
  7032. if accept != 0 {
  7033. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  7034. } else {
  7035. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  7036. }
  7037. set = v1
  7038. return XIA__FcFontSetAdd(tls, set, pattern)
  7039. }
  7040. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  7041. var i int32
  7042. _ = i
  7043. i = 0
  7044. for {
  7045. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  7046. break
  7047. }
  7048. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  7049. return int32(m_FcTrue)
  7050. }
  7051. goto _1
  7052. _1:
  7053. ;
  7054. i++
  7055. }
  7056. return m_FcFalse
  7057. }
  7058. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  7059. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  7060. return int32(m_FcTrue)
  7061. }
  7062. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  7063. return m_FcFalse
  7064. }
  7065. return int32(m_FcTrue)
  7066. }
  7067. func XIA__FcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  7068. if !(config != 0) {
  7069. config = XIA__FcConfigGetCurrent(tls)
  7070. if !(config != 0) {
  7071. return libc.UintptrFromInt32(0)
  7072. }
  7073. }
  7074. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7075. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  7076. }
  7077. return libc.Xgetenv(tls, __ccgo_ts+1454)
  7078. }
  7079. var XFcConfigGetSysRoot = XIA__FcConfigGetSysRoot
  7080. func XIA__FcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  7081. var init1 TFcBool
  7082. var s uintptr
  7083. _, _ = init1, s
  7084. s = libc.UintptrFromInt32(0)
  7085. init1 = m_FcFalse
  7086. if !(config != 0) {
  7087. /* We can't use FcConfigGetCurrent() here to ensure
  7088. * the sysroot is set prior to initialize FcConfig,
  7089. * to avoid loading caches from non-sysroot dirs.
  7090. * So postpone the initialization later.
  7091. */
  7092. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7093. if !(config != 0) {
  7094. config = XIA__FcConfigCreate(tls)
  7095. if !(config != 0) {
  7096. return
  7097. }
  7098. init1 = int32(m_FcTrue)
  7099. }
  7100. }
  7101. if sysroot != 0 {
  7102. s = XIA__FcStrCopyFilename(tls, sysroot)
  7103. if !(s != 0) {
  7104. return
  7105. }
  7106. }
  7107. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7108. XIA__FcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7109. }
  7110. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  7111. if init1 != 0 {
  7112. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  7113. XIA__FcConfigSetCurrent(tls, config)
  7114. /* FcConfigSetCurrent() increases the refcount.
  7115. * decrease it here to avoid the memory leak.
  7116. */
  7117. XIA__FcConfigDestroy(tls, config)
  7118. }
  7119. }
  7120. var XFcConfigSetSysRoot = XIA__FcConfigSetSysRoot
  7121. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  7122. var k TFcMatchKind
  7123. var p, ret uintptr
  7124. _, _, _ = k, p, ret
  7125. ret = libc.Xmalloc(tls, uint64(64))
  7126. if !(name != 0) {
  7127. p = __ccgo_ts + 1316
  7128. } else {
  7129. p = name
  7130. }
  7131. if ret != 0 {
  7132. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  7133. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  7134. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  7135. k = int32(_FcMatchKindBegin)
  7136. for {
  7137. if !(k < int32(_FcMatchKindEnd)) {
  7138. break
  7139. }
  7140. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  7141. goto _1
  7142. _1:
  7143. ;
  7144. k++
  7145. }
  7146. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  7147. }
  7148. return ret
  7149. }
  7150. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  7151. var k TFcMatchKind
  7152. var v1 int32
  7153. var p3 uintptr
  7154. _, _, _ = k, v1, p3
  7155. if !(rs != 0) {
  7156. return
  7157. }
  7158. p3 = rs
  7159. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  7160. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  7161. goto _2
  7162. _2:
  7163. if v1 != int32(1) {
  7164. return
  7165. }
  7166. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  7167. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  7168. }
  7169. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7170. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7171. }
  7172. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7173. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7174. }
  7175. k = int32(_FcMatchKindBegin)
  7176. for {
  7177. if !(k < int32(_FcMatchKindEnd)) {
  7178. break
  7179. }
  7180. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  7181. goto _4
  7182. _4:
  7183. ;
  7184. k++
  7185. }
  7186. libc.Xfree(tls, rs)
  7187. }
  7188. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  7189. var v1 TFcBool
  7190. var p4 uintptr
  7191. _, _ = v1, p4
  7192. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  7193. goto _2
  7194. _2:
  7195. if !(v1 != 0) {
  7196. p4 = rs
  7197. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7198. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7199. goto _3
  7200. _3:
  7201. }
  7202. }
  7203. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  7204. if rs != 0 {
  7205. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  7206. /* XXX: we may want to provide a feature
  7207. * to enable/disable rulesets through API
  7208. * in the future?
  7209. */
  7210. }
  7211. }
  7212. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  7213. var v1, v2 uintptr
  7214. _, _ = v1, v2
  7215. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  7216. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  7217. }
  7218. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  7219. XIA__FcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  7220. }
  7221. if domain != 0 {
  7222. v1 = libc.Xstrdup(tls, domain)
  7223. } else {
  7224. v1 = libc.UintptrFromInt32(0)
  7225. }
  7226. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  7227. if description != 0 {
  7228. v2 = libc.Xstrdup(tls, description)
  7229. } else {
  7230. v2 = libc.UintptrFromInt32(0)
  7231. }
  7232. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  7233. }
  7234. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  7235. bp := tls.Alloc(48)
  7236. defer tls.Free(48)
  7237. var n, ret, v2 int32
  7238. var r uintptr
  7239. var _ /* iter at bp+0 */ TFcPtrListIter
  7240. _, _, _, _ = n, r, ret, v2
  7241. n = 0
  7242. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  7243. return -int32(1)
  7244. }
  7245. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  7246. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  7247. return -int32(1)
  7248. }
  7249. r = rule
  7250. for {
  7251. if !(r != 0) {
  7252. break
  7253. }
  7254. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  7255. case int32(_FcRuleTest):
  7256. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  7257. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  7258. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  7259. }
  7260. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7261. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7262. }
  7263. }
  7264. case int32(_FcRuleEdit):
  7265. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  7266. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  7267. }
  7268. default:
  7269. break
  7270. }
  7271. goto _1
  7272. _1:
  7273. ;
  7274. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  7275. }
  7276. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  7277. libc.Xprintf(tls, __ccgo_ts+1473, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  7278. XFcRulePrint(tls, rule)
  7279. }
  7280. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  7281. if ret < 0 {
  7282. v2 = 0
  7283. } else {
  7284. v2 = ret
  7285. }
  7286. return v2
  7287. }
  7288. func XIA__FcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  7289. var c, i uintptr
  7290. _, _ = c, i
  7291. i = iter
  7292. if !(config != 0) {
  7293. c = XIA__FcConfigGetCurrent(tls)
  7294. } else {
  7295. c = config
  7296. }
  7297. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7298. }
  7299. var XFcConfigFileInfoIterInit = XIA__FcConfigFileInfoIterInit
  7300. func XIA__FcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  7301. var c, i uintptr
  7302. _, _ = c, i
  7303. i = iter
  7304. if !(config != 0) {
  7305. c = XIA__FcConfigGetCurrent(tls)
  7306. } else {
  7307. c = config
  7308. }
  7309. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  7310. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7311. } else {
  7312. return m_FcFalse
  7313. }
  7314. return int32(m_FcTrue)
  7315. }
  7316. var XFcConfigFileInfoIterNext = XIA__FcConfigFileInfoIterNext
  7317. func XIA__FcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  7318. var c, i, r, v1, v2, v3 uintptr
  7319. _, _, _, _, _, _ = c, i, r, v1, v2, v3
  7320. i = iter
  7321. if !(config != 0) {
  7322. c = XIA__FcConfigGetCurrent(tls)
  7323. } else {
  7324. c = config
  7325. }
  7326. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  7327. return m_FcFalse
  7328. }
  7329. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  7330. if name != 0 {
  7331. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  7332. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  7333. } else {
  7334. v1 = __ccgo_ts + 1443
  7335. }
  7336. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  7337. }
  7338. if description != 0 {
  7339. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  7340. v2 = libc.Xdgettext(tls, __ccgo_ts+1502, __ccgo_ts+1513)
  7341. } else {
  7342. if (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain != 0 {
  7343. v3 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdomain
  7344. } else {
  7345. v3 = __ccgo_ts + 1528
  7346. }
  7347. v2 = libc.Xdgettext(tls, v3, (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription)
  7348. }
  7349. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  7350. }
  7351. if enabled != 0 {
  7352. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  7353. }
  7354. return int32(m_FcTrue)
  7355. }
  7356. var XFcConfigFileInfoIterGet = XIA__FcConfigFileInfoIterGet
  7357. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  7358. const m_FC_CHAR_SET_HASH_SIZE = 67
  7359. const m_FC_DIR_SEPARATOR_S2 = "/"
  7360. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  7361. type TFcCharSetFreezer = struct {
  7362. Fleaf_hash_table [257]uintptr
  7363. Fleaf_blocks uintptr
  7364. Fleaf_block_count int32
  7365. Fset_hash_table [67]uintptr
  7366. Forig_hash_table [67]uintptr
  7367. Fcurrent_block uintptr
  7368. Fleaf_remain int32
  7369. Fleaves_seen int32
  7370. Fcharsets_seen int32
  7371. Fleaves_allocated int32
  7372. Fcharsets_allocated int32
  7373. }
  7374. type T_FcCharSetFreezer = TFcCharSetFreezer
  7375. /* #define CHECK */
  7376. func XIA__FcCharSetCreate(tls *libc.TLS) (r uintptr) {
  7377. var fcs uintptr
  7378. _ = fcs
  7379. fcs = libc.Xmalloc(tls, uint64(24))
  7380. if !(fcs != 0) {
  7381. return uintptr(0)
  7382. }
  7383. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  7384. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  7385. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  7386. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  7387. return fcs
  7388. }
  7389. var XFcCharSetCreate = XIA__FcCharSetCreate
  7390. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  7391. var fcs uintptr
  7392. _ = fcs
  7393. fcs = vbuf
  7394. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  7395. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  7396. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  7397. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  7398. return fcs
  7399. }
  7400. func XIA__FcCharSetNew(tls *libc.TLS) (r uintptr) {
  7401. return XIA__FcCharSetCreate(tls)
  7402. }
  7403. var XFcCharSetNew = XIA__FcCharSetNew
  7404. func XIA__FcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  7405. var i, v3 int32
  7406. var v1 TFcBool
  7407. var p5 uintptr
  7408. _, _, _, _ = i, v1, v3, p5
  7409. if fcs != 0 {
  7410. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7411. goto _2
  7412. _2:
  7413. if v1 != 0 {
  7414. XFcCacheObjectDereference(tls, fcs)
  7415. return
  7416. }
  7417. p5 = fcs
  7418. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  7419. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  7420. goto _4
  7421. _4:
  7422. if v3 != int32(1) {
  7423. return
  7424. }
  7425. i = 0
  7426. for {
  7427. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  7428. break
  7429. }
  7430. 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))))
  7431. goto _6
  7432. _6:
  7433. ;
  7434. i++
  7435. }
  7436. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  7437. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  7438. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  7439. }
  7440. libc.Xfree(tls, fcs)
  7441. }
  7442. }
  7443. var XFcCharSetDestroy = XIA__FcCharSetDestroy
  7444. /*
  7445. * Search for the leaf containing with the specified num.
  7446. * Return its index if it exists, otherwise return negative of
  7447. * the (position + 1) where it should be inserted
  7448. */
  7449. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  7450. var high, low, mid int32
  7451. var numbers uintptr
  7452. var page TFcChar16
  7453. _, _, _, _, _ = high, low, mid, numbers, page
  7454. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  7455. low = start
  7456. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  7457. if !(numbers != 0) {
  7458. return -int32(1)
  7459. }
  7460. for low <= high {
  7461. mid = (low + high) >> int32(1)
  7462. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  7463. if libc.Int32FromUint16(page) == libc.Int32FromUint16(num) {
  7464. return mid
  7465. }
  7466. if libc.Int32FromUint16(page) < libc.Int32FromUint16(num) {
  7467. low = mid + int32(1)
  7468. } else {
  7469. high = mid - int32(1)
  7470. }
  7471. }
  7472. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < libc.Int32FromUint16(num) {
  7473. high++
  7474. }
  7475. return -(high + int32(1))
  7476. }
  7477. /*
  7478. * Locate the leaf containing the specified char, return
  7479. * its index if it exists, otherwise return negative of
  7480. * the (position + 1) where it should be inserted
  7481. */
  7482. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  7483. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  7484. }
  7485. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  7486. var pos int32
  7487. _ = pos
  7488. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7489. if pos >= 0 {
  7490. 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)))
  7491. }
  7492. return uintptr(0)
  7493. }
  7494. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  7495. var alloced, alloced1 uint32
  7496. var distance Tintptr_t
  7497. var i int32
  7498. var leaves, new_leaves, numbers uintptr
  7499. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  7500. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  7501. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  7502. ucs4 >>= uint32(8)
  7503. if ucs4 >= uint32(0x10000) {
  7504. return m_FcFalse
  7505. }
  7506. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  7507. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  7508. alloced = uint32(8)
  7509. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  7510. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  7511. if !(leaves != 0) || !(numbers != 0) {
  7512. if leaves != 0 {
  7513. libc.Xfree(tls, leaves)
  7514. }
  7515. if numbers != 0 {
  7516. libc.Xfree(tls, numbers)
  7517. }
  7518. return m_FcFalse
  7519. }
  7520. } else {
  7521. alloced1 = libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  7522. alloced1 *= uint32(2)
  7523. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  7524. if !(new_leaves != 0) {
  7525. return m_FcFalse
  7526. }
  7527. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  7528. if !(numbers != 0) {
  7529. /* Revert the reallocation of leaves */
  7530. leaves = libc.Xrealloc(tls, new_leaves, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(8))
  7531. /* unlikely to fail though */
  7532. if !(leaves != 0) {
  7533. return m_FcFalse
  7534. }
  7535. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  7536. return m_FcFalse
  7537. }
  7538. distance = int64(new_leaves) - int64(leaves)
  7539. if new_leaves != 0 && distance != 0 {
  7540. i = 0
  7541. for {
  7542. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  7543. break
  7544. }
  7545. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  7546. goto _1
  7547. _1:
  7548. ;
  7549. i++
  7550. }
  7551. }
  7552. leaves = new_leaves
  7553. }
  7554. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  7555. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  7556. }
  7557. libc.Xmemmove(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8))
  7558. libc.Xmemmove(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2))
  7559. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  7560. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  7561. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  7562. return int32(m_FcTrue)
  7563. }
  7564. /*
  7565. * Locate the leaf containing the specified char, creating it
  7566. * if desired
  7567. */
  7568. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  7569. var leaf uintptr
  7570. var pos int32
  7571. _, _ = leaf, pos
  7572. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7573. if pos >= 0 {
  7574. 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)))
  7575. }
  7576. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  7577. if !(leaf != 0) {
  7578. return uintptr(0)
  7579. }
  7580. pos = -pos - int32(1)
  7581. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  7582. libc.Xfree(tls, leaf)
  7583. return uintptr(0)
  7584. }
  7585. return leaf
  7586. }
  7587. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  7588. var pos int32
  7589. _ = pos
  7590. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  7591. if pos >= 0 {
  7592. 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))))
  7593. *(*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))
  7594. return int32(m_FcTrue)
  7595. }
  7596. pos = -pos - int32(1)
  7597. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  7598. }
  7599. func XIA__FcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7600. var b, leaf uintptr
  7601. var v1 TFcBool
  7602. var v3 bool
  7603. _, _, _, _ = b, leaf, v1, v3
  7604. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  7605. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7606. goto _2
  7607. _2:
  7608. }
  7609. if v3 || v1 != 0 {
  7610. return m_FcFalse
  7611. }
  7612. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  7613. if !(leaf != 0) {
  7614. return m_FcFalse
  7615. }
  7616. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  7617. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  7618. return int32(m_FcTrue)
  7619. }
  7620. var XFcCharSetAddChar = XIA__FcCharSetAddChar
  7621. func XIA__FcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7622. var b, leaf uintptr
  7623. var v1 TFcBool
  7624. var v3 bool
  7625. _, _, _, _ = b, leaf, v1, v3
  7626. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  7627. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  7628. goto _2
  7629. _2:
  7630. }
  7631. if v3 || v1 != 0 {
  7632. return m_FcFalse
  7633. }
  7634. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  7635. if !(leaf != 0) {
  7636. return int32(m_FcTrue)
  7637. }
  7638. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  7639. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  7640. /* We don't bother removing the leaf if it's empty */
  7641. return int32(m_FcTrue)
  7642. }
  7643. var XFcCharSetDelChar = XIA__FcCharSetDelChar
  7644. /*
  7645. * An iterator for the leaves of a charset
  7646. */
  7647. type TFcCharSetIter = struct {
  7648. Fleaf uintptr
  7649. Fucs4 TFcChar32
  7650. Fpos int32
  7651. }
  7652. /*
  7653. * An iterator for the leaves of a charset
  7654. */
  7655. type T_fcCharSetIter = TFcCharSetIter
  7656. /*
  7657. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  7658. */
  7659. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7660. var pos int32
  7661. _ = pos
  7662. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  7663. if pos < 0 {
  7664. pos = -pos - int32(1)
  7665. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  7666. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  7667. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  7668. return
  7669. }
  7670. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  7671. }
  7672. (*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)))
  7673. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  7674. }
  7675. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7676. var pos int32
  7677. _ = pos
  7678. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  7679. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  7680. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  7681. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  7682. } else {
  7683. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  7684. (*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)))
  7685. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  7686. }
  7687. }
  7688. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  7689. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  7690. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  7691. _FcCharSetIterSet(tls, fcs, iter)
  7692. }
  7693. func XIA__FcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  7694. var v1 TFcBool
  7695. var p4 uintptr
  7696. _, _ = v1, p4
  7697. if src != 0 {
  7698. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  7699. goto _2
  7700. _2:
  7701. if !(v1 != 0) {
  7702. p4 = src
  7703. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  7704. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  7705. goto _3
  7706. _3:
  7707. } else {
  7708. XFcCacheObjectReference(tls, src)
  7709. }
  7710. }
  7711. return src
  7712. }
  7713. var XFcCharSetCopy = XIA__FcCharSetCopy
  7714. func XIA__FcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  7715. bp := tls.Alloc(32)
  7716. defer tls.Free(32)
  7717. var i int32
  7718. var _ /* ai at bp+0 */ TFcCharSetIter
  7719. var _ /* bi at bp+16 */ TFcCharSetIter
  7720. _ = i
  7721. if a == b {
  7722. return int32(m_FcTrue)
  7723. }
  7724. if !(a != 0) || !(b != 0) {
  7725. return m_FcFalse
  7726. }
  7727. _FcCharSetIterStart(tls, a, bp)
  7728. _FcCharSetIterStart(tls, b, bp+16)
  7729. for {
  7730. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  7731. break
  7732. }
  7733. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7734. return m_FcFalse
  7735. }
  7736. i = 0
  7737. for {
  7738. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7739. break
  7740. }
  7741. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  7742. return m_FcFalse
  7743. }
  7744. goto _2
  7745. _2:
  7746. ;
  7747. i++
  7748. }
  7749. goto _1
  7750. _1:
  7751. ;
  7752. _FcCharSetIterNext(tls, a, bp)
  7753. _FcCharSetIterNext(tls, b, bp+16)
  7754. }
  7755. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  7756. }
  7757. var XFcCharSetEqual = XIA__FcCharSetEqual
  7758. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  7759. var new1 uintptr
  7760. _ = new1
  7761. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  7762. if !(new1 != 0) {
  7763. return m_FcFalse
  7764. }
  7765. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  7766. return int32(m_FcTrue)
  7767. }
  7768. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  7769. bp := tls.Alloc(64)
  7770. defer tls.Free(64)
  7771. var fcs uintptr
  7772. var _ /* ai at bp+0 */ TFcCharSetIter
  7773. var _ /* bi at bp+16 */ TFcCharSetIter
  7774. var _ /* leaf at bp+32 */ TFcCharLeaf
  7775. _ = fcs
  7776. if !(a != 0) || !(b != 0) {
  7777. goto bail0
  7778. }
  7779. fcs = XIA__FcCharSetCreate(tls)
  7780. if !(fcs != 0) {
  7781. goto bail0
  7782. }
  7783. _FcCharSetIterStart(tls, a, bp)
  7784. _FcCharSetIterStart(tls, b, bp+16)
  7785. 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) {
  7786. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7787. if aonly != 0 {
  7788. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  7789. goto bail1
  7790. }
  7791. _FcCharSetIterNext(tls, a, bp)
  7792. } else {
  7793. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  7794. _FcCharSetIterSet(tls, a, bp)
  7795. }
  7796. } else {
  7797. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  7798. if bonly != 0 {
  7799. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  7800. goto bail1
  7801. }
  7802. _FcCharSetIterNext(tls, b, bp+16)
  7803. } else {
  7804. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  7805. _FcCharSetIterSet(tls, b, bp+16)
  7806. }
  7807. } else {
  7808. 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 {
  7809. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  7810. goto bail1
  7811. }
  7812. }
  7813. _FcCharSetIterNext(tls, a, bp)
  7814. _FcCharSetIterNext(tls, b, bp+16)
  7815. }
  7816. }
  7817. }
  7818. return fcs
  7819. goto bail1
  7820. bail1:
  7821. ;
  7822. XIA__FcCharSetDestroy(tls, fcs)
  7823. goto bail0
  7824. bail0:
  7825. ;
  7826. return uintptr(0)
  7827. return r
  7828. }
  7829. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7830. var i int32
  7831. var nonempty TFcBool
  7832. var v2 TFcChar32
  7833. _, _, _ = i, nonempty, v2
  7834. nonempty = m_FcFalse
  7835. i = 0
  7836. for {
  7837. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7838. break
  7839. }
  7840. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7841. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  7842. if v2 != 0 {
  7843. nonempty = int32(m_FcTrue)
  7844. }
  7845. goto _1
  7846. _1:
  7847. ;
  7848. i++
  7849. }
  7850. return nonempty
  7851. }
  7852. func XIA__FcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7853. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  7854. }
  7855. var XFcCharSetIntersect = XIA__FcCharSetIntersect
  7856. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7857. var i int32
  7858. _ = i
  7859. i = 0
  7860. for {
  7861. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7862. break
  7863. }
  7864. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7865. goto _1
  7866. _1:
  7867. ;
  7868. i++
  7869. }
  7870. return int32(m_FcTrue)
  7871. }
  7872. func XIA__FcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7873. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  7874. }
  7875. var XFcCharSetUnion = XIA__FcCharSetUnion
  7876. func XIA__FcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  7877. var ai, bi, v3 int32
  7878. var al, bl uintptr
  7879. var an, bn TFcChar16
  7880. var v1 TFcBool
  7881. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  7882. ai = 0
  7883. bi = 0
  7884. if !(a != 0) || !(b != 0) {
  7885. return m_FcFalse
  7886. }
  7887. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  7888. goto _2
  7889. _2:
  7890. if v1 != 0 {
  7891. if changed != 0 {
  7892. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  7893. }
  7894. return m_FcFalse
  7895. }
  7896. if changed != 0 {
  7897. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XIA__FcCharSetIsSubset(tls, b, a) != 0))
  7898. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  7899. return int32(m_FcTrue)
  7900. }
  7901. }
  7902. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  7903. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  7904. v3 = libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  7905. } else {
  7906. v3 = ^libc.Int32FromInt32(0)
  7907. }
  7908. an = libc.Uint16FromInt32(v3)
  7909. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  7910. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  7911. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  7912. if ai < 0 {
  7913. ai = -ai - int32(1)
  7914. }
  7915. } else {
  7916. 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)))
  7917. if libc.Int32FromUint16(bn) < libc.Int32FromUint16(an) {
  7918. if !(_FcCharSetAddLeaf(tls, a, libc.Uint32FromInt32(libc.Int32FromUint16(bn)<<int32(8)), bl) != 0) {
  7919. return m_FcFalse
  7920. }
  7921. } else {
  7922. 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)))
  7923. _FcCharSetUnionLeaf(tls, al, al, bl)
  7924. }
  7925. ai++
  7926. bi++
  7927. }
  7928. }
  7929. return int32(m_FcTrue)
  7930. }
  7931. var XFcCharSetMerge = XIA__FcCharSetMerge
  7932. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  7933. var i int32
  7934. var nonempty TFcBool
  7935. var v2 TFcChar32
  7936. _, _, _ = i, nonempty, v2
  7937. nonempty = m_FcFalse
  7938. i = 0
  7939. for {
  7940. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  7941. break
  7942. }
  7943. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  7944. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  7945. if v2 != 0 {
  7946. nonempty = int32(m_FcTrue)
  7947. }
  7948. goto _1
  7949. _1:
  7950. ;
  7951. i++
  7952. }
  7953. return nonempty
  7954. }
  7955. func XIA__FcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  7956. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  7957. }
  7958. var XFcCharSetSubtract = XIA__FcCharSetSubtract
  7959. func XIA__FcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  7960. var leaf uintptr
  7961. _ = leaf
  7962. if !(fcs != 0) {
  7963. return m_FcFalse
  7964. }
  7965. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  7966. if !(leaf != 0) {
  7967. return m_FcFalse
  7968. }
  7969. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  7970. }
  7971. var XFcCharSetHasChar = XIA__FcCharSetHasChar
  7972. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  7973. return libc.Uint32FromInt32(libc.X__builtin_popcount(tls, c1))
  7974. }
  7975. func XIA__FcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  7976. bp := tls.Alloc(32)
  7977. defer tls.Free(32)
  7978. var am, bm, v2, v3 uintptr
  7979. var count TFcChar32
  7980. var i, v1 int32
  7981. var _ /* ai at bp+0 */ TFcCharSetIter
  7982. var _ /* bi at bp+16 */ TFcCharSetIter
  7983. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  7984. count = uint32(0)
  7985. if a != 0 && b != 0 {
  7986. _FcCharSetIterStart(tls, a, bp)
  7987. _FcCharSetIterStart(tls, b, bp+16)
  7988. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  7989. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  7990. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  7991. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  7992. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  7993. for {
  7994. v1 = i
  7995. i--
  7996. if !(v1 != 0) {
  7997. break
  7998. }
  7999. v2 = am
  8000. am += 4
  8001. v3 = bm
  8002. bm += 4
  8003. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  8004. }
  8005. _FcCharSetIterNext(tls, a, bp)
  8006. } else {
  8007. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8008. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  8009. _FcCharSetIterSet(tls, a, bp)
  8010. }
  8011. }
  8012. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  8013. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8014. _FcCharSetIterSet(tls, b, bp+16)
  8015. }
  8016. }
  8017. }
  8018. return count
  8019. }
  8020. var XFcCharSetIntersectCount = XIA__FcCharSetIntersectCount
  8021. func XIA__FcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  8022. bp := tls.Alloc(16)
  8023. defer tls.Free(16)
  8024. var am, v3 uintptr
  8025. var count TFcChar32
  8026. var i, v2 int32
  8027. var _ /* ai at bp+0 */ TFcCharSetIter
  8028. _, _, _, _, _ = am, count, i, v2, v3
  8029. count = uint32(0)
  8030. if a != 0 {
  8031. _FcCharSetIterStart(tls, a, bp)
  8032. for {
  8033. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8034. break
  8035. }
  8036. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8037. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8038. for {
  8039. v2 = i
  8040. i--
  8041. if !(v2 != 0) {
  8042. break
  8043. }
  8044. v3 = am
  8045. am += 4
  8046. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  8047. }
  8048. goto _1
  8049. _1:
  8050. ;
  8051. _FcCharSetIterNext(tls, a, bp)
  8052. }
  8053. }
  8054. return count
  8055. }
  8056. var XFcCharSetCount = XIA__FcCharSetCount
  8057. func XIA__FcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  8058. bp := tls.Alloc(32)
  8059. defer tls.Free(32)
  8060. var am, bm, v2, v3, v5 uintptr
  8061. var count TFcChar32
  8062. var i, v1, v4 int32
  8063. var _ /* ai at bp+0 */ TFcCharSetIter
  8064. var _ /* bi at bp+16 */ TFcCharSetIter
  8065. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  8066. count = uint32(0)
  8067. if a != 0 && b != 0 {
  8068. _FcCharSetIterStart(tls, a, bp)
  8069. _FcCharSetIterStart(tls, b, bp+16)
  8070. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  8071. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8072. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  8073. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8074. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  8075. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  8076. for {
  8077. v1 = i
  8078. i--
  8079. if !(v1 != 0) {
  8080. break
  8081. }
  8082. v2 = am
  8083. am += 4
  8084. v3 = bm
  8085. bm += 4
  8086. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  8087. }
  8088. } else {
  8089. for {
  8090. v4 = i
  8091. i--
  8092. if !(v4 != 0) {
  8093. break
  8094. }
  8095. v5 = am
  8096. am += 4
  8097. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  8098. }
  8099. }
  8100. _FcCharSetIterNext(tls, a, bp)
  8101. } else {
  8102. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  8103. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8104. _FcCharSetIterSet(tls, b, bp+16)
  8105. }
  8106. }
  8107. }
  8108. }
  8109. return count
  8110. }
  8111. var XFcCharSetSubtractCount = XIA__FcCharSetSubtractCount
  8112. // C documentation
  8113. //
  8114. // /*
  8115. // * return FcTrue iff a is a subset of b
  8116. // */
  8117. func XIA__FcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  8118. var ai, bi, i, v1 int32
  8119. var am, bm, v2, v3 uintptr
  8120. var an, bn TFcChar16
  8121. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  8122. if a == b {
  8123. return int32(m_FcTrue)
  8124. }
  8125. if !(a != 0) || !(b != 0) {
  8126. return m_FcFalse
  8127. }
  8128. bi = 0
  8129. ai = 0
  8130. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  8131. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  8132. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  8133. /*
  8134. * Check matching pages
  8135. */
  8136. if libc.Int32FromUint16(an) == libc.Int32FromUint16(bn) {
  8137. 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)))
  8138. 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)))
  8139. if am != bm {
  8140. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  8141. /*
  8142. * Does am have any bits not in bm?
  8143. */
  8144. for {
  8145. v1 = i
  8146. i--
  8147. if !(v1 != 0) {
  8148. break
  8149. }
  8150. v2 = am
  8151. am += 4
  8152. v3 = bm
  8153. bm += 4
  8154. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  8155. return m_FcFalse
  8156. }
  8157. }
  8158. }
  8159. ai++
  8160. bi++
  8161. } else {
  8162. if libc.Int32FromUint16(an) < libc.Int32FromUint16(bn) {
  8163. return m_FcFalse
  8164. } else {
  8165. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  8166. if bi < 0 {
  8167. bi = -bi - int32(1)
  8168. }
  8169. }
  8170. }
  8171. }
  8172. /*
  8173. * did we look at every page?
  8174. */
  8175. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  8176. }
  8177. var XFcCharSetIsSubset = XIA__FcCharSetIsSubset
  8178. /*
  8179. * These two functions efficiently walk the entire charmap for
  8180. * other software (like pango) that want their own copy
  8181. */
  8182. func XIA__FcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8183. bp := tls.Alloc(16)
  8184. defer tls.Free(16)
  8185. var page TFcChar32
  8186. var _ /* ai at bp+0 */ TFcCharSetIter
  8187. _ = page
  8188. if !(a != 0) {
  8189. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8190. }
  8191. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  8192. _FcCharSetIterSet(tls, a, bp)
  8193. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8194. return libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  8195. }
  8196. /*
  8197. * Save current information
  8198. */
  8199. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8200. libc.Xmemcpy(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8201. /*
  8202. * Step to next page
  8203. */
  8204. _FcCharSetIterNext(tls, a, bp)
  8205. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8206. return page
  8207. }
  8208. var XFcCharSetNextPage = XIA__FcCharSetNextPage
  8209. func XIA__FcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  8210. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  8211. return XIA__FcCharSetNextPage(tls, a, map1, next)
  8212. }
  8213. var XFcCharSetFirstPage = XIA__FcCharSetFirstPage
  8214. /*
  8215. * old coverage API, rather hard to use correctly
  8216. */
  8217. func XIA__FcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  8218. bp := tls.Alloc(16)
  8219. defer tls.Free(16)
  8220. var _ /* ai at bp+0 */ TFcCharSetIter
  8221. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  8222. _FcCharSetIterSet(tls, a, bp)
  8223. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8224. libc.Xmemset(tls, result, int32('\000'), libc.Uint64FromInt32(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)))
  8225. page = uint32(0)
  8226. } else {
  8227. libc.Xmemcpy(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32))
  8228. _FcCharSetIterNext(tls, a, bp)
  8229. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  8230. }
  8231. return page
  8232. }
  8233. var XFcCharSetCoverage = XIA__FcCharSetCoverage
  8234. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  8235. bp := tls.Alloc(16)
  8236. defer tls.Free(16)
  8237. var first, last, v4 int64
  8238. var t uintptr
  8239. var v1, v2, v5, v6 int32
  8240. var _ /* s at bp+0 */ uintptr
  8241. _, _, _, _, _, _, _, _ = first, last, t, v1, v2, v4, v5, v6
  8242. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  8243. for {
  8244. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8245. v2 = libc.BoolInt32(v1 == int32(' ') || libc.Uint32FromInt32(v1)-uint32('\t') < uint32(5))
  8246. goto _3
  8247. _3:
  8248. if !(v2 != 0) {
  8249. break
  8250. }
  8251. *(*uintptr)(unsafe.Pointer(bp))++
  8252. }
  8253. t = *(*uintptr)(unsafe.Pointer(bp))
  8254. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8255. v4 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8256. last = v4
  8257. first = v4
  8258. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8259. return m_FcFalse
  8260. }
  8261. for {
  8262. v5 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))))
  8263. v6 = libc.BoolInt32(v5 == int32(' ') || libc.Uint32FromInt32(v5)-uint32('\t') < uint32(5))
  8264. goto _7
  8265. _7:
  8266. if !(v6 != 0) {
  8267. break
  8268. }
  8269. *(*uintptr)(unsafe.Pointer(bp))++
  8270. }
  8271. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  8272. *(*uintptr)(unsafe.Pointer(bp))++
  8273. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = 0
  8274. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  8275. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != 0 {
  8276. return m_FcFalse
  8277. }
  8278. }
  8279. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  8280. return m_FcFalse
  8281. }
  8282. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  8283. *(*TFcChar32)(unsafe.Pointer(pfirst)) = libc.Uint32FromInt64(first)
  8284. *(*TFcChar32)(unsafe.Pointer(plast)) = libc.Uint32FromInt64(last)
  8285. return int32(m_FcTrue)
  8286. }
  8287. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  8288. bp := tls.Alloc(16)
  8289. defer tls.Free(16)
  8290. *(*uintptr)(unsafe.Pointer(bp)) = _string
  8291. var c uintptr
  8292. var u TFcChar32
  8293. var _ /* first at bp+8 */ TFcChar32
  8294. var _ /* last at bp+12 */ TFcChar32
  8295. _, _ = c, u
  8296. c = XIA__FcCharSetCreate(tls)
  8297. if !(c != 0) {
  8298. goto bail0
  8299. }
  8300. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  8301. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  8302. goto bail1
  8303. }
  8304. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  8305. for {
  8306. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  8307. break
  8308. }
  8309. XIA__FcCharSetAddChar(tls, c, u)
  8310. goto _1
  8311. _1:
  8312. ;
  8313. u++
  8314. }
  8315. }
  8316. return c
  8317. goto bail1
  8318. bail1:
  8319. ;
  8320. XIA__FcCharSetDestroy(tls, c)
  8321. goto bail0
  8322. bail0:
  8323. ;
  8324. return libc.UintptrFromInt32(0)
  8325. return r
  8326. }
  8327. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  8328. bp := tls.Alloc(80)
  8329. defer tls.Free(80)
  8330. var _ /* buf_static at bp+0 */ [64]TFcChar8
  8331. libc.X__builtin_snprintf(tls, bp, uint64(64), __ccgo_ts+1544, libc.VaList(bp+72, u))
  8332. XFcStrBufString(tls, buf, bp)
  8333. }
  8334. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  8335. bp := tls.Alloc(16)
  8336. defer tls.Free(16)
  8337. var bits, first, last, u, v1 TFcChar32
  8338. var i int32
  8339. var _ /* ci at bp+0 */ TFcCharSetIter
  8340. _, _, _, _, _, _ = bits, first, i, last, u, v1
  8341. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  8342. last = v1
  8343. first = v1
  8344. _FcCharSetIterStart(tls, c, bp)
  8345. for {
  8346. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  8347. break
  8348. }
  8349. i = 0
  8350. for {
  8351. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8352. break
  8353. }
  8354. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  8355. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + libc.Uint32FromInt32(i*int32(32))
  8356. for bits != 0 {
  8357. if bits&uint32(1) != 0 {
  8358. if u != last+uint32(1) {
  8359. if last != first {
  8360. XFcStrBufChar(tls, buf, uint8('-'))
  8361. _FcNameUnparseUnicode(tls, buf, last)
  8362. }
  8363. if last != uint32(0x7FFFFFFF) {
  8364. XFcStrBufChar(tls, buf, uint8(' '))
  8365. }
  8366. /* Start new range. */
  8367. first = u
  8368. _FcNameUnparseUnicode(tls, buf, u)
  8369. }
  8370. last = u
  8371. }
  8372. bits >>= uint32(1)
  8373. u++
  8374. }
  8375. goto _3
  8376. _3:
  8377. ;
  8378. i++
  8379. }
  8380. goto _2
  8381. _2:
  8382. ;
  8383. _FcCharSetIterNext(tls, c, bp)
  8384. }
  8385. if last != first {
  8386. XFcStrBufChar(tls, buf, uint8('-'))
  8387. _FcNameUnparseUnicode(tls, buf, last)
  8388. }
  8389. return int32(m_FcTrue)
  8390. }
  8391. type TFcCharLeafEnt = struct {
  8392. Fnext uintptr
  8393. Fhash TFcChar32
  8394. Fleaf TFcCharLeaf
  8395. }
  8396. type T_FcCharLeafEnt = TFcCharLeafEnt
  8397. type TFcCharSetEnt = struct {
  8398. Fnext uintptr
  8399. Fhash TFcChar32
  8400. Fset TFcCharSet
  8401. }
  8402. type T_FcCharSetEnt = TFcCharSetEnt
  8403. type TFcCharSetOrigEnt = struct {
  8404. Fnext uintptr
  8405. Forig uintptr
  8406. Ffrozen uintptr
  8407. }
  8408. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  8409. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  8410. var newBlocks, v1, v2, v3 uintptr
  8411. _, _, _, _ = newBlocks, v1, v2, v3
  8412. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  8413. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  8414. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, libc.Uint64FromInt32((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  8415. if !(newBlocks != 0) {
  8416. return uintptr(0)
  8417. }
  8418. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  8419. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  8420. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  8421. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  8422. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  8423. return uintptr(0)
  8424. }
  8425. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = libc.Int32FromUint64(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  8426. }
  8427. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  8428. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  8429. v3 = freezer + 3144
  8430. v2 = *(*uintptr)(unsafe.Pointer(v3))
  8431. *(*uintptr)(unsafe.Pointer(v3)) += 48
  8432. return v2
  8433. }
  8434. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  8435. var hash TFcChar32
  8436. var i int32
  8437. _, _ = hash, i
  8438. hash = uint32(0)
  8439. i = 0
  8440. for {
  8441. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  8442. break
  8443. }
  8444. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  8445. goto _1
  8446. _1:
  8447. ;
  8448. i++
  8449. }
  8450. return hash
  8451. }
  8452. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  8453. var bucket, ent uintptr
  8454. var hash TFcChar32
  8455. _, _, _ = bucket, ent, hash
  8456. hash = _FcCharLeafHash(tls, leaf)
  8457. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  8458. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8459. for {
  8460. if !(ent != 0) {
  8461. break
  8462. }
  8463. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  8464. return ent + 12
  8465. }
  8466. goto _1
  8467. _1:
  8468. ;
  8469. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  8470. }
  8471. ent = _FcCharLeafEntCreate(tls, freezer)
  8472. if !(ent != 0) {
  8473. return uintptr(0)
  8474. }
  8475. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8476. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  8477. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8478. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8479. return ent + 12
  8480. }
  8481. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  8482. var hash TFcChar32
  8483. var i int32
  8484. _, _ = hash, i
  8485. hash = uint32(0)
  8486. /* hash in leaves */
  8487. i = 0
  8488. for {
  8489. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8490. break
  8491. }
  8492. 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))))
  8493. goto _1
  8494. _1:
  8495. ;
  8496. i++
  8497. }
  8498. /* hash in numbers */
  8499. i = 0
  8500. for {
  8501. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8502. break
  8503. }
  8504. 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)))
  8505. goto _2
  8506. _2:
  8507. ;
  8508. i++
  8509. }
  8510. return hash
  8511. }
  8512. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  8513. var bucket, ent uintptr
  8514. _, _ = bucket, ent
  8515. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  8516. ent = libc.Xmalloc(tls, uint64(24))
  8517. if !(ent != 0) {
  8518. return m_FcFalse
  8519. }
  8520. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  8521. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  8522. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8523. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8524. return int32(m_FcTrue)
  8525. }
  8526. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  8527. var bucket, ent, ent_leaves uintptr
  8528. var hash TFcChar32
  8529. var i, i1, size int32
  8530. var ok TFcBool
  8531. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  8532. hash = _FcCharSetHash(tls, fcs)
  8533. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  8534. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8535. for {
  8536. if !(ent != 0) {
  8537. break
  8538. }
  8539. 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) {
  8540. ok = int32(m_FcTrue)
  8541. i1 = 0
  8542. for {
  8543. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8544. break
  8545. }
  8546. 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))) {
  8547. ok = m_FcFalse
  8548. }
  8549. goto _2
  8550. _2:
  8551. ;
  8552. i1++
  8553. }
  8554. if ok != 0 {
  8555. return ent + 16
  8556. }
  8557. }
  8558. goto _1
  8559. _1:
  8560. ;
  8561. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  8562. }
  8563. 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))
  8564. ent = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  8565. if !(ent != 0) {
  8566. return uintptr(0)
  8567. }
  8568. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  8569. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  8570. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  8571. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  8572. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  8573. (*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))
  8574. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  8575. i = 0
  8576. for {
  8577. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8578. break
  8579. }
  8580. *(*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)
  8581. goto _3
  8582. _3:
  8583. ;
  8584. i++
  8585. }
  8586. libc.Xmemcpy(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))
  8587. } else {
  8588. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  8589. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  8590. }
  8591. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  8592. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  8593. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  8594. return ent + 16
  8595. }
  8596. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  8597. var bucket, ent uintptr
  8598. _, _ = bucket, ent
  8599. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  8600. ent = *(*uintptr)(unsafe.Pointer(bucket))
  8601. for {
  8602. if !(ent != 0) {
  8603. break
  8604. }
  8605. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  8606. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  8607. }
  8608. goto _1
  8609. _1:
  8610. ;
  8611. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  8612. }
  8613. return libc.UintptrFromInt32(0)
  8614. }
  8615. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  8616. var b, l, n uintptr
  8617. var i int32
  8618. _, _, _, _ = b, i, l, n
  8619. n = uintptr(0)
  8620. b = XIA__FcCharSetCreate(tls)
  8621. if !(b != 0) {
  8622. goto bail0
  8623. }
  8624. i = 0
  8625. for {
  8626. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  8627. break
  8628. }
  8629. 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))))
  8630. if !(l != 0) {
  8631. goto bail1
  8632. }
  8633. 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) {
  8634. goto bail1
  8635. }
  8636. goto _1
  8637. _1:
  8638. ;
  8639. i++
  8640. }
  8641. n = _FcCharSetFreezeBase(tls, freezer, b)
  8642. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  8643. n = libc.UintptrFromInt32(0)
  8644. goto bail1
  8645. }
  8646. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  8647. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  8648. goto bail1
  8649. bail1:
  8650. ;
  8651. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  8652. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  8653. }
  8654. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  8655. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  8656. }
  8657. libc.Xfree(tls, b)
  8658. goto bail0
  8659. bail0:
  8660. ;
  8661. return n
  8662. return r
  8663. }
  8664. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  8665. var freezer uintptr
  8666. _ = freezer
  8667. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  8668. return freezer
  8669. }
  8670. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  8671. bp := tls.Alloc(48)
  8672. defer tls.Free(48)
  8673. var ent, ent1, next, next1 uintptr
  8674. var i int32
  8675. _, _, _, _, _ = ent, ent1, i, next, next1
  8676. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  8677. libc.Xprintf(tls, __ccgo_ts+1547, 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))
  8678. }
  8679. i = 0
  8680. for {
  8681. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  8682. break
  8683. }
  8684. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  8685. for {
  8686. if !(ent != 0) {
  8687. break
  8688. }
  8689. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  8690. libc.Xfree(tls, ent)
  8691. goto _2
  8692. _2:
  8693. ;
  8694. ent = next
  8695. }
  8696. goto _1
  8697. _1:
  8698. ;
  8699. i++
  8700. }
  8701. i = 0
  8702. for {
  8703. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  8704. break
  8705. }
  8706. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  8707. for {
  8708. if !(ent1 != 0) {
  8709. break
  8710. }
  8711. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  8712. libc.Xfree(tls, ent1)
  8713. goto _4
  8714. _4:
  8715. ;
  8716. ent1 = next1
  8717. }
  8718. goto _3
  8719. _3:
  8720. ;
  8721. i++
  8722. }
  8723. i = 0
  8724. for {
  8725. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  8726. break
  8727. }
  8728. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  8729. goto _5
  8730. _5:
  8731. ;
  8732. i++
  8733. }
  8734. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  8735. libc.Xfree(tls, freezer)
  8736. }
  8737. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  8738. var i int32
  8739. var leaves, numbers uintptr
  8740. var v1 TFcBool
  8741. _, _, _, _ = i, leaves, numbers, v1
  8742. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  8743. goto _2
  8744. _2:
  8745. if !(v1 != 0) {
  8746. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  8747. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  8748. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  8749. return m_FcFalse
  8750. }
  8751. }
  8752. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  8753. return int32(m_FcTrue)
  8754. }
  8755. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  8756. }
  8757. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  8758. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  8759. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  8760. return m_FcFalse
  8761. }
  8762. if !(XFcSerializeAlloc(tls, serialize, leaves, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  8763. return m_FcFalse
  8764. }
  8765. if !(XFcSerializeAlloc(tls, serialize, numbers, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  8766. return m_FcFalse
  8767. }
  8768. i = 0
  8769. for {
  8770. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  8771. break
  8772. }
  8773. 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) {
  8774. return m_FcFalse
  8775. }
  8776. goto _3
  8777. _3:
  8778. ;
  8779. i++
  8780. }
  8781. return int32(m_FcTrue)
  8782. }
  8783. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  8784. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  8785. var i int32
  8786. var v1 TFcBool
  8787. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  8788. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  8789. goto _2
  8790. _2:
  8791. ;
  8792. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  8793. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  8794. if !(cs != 0) {
  8795. return libc.UintptrFromInt32(0)
  8796. }
  8797. }
  8798. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  8799. if !(cs_serialized != 0) {
  8800. return libc.UintptrFromInt32(0)
  8801. }
  8802. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  8803. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  8804. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  8805. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  8806. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  8807. if !(leaves_serialized != 0) {
  8808. return libc.UintptrFromInt32(0)
  8809. }
  8810. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  8811. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  8812. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  8813. if !(numbers != 0) {
  8814. return libc.UintptrFromInt32(0)
  8815. }
  8816. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  8817. i = 0
  8818. for {
  8819. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  8820. break
  8821. }
  8822. 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)))
  8823. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  8824. if !(leaf_serialized != 0) {
  8825. return libc.UintptrFromInt32(0)
  8826. }
  8827. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  8828. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  8829. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  8830. goto _3
  8831. _3:
  8832. ;
  8833. i++
  8834. }
  8835. } else {
  8836. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  8837. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  8838. }
  8839. return cs_serialized
  8840. }
  8841. const m_FC_O_BINARY = 0
  8842. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  8843. const m_FC_O_LARGEFILE = "O_LARGEFILE"
  8844. const m_FC_O_NOINHERIT = 0
  8845. const m_FC_O_TEMPORARY = 0
  8846. const m_O_CLOEXEC1 = 524288
  8847. const m_O_LARGEFILE1 = 65536
  8848. const m_O_RDONLY1 = 00
  8849. const m_O_RDWR1 = 02
  8850. const m___DEC128_EPSILON__1 = 1e-33
  8851. const m___DEC128_MIN__1 = 1e-6143
  8852. const m___DEC128_SUBNORMAL_MIN__1 = 0.000000000000000000000000000000001e-6143
  8853. const m___DEC32_EPSILON__1 = 1e-6
  8854. const m___DEC32_MAX__1 = 9.999999e96
  8855. const m___DEC32_MIN__1 = 1e-95
  8856. const m___DEC32_SUBNORMAL_MIN__1 = 0.000001e-95
  8857. const m___DEC64_EPSILON__1 = 1e-15
  8858. const m___DEC64_MIN__1 = 1e-383
  8859. const m___DEC64_SUBNORMAL_MIN__1 = 0.000000000000001e-383
  8860. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  8861. bp := tls.Alloc(16)
  8862. defer tls.Free(16)
  8863. var ap Tva_list
  8864. var fd int32
  8865. var mode Tmode_t
  8866. _, _, _ = ap, fd, mode
  8867. fd = -int32(1)
  8868. if flags&int32(m_O_CREAT) != 0 {
  8869. ap = va
  8870. mode = libc.Uint32FromInt32(libc.VaInt32(&ap))
  8871. _ = ap
  8872. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), libc.VaList(bp+8, mode))
  8873. } else {
  8874. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|int32(m_O_LARGEFILE1), 0)
  8875. }
  8876. return fd
  8877. }
  8878. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  8879. var fd int32
  8880. _ = fd
  8881. fd = -int32(1)
  8882. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  8883. return fd
  8884. }
  8885. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  8886. bp := tls.Alloc(16)
  8887. defer tls.Free(16)
  8888. var _ /* result at bp+0 */ Tint32_t
  8889. if _initialized != int32(m_FcTrue) {
  8890. libc.Xinitstate_r(tls, libc.Uint32FromInt64(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256), uintptr(unsafe.Pointer(&_fcrandbuf)))
  8891. _initialized = int32(m_FcTrue)
  8892. }
  8893. libc.Xrandom_r(tls, uintptr(unsafe.Pointer(&_fcrandbuf)), bp)
  8894. return *(*Tint32_t)(unsafe.Pointer(bp))
  8895. }
  8896. var _fcrandbuf int32
  8897. var _statebuf [256]uint8
  8898. var _initialized TFcBool
  8899. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  8900. var parent uintptr
  8901. var ret TFcBool
  8902. _, _ = parent, ret
  8903. if libc.Xstrlen(tls, dir) == uint64(0) {
  8904. return m_FcFalse
  8905. }
  8906. parent = XIA__FcStrDirname(tls, dir)
  8907. if !(parent != 0) {
  8908. return m_FcFalse
  8909. }
  8910. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  8911. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  8912. } else {
  8913. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  8914. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint32(0755)) == 0 && libc.Xchmod(tls, dir, uint32(0755)) == 0)
  8915. } else {
  8916. ret = m_FcFalse
  8917. }
  8918. }
  8919. XIA__FcStrFree(tls, parent)
  8920. return ret
  8921. }
  8922. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  8923. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  8924. }
  8925. const m___DEC128_EPSILON__2 = 1e-33
  8926. const m___DEC128_MIN__2 = 1e-6143
  8927. const m___DEC128_SUBNORMAL_MIN__2 = 0.000000000000000000000000000000001e-6143
  8928. const m___DEC32_EPSILON__2 = 1e-6
  8929. const m___DEC32_MAX__2 = 9.999999e96
  8930. const m___DEC32_MIN__2 = 1e-95
  8931. const m___DEC32_SUBNORMAL_MIN__2 = 0.000001e-95
  8932. const m___DEC64_EPSILON__2 = 1e-15
  8933. const m___DEC64_MIN__2 = 1e-383
  8934. const m___DEC64_SUBNORMAL_MIN__2 = 0.000000000000001e-383
  8935. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  8936. bp := tls.Alloc(64)
  8937. defer tls.Free(64)
  8938. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  8939. var v1, v2 uintptr
  8940. _, _ = v1, v2
  8941. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  8942. case int32(_FcTypeUnknown):
  8943. libc.Xfprintf(tls, f, __ccgo_ts+1583, 0)
  8944. case int32(_FcTypeVoid):
  8945. libc.Xfprintf(tls, f, __ccgo_ts+1593, 0)
  8946. case int32(_FcTypeInteger):
  8947. libc.Xfprintf(tls, f, __ccgo_ts+1600, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  8948. case int32(_FcTypeDouble):
  8949. libc.Xfprintf(tls, f, __ccgo_ts+1606, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  8950. case int32(_FcTypeString):
  8951. libc.Xfprintf(tls, f, __ccgo_ts+1612, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  8952. case int32(_FcTypeBool):
  8953. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  8954. v1 = __ccgo_ts + 1617
  8955. } else {
  8956. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  8957. v2 = __ccgo_ts + 1622
  8958. } else {
  8959. v2 = __ccgo_ts + 1628
  8960. }
  8961. v1 = v2
  8962. }
  8963. libc.Xfprintf(tls, f, v1, 0)
  8964. case int32(_FcTypeMatrix):
  8965. libc.Xfprintf(tls, f, __ccgo_ts+1637, 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))
  8966. case int32(_FcTypeCharSet): /* XXX */
  8967. if f == libc.Xstdout {
  8968. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  8969. }
  8970. case int32(_FcTypeLangSet):
  8971. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  8972. case int32(_FcTypeFTFace):
  8973. libc.Xfprintf(tls, f, __ccgo_ts+1652, 0)
  8974. case int32(_FcTypeRange):
  8975. libc.Xfprintf(tls, f, __ccgo_ts+1657, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  8976. break
  8977. }
  8978. }
  8979. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  8980. libc.Xfprintf(tls, f, __ccgo_ts+1665, 0)
  8981. __FcValuePrintFile(tls, f, v)
  8982. }
  8983. func XIA__FcValuePrint(tls *libc.TLS, v TFcValue) {
  8984. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  8985. __FcValuePrintFile(tls, libc.Xstdout, v)
  8986. }
  8987. var XFcValuePrint = XIA__FcValuePrint
  8988. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  8989. if show_pos_mark != 0 {
  8990. libc.Xprintf(tls, __ccgo_ts+1667, 0)
  8991. } else {
  8992. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  8993. }
  8994. __FcValuePrintFile(tls, libc.Xstdout, v)
  8995. }
  8996. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  8997. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  8998. case int32(_FcValueBindingWeak):
  8999. libc.Xprintf(tls, __ccgo_ts+1678, 0)
  9000. case int32(_FcValueBindingStrong):
  9001. libc.Xprintf(tls, __ccgo_ts+1682, 0)
  9002. case int32(_FcValueBindingSame):
  9003. libc.Xprintf(tls, __ccgo_ts+1686, 0)
  9004. default:
  9005. /* shouldn't be reached */
  9006. libc.Xprintf(tls, __ccgo_ts+1690, 0)
  9007. break
  9008. }
  9009. }
  9010. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  9011. var v2 uintptr
  9012. _ = v2
  9013. for {
  9014. if !(l != libc.UintptrFromInt32(0)) {
  9015. break
  9016. }
  9017. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  9018. _FcValueBindingPrint(tls, l)
  9019. goto _1
  9020. _1:
  9021. ;
  9022. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  9023. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  9024. } else {
  9025. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9026. }
  9027. l = v2
  9028. }
  9029. if !(pos != 0) {
  9030. libc.Xprintf(tls, __ccgo_ts+1694, 0)
  9031. }
  9032. }
  9033. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  9034. var v2 uintptr
  9035. _ = v2
  9036. for {
  9037. if !(l != libc.UintptrFromInt32(0)) {
  9038. break
  9039. }
  9040. XIA__FcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  9041. _FcValueBindingPrint(tls, l)
  9042. goto _1
  9043. _1:
  9044. ;
  9045. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  9046. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  9047. } else {
  9048. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  9049. }
  9050. l = v2
  9051. }
  9052. }
  9053. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  9054. bp := tls.Alloc(1200)
  9055. defer tls.Free(1200)
  9056. var _ /* buf at bp+0 */ TFcStrBuf
  9057. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  9058. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  9059. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  9060. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  9061. } else {
  9062. libc.Xprintf(tls, __ccgo_ts+1707, 0)
  9063. }
  9064. XFcStrBufDestroy(tls, bp)
  9065. }
  9066. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  9067. bp := tls.Alloc(16)
  9068. defer tls.Free(16)
  9069. var i, j int32
  9070. var leaf, leaves, numbers uintptr
  9071. var leaf_offset Tintptr_t
  9072. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  9073. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  9074. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  9075. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9076. i = 0
  9077. for {
  9078. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  9079. break
  9080. }
  9081. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  9082. leaf = uintptr(int64(leaves) + leaf_offset)
  9083. libc.Xprintf(tls, __ccgo_ts+1729, 0)
  9084. libc.Xprintf(tls, __ccgo_ts+1731, libc.VaList(bp+8, libc.Int32FromUint16(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  9085. j = 0
  9086. for {
  9087. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  9088. break
  9089. }
  9090. libc.Xprintf(tls, __ccgo_ts+1737, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  9091. goto _2
  9092. _2:
  9093. ;
  9094. j++
  9095. }
  9096. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9097. goto _1
  9098. _1:
  9099. ;
  9100. i++
  9101. }
  9102. }
  9103. func XIA__FcPatternPrint(tls *libc.TLS, p uintptr) {
  9104. bp := tls.Alloc(48)
  9105. defer tls.Free(48)
  9106. var _ /* iter at bp+0 */ TFcPatternIter
  9107. if !(p != 0) {
  9108. libc.Xprintf(tls, __ccgo_ts+1743, 0)
  9109. return
  9110. }
  9111. libc.Xprintf(tls, __ccgo_ts+1757, libc.VaList(bp+24, XIA__FcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  9112. XIA__FcPatternIterStart(tls, p, bp)
  9113. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, p, bp) != 0 {
  9114. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+24, XIA__FcPatternIterGetObject(tls, p, bp)))
  9115. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  9116. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9117. }
  9118. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9119. }
  9120. var XFcPatternPrint = XIA__FcPatternPrint
  9121. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  9122. bp := tls.Alloc(48)
  9123. defer tls.Free(48)
  9124. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  9125. var i, j, k, pos int32
  9126. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  9127. if os != 0 {
  9128. p1 = XIA__FcPatternFilter(tls, pp1, os)
  9129. p2 = XIA__FcPatternFilter(tls, pp2, os)
  9130. } else {
  9131. p1 = pp1
  9132. p2 = pp2
  9133. }
  9134. libc.Xprintf(tls, __ccgo_ts+1793, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  9135. i = 0
  9136. j = libc.Int32FromInt32(0)
  9137. for {
  9138. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  9139. break
  9140. }
  9141. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  9142. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9143. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  9144. goto _2
  9145. }
  9146. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  9147. if pos >= 0 {
  9148. k = j
  9149. for {
  9150. if !(k < pos) {
  9151. break
  9152. }
  9153. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9154. libc.Xprintf(tls, __ccgo_ts+1843, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9155. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9156. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9157. } else {
  9158. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9159. }
  9160. XFcValueListPrint(tls, v5)
  9161. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9162. goto _4
  9163. _4:
  9164. ;
  9165. k++
  9166. }
  9167. j = pos
  9168. goto cont
  9169. } else {
  9170. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9171. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9172. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9173. } else {
  9174. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9175. }
  9176. XFcValueListPrint(tls, v6)
  9177. libc.Xprintf(tls, __ccgo_ts+1859, 0)
  9178. }
  9179. goto _3
  9180. _2:
  9181. ;
  9182. goto cont
  9183. cont:
  9184. ;
  9185. libc.Xprintf(tls, __ccgo_ts+1788, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  9186. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  9187. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9188. } else {
  9189. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  9190. }
  9191. XFcValueListPrint(tls, v7)
  9192. libc.Xprintf(tls, __ccgo_ts+1871, 0)
  9193. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  9194. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9195. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9196. } else {
  9197. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9198. }
  9199. XFcValueListPrint(tls, v8)
  9200. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9201. j++
  9202. _3:
  9203. ;
  9204. goto _1
  9205. _1:
  9206. ;
  9207. i++
  9208. }
  9209. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  9210. k = j
  9211. for {
  9212. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  9213. break
  9214. }
  9215. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  9216. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  9217. libc.Xprintf(tls, __ccgo_ts+1843, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  9218. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  9219. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  9220. } else {
  9221. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  9222. }
  9223. XFcValueListPrint(tls, v10)
  9224. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9225. }
  9226. goto _9
  9227. _9:
  9228. ;
  9229. k++
  9230. }
  9231. }
  9232. if p1 != pp1 {
  9233. XIA__FcPatternDestroy(tls, p1)
  9234. }
  9235. if p2 != pp2 {
  9236. XIA__FcPatternDestroy(tls, p2)
  9237. }
  9238. }
  9239. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  9240. var f, f1, f2 int32
  9241. var op TFcOp
  9242. _, _, _, _ = f, f1, f2, op
  9243. op = op_ & libc.Int32FromInt32(0xffff)
  9244. switch op {
  9245. case int32(_FcOpInteger):
  9246. libc.Xprintf(tls, __ccgo_ts+1876, 0)
  9247. case int32(_FcOpDouble):
  9248. libc.Xprintf(tls, __ccgo_ts+1884, 0)
  9249. case int32(_FcOpString):
  9250. libc.Xprintf(tls, __ccgo_ts+1891, 0)
  9251. case int32(_FcOpMatrix):
  9252. libc.Xprintf(tls, __ccgo_ts+1898, 0)
  9253. case int32(_FcOpRange):
  9254. libc.Xprintf(tls, __ccgo_ts+1905, 0)
  9255. case int32(_FcOpBool):
  9256. libc.Xprintf(tls, __ccgo_ts+1911, 0)
  9257. case int32(_FcOpCharSet):
  9258. libc.Xprintf(tls, __ccgo_ts+1916, 0)
  9259. case int32(_FcOpLangSet):
  9260. libc.Xprintf(tls, __ccgo_ts+1924, 0)
  9261. case int32(_FcOpField):
  9262. libc.Xprintf(tls, __ccgo_ts+1932, 0)
  9263. case int32(_FcOpConst):
  9264. libc.Xprintf(tls, __ccgo_ts+1938, 0)
  9265. case int32(_FcOpAssign):
  9266. libc.Xprintf(tls, __ccgo_ts+1944, 0)
  9267. case int32(_FcOpAssignReplace):
  9268. libc.Xprintf(tls, __ccgo_ts+1951, 0)
  9269. case int32(_FcOpPrepend):
  9270. libc.Xprintf(tls, __ccgo_ts+1140, 0)
  9271. case int32(_FcOpPrependFirst):
  9272. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  9273. case int32(_FcOpAppend):
  9274. libc.Xprintf(tls, __ccgo_ts+1133, 0)
  9275. case int32(_FcOpAppendLast):
  9276. libc.Xprintf(tls, __ccgo_ts+1978, 0)
  9277. case int32(_FcOpDelete):
  9278. libc.Xprintf(tls, __ccgo_ts+1989, 0)
  9279. case int32(_FcOpDeleteAll):
  9280. libc.Xprintf(tls, __ccgo_ts+1996, 0)
  9281. case int32(_FcOpQuest):
  9282. libc.Xprintf(tls, __ccgo_ts+2006, 0)
  9283. case int32(_FcOpOr):
  9284. libc.Xprintf(tls, __ccgo_ts+2012, 0)
  9285. case int32(_FcOpAnd):
  9286. libc.Xprintf(tls, __ccgo_ts+2015, 0)
  9287. case int32(_FcOpEqual):
  9288. libc.Xprintf(tls, __ccgo_ts+2019, 0)
  9289. f = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9290. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9291. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9292. }
  9293. case int32(_FcOpNotEqual):
  9294. libc.Xprintf(tls, __ccgo_ts+2041, 0)
  9295. f1 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9296. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9297. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9298. }
  9299. case int32(_FcOpLess):
  9300. libc.Xprintf(tls, __ccgo_ts+2050, 0)
  9301. case int32(_FcOpLessEqual):
  9302. libc.Xprintf(tls, __ccgo_ts+2055, 0)
  9303. case int32(_FcOpMore):
  9304. libc.Xprintf(tls, __ccgo_ts+2065, 0)
  9305. case int32(_FcOpMoreEqual):
  9306. libc.Xprintf(tls, __ccgo_ts+2070, 0)
  9307. case int32(_FcOpContains):
  9308. libc.Xprintf(tls, __ccgo_ts+2080, 0)
  9309. case int32(_FcOpNotContains):
  9310. libc.Xprintf(tls, __ccgo_ts+2089, 0)
  9311. case int32(_FcOpPlus):
  9312. libc.Xprintf(tls, __ccgo_ts+2101, 0)
  9313. case int32(_FcOpMinus):
  9314. libc.Xprintf(tls, __ccgo_ts+2106, 0)
  9315. case int32(_FcOpTimes):
  9316. libc.Xprintf(tls, __ccgo_ts+2112, 0)
  9317. case int32(_FcOpDivide):
  9318. libc.Xprintf(tls, __ccgo_ts+2118, 0)
  9319. case int32(_FcOpNot):
  9320. libc.Xprintf(tls, __ccgo_ts+2125, 0)
  9321. case int32(_FcOpNil):
  9322. libc.Xprintf(tls, __ccgo_ts+2129, 0)
  9323. case int32(_FcOpComma):
  9324. libc.Xprintf(tls, __ccgo_ts+2133, 0)
  9325. case int32(_FcOpFloor):
  9326. libc.Xprintf(tls, __ccgo_ts+2139, 0)
  9327. case int32(_FcOpCeil):
  9328. libc.Xprintf(tls, __ccgo_ts+2145, 0)
  9329. case int32(_FcOpRound):
  9330. libc.Xprintf(tls, __ccgo_ts+2150, 0)
  9331. case int32(_FcOpTrunc):
  9332. libc.Xprintf(tls, __ccgo_ts+2156, 0)
  9333. case int32(_FcOpListing):
  9334. libc.Xprintf(tls, __ccgo_ts+2162, 0)
  9335. f2 = libc.Int32FromUint32(libc.Uint32FromInt32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9336. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9337. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9338. }
  9339. case int32(_FcOpInvalid):
  9340. libc.Xprintf(tls, __ccgo_ts+2170, 0)
  9341. break
  9342. }
  9343. }
  9344. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  9345. bp := tls.Alloc(32)
  9346. defer tls.Free(32)
  9347. var f, f1, f2 int32
  9348. var v1 uintptr
  9349. _, _, _, _ = f, f1, f2, v1
  9350. if !(expr != 0) {
  9351. libc.Xprintf(tls, __ccgo_ts+2178, 0)
  9352. } else {
  9353. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  9354. case int32(_FcOpInteger):
  9355. libc.Xprintf(tls, __ccgo_ts+2183, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  9356. case int32(_FcOpDouble):
  9357. libc.Xprintf(tls, __ccgo_ts+2186, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9358. case int32(_FcOpString):
  9359. libc.Xprintf(tls, __ccgo_ts+1612, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9360. case int32(_FcOpMatrix):
  9361. libc.Xprintf(tls, __ccgo_ts+2189, 0)
  9362. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  9363. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9364. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  9365. libc.Xprintf(tls, __ccgo_ts+2191, 0)
  9366. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  9367. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9368. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  9369. libc.Xprintf(tls, __ccgo_ts+2194, 0)
  9370. case int32(_FcOpRange):
  9371. libc.Xprintf(tls, __ccgo_ts+2196, 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))
  9372. case int32(_FcOpBool):
  9373. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  9374. v1 = __ccgo_ts + 2205
  9375. } else {
  9376. v1 = __ccgo_ts + 2210
  9377. }
  9378. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+8, v1))
  9379. case int32(_FcOpCharSet):
  9380. libc.Xprintf(tls, __ccgo_ts+2216, 0)
  9381. case int32(_FcOpLangSet):
  9382. libc.Xprintf(tls, __ccgo_ts+2225, 0)
  9383. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  9384. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9385. case int32(_FcOpNil):
  9386. libc.Xprintf(tls, __ccgo_ts+2234, 0)
  9387. case int32(_FcOpField):
  9388. libc.Xprintf(tls, __ccgo_ts+2239, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  9389. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  9390. case int32(_FcMatchPattern):
  9391. libc.Xprintf(tls, __ccgo_ts+2243, 0)
  9392. case int32(_FcMatchFont):
  9393. libc.Xprintf(tls, __ccgo_ts+2254, 0)
  9394. break
  9395. }
  9396. case int32(_FcOpConst):
  9397. libc.Xprintf(tls, __ccgo_ts+1704, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  9398. case int32(_FcOpQuest):
  9399. XFcExprPrint(tls, (*(*struct {
  9400. Fleft uintptr
  9401. Fright uintptr
  9402. })(unsafe.Pointer(expr + 8))).Fleft)
  9403. libc.Xprintf(tls, __ccgo_ts+2262, 0)
  9404. XFcExprPrint(tls, (*(*struct {
  9405. Fleft uintptr
  9406. Fright uintptr
  9407. })(unsafe.Pointer((*(*struct {
  9408. Fleft uintptr
  9409. Fright uintptr
  9410. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  9411. libc.Xprintf(tls, __ccgo_ts+2270, 0)
  9412. XFcExprPrint(tls, (*(*struct {
  9413. Fleft uintptr
  9414. Fright uintptr
  9415. })(unsafe.Pointer((*(*struct {
  9416. Fleft uintptr
  9417. Fright uintptr
  9418. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  9419. case int32(_FcOpAssign):
  9420. fallthrough
  9421. case int32(_FcOpAssignReplace):
  9422. fallthrough
  9423. case int32(_FcOpPrependFirst):
  9424. fallthrough
  9425. case int32(_FcOpPrepend):
  9426. fallthrough
  9427. case int32(_FcOpAppend):
  9428. fallthrough
  9429. case int32(_FcOpAppendLast):
  9430. fallthrough
  9431. case int32(_FcOpOr):
  9432. fallthrough
  9433. case int32(_FcOpAnd):
  9434. fallthrough
  9435. case int32(_FcOpEqual):
  9436. fallthrough
  9437. case int32(_FcOpNotEqual):
  9438. fallthrough
  9439. case int32(_FcOpLess):
  9440. fallthrough
  9441. case int32(_FcOpLessEqual):
  9442. fallthrough
  9443. case int32(_FcOpMore):
  9444. fallthrough
  9445. case int32(_FcOpMoreEqual):
  9446. fallthrough
  9447. case int32(_FcOpContains):
  9448. fallthrough
  9449. case int32(_FcOpListing):
  9450. fallthrough
  9451. case int32(_FcOpNotContains):
  9452. fallthrough
  9453. case int32(_FcOpPlus):
  9454. fallthrough
  9455. case int32(_FcOpMinus):
  9456. fallthrough
  9457. case int32(_FcOpTimes):
  9458. fallthrough
  9459. case int32(_FcOpDivide):
  9460. fallthrough
  9461. case int32(_FcOpComma):
  9462. XFcExprPrint(tls, (*(*struct {
  9463. Fleft uintptr
  9464. Fright uintptr
  9465. })(unsafe.Pointer(expr + 8))).Fleft)
  9466. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9467. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  9468. case int32(_FcOpAssign):
  9469. libc.Xprintf(tls, __ccgo_ts+1944, 0)
  9470. case int32(_FcOpAssignReplace):
  9471. libc.Xprintf(tls, __ccgo_ts+1951, 0)
  9472. case int32(_FcOpPrependFirst):
  9473. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  9474. case int32(_FcOpPrepend):
  9475. libc.Xprintf(tls, __ccgo_ts+1140, 0)
  9476. case int32(_FcOpAppend):
  9477. libc.Xprintf(tls, __ccgo_ts+1133, 0)
  9478. case int32(_FcOpAppendLast):
  9479. libc.Xprintf(tls, __ccgo_ts+1978, 0)
  9480. case int32(_FcOpOr):
  9481. libc.Xprintf(tls, __ccgo_ts+2012, 0)
  9482. case int32(_FcOpAnd):
  9483. libc.Xprintf(tls, __ccgo_ts+2015, 0)
  9484. case int32(_FcOpEqual):
  9485. libc.Xprintf(tls, __ccgo_ts+2019, 0)
  9486. f = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9487. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9488. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9489. }
  9490. case int32(_FcOpNotEqual):
  9491. libc.Xprintf(tls, __ccgo_ts+2041, 0)
  9492. f1 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9493. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9494. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9495. }
  9496. case int32(_FcOpLess):
  9497. libc.Xprintf(tls, __ccgo_ts+2050, 0)
  9498. case int32(_FcOpLessEqual):
  9499. libc.Xprintf(tls, __ccgo_ts+2055, 0)
  9500. case int32(_FcOpMore):
  9501. libc.Xprintf(tls, __ccgo_ts+2065, 0)
  9502. case int32(_FcOpMoreEqual):
  9503. libc.Xprintf(tls, __ccgo_ts+2070, 0)
  9504. case int32(_FcOpContains):
  9505. libc.Xprintf(tls, __ccgo_ts+2080, 0)
  9506. case int32(_FcOpListing):
  9507. libc.Xprintf(tls, __ccgo_ts+2162, 0)
  9508. f2 = libc.Int32FromUint32(libc.Uint32FromInt32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  9509. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  9510. libc.Xprintf(tls, __ccgo_ts+2025, 0)
  9511. }
  9512. case int32(_FcOpNotContains):
  9513. libc.Xprintf(tls, __ccgo_ts+2089, 0)
  9514. case int32(_FcOpPlus):
  9515. libc.Xprintf(tls, __ccgo_ts+2101, 0)
  9516. case int32(_FcOpMinus):
  9517. libc.Xprintf(tls, __ccgo_ts+2106, 0)
  9518. case int32(_FcOpTimes):
  9519. libc.Xprintf(tls, __ccgo_ts+2112, 0)
  9520. case int32(_FcOpDivide):
  9521. libc.Xprintf(tls, __ccgo_ts+2118, 0)
  9522. case int32(_FcOpComma):
  9523. libc.Xprintf(tls, __ccgo_ts+2133, 0)
  9524. default:
  9525. break
  9526. }
  9527. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9528. XFcExprPrint(tls, (*(*struct {
  9529. Fleft uintptr
  9530. Fright uintptr
  9531. })(unsafe.Pointer(expr + 8))).Fright)
  9532. case int32(_FcOpNot):
  9533. libc.Xprintf(tls, __ccgo_ts+2278, 0)
  9534. XFcExprPrint(tls, (*(*struct {
  9535. Fleft uintptr
  9536. Fright uintptr
  9537. })(unsafe.Pointer(expr + 8))).Fleft)
  9538. case int32(_FcOpFloor):
  9539. libc.Xprintf(tls, __ccgo_ts+2283, 0)
  9540. XFcExprPrint(tls, (*(*struct {
  9541. Fleft uintptr
  9542. Fright uintptr
  9543. })(unsafe.Pointer(expr + 8))).Fleft)
  9544. case int32(_FcOpCeil):
  9545. libc.Xprintf(tls, __ccgo_ts+2290, 0)
  9546. XFcExprPrint(tls, (*(*struct {
  9547. Fleft uintptr
  9548. Fright uintptr
  9549. })(unsafe.Pointer(expr + 8))).Fleft)
  9550. case int32(_FcOpRound):
  9551. libc.Xprintf(tls, __ccgo_ts+2296, 0)
  9552. XFcExprPrint(tls, (*(*struct {
  9553. Fleft uintptr
  9554. Fright uintptr
  9555. })(unsafe.Pointer(expr + 8))).Fleft)
  9556. case int32(_FcOpTrunc):
  9557. libc.Xprintf(tls, __ccgo_ts+2303, 0)
  9558. XFcExprPrint(tls, (*(*struct {
  9559. Fleft uintptr
  9560. Fright uintptr
  9561. })(unsafe.Pointer(expr + 8))).Fleft)
  9562. case int32(_FcOpInvalid):
  9563. libc.Xprintf(tls, __ccgo_ts+2170, 0)
  9564. break
  9565. }
  9566. }
  9567. }
  9568. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  9569. bp := tls.Alloc(16)
  9570. defer tls.Free(16)
  9571. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  9572. case int32(_FcMatchPattern):
  9573. libc.Xprintf(tls, __ccgo_ts+2310, 0)
  9574. case int32(_FcMatchFont):
  9575. libc.Xprintf(tls, __ccgo_ts+2319, 0)
  9576. case int32(_FcMatchScan):
  9577. libc.Xprintf(tls, __ccgo_ts+2325, 0)
  9578. case int32(_FcMatchKindEnd):
  9579. /* shouldn't be reached */
  9580. return
  9581. }
  9582. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  9583. case int32(_FcQualAny):
  9584. libc.Xprintf(tls, __ccgo_ts+2331, 0)
  9585. case int32(_FcQualAll):
  9586. libc.Xprintf(tls, __ccgo_ts+2336, 0)
  9587. case int32(_FcQualFirst):
  9588. libc.Xprintf(tls, __ccgo_ts+2341, 0)
  9589. case int32(_FcQualNotFirst):
  9590. libc.Xprintf(tls, __ccgo_ts+2348, 0)
  9591. break
  9592. }
  9593. libc.Xprintf(tls, __ccgo_ts+2239, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  9594. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  9595. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9596. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  9597. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9598. }
  9599. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  9600. bp := tls.Alloc(16)
  9601. defer tls.Free(16)
  9602. libc.Xprintf(tls, __ccgo_ts+2359, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  9603. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  9604. libc.Xprintf(tls, __ccgo_ts+1665, 0)
  9605. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  9606. }
  9607. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  9608. var last_type TFcRuleType
  9609. var r uintptr
  9610. _, _ = last_type, r
  9611. last_type = int32(_FcRuleUnknown)
  9612. r = rule
  9613. for {
  9614. if !(r != 0) {
  9615. break
  9616. }
  9617. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9618. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9619. case int32(_FcRuleTest):
  9620. libc.Xprintf(tls, __ccgo_ts+2368, 0)
  9621. case int32(_FcRuleEdit):
  9622. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  9623. default:
  9624. break
  9625. }
  9626. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  9627. }
  9628. libc.Xprintf(tls, __ccgo_ts+1729, 0)
  9629. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9630. case int32(_FcRuleTest):
  9631. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  9632. case int32(_FcRuleEdit):
  9633. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  9634. libc.Xprintf(tls, __ccgo_ts+2384, 0)
  9635. default:
  9636. break
  9637. }
  9638. goto _1
  9639. _1:
  9640. ;
  9641. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9642. }
  9643. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  9644. }
  9645. func XIA__FcFontSetPrint(tls *libc.TLS, s uintptr) {
  9646. bp := tls.Alloc(32)
  9647. defer tls.Free(32)
  9648. var i int32
  9649. _ = i
  9650. libc.Xprintf(tls, __ccgo_ts+2387, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  9651. i = 0
  9652. for {
  9653. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  9654. break
  9655. }
  9656. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+8, i))
  9657. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  9658. goto _1
  9659. _1:
  9660. ;
  9661. i++
  9662. }
  9663. }
  9664. var XFcFontSetPrint = XIA__FcFontSetPrint
  9665. func XFcInitDebug(tls *libc.TLS) {
  9666. bp := tls.Alloc(16)
  9667. defer tls.Free(16)
  9668. var e uintptr
  9669. _ = e
  9670. if !(XFcDebugVal != 0) {
  9671. e = libc.Xgetenv(tls, __ccgo_ts+2414)
  9672. if e != 0 {
  9673. libc.Xprintf(tls, __ccgo_ts+2423, libc.VaList(bp+8, e))
  9674. XFcDebugVal = libc.Xatoi(tls, e)
  9675. if XFcDebugVal < 0 {
  9676. XFcDebugVal = 0
  9677. }
  9678. }
  9679. }
  9680. }
  9681. /* MT-safe */
  9682. var _FcBoolDefaults = [8]struct {
  9683. Ffield TFcObject
  9684. Fvalue TFcBool
  9685. }{
  9686. 0: {
  9687. Ffield: int32(_FC_HINTING_OBJECT),
  9688. Fvalue: int32(m_FcTrue),
  9689. },
  9690. 1: {
  9691. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  9692. },
  9693. 2: {
  9694. Ffield: int32(_FC_AUTOHINT_OBJECT),
  9695. },
  9696. 3: {
  9697. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  9698. Fvalue: int32(m_FcTrue),
  9699. },
  9700. 4: {
  9701. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  9702. Fvalue: int32(m_FcTrue),
  9703. },
  9704. 5: {
  9705. Ffield: int32(_FC_DECORATIVE_OBJECT),
  9706. },
  9707. 6: {
  9708. Ffield: int32(_FC_SYMBOL_OBJECT),
  9709. },
  9710. 7: {
  9711. Ffield: int32(_FC_VARIABLE_OBJECT),
  9712. },
  9713. }
  9714. func XIA__FcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  9715. var langs, result uintptr
  9716. var v1 int32
  9717. _, _, _ = langs, result, v1
  9718. goto retry
  9719. retry:
  9720. ;
  9721. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  9722. if !(result != 0) {
  9723. result = XIA__FcStrSetCreate(tls)
  9724. langs = libc.Xgetenv(tls, __ccgo_ts+2436)
  9725. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9726. langs = libc.Xgetenv(tls, __ccgo_ts+2444)
  9727. }
  9728. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9729. langs = libc.Xgetenv(tls, __ccgo_ts+2451)
  9730. }
  9731. if !(langs != 0) || !(*(*uint8)(unsafe.Pointer(langs)) != 0) {
  9732. langs = libc.Xgetenv(tls, __ccgo_ts+2460)
  9733. }
  9734. if langs != 0 && *(*uint8)(unsafe.Pointer(langs)) != 0 {
  9735. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  9736. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2465)
  9737. }
  9738. } else {
  9739. XIA__FcStrSetAdd(tls, result, __ccgo_ts+2465)
  9740. }
  9741. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  9742. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  9743. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  9744. v1 = libc.Int32FromInt32(m_FcTrue)
  9745. } else {
  9746. v1 = m_FcFalse
  9747. }
  9748. if !(v1 != 0) {
  9749. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  9750. XIA__FcStrSetDestroy(tls, result)
  9751. goto retry
  9752. }
  9753. }
  9754. return result
  9755. }
  9756. var XFcGetDefaultLangs = XIA__FcGetDefaultLangs
  9757. var _default_lang uintptr /* MT-safe */
  9758. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  9759. var lang, langs uintptr
  9760. var v1 int32
  9761. _, _, _ = lang, langs, v1
  9762. goto retry
  9763. retry:
  9764. ;
  9765. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  9766. if !(lang != 0) {
  9767. langs = XIA__FcGetDefaultLangs(tls)
  9768. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  9769. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  9770. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  9771. v1 = libc.Int32FromInt32(m_FcTrue)
  9772. } else {
  9773. v1 = m_FcFalse
  9774. }
  9775. if !(v1 != 0) {
  9776. libc.Xfree(tls, lang)
  9777. goto retry
  9778. }
  9779. }
  9780. return lang
  9781. }
  9782. var _default_prgname uintptr
  9783. func XFcGetPrgname(tls *libc.TLS) (r1 uintptr) {
  9784. var buf, p, prgname, r uintptr
  9785. var len1 Tssize_t
  9786. var size Tsize_t
  9787. var v1 int32
  9788. _, _, _, _, _, _, _ = buf, len1, p, prgname, r, size, v1
  9789. goto retry
  9790. retry:
  9791. ;
  9792. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  9793. if !(prgname != 0) {
  9794. size = uint64(m_PATH_MAX)
  9795. p = libc.UintptrFromInt32(0)
  9796. for int32(1) != 0 {
  9797. buf = libc.Xmalloc(tls, size)
  9798. if !(buf != 0) {
  9799. break
  9800. }
  9801. len1 = libc.Xreadlink(tls, __ccgo_ts+2468, buf, size-uint64(1))
  9802. if len1 < 0 {
  9803. libc.Xfree(tls, buf)
  9804. break
  9805. }
  9806. if libc.Uint64FromInt64(len1) < size-uint64(1) {
  9807. *(*uint8)(unsafe.Pointer(buf + uintptr(len1))) = uint8(0)
  9808. p = buf
  9809. break
  9810. }
  9811. libc.Xfree(tls, buf)
  9812. size *= uint64(2)
  9813. }
  9814. if p != 0 {
  9815. r = libc.Xstrrchr(tls, p, int32('/'))
  9816. if r != 0 {
  9817. r++
  9818. } else {
  9819. r = p
  9820. }
  9821. prgname = libc.Xstrdup(tls, r)
  9822. }
  9823. if !(prgname != 0) {
  9824. prgname = libc.Xstrdup(tls, __ccgo_ts+1316)
  9825. }
  9826. if p != 0 {
  9827. libc.Xfree(tls, p)
  9828. }
  9829. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  9830. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  9831. v1 = libc.Int32FromInt32(m_FcTrue)
  9832. } else {
  9833. v1 = m_FcFalse
  9834. }
  9835. if !(v1 != 0) {
  9836. libc.Xfree(tls, prgname)
  9837. goto retry
  9838. }
  9839. }
  9840. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  9841. return libc.UintptrFromInt32(0)
  9842. }
  9843. return prgname
  9844. }
  9845. func XFcDefaultFini(tls *libc.TLS) {
  9846. var lang, langs, prgname uintptr
  9847. var v1, v3, v5 int32
  9848. var v2, v4, v6 bool
  9849. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  9850. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  9851. if v2 = lang != 0; v2 {
  9852. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  9853. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  9854. v1 = libc.Int32FromInt32(m_FcTrue)
  9855. } else {
  9856. v1 = m_FcFalse
  9857. }
  9858. }
  9859. if v2 && v1 != 0 {
  9860. libc.Xfree(tls, lang)
  9861. }
  9862. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  9863. if v4 = langs != 0; v4 {
  9864. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  9865. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  9866. v3 = libc.Int32FromInt32(m_FcTrue)
  9867. } else {
  9868. v3 = m_FcFalse
  9869. }
  9870. }
  9871. if v4 && v3 != 0 {
  9872. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  9873. XIA__FcStrSetDestroy(tls, langs)
  9874. }
  9875. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  9876. if v6 = prgname != 0; v6 {
  9877. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  9878. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  9879. v5 = libc.Int32FromInt32(m_FcTrue)
  9880. } else {
  9881. v5 = m_FcFalse
  9882. }
  9883. }
  9884. if v6 && v5 != 0 {
  9885. libc.Xfree(tls, prgname)
  9886. }
  9887. }
  9888. func XIA__FcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  9889. bp := tls.Alloc(112)
  9890. defer tls.Free(112)
  9891. var i int32
  9892. var pixelsize float64
  9893. var prgname uintptr
  9894. var _ /* b at bp+96 */ float64
  9895. var _ /* dpi at bp+64 */ float64
  9896. var _ /* e at bp+104 */ float64
  9897. var _ /* iter at bp+0 */ TFcPatternIter
  9898. var _ /* namelang at bp+32 */ TFcValue
  9899. var _ /* r at bp+88 */ uintptr
  9900. var _ /* scale at bp+80 */ float64
  9901. var _ /* size at bp+72 */ float64
  9902. var _ /* v at bp+16 */ TFcValue
  9903. var _ /* v2 at bp+48 */ TFcValue
  9904. _, _, _ = i, pixelsize, prgname
  9905. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  9906. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  9907. }
  9908. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  9909. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  9910. }
  9911. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  9912. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  9913. }
  9914. i = 0
  9915. for {
  9916. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  9917. break
  9918. }
  9919. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  9920. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  9921. }
  9922. goto _1
  9923. _1:
  9924. ;
  9925. i++
  9926. }
  9927. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  9928. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XIA__FcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  9929. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  9930. } else {
  9931. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  9932. }
  9933. }
  9934. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  9935. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  9936. }
  9937. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  9938. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  9939. }
  9940. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  9941. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  9942. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  9943. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  9944. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  9945. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  9946. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  9947. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  9948. } else {
  9949. XIA__FcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  9950. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  9951. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  9952. }
  9953. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  9954. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  9955. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  9956. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  9957. }
  9958. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  9959. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  9960. }
  9961. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  9962. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  9963. }
  9964. /* shouldn't be failed. */
  9965. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  9966. /* Add a fallback to ensure the english name when the requested language
  9967. * isn't available. this would helps for the fonts that have non-English
  9968. * name at the beginning.
  9969. */
  9970. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  9971. * This is a hack for the case that the orth is not like ll-cc, because,
  9972. * if no namelang isn't explicitly set, it will has something like ll-cc
  9973. * according to current locale. which may causes FcLangDifferentTerritory
  9974. * at FcLangCompare(). thus, the English name is selected so that
  9975. * exact matched "en" has higher score than ll-cc.
  9976. */
  9977. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  9978. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2483
  9979. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  9980. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9981. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9982. }
  9983. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  9984. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9985. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9986. }
  9987. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  9988. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  9989. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  9990. }
  9991. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  9992. prgname = XFcGetPrgname(tls)
  9993. if prgname != 0 {
  9994. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  9995. }
  9996. }
  9997. }
  9998. var XFcDefaultSubstitute = XIA__FcDefaultSubstitute
  9999. const m_S_IFDIR1 = 16384
  10000. const m_S_IFLNK1 = 40960
  10001. const m_S_IFMT1 = 61440
  10002. const m_S_IFREG1 = 32768
  10003. func XIA__FcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  10004. bp := tls.Alloc(144)
  10005. defer tls.Free(144)
  10006. var _ /* statb at bp+0 */ Tstat
  10007. if XFcStat(tls, file, bp) != 0 {
  10008. return m_FcFalse
  10009. }
  10010. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFDIR1))
  10011. }
  10012. var XFcFileIsDir = XIA__FcFileIsDir
  10013. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  10014. bp := tls.Alloc(144)
  10015. defer tls.Free(144)
  10016. var _ /* statb at bp+0 */ Tstat
  10017. if libc.Xlstat(tls, file, bp) != 0 {
  10018. return m_FcFalse
  10019. }
  10020. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFLNK1))
  10021. }
  10022. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  10023. bp := tls.Alloc(144)
  10024. defer tls.Free(144)
  10025. var _ /* statb at bp+0 */ Tstat
  10026. if XFcStat(tls, file, bp) != 0 {
  10027. return m_FcFalse
  10028. }
  10029. return libc.BoolInt32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode&libc.Uint32FromInt32(m_S_IFMT1) == libc.Uint32FromInt32(m_S_IFREG1))
  10030. }
  10031. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  10032. bp := tls.Alloc(32)
  10033. defer tls.Free(32)
  10034. var font, s, sysroot uintptr
  10035. var i, old_nfont int32
  10036. var len1 Tsize_t
  10037. var ret TFcBool
  10038. var _ /* f at bp+0 */ uintptr
  10039. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  10040. ret = int32(m_FcTrue)
  10041. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  10042. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10043. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10044. libc.Xprintf(tls, __ccgo_ts+2489, libc.VaList(bp+16, file))
  10045. libc.Xfflush(tls, libc.Xstdout)
  10046. }
  10047. if !(XIA__FcFreeTypeQueryAll(tls, file, libc.Uint32FromInt32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  10048. return m_FcFalse
  10049. }
  10050. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10051. libc.Xprintf(tls, __ccgo_ts+2510, 0)
  10052. }
  10053. i = old_nfont
  10054. for {
  10055. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  10056. break
  10057. }
  10058. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  10059. /*
  10060. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  10061. * and they should usually expect without sysroot.
  10062. */
  10063. if sysroot != 0 {
  10064. len1 = libc.Xstrlen(tls, sysroot)
  10065. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  10066. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  10067. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10068. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  10069. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  10070. len1--
  10071. } else {
  10072. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  10073. len1++
  10074. }
  10075. }
  10076. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  10077. XIA__FcStrFree(tls, s)
  10078. }
  10079. }
  10080. /*
  10081. * Edit pattern with user-defined rules
  10082. */
  10083. if config != 0 && !(XIA__FcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  10084. ret = m_FcFalse
  10085. }
  10086. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  10087. libc.Xprintf(tls, __ccgo_ts+2516, 0)
  10088. XIA__FcPatternPrint(tls, font)
  10089. }
  10090. goto _1
  10091. _1:
  10092. ;
  10093. i++
  10094. }
  10095. return ret
  10096. }
  10097. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  10098. var d, sysroot uintptr
  10099. var len1 Tsize_t
  10100. _, _, _ = d, len1, sysroot
  10101. if XIA__FcFileIsDir(tls, file) != 0 {
  10102. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10103. d = file
  10104. if sysroot != 0 {
  10105. len1 = libc.Xstrlen(tls, sysroot)
  10106. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  10107. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  10108. len1--
  10109. } else {
  10110. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  10111. len1++
  10112. }
  10113. }
  10114. d = file + uintptr(len1)
  10115. }
  10116. }
  10117. return XIA__FcStrSetAdd(tls, dirs, d)
  10118. } else {
  10119. if set != 0 {
  10120. return _FcFileScanFontConfig(tls, set, file, config)
  10121. } else {
  10122. return int32(m_FcTrue)
  10123. }
  10124. }
  10125. return r
  10126. }
  10127. func XIA__FcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  10128. return XFcFileScanConfig(tls, set, dirs, file, XIA__FcConfigGetCurrent(tls))
  10129. }
  10130. var XFcFileScan = XIA__FcFileScan
  10131. // C documentation
  10132. //
  10133. // /*
  10134. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  10135. // */
  10136. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  10137. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  10138. }
  10139. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  10140. bp := tls.Alloc(16)
  10141. defer tls.Free(16)
  10142. var base, d, e, file, files, v1 uintptr
  10143. var i int32
  10144. var ret TFcBool
  10145. _, _, _, _, _, _, _, _ = base, d, e, file, files, i, ret, v1
  10146. ret = int32(m_FcTrue)
  10147. if !(force != 0) {
  10148. return m_FcFalse
  10149. }
  10150. if !(set != 0) && !(dirs != 0) {
  10151. return int32(m_FcTrue)
  10152. }
  10153. /* freed below */
  10154. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  10155. if !(file != 0) {
  10156. ret = m_FcFalse
  10157. goto bail
  10158. }
  10159. libc.Xstrcpy(tls, file, dir)
  10160. libc.Xstrcat(tls, file, __ccgo_ts+1317)
  10161. base = file + uintptr(libc.Xstrlen(tls, file))
  10162. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  10163. libc.Xprintf(tls, __ccgo_ts+2537, libc.VaList(bp+8, dir))
  10164. }
  10165. d = libc.Xopendir(tls, dir)
  10166. if !(d != 0) {
  10167. /* Don't complain about missing directories */
  10168. if *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) != int32(m_ENOENT) {
  10169. ret = m_FcFalse
  10170. }
  10171. goto bail
  10172. }
  10173. files = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  10174. if !(files != 0) {
  10175. ret = m_FcFalse
  10176. goto bail1
  10177. }
  10178. for {
  10179. v1 = libc.Xreaddir(tls, d)
  10180. e = v1
  10181. if !(v1 != 0) {
  10182. break
  10183. }
  10184. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) != int32('.') && libc.Xstrlen(tls, e+19) < uint64(m_FC_MAX_FILE_LEN) {
  10185. libc.Xstrcpy(tls, base, e+19)
  10186. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  10187. ret = m_FcFalse
  10188. goto bail2
  10189. }
  10190. }
  10191. }
  10192. /*
  10193. * Sort files to make things prettier
  10194. */
  10195. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  10196. /*
  10197. * Scan file files to build font patterns
  10198. */
  10199. i = 0
  10200. for {
  10201. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  10202. break
  10203. }
  10204. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  10205. goto _2
  10206. _2:
  10207. ;
  10208. i++
  10209. }
  10210. goto bail2
  10211. bail2:
  10212. ;
  10213. XIA__FcStrSetDestroy(tls, files)
  10214. goto bail1
  10215. bail1:
  10216. ;
  10217. libc.Xclosedir(tls, d)
  10218. goto bail
  10219. bail:
  10220. ;
  10221. if file != 0 {
  10222. libc.Xfree(tls, file)
  10223. }
  10224. return ret
  10225. }
  10226. func XIA__FcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  10227. if cache != 0 || !(force != 0) {
  10228. return m_FcFalse
  10229. }
  10230. return XFcDirScanConfig(tls, set, dirs, dir, force, XIA__FcConfigGetCurrent(tls))
  10231. }
  10232. var XFcDirScan = XIA__FcDirScan
  10233. // C documentation
  10234. //
  10235. // /*
  10236. // * Scan the specified directory and construct a cache of its contents
  10237. // */
  10238. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10239. bp := tls.Alloc(176)
  10240. defer tls.Free(176)
  10241. var cache, d, dirs, set, sysroot uintptr
  10242. var fd int32
  10243. var _ /* dir_stat at bp+0 */ Tstat
  10244. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  10245. cache = libc.UintptrFromInt32(0)
  10246. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10247. fd = -int32(1)
  10248. if sysroot != 0 {
  10249. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  10250. } else {
  10251. d = libc.Xstrdup(tls, dir)
  10252. }
  10253. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  10254. libc.Xprintf(tls, __ccgo_ts+2555, libc.VaList(bp+152, d))
  10255. }
  10256. if XFcStatChecksum(tls, d, bp) < 0 {
  10257. goto bail
  10258. }
  10259. set = XIA__FcFontSetCreate(tls)
  10260. if !(set != 0) {
  10261. goto bail
  10262. }
  10263. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  10264. if !(dirs != 0) {
  10265. goto bail1
  10266. }
  10267. fd = XFcDirCacheLock(tls, dir, config)
  10268. /*
  10269. * Scan the dir
  10270. */
  10271. if !(XFcDirScanConfig(tls, set, dirs, d, int32(m_FcTrue), config) != 0) {
  10272. goto bail2
  10273. }
  10274. /*
  10275. * Build the cache object
  10276. */
  10277. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  10278. if !(cache != 0) {
  10279. goto bail2
  10280. }
  10281. /*
  10282. * Write out the cache file, ignoring any troubles
  10283. */
  10284. XFcDirCacheWrite(tls, cache, config)
  10285. goto bail2
  10286. bail2:
  10287. ;
  10288. XFcDirCacheUnlock(tls, fd)
  10289. XIA__FcStrSetDestroy(tls, dirs)
  10290. goto bail1
  10291. bail1:
  10292. ;
  10293. XIA__FcFontSetDestroy(tls, set)
  10294. goto bail
  10295. bail:
  10296. ;
  10297. XIA__FcStrFree(tls, d)
  10298. return cache
  10299. }
  10300. func XIA__FcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  10301. bp := tls.Alloc(176)
  10302. defer tls.Free(176)
  10303. var cache, d, dirs, new1, sysroot uintptr
  10304. var fd int32
  10305. var _ /* dir_stat at bp+0 */ Tstat
  10306. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  10307. new1 = libc.UintptrFromInt32(0)
  10308. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  10309. d = libc.UintptrFromInt32(0)
  10310. fd = -int32(1)
  10311. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  10312. if !(cache != 0) {
  10313. goto bail
  10314. }
  10315. if sysroot != 0 {
  10316. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  10317. } else {
  10318. d = libc.Xstrdup(tls, dir)
  10319. }
  10320. if XFcStatChecksum(tls, d, bp) < 0 {
  10321. goto bail
  10322. }
  10323. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  10324. if !(dirs != 0) {
  10325. goto bail
  10326. }
  10327. fd = XFcDirCacheLock(tls, dir, config)
  10328. /*
  10329. * Scan the dir
  10330. */
  10331. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, d, int32(m_FcTrue), config) != 0) {
  10332. goto bail1
  10333. }
  10334. /*
  10335. * Rebuild the cache object
  10336. */
  10337. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  10338. if !(new1 != 0) {
  10339. goto bail1
  10340. }
  10341. XIA__FcDirCacheUnload(tls, cache)
  10342. /*
  10343. * Write out the cache file, ignoring any troubles
  10344. */
  10345. XFcDirCacheWrite(tls, new1, config)
  10346. goto bail1
  10347. bail1:
  10348. ;
  10349. XFcDirCacheUnlock(tls, fd)
  10350. XIA__FcStrSetDestroy(tls, dirs)
  10351. goto bail
  10352. bail:
  10353. ;
  10354. if d != 0 {
  10355. XIA__FcStrFree(tls, d)
  10356. }
  10357. return new1
  10358. }
  10359. var XFcDirCacheRescan = XIA__FcDirCacheRescan
  10360. // C documentation
  10361. //
  10362. // /*
  10363. // * Read (or construct) the cache for a directory
  10364. // */
  10365. func XIA__FcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  10366. var cache, fs uintptr
  10367. _, _ = cache, fs
  10368. cache = libc.UintptrFromInt32(0)
  10369. XIA__FcDirCacheCreateUUID(tls, dir, m_FcFalse, config)
  10370. /* Try to use existing cache file */
  10371. if !(force != 0) {
  10372. cache = XIA__FcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  10373. }
  10374. /* Not using existing cache file, construct new cache */
  10375. if !(cache != 0) {
  10376. cache = XFcDirCacheScan(tls, dir, config)
  10377. }
  10378. if cache != 0 {
  10379. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  10380. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count == 0 && (!(fs != 0) || (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont == 0) {
  10381. XIA__FcDirCacheDeleteUUID(tls, dir, config)
  10382. }
  10383. }
  10384. return cache
  10385. }
  10386. var XFcDirCacheRead = XIA__FcDirCacheRead
  10387. func XIA__FcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  10388. return m_FcFalse /* XXX deprecated */
  10389. }
  10390. var XFcDirSave = XIA__FcDirSave
  10391. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  10392. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  10393. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  10394. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  10395. const m_S_IFDIR2 = 0040000
  10396. const m_S_IFLNK2 = 0120000
  10397. const m_S_IFMT2 = 0170000
  10398. const m_S_IFREG2 = 0100000
  10399. /* The language is documented in doc/fcformat.fncs
  10400. * These are the features implemented:
  10401. *
  10402. * simple %{elt}
  10403. * width %width{elt}
  10404. * index %{elt[idx]}
  10405. * name= %{elt=}
  10406. * :name= %{:elt}
  10407. * default %{elt:-word}
  10408. * count %{#elt}
  10409. * subexpr %{{expr}}
  10410. * filter-out %{-elt1,elt2,elt3{expr}}
  10411. * filter-in %{+elt1,elt2,elt3{expr}}
  10412. * conditional %{?elt1,elt2,!elt3{}{}}
  10413. * enumerate %{[]elt1,elt2{expr}}
  10414. * langset langset enumeration using the same syntax
  10415. * builtin %{=blt}
  10416. * convert %{elt|conv1|conv2|conv3}
  10417. *
  10418. * converters:
  10419. * basename FcStrBasename
  10420. * dirname FcStrDirname
  10421. * downcase FcStrDowncase
  10422. * shescape
  10423. * cescape
  10424. * xmlescape
  10425. * delete delete chars
  10426. * escape escape chars
  10427. * translate translate chars
  10428. *
  10429. * builtins:
  10430. * unparse FcNameUnparse
  10431. * fcmatch fc-match default
  10432. * fclist fc-list default
  10433. * fccat fc-cat default
  10434. * pkgkit PackageKit package tag format
  10435. *
  10436. *
  10437. * Some ideas for future syntax extensions:
  10438. *
  10439. * - verbose builtin that is like FcPatternPrint
  10440. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  10441. * - allow indexing in +, -, ? filtering?
  10442. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  10443. */
  10444. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  10445. var args Tva_list
  10446. _ = args
  10447. args = va
  10448. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2574, 0)
  10449. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  10450. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+2609, 0)
  10451. _ = args
  10452. }
  10453. type TFcFormatContext = struct {
  10454. Fformat_orig uintptr
  10455. Fformat uintptr
  10456. Fformat_len int32
  10457. Fword uintptr
  10458. Fword_allocated TFcBool
  10459. }
  10460. type T_FcFormatContext = TFcFormatContext
  10461. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  10462. var v1 uintptr
  10463. _ = v1
  10464. v1 = format
  10465. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  10466. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  10467. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = libc.Int32FromUint64(libc.Xstrlen(tls, format))
  10468. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  10469. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  10470. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  10471. } else {
  10472. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  10473. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  10474. }
  10475. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  10476. }
  10477. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  10478. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  10479. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  10480. }
  10481. }
  10482. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10483. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  10484. return m_FcFalse
  10485. }
  10486. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10487. return int32(m_FcTrue)
  10488. }
  10489. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10490. bp := tls.Alloc(32)
  10491. defer tls.Free(32)
  10492. var res TFcBool
  10493. _ = res
  10494. res = _consume_char(tls, c, term)
  10495. if !(res != 0) {
  10496. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  10497. _message(tls, __ccgo_ts+2612, libc.VaList(bp+8, libc.Int32FromUint8(term)))
  10498. } else {
  10499. _message(tls, __ccgo_ts+2646, libc.VaList(bp+8, libc.Int32FromUint8(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10500. }
  10501. }
  10502. return res
  10503. }
  10504. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  10505. if libc.Int32FromUint8(c) < int32('0') {
  10506. return int32(m_FcTrue)
  10507. }
  10508. if libc.Int32FromUint8(c) <= int32('9') {
  10509. return m_FcFalse
  10510. }
  10511. if libc.Int32FromUint8(c) < int32('A') {
  10512. return int32(m_FcTrue)
  10513. }
  10514. if libc.Int32FromUint8(c) <= int32('Z') {
  10515. return m_FcFalse
  10516. }
  10517. if libc.Int32FromUint8(c) < int32('a') {
  10518. return int32(m_FcTrue)
  10519. }
  10520. if libc.Int32FromUint8(c) <= int32('z') {
  10521. return m_FcFalse
  10522. }
  10523. if libc.Int32FromUint8(c) <= int32('~') {
  10524. return int32(m_FcTrue)
  10525. }
  10526. return m_FcFalse
  10527. }
  10528. func _escaped_char(tls *libc.TLS, ch uint8) (r uint8) {
  10529. switch libc.Int32FromUint8(ch) {
  10530. case int32('a'):
  10531. return uint8('\a')
  10532. case int32('b'):
  10533. return uint8('\b')
  10534. case int32('f'):
  10535. return uint8('\f')
  10536. case int32('n'):
  10537. return uint8('\n')
  10538. case int32('r'):
  10539. return uint8('\r')
  10540. case int32('t'):
  10541. return uint8('\t')
  10542. case int32('v'):
  10543. return uint8('\v')
  10544. default:
  10545. return ch
  10546. }
  10547. return r
  10548. }
  10549. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  10550. bp := tls.Alloc(16)
  10551. defer tls.Free(16)
  10552. var p, v1, v2, v3, v4, v5, v6 uintptr
  10553. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  10554. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10555. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10556. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  10557. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10558. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10559. v1 = p
  10560. p++
  10561. v3 = c + 8
  10562. v2 = *(*uintptr)(unsafe.Pointer(v3))
  10563. *(*uintptr)(unsafe.Pointer(v3))++
  10564. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  10565. }
  10566. continue
  10567. } else {
  10568. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  10569. break
  10570. }
  10571. }
  10572. v4 = p
  10573. p++
  10574. v6 = c + 8
  10575. v5 = *(*uintptr)(unsafe.Pointer(v6))
  10576. *(*uintptr)(unsafe.Pointer(v6))++
  10577. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  10578. }
  10579. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  10580. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  10581. _message(tls, __ccgo_ts+2666, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10582. return m_FcFalse
  10583. }
  10584. return int32(m_FcTrue)
  10585. }
  10586. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  10587. bp := tls.Alloc(16)
  10588. defer tls.Free(16)
  10589. var p, v1, v2, v3, v4, v5, v6 uintptr
  10590. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  10591. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10592. 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) {
  10593. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  10594. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10595. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10596. v1 = p
  10597. p++
  10598. v3 = c + 8
  10599. v2 = *(*uintptr)(unsafe.Pointer(v3))
  10600. *(*uintptr)(unsafe.Pointer(v3))++
  10601. *(*TFcChar8)(unsafe.Pointer(v1)) = _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v2)))
  10602. }
  10603. continue
  10604. }
  10605. v4 = p
  10606. p++
  10607. v6 = c + 8
  10608. v5 = *(*uintptr)(unsafe.Pointer(v6))
  10609. *(*uintptr)(unsafe.Pointer(v6))++
  10610. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  10611. }
  10612. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  10613. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  10614. _message(tls, __ccgo_ts+2692, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10615. return m_FcFalse
  10616. }
  10617. return int32(m_FcTrue)
  10618. }
  10619. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10620. bp := tls.Alloc(16)
  10621. defer tls.Free(16)
  10622. var new_str uintptr
  10623. var ret TFcBool
  10624. _, _ = new_str, ret
  10625. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  10626. return m_FcFalse
  10627. }
  10628. /* try simple builtins first */
  10629. if 0 != 0 {
  10630. } else {
  10631. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2722) {
  10632. new_str = XIA__FcNameUnparse(tls, pat)
  10633. ret = int32(m_FcTrue)
  10634. } else {
  10635. ret = m_FcFalse
  10636. }
  10637. }
  10638. if ret != 0 {
  10639. if new_str != 0 {
  10640. XFcStrBufString(tls, buf, new_str)
  10641. XIA__FcStrFree(tls, new_str)
  10642. return int32(m_FcTrue)
  10643. } else {
  10644. return m_FcFalse
  10645. }
  10646. }
  10647. /* now try our custom formats */
  10648. if 0 != 0 {
  10649. } else {
  10650. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2730) {
  10651. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2736, buf)
  10652. } else {
  10653. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2804) {
  10654. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2812, buf)
  10655. } else {
  10656. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2914) {
  10657. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2921, buf)
  10658. } else {
  10659. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2962) {
  10660. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+2969, buf)
  10661. } else {
  10662. ret = m_FcFalse
  10663. }
  10664. }
  10665. }
  10666. }
  10667. }
  10668. if !(ret != 0) {
  10669. _message(tls, __ccgo_ts+3073, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  10670. }
  10671. return ret
  10672. }
  10673. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10674. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  10675. }
  10676. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10677. var v1 int32
  10678. _ = v1
  10679. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  10680. v1 = _interpret_subexpr(tls, c, pat, buf)
  10681. } else {
  10682. v1 = int32(m_FcTrue)
  10683. }
  10684. return v1
  10685. }
  10686. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  10687. if !(_expect_char(tls, c, uint8('%')) != 0) {
  10688. return m_FcFalse
  10689. }
  10690. /* skip an optional width specifier */
  10691. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  10692. /* don't care */
  10693. }
  10694. if !(_expect_char(tls, c, uint8('{')) != 0) {
  10695. return m_FcFalse
  10696. }
  10697. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  10698. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  10699. case int32('\\'):
  10700. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  10701. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10702. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10703. }
  10704. continue
  10705. case int32('{'):
  10706. if !(_skip_subexpr(tls, c) != 0) {
  10707. return m_FcFalse
  10708. }
  10709. continue
  10710. }
  10711. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10712. }
  10713. return _expect_char(tls, c, uint8('}'))
  10714. }
  10715. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10716. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  10717. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  10718. case int32('\\'):
  10719. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  10720. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  10721. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10722. }
  10723. continue
  10724. case int32('%'):
  10725. if !(_skip_percent(tls, c) != 0) {
  10726. return m_FcFalse
  10727. }
  10728. continue
  10729. }
  10730. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  10731. }
  10732. return int32(m_FcTrue)
  10733. }
  10734. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10735. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  10736. }
  10737. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  10738. var v1 int32
  10739. _ = v1
  10740. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  10741. v1 = _skip_subexpr(tls, c)
  10742. } else {
  10743. v1 = int32(m_FcTrue)
  10744. }
  10745. return v1
  10746. }
  10747. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10748. var os, subpat uintptr
  10749. _, _ = os, subpat
  10750. if !(_expect_char(tls, c, uint8('+')) != 0) {
  10751. return m_FcFalse
  10752. }
  10753. os = XIA__FcObjectSetCreate(tls)
  10754. if !(os != 0) {
  10755. return m_FcFalse
  10756. }
  10757. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10758. /* XXX binding */
  10759. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  10760. XIA__FcObjectSetDestroy(tls, os)
  10761. return m_FcFalse
  10762. }
  10763. }
  10764. subpat = XIA__FcPatternFilter(tls, pat, os)
  10765. XIA__FcObjectSetDestroy(tls, os)
  10766. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  10767. return m_FcFalse
  10768. }
  10769. XIA__FcPatternDestroy(tls, subpat)
  10770. return int32(m_FcTrue)
  10771. }
  10772. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10773. var subpat uintptr
  10774. _ = subpat
  10775. if !(_expect_char(tls, c, uint8('-')) != 0) {
  10776. return m_FcFalse
  10777. }
  10778. subpat = XIA__FcPatternDuplicate(tls, pat)
  10779. if !(subpat != 0) {
  10780. return m_FcFalse
  10781. }
  10782. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10783. if !(_read_word(tls, c) != 0) {
  10784. XIA__FcPatternDestroy(tls, subpat)
  10785. return m_FcFalse
  10786. }
  10787. XIA__FcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  10788. }
  10789. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  10790. return m_FcFalse
  10791. }
  10792. XIA__FcPatternDestroy(tls, subpat)
  10793. return int32(m_FcTrue)
  10794. }
  10795. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10796. bp := tls.Alloc(16)
  10797. defer tls.Free(16)
  10798. var negate, pass TFcBool
  10799. var _ /* v at bp+0 */ TFcValue
  10800. _, _ = negate, pass
  10801. if !(_expect_char(tls, c, uint8('?')) != 0) {
  10802. return m_FcFalse
  10803. }
  10804. pass = int32(m_FcTrue)
  10805. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10806. negate = _consume_char(tls, c, uint8('!'))
  10807. if !(_read_word(tls, c) != 0) {
  10808. return m_FcFalse
  10809. }
  10810. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  10811. }
  10812. if pass != 0 {
  10813. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  10814. return m_FcFalse
  10815. }
  10816. } else {
  10817. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  10818. return m_FcFalse
  10819. }
  10820. }
  10821. return int32(m_FcTrue)
  10822. }
  10823. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10824. bp := tls.Alloc(96)
  10825. defer tls.Free(96)
  10826. var count int32
  10827. var _ /* buf_static at bp+16 */ [64]TFcChar8
  10828. var _ /* iter at bp+0 */ TFcPatternIter
  10829. _ = count
  10830. if !(_expect_char(tls, c, uint8('#')) != 0) {
  10831. return m_FcFalse
  10832. }
  10833. if !(_read_word(tls, c) != 0) {
  10834. return m_FcFalse
  10835. }
  10836. count = 0
  10837. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  10838. count = XIA__FcPatternIterValueCount(tls, pat, bp)
  10839. }
  10840. libc.X__builtin_snprintf(tls, bp+16, uint64(64), __ccgo_ts+2183, libc.VaList(bp+88, count))
  10841. XFcStrBufString(tls, buf, bp+16)
  10842. return int32(m_FcTrue)
  10843. }
  10844. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10845. bp := tls.Alloc(32)
  10846. defer tls.Free(32)
  10847. var done, ret TFcBool
  10848. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  10849. var i, idx int32
  10850. var v3 bool
  10851. var _ /* langset at bp+0 */ uintptr
  10852. var _ /* v at bp+8 */ TFcValue
  10853. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  10854. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  10855. return m_FcFalse
  10856. }
  10857. os = XIA__FcObjectSetCreate(tls)
  10858. if !(os != 0) {
  10859. return m_FcFalse
  10860. }
  10861. ret = int32(m_FcTrue)
  10862. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  10863. if !(_read_word(tls, c) != 0) || !(XIA__FcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  10864. XIA__FcObjectSetDestroy(tls, os)
  10865. return m_FcFalse
  10866. }
  10867. }
  10868. /* If we have one element and it's of type FcLangSet, we want
  10869. * to enumerate the languages in it. */
  10870. lang_strs = libc.UintptrFromInt32(0)
  10871. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  10872. if int32(_FcResultMatch) == XIA__FcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  10873. v1 = XIA__FcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  10874. ss = v1
  10875. if v3 = !(v1 != 0); !v3 {
  10876. v2 = XIA__FcStrListCreate(tls, ss)
  10877. lang_strs = v2
  10878. }
  10879. if v3 || !(v2 != 0) {
  10880. goto bail0
  10881. }
  10882. }
  10883. }
  10884. subpat = XIA__FcPatternDuplicate(tls, pat)
  10885. if !(subpat != 0) {
  10886. goto bail0
  10887. }
  10888. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  10889. idx = 0
  10890. for cond := true; cond; cond = !(done != 0) {
  10891. done = int32(m_FcTrue)
  10892. if lang_strs != 0 {
  10893. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  10894. v4 = XIA__FcStrListNext(tls, lang_strs)
  10895. lang = v4
  10896. if v4 != 0 {
  10897. /* XXX binding? */
  10898. XIA__FcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  10899. done = m_FcFalse
  10900. }
  10901. } else {
  10902. i = 0
  10903. for {
  10904. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  10905. break
  10906. }
  10907. /* XXX this can be optimized by accessing valuelist linked lists
  10908. * directly and remembering where we were. Most (all) value lists
  10909. * in normal uses are pretty short though (language tags are
  10910. * stored as a LangSet, not separate values.). */
  10911. XIA__FcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  10912. if int32(_FcResultMatch) == XIA__FcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  10913. /* XXX binding */
  10914. XIA__FcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  10915. done = m_FcFalse
  10916. }
  10917. goto _5
  10918. _5:
  10919. ;
  10920. i++
  10921. }
  10922. }
  10923. if !(done != 0) {
  10924. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  10925. ret = _interpret_subexpr(tls, c, subpat, buf)
  10926. if !(ret != 0) {
  10927. goto bail
  10928. }
  10929. }
  10930. idx++
  10931. }
  10932. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  10933. _skip_subexpr(tls, c)
  10934. }
  10935. goto bail
  10936. bail:
  10937. ;
  10938. XIA__FcPatternDestroy(tls, subpat)
  10939. goto bail0
  10940. bail0:
  10941. ;
  10942. if lang_strs != 0 {
  10943. XIA__FcStrListDone(tls, lang_strs)
  10944. }
  10945. XIA__FcObjectSetDestroy(tls, os)
  10946. return ret
  10947. }
  10948. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  10949. bp := tls.Alloc(32)
  10950. defer tls.Free(32)
  10951. var add_colon, add_elt_name TFcBool
  10952. var else_string, orig, v3 uintptr
  10953. var idx int32
  10954. var l TFcValueListPtr
  10955. var _ /* iter at bp+0 */ TFcPatternIter
  10956. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  10957. add_colon = m_FcFalse
  10958. add_elt_name = m_FcFalse
  10959. if _consume_char(tls, c, uint8(':')) != 0 {
  10960. add_colon = int32(m_FcTrue)
  10961. }
  10962. if !(_read_word(tls, c) != 0) {
  10963. return m_FcFalse
  10964. }
  10965. idx = -int32(1)
  10966. if _consume_char(tls, c, uint8('[')) != 0 {
  10967. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  10968. if idx < 0 {
  10969. _message(tls, __ccgo_ts+3094, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  10970. return m_FcFalse
  10971. }
  10972. if !(_expect_char(tls, c, uint8(']')) != 0) {
  10973. return m_FcFalse
  10974. }
  10975. }
  10976. if _consume_char(tls, c, uint8('=')) != 0 {
  10977. add_elt_name = int32(m_FcTrue)
  10978. }
  10979. /* modifiers */
  10980. else_string = libc.UintptrFromInt32(0)
  10981. if _consume_char(tls, c, uint8(':')) != 0 {
  10982. /* divert the c->word for now */
  10983. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10984. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  10985. /* for now we just support 'default value' */
  10986. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  10987. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  10988. return m_FcFalse
  10989. }
  10990. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  10991. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  10992. }
  10993. if XIA__FcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  10994. l = libc.UintptrFromInt32(0)
  10995. if add_colon != 0 {
  10996. XFcStrBufChar(tls, buf, uint8(':'))
  10997. }
  10998. if add_elt_name != 0 {
  10999. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11000. XFcStrBufChar(tls, buf, uint8('='))
  11001. }
  11002. l = XFcPatternIterGetValues(tls, pat, bp)
  11003. if !(idx != -int32(1)) {
  11004. goto _1
  11005. }
  11006. for l != 0 && idx > 0 {
  11007. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  11008. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  11009. } else {
  11010. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11011. }
  11012. l = v3
  11013. idx--
  11014. }
  11015. if l != 0 && idx == 0 {
  11016. if !(XFcNameUnparseValue(tls, buf, l+8, uintptr('\000')) != 0) {
  11017. return m_FcFalse
  11018. }
  11019. } else {
  11020. goto notfound
  11021. }
  11022. goto _2
  11023. _1:
  11024. ;
  11025. if !(l != 0) {
  11026. goto _4
  11027. }
  11028. XFcNameUnparseValueList(tls, buf, l, uintptr('\000'))
  11029. goto _5
  11030. _4:
  11031. ;
  11032. goto notfound
  11033. notfound:
  11034. ;
  11035. if else_string != 0 {
  11036. XFcStrBufString(tls, buf, else_string)
  11037. }
  11038. _5:
  11039. ;
  11040. _2:
  11041. }
  11042. return int32(m_FcTrue)
  11043. }
  11044. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11045. var v1 uintptr
  11046. _ = v1
  11047. /* XXX escape \n etc? */
  11048. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11049. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11050. case int32('\\'):
  11051. fallthrough
  11052. case int32('"'):
  11053. XFcStrBufChar(tls, buf, uint8('\\'))
  11054. break
  11055. }
  11056. v1 = str
  11057. str++
  11058. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  11059. }
  11060. return int32(m_FcTrue)
  11061. }
  11062. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11063. XFcStrBufChar(tls, buf, uint8('\''))
  11064. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11065. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  11066. XFcStrBufString(tls, buf, __ccgo_ts+3129)
  11067. } else {
  11068. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11069. }
  11070. str++
  11071. }
  11072. XFcStrBufChar(tls, buf, uint8('\''))
  11073. return int32(m_FcTrue)
  11074. }
  11075. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11076. /* XXX escape \n etc? */
  11077. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11078. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(str))) {
  11079. case int32('&'):
  11080. XFcStrBufString(tls, buf, __ccgo_ts+3134)
  11081. case int32('<'):
  11082. XFcStrBufString(tls, buf, __ccgo_ts+3140)
  11083. case int32('>'):
  11084. XFcStrBufString(tls, buf, __ccgo_ts+3145)
  11085. default:
  11086. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  11087. break
  11088. }
  11089. str++
  11090. }
  11091. return int32(m_FcTrue)
  11092. }
  11093. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11094. var p uintptr
  11095. _ = p
  11096. /* XXX not UTF-8 aware */
  11097. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11098. return m_FcFalse
  11099. }
  11100. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11101. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11102. if p != 0 {
  11103. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11104. str = p + uintptr(1)
  11105. } else {
  11106. XFcStrBufString(tls, buf, str)
  11107. break
  11108. }
  11109. }
  11110. return int32(m_FcTrue)
  11111. }
  11112. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11113. var p uintptr
  11114. _ = p
  11115. /* XXX not UTF-8 aware */
  11116. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  11117. return m_FcFalse
  11118. }
  11119. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11120. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  11121. if p != 0 {
  11122. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11123. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  11124. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  11125. str = p + uintptr(1)
  11126. } else {
  11127. XFcStrBufString(tls, buf, str)
  11128. break
  11129. }
  11130. }
  11131. return int32(m_FcTrue)
  11132. }
  11133. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  11134. var from, p, to uintptr
  11135. var from_len, i, to_len, v1 int32
  11136. var repeat uint8
  11137. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  11138. /* XXX not UTF-8 aware */
  11139. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  11140. return m_FcFalse
  11141. }
  11142. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  11143. from_len = libc.Int32FromUint64(libc.Xstrlen(tls, from))
  11144. to = from + uintptr(from_len) + uintptr(1)
  11145. /* hack: we temporarily divert c->word */
  11146. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  11147. if !(_read_chars(tls, c, uint8(')')) != 0) {
  11148. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11149. return m_FcFalse
  11150. }
  11151. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  11152. to_len = libc.Int32FromUint64(libc.Xstrlen(tls, to))
  11153. repeat = *(*uint8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  11154. if !(_expect_char(tls, c, uint8(')')) != 0) {
  11155. return m_FcFalse
  11156. }
  11157. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  11158. p = libc.Xstrpbrk(tls, str, from)
  11159. if p != 0 {
  11160. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  11161. i = int32(int64(libc.Xstrchr(tls, from, libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  11162. if i < to_len {
  11163. v1 = libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(to + uintptr(i))))
  11164. } else {
  11165. v1 = libc.Int32FromUint8(repeat)
  11166. }
  11167. XFcStrBufChar(tls, buf, libc.Uint8FromInt32(v1))
  11168. str = p + uintptr(1)
  11169. } else {
  11170. XFcStrBufString(tls, buf, str)
  11171. break
  11172. }
  11173. }
  11174. return int32(m_FcTrue)
  11175. }
  11176. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11177. bp := tls.Alloc(8368)
  11178. defer tls.Free(8368)
  11179. var new_str, str uintptr
  11180. var ret TFcBool
  11181. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  11182. var _ /* new_buf at bp+0 */ TFcStrBuf
  11183. _, _, _ = new_str, ret, str
  11184. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  11185. return m_FcFalse
  11186. }
  11187. /* prepare the buffer */
  11188. XFcStrBufChar(tls, buf, uint8('\000'))
  11189. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11190. return m_FcFalse
  11191. }
  11192. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  11193. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  11194. /* try simple converters first */
  11195. if 0 != 0 {
  11196. } else {
  11197. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3150) {
  11198. new_str = XIA__FcStrDowncase(tls, str)
  11199. ret = int32(m_FcTrue)
  11200. } else {
  11201. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3159) {
  11202. new_str = XIA__FcStrBasename(tls, str)
  11203. ret = int32(m_FcTrue)
  11204. } else {
  11205. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3168) {
  11206. new_str = XIA__FcStrDirname(tls, str)
  11207. ret = int32(m_FcTrue)
  11208. } else {
  11209. ret = m_FcFalse
  11210. }
  11211. }
  11212. }
  11213. }
  11214. if ret != 0 {
  11215. if new_str != 0 {
  11216. XFcStrBufString(tls, buf, new_str)
  11217. XIA__FcStrFree(tls, new_str)
  11218. return int32(m_FcTrue)
  11219. } else {
  11220. return m_FcFalse
  11221. }
  11222. }
  11223. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  11224. /* now try our custom converters */
  11225. if 0 != 0 {
  11226. } else {
  11227. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3176) {
  11228. ret = _cescape(tls, c, str, bp)
  11229. } else {
  11230. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3184) {
  11231. ret = _shescape(tls, c, str, bp)
  11232. } else {
  11233. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3193) {
  11234. ret = _xmlescape(tls, c, str, bp)
  11235. } else {
  11236. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3203) {
  11237. ret = _delete_chars(tls, c, str, bp)
  11238. } else {
  11239. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3210) {
  11240. ret = _escape_chars(tls, c, str, bp)
  11241. } else {
  11242. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3217) {
  11243. ret = _translate_chars(tls, c, str, bp)
  11244. } else {
  11245. ret = m_FcFalse
  11246. }
  11247. }
  11248. }
  11249. }
  11250. }
  11251. }
  11252. }
  11253. if ret != 0 {
  11254. XFcStrBufChar(tls, bp, uint8('\000'))
  11255. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  11256. } else {
  11257. _message(tls, __ccgo_ts+3227, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  11258. }
  11259. XFcStrBufDestroy(tls, bp)
  11260. return ret
  11261. }
  11262. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  11263. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  11264. if !(_interpret_convert(tls, c, buf, start) != 0) {
  11265. return m_FcFalse
  11266. }
  11267. }
  11268. return int32(m_FcTrue)
  11269. }
  11270. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  11271. var len1, old_len, v1, v2 int32
  11272. _, _, _, _ = len1, old_len, v1, v2
  11273. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11274. return m_FcFalse
  11275. }
  11276. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  11277. if len1 < -width {
  11278. /* left align */
  11279. for {
  11280. v1 = len1
  11281. len1++
  11282. if !(v1 < -width) {
  11283. break
  11284. }
  11285. XFcStrBufChar(tls, buf, uint8(' '))
  11286. }
  11287. } else {
  11288. if len1 < width {
  11289. old_len = len1
  11290. /* right align */
  11291. for {
  11292. v2 = len1
  11293. len1++
  11294. if !(v2 < width) {
  11295. break
  11296. }
  11297. XFcStrBufChar(tls, buf, uint8(' '))
  11298. }
  11299. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  11300. return m_FcFalse
  11301. }
  11302. len1 = old_len
  11303. libc.Xmemmove(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), libc.Uint64FromInt32(len1))
  11304. libc.Xmemset(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), libc.Uint64FromInt32(width-len1))
  11305. }
  11306. }
  11307. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  11308. }
  11309. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  11310. var ret TFcBool
  11311. var start, width int32
  11312. _, _, _ = ret, start, width
  11313. if !(_expect_char(tls, c, uint8('%')) != 0) {
  11314. return m_FcFalse
  11315. }
  11316. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  11317. XFcStrBufChar(tls, buf, uint8('%'))
  11318. return int32(m_FcTrue)
  11319. }
  11320. /* parse an optional width specifier */
  11321. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  11322. if !(_expect_char(tls, c, uint8('{')) != 0) {
  11323. return m_FcFalse
  11324. }
  11325. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  11326. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11327. case int32('='):
  11328. ret = _interpret_builtin(tls, c, pat, buf)
  11329. case int32('{'):
  11330. ret = _interpret_subexpr(tls, c, pat, buf)
  11331. case int32('+'):
  11332. ret = _interpret_filter_in(tls, c, pat, buf)
  11333. case int32('-'):
  11334. ret = _interpret_filter_out(tls, c, pat, buf)
  11335. case int32('?'):
  11336. ret = _interpret_cond(tls, c, pat, buf)
  11337. case int32('#'):
  11338. ret = _interpret_count(tls, c, pat, buf)
  11339. case int32('['):
  11340. ret = _interpret_enumerate(tls, c, pat, buf)
  11341. default:
  11342. ret = _interpret_simple(tls, c, pat, buf)
  11343. break
  11344. }
  11345. 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)
  11346. }
  11347. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  11348. var v1, v2, v3, v4 uintptr
  11349. _, _, _, _ = v1, v2, v3, v4
  11350. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != libc.Int32FromUint8(term) {
  11351. switch libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  11352. case int32('\\'):
  11353. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  11354. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  11355. v2 = c + 8
  11356. v1 = *(*uintptr)(unsafe.Pointer(v2))
  11357. *(*uintptr)(unsafe.Pointer(v2))++
  11358. XFcStrBufChar(tls, buf, _escaped_char(tls, *(*TFcChar8)(unsafe.Pointer(v1))))
  11359. }
  11360. continue
  11361. case int32('%'):
  11362. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  11363. return m_FcFalse
  11364. }
  11365. continue
  11366. }
  11367. v4 = c + 8
  11368. v3 = *(*uintptr)(unsafe.Pointer(v4))
  11369. *(*uintptr)(unsafe.Pointer(v4))++
  11370. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  11371. }
  11372. return int32(m_FcTrue)
  11373. }
  11374. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  11375. bp := tls.Alloc(1072)
  11376. defer tls.Free(1072)
  11377. var ret TFcBool
  11378. var _ /* c at bp+0 */ TFcFormatContext
  11379. var _ /* word_static at bp+40 */ [1024]TFcChar8
  11380. _ = ret
  11381. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  11382. return m_FcFalse
  11383. }
  11384. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  11385. _FcFormatContextDone(tls, bp)
  11386. return ret
  11387. }
  11388. func XIA__FcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  11389. bp := tls.Alloc(7328)
  11390. defer tls.Free(7328)
  11391. var alloced, v1 uintptr
  11392. var ret TFcBool
  11393. var _ /* buf at bp+0 */ TFcStrBuf
  11394. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  11395. _, _, _ = alloced, ret, v1
  11396. alloced = libc.UintptrFromInt32(0)
  11397. if !(pat != 0) {
  11398. v1 = XIA__FcPatternCreate(tls)
  11399. pat = v1
  11400. alloced = v1
  11401. }
  11402. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  11403. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  11404. if alloced != 0 {
  11405. XIA__FcPatternDestroy(tls, alloced)
  11406. }
  11407. if ret != 0 {
  11408. return XFcStrBufDone(tls, bp)
  11409. } else {
  11410. XFcStrBufDestroy(tls, bp)
  11411. return libc.UintptrFromInt32(0)
  11412. }
  11413. return r
  11414. }
  11415. var XFcPatternFormat = XIA__FcPatternFormat
  11416. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  11417. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  11418. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  11419. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  11420. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  11421. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  11422. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  11423. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  11424. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  11425. const m_FREETYPE_MAJOR = 2
  11426. const m_FREETYPE_MINOR = 10
  11427. const m_FREETYPE_PATCH = 4
  11428. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  11429. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  11430. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  11431. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  11432. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  11433. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  11434. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  11435. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  11436. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  11437. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  11438. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  11439. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  11440. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  11441. const m_FT_CHAR_BIT = "CHAR_BIT"
  11442. const m_FT_CURVE_TAG_CONIC = 0x00
  11443. const m_FT_CURVE_TAG_CUBIC = 0x02
  11444. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  11445. const m_FT_CURVE_TAG_ON = 0x01
  11446. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  11447. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  11448. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  11449. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  11450. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  11451. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  11452. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  11453. const m_FT_DEBUG_HOOK_TRUETYPE = 0
  11454. const m_FT_FILE = "FILE"
  11455. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  11456. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  11457. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  11458. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  11459. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  11460. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  11461. const m_FT_INT64 = "long"
  11462. const m_FT_INT_MAX = "INT_MAX"
  11463. const m_FT_INT_MIN = "INT_MIN"
  11464. const m_FT_LOAD_DEFAULT = 0x0
  11465. const m_FT_LONG_MAX = "LONG_MAX"
  11466. const m_FT_LONG_MIN = "LONG_MIN"
  11467. const m_FT_MAX_MODULES = 32
  11468. const m_FT_MODULE_DRIVER_HAS_HINTER = 0x400
  11469. const m_FT_MODULE_DRIVER_HINTS_LIGHTLY = 0x800
  11470. const m_FT_MODULE_DRIVER_NO_OUTLINES = 0x200
  11471. const m_FT_MODULE_DRIVER_SCALABLE = 0x100
  11472. const m_FT_MODULE_FONT_DRIVER = 1
  11473. const m_FT_MODULE_HINTER = 4
  11474. const m_FT_MODULE_RENDERER = 2
  11475. const m_FT_MODULE_STYLER = 8
  11476. const m_FT_OPEN_DRIVER = 0x8
  11477. const m_FT_OPEN_MEMORY = 0x1
  11478. const m_FT_OPEN_PARAMS = 0x10
  11479. const m_FT_OPEN_PATHNAME = 0x4
  11480. const m_FT_OPEN_STREAM = 0x2
  11481. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  11482. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  11483. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  11484. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  11485. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  11486. const m_FT_OUTLINE_NONE = 0x0
  11487. const m_FT_OUTLINE_OVERLAP = 0x40
  11488. const m_FT_OUTLINE_OWNER = 0x1
  11489. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  11490. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  11491. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  11492. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  11493. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  11494. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  11495. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  11496. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  11497. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  11498. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  11499. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  11500. const m_FT_RASTER_FLAG_AA = 0x1
  11501. const m_FT_RASTER_FLAG_CLIP = 0x4
  11502. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  11503. const m_FT_RASTER_FLAG_DIRECT = 0x2
  11504. const m_FT_RENDER_POOL_SIZE = 16384
  11505. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  11506. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  11507. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  11508. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  11509. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  11510. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  11511. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  11512. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  11513. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  11514. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  11515. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  11516. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  11517. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  11518. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  11519. const m_FT_UINT_MAX = "UINT_MAX"
  11520. const m_FT_ULONG_MAX = "ULONG_MAX"
  11521. const m_FT_USHORT_MAX = "USHRT_MAX"
  11522. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  11523. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  11524. const m_FcPatternAddFTFace = "IA__FcPatternAddFTFace"
  11525. const m_FcPatternGetFTFace = "IA__FcPatternGetFTFace"
  11526. const m_OTLAYOUT_HEAD = "otlayout:"
  11527. const m_OTLAYOUT_HEAD_LEN = 9
  11528. const m_OTLAYOUT_ID_LEN = 4
  11529. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  11530. const m_T1_MAX_DICT_DEPTH = 5
  11531. const m_T1_MAX_MM_AXIS = 4
  11532. const m_T1_MAX_MM_DESIGNS = 16
  11533. const m_T1_MAX_MM_MAP_POINTS = 20
  11534. const m_T1_MAX_SUBRS_CALLS = 16
  11535. const m_TT_ADOBE_ID_CUSTOM = 2
  11536. const m_TT_ADOBE_ID_EXPERT = 1
  11537. const m_TT_ADOBE_ID_LATIN_1 = 3
  11538. const m_TT_ADOBE_ID_STANDARD = 0
  11539. const m_TT_APPLE_ID_DEFAULT = 0
  11540. const m_TT_APPLE_ID_FULL_UNICODE = 6
  11541. const m_TT_APPLE_ID_ISO_10646 = 2
  11542. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  11543. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  11544. const m_TT_APPLE_ID_UNICODE_32 = 4
  11545. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  11546. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  11547. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  11548. const m_TT_ENCODING_DONT_CARE = 65535
  11549. const m_TT_ISO_ID_10646 = 1
  11550. const m_TT_ISO_ID_7BIT_ASCII = 0
  11551. const m_TT_ISO_ID_8859_1 = 2
  11552. const m_TT_LANGUAGE_DONT_CARE = 65535
  11553. const m_TT_MAC_ID_ARABIC = 4
  11554. const m_TT_MAC_ID_ARMENIAN = 24
  11555. const m_TT_MAC_ID_BENGALI = 13
  11556. const m_TT_MAC_ID_BURMESE = 19
  11557. const m_TT_MAC_ID_DEVANAGARI = 9
  11558. const m_TT_MAC_ID_GEEZ = 28
  11559. const m_TT_MAC_ID_GEORGIAN = 23
  11560. const m_TT_MAC_ID_GREEK = 6
  11561. const m_TT_MAC_ID_GUJARATI = 11
  11562. const m_TT_MAC_ID_GURMUKHI = 10
  11563. const m_TT_MAC_ID_HEBREW = 5
  11564. const m_TT_MAC_ID_JAPANESE = 1
  11565. const m_TT_MAC_ID_KANNADA = 16
  11566. const m_TT_MAC_ID_KHMER = 20
  11567. const m_TT_MAC_ID_KOREAN = 3
  11568. const m_TT_MAC_ID_LAOTIAN = 22
  11569. const m_TT_MAC_ID_MALAYALAM = 17
  11570. const m_TT_MAC_ID_MALDIVIAN = 25
  11571. const m_TT_MAC_ID_MONGOLIAN = 27
  11572. const m_TT_MAC_ID_ORIYA = 12
  11573. const m_TT_MAC_ID_ROMAN = 0
  11574. const m_TT_MAC_ID_RSYMBOL = 8
  11575. const m_TT_MAC_ID_RUSSIAN = 7
  11576. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  11577. const m_TT_MAC_ID_SINDHI = 31
  11578. const m_TT_MAC_ID_SINHALESE = 18
  11579. const m_TT_MAC_ID_SLAVIC = 29
  11580. const m_TT_MAC_ID_TAMIL = 14
  11581. const m_TT_MAC_ID_TELUGU = 15
  11582. const m_TT_MAC_ID_THAI = 21
  11583. const m_TT_MAC_ID_TIBETAN = 26
  11584. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  11585. const m_TT_MAC_ID_UNINTERP = 32
  11586. const m_TT_MAC_ID_VIETNAMESE = 30
  11587. const m_TT_MAC_LANGID_AFRIKAANS = 141
  11588. const m_TT_MAC_LANGID_ALBANIAN = 36
  11589. const m_TT_MAC_LANGID_AMHARIC = 85
  11590. const m_TT_MAC_LANGID_ARABIC = 12
  11591. const m_TT_MAC_LANGID_ARMENIAN = 51
  11592. const m_TT_MAC_LANGID_ASSAMESE = 68
  11593. const m_TT_MAC_LANGID_AYMARA = 134
  11594. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  11595. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  11596. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  11597. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  11598. const m_TT_MAC_LANGID_BASQUE = 129
  11599. const m_TT_MAC_LANGID_BENGALI = 67
  11600. const m_TT_MAC_LANGID_BRETON = 142
  11601. const m_TT_MAC_LANGID_BULGARIAN = 44
  11602. const m_TT_MAC_LANGID_BURMESE = 77
  11603. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  11604. const m_TT_MAC_LANGID_CATALAN = 130
  11605. const m_TT_MAC_LANGID_CHEWA = 92
  11606. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  11607. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  11608. const m_TT_MAC_LANGID_CROATIAN = 18
  11609. const m_TT_MAC_LANGID_CZECH = 38
  11610. const m_TT_MAC_LANGID_DANISH = 7
  11611. const m_TT_MAC_LANGID_DUTCH = 4
  11612. const m_TT_MAC_LANGID_DZONGKHA = 137
  11613. const m_TT_MAC_LANGID_ENGLISH = 0
  11614. const m_TT_MAC_LANGID_ESPERANTO = 94
  11615. const m_TT_MAC_LANGID_ESTONIAN = 27
  11616. const m_TT_MAC_LANGID_FAEROESE = 30
  11617. const m_TT_MAC_LANGID_FARSI = 31
  11618. const m_TT_MAC_LANGID_FINNISH = 13
  11619. const m_TT_MAC_LANGID_FLEMISH = 34
  11620. const m_TT_MAC_LANGID_FRENCH = 1
  11621. const m_TT_MAC_LANGID_GALICIAN = 140
  11622. const m_TT_MAC_LANGID_GALLA = 87
  11623. const m_TT_MAC_LANGID_GEORGIAN = 52
  11624. const m_TT_MAC_LANGID_GERMAN = 2
  11625. const m_TT_MAC_LANGID_GREEK = 14
  11626. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  11627. const m_TT_MAC_LANGID_GREELANDIC = 149
  11628. const m_TT_MAC_LANGID_GUARANI = 133
  11629. const m_TT_MAC_LANGID_GUJARATI = 69
  11630. const m_TT_MAC_LANGID_HEBREW = 10
  11631. const m_TT_MAC_LANGID_HINDI = 21
  11632. const m_TT_MAC_LANGID_HUNGARIAN = 26
  11633. const m_TT_MAC_LANGID_ICELANDIC = 15
  11634. const m_TT_MAC_LANGID_INDONESIAN = 81
  11635. const m_TT_MAC_LANGID_INUKTITUT = 143
  11636. const m_TT_MAC_LANGID_IRISH = 35
  11637. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  11638. const m_TT_MAC_LANGID_ITALIAN = 3
  11639. const m_TT_MAC_LANGID_JAPANESE = 11
  11640. const m_TT_MAC_LANGID_JAVANESE = 138
  11641. const m_TT_MAC_LANGID_KANNADA = 73
  11642. const m_TT_MAC_LANGID_KASHMIRI = 61
  11643. const m_TT_MAC_LANGID_KAZAKH = 48
  11644. const m_TT_MAC_LANGID_KHMER = 78
  11645. const m_TT_MAC_LANGID_KIRGHIZ = 54
  11646. const m_TT_MAC_LANGID_KOREAN = 23
  11647. const m_TT_MAC_LANGID_KURDISH = 60
  11648. const m_TT_MAC_LANGID_LAO = 79
  11649. const m_TT_MAC_LANGID_LATIN = 131
  11650. const m_TT_MAC_LANGID_LETTISH = 28
  11651. const m_TT_MAC_LANGID_LITHUANIAN = 24
  11652. const m_TT_MAC_LANGID_MACEDONIAN = 43
  11653. const m_TT_MAC_LANGID_MALAGASY = 93
  11654. const m_TT_MAC_LANGID_MALAYALAM = 72
  11655. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  11656. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  11657. const m_TT_MAC_LANGID_MALTESE = 16
  11658. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  11659. const m_TT_MAC_LANGID_MARATHI = 66
  11660. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  11661. const m_TT_MAC_LANGID_MONGOLIAN = 57
  11662. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  11663. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  11664. const m_TT_MAC_LANGID_NEPALI = 64
  11665. const m_TT_MAC_LANGID_NORWEGIAN = 9
  11666. const m_TT_MAC_LANGID_ORIYA = 71
  11667. const m_TT_MAC_LANGID_PASHTO = 59
  11668. const m_TT_MAC_LANGID_POLISH = 25
  11669. const m_TT_MAC_LANGID_PORTUGUESE = 8
  11670. const m_TT_MAC_LANGID_PUNJABI = 70
  11671. const m_TT_MAC_LANGID_QUECHUA = 132
  11672. const m_TT_MAC_LANGID_ROMANIAN = 37
  11673. const m_TT_MAC_LANGID_RUANDA = 90
  11674. const m_TT_MAC_LANGID_RUNDI = 91
  11675. const m_TT_MAC_LANGID_RUSSIAN = 32
  11676. const m_TT_MAC_LANGID_SAAMISK = 29
  11677. const m_TT_MAC_LANGID_SANSKRIT = 65
  11678. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  11679. const m_TT_MAC_LANGID_SERBIAN = 42
  11680. const m_TT_MAC_LANGID_SINDHI = 62
  11681. const m_TT_MAC_LANGID_SINHALESE = 76
  11682. const m_TT_MAC_LANGID_SLOVAK = 39
  11683. const m_TT_MAC_LANGID_SLOVENIAN = 40
  11684. const m_TT_MAC_LANGID_SOMALI = 88
  11685. const m_TT_MAC_LANGID_SPANISH = 6
  11686. const m_TT_MAC_LANGID_SUNDANESE = 139
  11687. const m_TT_MAC_LANGID_SWAHILI = 89
  11688. const m_TT_MAC_LANGID_SWEDISH = 5
  11689. const m_TT_MAC_LANGID_TAGALOG = 82
  11690. const m_TT_MAC_LANGID_TAJIKI = 55
  11691. const m_TT_MAC_LANGID_TAMIL = 74
  11692. const m_TT_MAC_LANGID_TATAR = 135
  11693. const m_TT_MAC_LANGID_TELUGU = 75
  11694. const m_TT_MAC_LANGID_THAI = 22
  11695. const m_TT_MAC_LANGID_TIBETAN = 63
  11696. const m_TT_MAC_LANGID_TIGRINYA = 86
  11697. const m_TT_MAC_LANGID_TONGAN = 147
  11698. const m_TT_MAC_LANGID_TURKISH = 17
  11699. const m_TT_MAC_LANGID_TURKMEN = 56
  11700. const m_TT_MAC_LANGID_UIGHUR = 136
  11701. const m_TT_MAC_LANGID_UKRAINIAN = 45
  11702. const m_TT_MAC_LANGID_URDU = 20
  11703. const m_TT_MAC_LANGID_UZBEK = 47
  11704. const m_TT_MAC_LANGID_VIETNAMESE = 80
  11705. const m_TT_MAC_LANGID_WELSH = 128
  11706. const m_TT_MAC_LANGID_YIDDISH = 41
  11707. const m_TT_MS_ID_BIG_5 = 4
  11708. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  11709. const m_TT_MS_ID_JOHAB = 6
  11710. const m_TT_MS_ID_PRC = 3
  11711. const m_TT_MS_ID_SJIS = 2
  11712. const m_TT_MS_ID_SYMBOL_CS = 0
  11713. const m_TT_MS_ID_UCS_4 = 10
  11714. const m_TT_MS_ID_UNICODE_CS = 1
  11715. const m_TT_MS_ID_WANSUNG = 5
  11716. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  11717. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  11718. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  11719. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  11720. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  11721. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  11722. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  11723. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  11724. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  11725. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  11726. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  11727. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  11728. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  11729. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  11730. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  11731. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  11732. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  11733. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  11734. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  11735. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  11736. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  11737. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  11738. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  11739. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  11740. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  11741. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  11742. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  11743. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  11744. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  11745. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  11746. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  11747. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  11748. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  11749. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  11750. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  11751. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  11752. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  11753. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  11754. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  11755. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  11756. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  11757. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  11758. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  11759. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  11760. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  11761. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  11762. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  11763. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  11764. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  11765. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  11766. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  11767. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  11768. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  11769. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  11770. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  11771. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  11772. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  11773. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  11774. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  11775. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  11776. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  11777. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  11778. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  11779. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  11780. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  11781. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  11782. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  11783. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  11784. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  11785. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  11786. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  11787. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  11788. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  11789. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  11790. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  11791. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  11792. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  11793. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  11794. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  11795. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  11796. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  11797. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  11798. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  11799. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  11800. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  11801. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  11802. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  11803. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  11804. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  11805. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  11806. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  11807. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  11808. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  11809. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  11810. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  11811. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  11812. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  11813. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  11814. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  11815. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  11816. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  11817. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  11818. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  11819. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  11820. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  11821. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  11822. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  11823. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  11824. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  11825. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  11826. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  11827. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  11828. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  11829. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  11830. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  11831. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  11832. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  11833. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  11834. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  11835. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  11836. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  11837. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  11838. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  11839. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  11840. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  11841. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  11842. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  11843. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  11844. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  11845. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  11846. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  11847. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  11848. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  11849. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  11850. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  11851. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  11852. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  11853. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  11854. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  11855. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  11856. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  11857. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  11858. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  11859. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  11860. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  11861. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  11862. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  11863. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  11864. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  11865. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  11866. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  11867. const m_TT_MS_LANGID_LAO_LAOS = 1108
  11868. const m_TT_MS_LANGID_LATIN = 1142
  11869. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  11870. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  11871. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  11872. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  11873. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  11874. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  11875. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  11876. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  11877. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  11878. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  11879. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  11880. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  11881. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  11882. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  11883. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  11884. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  11885. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  11886. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  11887. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  11888. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  11889. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  11890. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  11891. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  11892. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  11893. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  11894. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  11895. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  11896. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  11897. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  11898. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  11899. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  11900. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  11901. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  11902. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  11903. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  11904. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  11905. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  11906. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  11907. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  11908. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  11909. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  11910. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  11911. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  11912. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  11913. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  11914. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  11915. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  11916. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  11917. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  11918. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  11919. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  11920. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  11921. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  11922. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  11923. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  11924. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  11925. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  11926. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  11927. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  11928. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  11929. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  11930. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  11931. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  11932. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  11933. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  11934. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  11935. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  11936. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  11937. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  11938. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  11939. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  11940. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  11941. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  11942. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  11943. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  11944. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  11945. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  11946. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  11947. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  11948. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  11949. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  11950. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  11951. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  11952. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  11953. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  11954. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  11955. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  11956. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  11957. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  11958. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  11959. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  11960. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  11961. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  11962. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  11963. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  11964. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  11965. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  11966. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  11967. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  11968. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  11969. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  11970. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  11971. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  11972. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  11973. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  11974. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  11975. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  11976. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  11977. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  11978. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  11979. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  11980. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  11981. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  11982. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  11983. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  11984. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  11985. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  11986. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  11987. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  11988. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  11989. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  11990. const m_TT_MS_LANGID_URDU_INDIA = 2080
  11991. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  11992. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  11993. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  11994. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  11995. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  11996. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  11997. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  11998. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  11999. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  12000. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  12001. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  12002. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  12003. const m_TT_MS_LANGID_YI_PRC = 0x0478
  12004. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  12005. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  12006. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  12007. const m_TT_NAME_ID_COPYRIGHT = 0
  12008. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  12009. const m_TT_NAME_ID_DESCRIPTION = 10
  12010. const m_TT_NAME_ID_DESIGNER = 9
  12011. const m_TT_NAME_ID_DESIGNER_URL = 12
  12012. const m_TT_NAME_ID_FONT_FAMILY = 1
  12013. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  12014. const m_TT_NAME_ID_FULL_NAME = 4
  12015. const m_TT_NAME_ID_LICENSE = 13
  12016. const m_TT_NAME_ID_LICENSE_URL = 14
  12017. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  12018. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  12019. const m_TT_NAME_ID_MANUFACTURER = 8
  12020. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  12021. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  12022. const m_TT_NAME_ID_PS_NAME = 6
  12023. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  12024. const m_TT_NAME_ID_TRADEMARK = 7
  12025. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  12026. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  12027. const m_TT_NAME_ID_UNIQUE_ID = 3
  12028. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  12029. const m_TT_NAME_ID_VENDOR_URL = 11
  12030. const m_TT_NAME_ID_VERSION_STRING = 5
  12031. const m_TT_NAME_ID_WWS_FAMILY = 21
  12032. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  12033. const m_TT_PLATFORM_ADOBE = 7
  12034. const m_TT_PLATFORM_APPLE_UNICODE = 0
  12035. const m_TT_PLATFORM_CUSTOM = 4
  12036. const m_TT_PLATFORM_ISO = 2
  12037. const m_TT_PLATFORM_MACINTOSH = 1
  12038. const m_TT_PLATFORM_MICROSOFT = 3
  12039. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  12040. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  12041. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  12042. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  12043. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  12044. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  12045. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  12046. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  12047. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  12048. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  12049. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  12050. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  12051. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  12052. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  12053. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  12054. const m_ft_encoding_none = "FT_ENCODING_NONE"
  12055. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  12056. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  12057. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  12058. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  12059. const m_ft_fclose = "fclose"
  12060. const m_ft_fopen = "fopen"
  12061. const m_ft_fread = "fread"
  12062. const m_ft_fseek = "fseek"
  12063. const m_ft_ftell = "ftell"
  12064. const m_ft_getenv = "getenv"
  12065. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  12066. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  12067. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  12068. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  12069. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  12070. const m_ft_jmp_buf = "jmp_buf"
  12071. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  12072. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  12073. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  12074. const m_ft_longjmp = "longjmp"
  12075. const m_ft_memchr = "memchr"
  12076. const m_ft_memcmp = "memcmp"
  12077. const m_ft_memcpy = "memcpy"
  12078. const m_ft_memmove = "memmove"
  12079. const m_ft_memset = "memset"
  12080. const m_ft_module_driver_has_hinter = "FT_MODULE_DRIVER_HAS_HINTER"
  12081. const m_ft_module_driver_hints_lightly = "FT_MODULE_DRIVER_HINTS_LIGHTLY"
  12082. const m_ft_module_driver_no_outlines = "FT_MODULE_DRIVER_NO_OUTLINES"
  12083. const m_ft_module_driver_scalable = "FT_MODULE_DRIVER_SCALABLE"
  12084. const m_ft_module_font_driver = "FT_MODULE_FONT_DRIVER"
  12085. const m_ft_module_hinter = "FT_MODULE_HINTER"
  12086. const m_ft_module_renderer = "FT_MODULE_RENDERER"
  12087. const m_ft_module_styler = "FT_MODULE_STYLER"
  12088. const m_ft_open_driver = "FT_OPEN_DRIVER"
  12089. const m_ft_open_memory = "FT_OPEN_MEMORY"
  12090. const m_ft_open_params = "FT_OPEN_PARAMS"
  12091. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  12092. const m_ft_open_stream = "FT_OPEN_STREAM"
  12093. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  12094. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  12095. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  12096. const m_ft_outline_none = "FT_OUTLINE_NONE"
  12097. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  12098. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  12099. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  12100. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  12101. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  12102. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  12103. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  12104. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  12105. const m_ft_ptrdiff_t = "ptrdiff_t"
  12106. const m_ft_qsort = "qsort"
  12107. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  12108. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  12109. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  12110. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  12111. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  12112. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  12113. const m_ft_scalloc = "calloc"
  12114. const m_ft_sfnt_head = 0
  12115. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  12116. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  12117. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  12118. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  12119. const m_ft_sfnt_post = "FT_SFNT_POST"
  12120. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  12121. const m_ft_sfree = "free"
  12122. const m_ft_smalloc = "malloc"
  12123. const m_ft_sprintf = "sprintf"
  12124. const m_ft_srealloc = "realloc"
  12125. const m_ft_strcat = "strcat"
  12126. const m_ft_strcmp = "strcmp"
  12127. const m_ft_strcpy = "strcpy"
  12128. const m_ft_strlen = "strlen"
  12129. const m_ft_strncmp = "strncmp"
  12130. const m_ft_strncpy = "strncpy"
  12131. const m_ft_strrchr = "strrchr"
  12132. const m_ft_strstr = "strstr"
  12133. const m_ft_strtol = "strtol"
  12134. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  12135. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  12136. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  12137. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  12138. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  12139. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  12140. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  12141. const m_t1_blend_max = "T1_BLEND_MAX"
  12142. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  12143. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  12144. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  12145. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  12146. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  12147. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  12148. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  12149. type t__jmp_buf = [32][2]uint64
  12150. type Tjmp_buf = [1]t__jmp_buf_tag
  12151. type t__jmp_buf_tag = struct {
  12152. F__ccgo_align [0]uint64
  12153. F__jb t__jmp_buf
  12154. F__fl uint64
  12155. F__ss [16]uint64
  12156. F__ccgo_pad3 [8]byte
  12157. }
  12158. type Tsigjmp_buf = [1]t__jmp_buf_tag
  12159. type TFT_Int16 = int16
  12160. type TFT_UInt16 = uint16
  12161. type TFT_Int32 = int32
  12162. type TFT_UInt32 = uint32
  12163. type TFT_Fast = int32
  12164. type TFT_UFast = uint32
  12165. type TFT_Int64 = int64
  12166. type TFT_UInt64 = uint64
  12167. type TFT_Memory = uintptr
  12168. type TFT_MemoryRec_ = struct {
  12169. Fuser uintptr
  12170. Falloc TFT_Alloc_Func
  12171. Ffree TFT_Free_Func
  12172. Frealloc TFT_Realloc_Func
  12173. }
  12174. type TFT_Alloc_Func = uintptr
  12175. type TFT_Free_Func = uintptr
  12176. type TFT_Realloc_Func = uintptr
  12177. type TFT_Stream = uintptr
  12178. type TFT_StreamRec_ = struct {
  12179. Fbase uintptr
  12180. Fsize uint64
  12181. Fpos uint64
  12182. Fdescriptor TFT_StreamDesc
  12183. Fpathname TFT_StreamDesc
  12184. Fread TFT_Stream_IoFunc
  12185. Fclose1 TFT_Stream_CloseFunc
  12186. Fmemory TFT_Memory
  12187. Fcursor uintptr
  12188. Flimit uintptr
  12189. }
  12190. type TFT_StreamDesc = struct {
  12191. Fpointer [0]uintptr
  12192. Fvalue int64
  12193. }
  12194. type TFT_StreamDesc_ = TFT_StreamDesc
  12195. type TFT_Stream_IoFunc = uintptr
  12196. type TFT_Stream_CloseFunc = uintptr
  12197. type TFT_StreamRec = struct {
  12198. Fbase uintptr
  12199. Fsize uint64
  12200. Fpos uint64
  12201. Fdescriptor TFT_StreamDesc
  12202. Fpathname TFT_StreamDesc
  12203. Fread TFT_Stream_IoFunc
  12204. Fclose1 TFT_Stream_CloseFunc
  12205. Fmemory TFT_Memory
  12206. Fcursor uintptr
  12207. Flimit uintptr
  12208. }
  12209. type TFT_Pos = int64
  12210. type TFT_Vector = struct {
  12211. Fx TFT_Pos
  12212. Fy TFT_Pos
  12213. }
  12214. type TFT_Vector_ = TFT_Vector
  12215. type TFT_BBox = struct {
  12216. FxMin TFT_Pos
  12217. FyMin TFT_Pos
  12218. FxMax TFT_Pos
  12219. FyMax TFT_Pos
  12220. }
  12221. type TFT_BBox_ = TFT_BBox
  12222. type TFT_Pixel_Mode = int32
  12223. type _FT_Pixel_Mode_ = int32
  12224. const _FT_PIXEL_MODE_NONE = 0
  12225. const _FT_PIXEL_MODE_MONO = 1
  12226. const _FT_PIXEL_MODE_GRAY = 2
  12227. const _FT_PIXEL_MODE_GRAY2 = 3
  12228. const _FT_PIXEL_MODE_GRAY4 = 4
  12229. const _FT_PIXEL_MODE_LCD = 5
  12230. const _FT_PIXEL_MODE_LCD_V = 6
  12231. const _FT_PIXEL_MODE_BGRA = 7
  12232. const _FT_PIXEL_MODE_MAX = 8
  12233. type TFT_Bitmap = struct {
  12234. Frows uint32
  12235. Fwidth uint32
  12236. Fpitch int32
  12237. Fbuffer uintptr
  12238. Fnum_grays uint16
  12239. Fpixel_mode uint8
  12240. Fpalette_mode uint8
  12241. Fpalette uintptr
  12242. }
  12243. type TFT_Bitmap_ = TFT_Bitmap
  12244. type TFT_Outline = struct {
  12245. Fn_contours int16
  12246. Fn_points int16
  12247. Fpoints uintptr
  12248. Ftags uintptr
  12249. Fcontours uintptr
  12250. Fflags int32
  12251. }
  12252. type TFT_Outline_ = TFT_Outline
  12253. type TFT_Outline_MoveToFunc = uintptr
  12254. type TFT_Outline_LineToFunc = uintptr
  12255. type TFT_Outline_ConicToFunc = uintptr
  12256. type TFT_Outline_CubicToFunc = uintptr
  12257. type TFT_Outline_Funcs = struct {
  12258. Fmove_to TFT_Outline_MoveToFunc
  12259. Fline_to TFT_Outline_LineToFunc
  12260. Fconic_to TFT_Outline_ConicToFunc
  12261. Fcubic_to TFT_Outline_CubicToFunc
  12262. Fshift int32
  12263. Fdelta TFT_Pos
  12264. }
  12265. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  12266. type TFT_Glyph_Format = int32
  12267. type _FT_Glyph_Format_ = int32
  12268. const _FT_GLYPH_FORMAT_NONE = 0
  12269. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  12270. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  12271. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  12272. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  12273. type TFT_Raster = uintptr
  12274. type TFT_Span = struct {
  12275. Fx int16
  12276. Flen1 uint16
  12277. Fcoverage uint8
  12278. }
  12279. type TFT_Span_ = TFT_Span
  12280. type TFT_SpanFunc = uintptr
  12281. type TFT_Raster_BitTest_Func = uintptr
  12282. type TFT_Raster_BitSet_Func = uintptr
  12283. type TFT_Raster_Params = struct {
  12284. Ftarget uintptr
  12285. Fsource uintptr
  12286. Fflags int32
  12287. Fgray_spans TFT_SpanFunc
  12288. Fblack_spans TFT_SpanFunc
  12289. Fbit_test TFT_Raster_BitTest_Func
  12290. Fbit_set TFT_Raster_BitSet_Func
  12291. Fuser uintptr
  12292. Fclip_box TFT_BBox
  12293. }
  12294. type TFT_Raster_Params_ = TFT_Raster_Params
  12295. type TFT_Raster_NewFunc = uintptr
  12296. type TFT_Raster_DoneFunc = uintptr
  12297. type TFT_Raster_ResetFunc = uintptr
  12298. type TFT_Raster_SetModeFunc = uintptr
  12299. type TFT_Raster_RenderFunc = uintptr
  12300. type TFT_Raster_Funcs = struct {
  12301. Fglyph_format TFT_Glyph_Format
  12302. Fraster_new TFT_Raster_NewFunc
  12303. Fraster_reset TFT_Raster_ResetFunc
  12304. Fraster_set_mode TFT_Raster_SetModeFunc
  12305. Fraster_render TFT_Raster_RenderFunc
  12306. Fraster_done TFT_Raster_DoneFunc
  12307. }
  12308. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  12309. type TFT_Bool = uint8
  12310. type TFT_FWord = int16
  12311. type TFT_UFWord = uint16
  12312. type TFT_Char = int8
  12313. type TFT_Byte = uint8
  12314. type TFT_Bytes = uintptr
  12315. type TFT_Tag = uint32
  12316. type TFT_String = uint8
  12317. type TFT_Short = int16
  12318. type TFT_UShort = uint16
  12319. type TFT_Int = int32
  12320. type TFT_UInt = uint32
  12321. type TFT_Long = int64
  12322. type TFT_ULong = uint64
  12323. type TFT_F2Dot14 = int16
  12324. type TFT_F26Dot6 = int64
  12325. type TFT_Fixed = int64
  12326. type TFT_Error = int32
  12327. type TFT_Pointer = uintptr
  12328. type TFT_Offset = uint64
  12329. type TFT_PtrDist = int64
  12330. type TFT_UnitVector = struct {
  12331. Fx TFT_F2Dot14
  12332. Fy TFT_F2Dot14
  12333. }
  12334. type TFT_UnitVector_ = TFT_UnitVector
  12335. type TFT_Matrix = struct {
  12336. Fxx TFT_Fixed
  12337. Fxy TFT_Fixed
  12338. Fyx TFT_Fixed
  12339. Fyy TFT_Fixed
  12340. }
  12341. type TFT_Matrix_ = TFT_Matrix
  12342. type TFT_Data = struct {
  12343. Fpointer uintptr
  12344. Flength TFT_Int
  12345. }
  12346. type TFT_Data_ = TFT_Data
  12347. type TFT_Generic_Finalizer = uintptr
  12348. type TFT_Generic = struct {
  12349. Fdata uintptr
  12350. Ffinalizer TFT_Generic_Finalizer
  12351. }
  12352. type TFT_Generic_ = TFT_Generic
  12353. type TFT_ListNode = uintptr
  12354. type TFT_ListNodeRec_ = struct {
  12355. Fprev TFT_ListNode
  12356. Fnext TFT_ListNode
  12357. Fdata uintptr
  12358. }
  12359. type TFT_List = uintptr
  12360. type TFT_ListRec_ = struct {
  12361. Fhead TFT_ListNode
  12362. Ftail TFT_ListNode
  12363. }
  12364. type TFT_ListNodeRec = struct {
  12365. Fprev TFT_ListNode
  12366. Fnext TFT_ListNode
  12367. Fdata uintptr
  12368. }
  12369. type TFT_ListRec = struct {
  12370. Fhead TFT_ListNode
  12371. Ftail TFT_ListNode
  12372. }
  12373. const _FT_Mod_Err_Base = 0
  12374. const _FT_Mod_Err_Autofit = 0
  12375. const _FT_Mod_Err_BDF = 0
  12376. const _FT_Mod_Err_Bzip2 = 0
  12377. const _FT_Mod_Err_Cache = 0
  12378. const _FT_Mod_Err_CFF = 0
  12379. const _FT_Mod_Err_CID = 0
  12380. const _FT_Mod_Err_Gzip = 0
  12381. const _FT_Mod_Err_LZW = 0
  12382. const _FT_Mod_Err_OTvalid = 0
  12383. const _FT_Mod_Err_PCF = 0
  12384. const _FT_Mod_Err_PFR = 0
  12385. const _FT_Mod_Err_PSaux = 0
  12386. const _FT_Mod_Err_PShinter = 0
  12387. const _FT_Mod_Err_PSnames = 0
  12388. const _FT_Mod_Err_Raster = 0
  12389. const _FT_Mod_Err_SFNT = 0
  12390. const _FT_Mod_Err_Smooth = 0
  12391. const _FT_Mod_Err_TrueType = 0
  12392. const _FT_Mod_Err_Type1 = 0
  12393. const _FT_Mod_Err_Type42 = 0
  12394. const _FT_Mod_Err_Winfonts = 0
  12395. const _FT_Mod_Err_GXvalid = 0
  12396. const _FT_Mod_Err_Max = 1
  12397. const _FT_Err_Ok = 0
  12398. const _FT_Err_Cannot_Open_Resource = 1
  12399. const _FT_Err_Unknown_File_Format = 2
  12400. const _FT_Err_Invalid_File_Format = 3
  12401. const _FT_Err_Invalid_Version = 4
  12402. const _FT_Err_Lower_Module_Version = 5
  12403. const _FT_Err_Invalid_Argument = 6
  12404. const _FT_Err_Unimplemented_Feature = 7
  12405. const _FT_Err_Invalid_Table = 8
  12406. const _FT_Err_Invalid_Offset = 9
  12407. const _FT_Err_Array_Too_Large = 10
  12408. const _FT_Err_Missing_Module = 11
  12409. const _FT_Err_Missing_Property = 12
  12410. const _FT_Err_Invalid_Glyph_Index = 16
  12411. const _FT_Err_Invalid_Character_Code = 17
  12412. const _FT_Err_Invalid_Glyph_Format = 18
  12413. const _FT_Err_Cannot_Render_Glyph = 19
  12414. const _FT_Err_Invalid_Outline = 20
  12415. const _FT_Err_Invalid_Composite = 21
  12416. const _FT_Err_Too_Many_Hints = 22
  12417. const _FT_Err_Invalid_Pixel_Size = 23
  12418. const _FT_Err_Invalid_Handle = 32
  12419. const _FT_Err_Invalid_Library_Handle = 33
  12420. const _FT_Err_Invalid_Driver_Handle = 34
  12421. const _FT_Err_Invalid_Face_Handle = 35
  12422. const _FT_Err_Invalid_Size_Handle = 36
  12423. const _FT_Err_Invalid_Slot_Handle = 37
  12424. const _FT_Err_Invalid_CharMap_Handle = 38
  12425. const _FT_Err_Invalid_Cache_Handle = 39
  12426. const _FT_Err_Invalid_Stream_Handle = 40
  12427. const _FT_Err_Too_Many_Drivers = 48
  12428. const _FT_Err_Too_Many_Extensions = 49
  12429. const _FT_Err_Out_Of_Memory = 64
  12430. const _FT_Err_Unlisted_Object = 65
  12431. const _FT_Err_Cannot_Open_Stream = 81
  12432. const _FT_Err_Invalid_Stream_Seek = 82
  12433. const _FT_Err_Invalid_Stream_Skip = 83
  12434. const _FT_Err_Invalid_Stream_Read = 84
  12435. const _FT_Err_Invalid_Stream_Operation = 85
  12436. const _FT_Err_Invalid_Frame_Operation = 86
  12437. const _FT_Err_Nested_Frame_Access = 87
  12438. const _FT_Err_Invalid_Frame_Read = 88
  12439. const _FT_Err_Raster_Uninitialized = 96
  12440. const _FT_Err_Raster_Corrupted = 97
  12441. const _FT_Err_Raster_Overflow = 98
  12442. const _FT_Err_Raster_Negative_Height = 99
  12443. const _FT_Err_Too_Many_Caches = 112
  12444. const _FT_Err_Invalid_Opcode = 128
  12445. const _FT_Err_Too_Few_Arguments = 129
  12446. const _FT_Err_Stack_Overflow = 130
  12447. const _FT_Err_Code_Overflow = 131
  12448. const _FT_Err_Bad_Argument = 132
  12449. const _FT_Err_Divide_By_Zero = 133
  12450. const _FT_Err_Invalid_Reference = 134
  12451. const _FT_Err_Debug_OpCode = 135
  12452. const _FT_Err_ENDF_In_Exec_Stream = 136
  12453. const _FT_Err_Nested_DEFS = 137
  12454. const _FT_Err_Invalid_CodeRange = 138
  12455. const _FT_Err_Execution_Too_Long = 139
  12456. const _FT_Err_Too_Many_Function_Defs = 140
  12457. const _FT_Err_Too_Many_Instruction_Defs = 141
  12458. const _FT_Err_Table_Missing = 142
  12459. const _FT_Err_Horiz_Header_Missing = 143
  12460. const _FT_Err_Locations_Missing = 144
  12461. const _FT_Err_Name_Table_Missing = 145
  12462. const _FT_Err_CMap_Table_Missing = 146
  12463. const _FT_Err_Hmtx_Table_Missing = 147
  12464. const _FT_Err_Post_Table_Missing = 148
  12465. const _FT_Err_Invalid_Horiz_Metrics = 149
  12466. const _FT_Err_Invalid_CharMap_Format = 150
  12467. const _FT_Err_Invalid_PPem = 151
  12468. const _FT_Err_Invalid_Vert_Metrics = 152
  12469. const _FT_Err_Could_Not_Find_Context = 153
  12470. const _FT_Err_Invalid_Post_Table_Format = 154
  12471. const _FT_Err_Invalid_Post_Table = 155
  12472. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  12473. const _FT_Err_Missing_Bitmap = 157
  12474. const _FT_Err_Syntax_Error = 160
  12475. const _FT_Err_Stack_Underflow = 161
  12476. const _FT_Err_Ignore = 162
  12477. const _FT_Err_No_Unicode_Glyph_Name = 163
  12478. const _FT_Err_Glyph_Too_Big = 164
  12479. const _FT_Err_Missing_Startfont_Field = 176
  12480. const _FT_Err_Missing_Font_Field = 177
  12481. const _FT_Err_Missing_Size_Field = 178
  12482. const _FT_Err_Missing_Fontboundingbox_Field = 179
  12483. const _FT_Err_Missing_Chars_Field = 180
  12484. const _FT_Err_Missing_Startchar_Field = 181
  12485. const _FT_Err_Missing_Encoding_Field = 182
  12486. const _FT_Err_Missing_Bbx_Field = 183
  12487. const _FT_Err_Bbx_Too_Big = 184
  12488. const _FT_Err_Corrupted_Font_Header = 185
  12489. const _FT_Err_Corrupted_Font_Glyphs = 186
  12490. const _FT_Err_Max = 187
  12491. type TFT_Glyph_Metrics = struct {
  12492. Fwidth TFT_Pos
  12493. Fheight TFT_Pos
  12494. FhoriBearingX TFT_Pos
  12495. FhoriBearingY TFT_Pos
  12496. FhoriAdvance TFT_Pos
  12497. FvertBearingX TFT_Pos
  12498. FvertBearingY TFT_Pos
  12499. FvertAdvance TFT_Pos
  12500. }
  12501. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  12502. type TFT_Bitmap_Size = struct {
  12503. Fheight TFT_Short
  12504. Fwidth TFT_Short
  12505. Fsize TFT_Pos
  12506. Fx_ppem TFT_Pos
  12507. Fy_ppem TFT_Pos
  12508. }
  12509. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  12510. type TFT_Library = uintptr
  12511. type TFT_Module = uintptr
  12512. type TFT_Driver = uintptr
  12513. type TFT_Renderer = uintptr
  12514. type TFT_Face = uintptr
  12515. type TFT_FaceRec_ = struct {
  12516. Fnum_faces TFT_Long
  12517. Fface_index TFT_Long
  12518. Fface_flags TFT_Long
  12519. Fstyle_flags TFT_Long
  12520. Fnum_glyphs TFT_Long
  12521. Ffamily_name uintptr
  12522. Fstyle_name uintptr
  12523. Fnum_fixed_sizes TFT_Int
  12524. Favailable_sizes uintptr
  12525. Fnum_charmaps TFT_Int
  12526. Fcharmaps uintptr
  12527. Fgeneric TFT_Generic
  12528. Fbbox TFT_BBox
  12529. Funits_per_EM TFT_UShort
  12530. Fascender TFT_Short
  12531. Fdescender TFT_Short
  12532. Fheight TFT_Short
  12533. Fmax_advance_width TFT_Short
  12534. Fmax_advance_height TFT_Short
  12535. Funderline_position TFT_Short
  12536. Funderline_thickness TFT_Short
  12537. Fglyph TFT_GlyphSlot
  12538. Fsize TFT_Size
  12539. Fcharmap TFT_CharMap
  12540. Fdriver TFT_Driver
  12541. Fmemory TFT_Memory
  12542. Fstream TFT_Stream
  12543. Fsizes_list TFT_ListRec
  12544. Fautohint TFT_Generic
  12545. Fextensions uintptr
  12546. Finternal TFT_Face_Internal
  12547. }
  12548. type TFT_Size = uintptr
  12549. type TFT_SizeRec_ = struct {
  12550. Fface TFT_Face
  12551. Fgeneric TFT_Generic
  12552. Fmetrics TFT_Size_Metrics
  12553. Finternal TFT_Size_Internal
  12554. }
  12555. type TFT_GlyphSlot = uintptr
  12556. type TFT_GlyphSlotRec_ = struct {
  12557. Flibrary TFT_Library
  12558. Fface TFT_Face
  12559. Fnext TFT_GlyphSlot
  12560. Fglyph_index TFT_UInt
  12561. Fgeneric TFT_Generic
  12562. Fmetrics TFT_Glyph_Metrics
  12563. FlinearHoriAdvance TFT_Fixed
  12564. FlinearVertAdvance TFT_Fixed
  12565. Fadvance TFT_Vector
  12566. Fformat TFT_Glyph_Format
  12567. Fbitmap TFT_Bitmap
  12568. Fbitmap_left TFT_Int
  12569. Fbitmap_top TFT_Int
  12570. Foutline TFT_Outline
  12571. Fnum_subglyphs TFT_UInt
  12572. Fsubglyphs TFT_SubGlyph
  12573. Fcontrol_data uintptr
  12574. Fcontrol_len int64
  12575. Flsb_delta TFT_Pos
  12576. Frsb_delta TFT_Pos
  12577. Fother uintptr
  12578. Finternal TFT_Slot_Internal
  12579. }
  12580. type TFT_CharMap = uintptr
  12581. type TFT_CharMapRec_ = struct {
  12582. Fface TFT_Face
  12583. Fencoding TFT_Encoding
  12584. Fplatform_id TFT_UShort
  12585. Fencoding_id TFT_UShort
  12586. }
  12587. type _FT_Encoding_ = int32
  12588. const _FT_ENCODING_NONE = 0
  12589. const _FT_ENCODING_MS_SYMBOL = 1937337698
  12590. const _FT_ENCODING_UNICODE = 1970170211
  12591. const _FT_ENCODING_SJIS = 1936353651
  12592. const _FT_ENCODING_PRC = 1734484000
  12593. const _FT_ENCODING_BIG5 = 1651074869
  12594. const _FT_ENCODING_WANSUNG = 2002873971
  12595. const _FT_ENCODING_JOHAB = 1785686113
  12596. const _FT_ENCODING_GB2312 = 1734484000
  12597. const _FT_ENCODING_MS_SJIS = 1936353651
  12598. const _FT_ENCODING_MS_GB2312 = 1734484000
  12599. const _FT_ENCODING_MS_BIG5 = 1651074869
  12600. const _FT_ENCODING_MS_WANSUNG = 2002873971
  12601. const _FT_ENCODING_MS_JOHAB = 1785686113
  12602. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  12603. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  12604. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  12605. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  12606. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  12607. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  12608. type TFT_Encoding = int32
  12609. type TFT_CharMapRec = struct {
  12610. Fface TFT_Face
  12611. Fencoding TFT_Encoding
  12612. Fplatform_id TFT_UShort
  12613. Fencoding_id TFT_UShort
  12614. }
  12615. type TFT_Face_Internal = uintptr
  12616. type TFT_FaceRec = struct {
  12617. Fnum_faces TFT_Long
  12618. Fface_index TFT_Long
  12619. Fface_flags TFT_Long
  12620. Fstyle_flags TFT_Long
  12621. Fnum_glyphs TFT_Long
  12622. Ffamily_name uintptr
  12623. Fstyle_name uintptr
  12624. Fnum_fixed_sizes TFT_Int
  12625. Favailable_sizes uintptr
  12626. Fnum_charmaps TFT_Int
  12627. Fcharmaps uintptr
  12628. Fgeneric TFT_Generic
  12629. Fbbox TFT_BBox
  12630. Funits_per_EM TFT_UShort
  12631. Fascender TFT_Short
  12632. Fdescender TFT_Short
  12633. Fheight TFT_Short
  12634. Fmax_advance_width TFT_Short
  12635. Fmax_advance_height TFT_Short
  12636. Funderline_position TFT_Short
  12637. Funderline_thickness TFT_Short
  12638. Fglyph TFT_GlyphSlot
  12639. Fsize TFT_Size
  12640. Fcharmap TFT_CharMap
  12641. Fdriver TFT_Driver
  12642. Fmemory TFT_Memory
  12643. Fstream TFT_Stream
  12644. Fsizes_list TFT_ListRec
  12645. Fautohint TFT_Generic
  12646. Fextensions uintptr
  12647. Finternal TFT_Face_Internal
  12648. }
  12649. type TFT_Size_Internal = uintptr
  12650. type TFT_Size_Metrics = struct {
  12651. Fx_ppem TFT_UShort
  12652. Fy_ppem TFT_UShort
  12653. Fx_scale TFT_Fixed
  12654. Fy_scale TFT_Fixed
  12655. Fascender TFT_Pos
  12656. Fdescender TFT_Pos
  12657. Fheight TFT_Pos
  12658. Fmax_advance TFT_Pos
  12659. }
  12660. type TFT_Size_Metrics_ = TFT_Size_Metrics
  12661. type TFT_SizeRec = struct {
  12662. Fface TFT_Face
  12663. Fgeneric TFT_Generic
  12664. Fmetrics TFT_Size_Metrics
  12665. Finternal TFT_Size_Internal
  12666. }
  12667. type TFT_SubGlyph = uintptr
  12668. type TFT_Slot_Internal = uintptr
  12669. type TFT_GlyphSlotRec = struct {
  12670. Flibrary TFT_Library
  12671. Fface TFT_Face
  12672. Fnext TFT_GlyphSlot
  12673. Fglyph_index TFT_UInt
  12674. Fgeneric TFT_Generic
  12675. Fmetrics TFT_Glyph_Metrics
  12676. FlinearHoriAdvance TFT_Fixed
  12677. FlinearVertAdvance TFT_Fixed
  12678. Fadvance TFT_Vector
  12679. Fformat TFT_Glyph_Format
  12680. Fbitmap TFT_Bitmap
  12681. Fbitmap_left TFT_Int
  12682. Fbitmap_top TFT_Int
  12683. Foutline TFT_Outline
  12684. Fnum_subglyphs TFT_UInt
  12685. Fsubglyphs TFT_SubGlyph
  12686. Fcontrol_data uintptr
  12687. Fcontrol_len int64
  12688. Flsb_delta TFT_Pos
  12689. Frsb_delta TFT_Pos
  12690. Fother uintptr
  12691. Finternal TFT_Slot_Internal
  12692. }
  12693. type TFT_Parameter = struct {
  12694. Ftag TFT_ULong
  12695. Fdata TFT_Pointer
  12696. }
  12697. type TFT_Parameter_ = TFT_Parameter
  12698. type TFT_Open_Args = struct {
  12699. Fflags TFT_UInt
  12700. Fmemory_base uintptr
  12701. Fmemory_size TFT_Long
  12702. Fpathname uintptr
  12703. Fstream TFT_Stream
  12704. Fdriver TFT_Module
  12705. Fnum_params TFT_Int
  12706. Fparams uintptr
  12707. }
  12708. type TFT_Open_Args_ = TFT_Open_Args
  12709. type TFT_Size_Request_Type = int32
  12710. type _FT_Size_Request_Type_ = int32
  12711. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  12712. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  12713. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  12714. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  12715. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  12716. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  12717. type TFT_Size_RequestRec = struct {
  12718. Ftype1 TFT_Size_Request_Type
  12719. Fwidth TFT_Long
  12720. Fheight TFT_Long
  12721. FhoriResolution TFT_UInt
  12722. FvertResolution TFT_UInt
  12723. }
  12724. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  12725. type TFT_Size_Request = uintptr
  12726. type TFT_Render_Mode = int32
  12727. type _FT_Render_Mode_ = int32
  12728. const _FT_RENDER_MODE_NORMAL = 0
  12729. const _FT_RENDER_MODE_LIGHT = 1
  12730. const _FT_RENDER_MODE_MONO = 2
  12731. const _FT_RENDER_MODE_LCD = 3
  12732. const _FT_RENDER_MODE_LCD_V = 4
  12733. const _FT_RENDER_MODE_MAX = 5
  12734. type TFT_Kerning_Mode = int32
  12735. type _FT_Kerning_Mode_ = int32
  12736. const _FT_KERNING_DEFAULT = 0
  12737. const _FT_KERNING_UNFITTED = 1
  12738. const _FT_KERNING_UNSCALED = 2
  12739. type TFT_LayerIterator = struct {
  12740. Fnum_layers TFT_UInt
  12741. Flayer TFT_UInt
  12742. Fp uintptr
  12743. }
  12744. type TFT_LayerIterator_ = TFT_LayerIterator
  12745. type TTT_Header = struct {
  12746. FTable_Version TFT_Fixed
  12747. FFont_Revision TFT_Fixed
  12748. FCheckSum_Adjust TFT_Long
  12749. FMagic_Number TFT_Long
  12750. FFlags TFT_UShort
  12751. FUnits_Per_EM TFT_UShort
  12752. FCreated [2]TFT_ULong
  12753. FModified [2]TFT_ULong
  12754. FxMin TFT_Short
  12755. FyMin TFT_Short
  12756. FxMax TFT_Short
  12757. FyMax TFT_Short
  12758. FMac_Style TFT_UShort
  12759. FLowest_Rec_PPEM TFT_UShort
  12760. FFont_Direction TFT_Short
  12761. FIndex_To_Loc_Format TFT_Short
  12762. FGlyph_Data_Format TFT_Short
  12763. }
  12764. type TTT_Header_ = TTT_Header
  12765. type TTT_HoriHeader = struct {
  12766. FVersion TFT_Fixed
  12767. FAscender TFT_Short
  12768. FDescender TFT_Short
  12769. FLine_Gap TFT_Short
  12770. Fadvance_Width_Max TFT_UShort
  12771. Fmin_Left_Side_Bearing TFT_Short
  12772. Fmin_Right_Side_Bearing TFT_Short
  12773. FxMax_Extent TFT_Short
  12774. Fcaret_Slope_Rise TFT_Short
  12775. Fcaret_Slope_Run TFT_Short
  12776. Fcaret_Offset TFT_Short
  12777. FReserved [4]TFT_Short
  12778. Fmetric_Data_Format TFT_Short
  12779. Fnumber_Of_HMetrics TFT_UShort
  12780. Flong_metrics uintptr
  12781. Fshort_metrics uintptr
  12782. }
  12783. type TTT_HoriHeader_ = TTT_HoriHeader
  12784. type TTT_VertHeader = struct {
  12785. FVersion TFT_Fixed
  12786. FAscender TFT_Short
  12787. FDescender TFT_Short
  12788. FLine_Gap TFT_Short
  12789. Fadvance_Height_Max TFT_UShort
  12790. Fmin_Top_Side_Bearing TFT_Short
  12791. Fmin_Bottom_Side_Bearing TFT_Short
  12792. FyMax_Extent TFT_Short
  12793. Fcaret_Slope_Rise TFT_Short
  12794. Fcaret_Slope_Run TFT_Short
  12795. Fcaret_Offset TFT_Short
  12796. FReserved [4]TFT_Short
  12797. Fmetric_Data_Format TFT_Short
  12798. Fnumber_Of_VMetrics TFT_UShort
  12799. Flong_metrics uintptr
  12800. Fshort_metrics uintptr
  12801. }
  12802. type TTT_VertHeader_ = TTT_VertHeader
  12803. type TTT_OS2 = struct {
  12804. Fversion TFT_UShort
  12805. FxAvgCharWidth TFT_Short
  12806. FusWeightClass TFT_UShort
  12807. FusWidthClass TFT_UShort
  12808. FfsType TFT_UShort
  12809. FySubscriptXSize TFT_Short
  12810. FySubscriptYSize TFT_Short
  12811. FySubscriptXOffset TFT_Short
  12812. FySubscriptYOffset TFT_Short
  12813. FySuperscriptXSize TFT_Short
  12814. FySuperscriptYSize TFT_Short
  12815. FySuperscriptXOffset TFT_Short
  12816. FySuperscriptYOffset TFT_Short
  12817. FyStrikeoutSize TFT_Short
  12818. FyStrikeoutPosition TFT_Short
  12819. FsFamilyClass TFT_Short
  12820. Fpanose [10]TFT_Byte
  12821. FulUnicodeRange1 TFT_ULong
  12822. FulUnicodeRange2 TFT_ULong
  12823. FulUnicodeRange3 TFT_ULong
  12824. FulUnicodeRange4 TFT_ULong
  12825. FachVendID [4]TFT_Char
  12826. FfsSelection TFT_UShort
  12827. FusFirstCharIndex TFT_UShort
  12828. FusLastCharIndex TFT_UShort
  12829. FsTypoAscender TFT_Short
  12830. FsTypoDescender TFT_Short
  12831. FsTypoLineGap TFT_Short
  12832. FusWinAscent TFT_UShort
  12833. FusWinDescent TFT_UShort
  12834. FulCodePageRange1 TFT_ULong
  12835. FulCodePageRange2 TFT_ULong
  12836. FsxHeight TFT_Short
  12837. FsCapHeight TFT_Short
  12838. FusDefaultChar TFT_UShort
  12839. FusBreakChar TFT_UShort
  12840. FusMaxContext TFT_UShort
  12841. FusLowerOpticalPointSize TFT_UShort
  12842. FusUpperOpticalPointSize TFT_UShort
  12843. }
  12844. type TTT_OS2_ = TTT_OS2
  12845. type TTT_Postscript = struct {
  12846. FFormatType TFT_Fixed
  12847. FitalicAngle TFT_Fixed
  12848. FunderlinePosition TFT_Short
  12849. FunderlineThickness TFT_Short
  12850. FisFixedPitch TFT_ULong
  12851. FminMemType42 TFT_ULong
  12852. FmaxMemType42 TFT_ULong
  12853. FminMemType1 TFT_ULong
  12854. FmaxMemType1 TFT_ULong
  12855. }
  12856. type TTT_Postscript_ = TTT_Postscript
  12857. type TTT_PCLT = struct {
  12858. FVersion TFT_Fixed
  12859. FFontNumber TFT_ULong
  12860. FPitch TFT_UShort
  12861. FxHeight TFT_UShort
  12862. FStyle TFT_UShort
  12863. FTypeFamily TFT_UShort
  12864. FCapHeight TFT_UShort
  12865. FSymbolSet TFT_UShort
  12866. FTypeFace [16]TFT_Char
  12867. FCharacterComplement [8]TFT_Char
  12868. FFileName [6]TFT_Char
  12869. FStrokeWeight TFT_Char
  12870. FWidthType TFT_Char
  12871. FSerifStyle TFT_Byte
  12872. FReserved TFT_Byte
  12873. }
  12874. type TTT_PCLT_ = TTT_PCLT
  12875. type TTT_MaxProfile = struct {
  12876. Fversion TFT_Fixed
  12877. FnumGlyphs TFT_UShort
  12878. FmaxPoints TFT_UShort
  12879. FmaxContours TFT_UShort
  12880. FmaxCompositePoints TFT_UShort
  12881. FmaxCompositeContours TFT_UShort
  12882. FmaxZones TFT_UShort
  12883. FmaxTwilightPoints TFT_UShort
  12884. FmaxStorage TFT_UShort
  12885. FmaxFunctionDefs TFT_UShort
  12886. FmaxInstructionDefs TFT_UShort
  12887. FmaxStackElements TFT_UShort
  12888. FmaxSizeOfInstructions TFT_UShort
  12889. FmaxComponentElements TFT_UShort
  12890. FmaxComponentDepth TFT_UShort
  12891. }
  12892. type TTT_MaxProfile_ = TTT_MaxProfile
  12893. type TFT_Sfnt_Tag = int32
  12894. type _FT_Sfnt_Tag_ = int32
  12895. const _FT_SFNT_HEAD = 0
  12896. const _FT_SFNT_MAXP = 1
  12897. const _FT_SFNT_OS2 = 2
  12898. const _FT_SFNT_HHEA = 3
  12899. const _FT_SFNT_VHEA = 4
  12900. const _FT_SFNT_POST = 5
  12901. const _FT_SFNT_PCLT = 6
  12902. const _FT_SFNT_MAX = 7
  12903. type TFT_SfntName = struct {
  12904. Fplatform_id TFT_UShort
  12905. Fencoding_id TFT_UShort
  12906. Flanguage_id TFT_UShort
  12907. Fname_id TFT_UShort
  12908. Fstring1 uintptr
  12909. Fstring_len TFT_UInt
  12910. }
  12911. type TFT_SfntName_ = TFT_SfntName
  12912. type TFT_SfntLangTag = struct {
  12913. Fstring1 uintptr
  12914. Fstring_len TFT_UInt
  12915. }
  12916. type TFT_SfntLangTag_ = TFT_SfntLangTag
  12917. type TPS_FontInfoRec = struct {
  12918. Fversion uintptr
  12919. Fnotice uintptr
  12920. Ffull_name uintptr
  12921. Ffamily_name uintptr
  12922. Fweight uintptr
  12923. Fitalic_angle TFT_Long
  12924. Fis_fixed_pitch TFT_Bool
  12925. Funderline_position TFT_Short
  12926. Funderline_thickness TFT_UShort
  12927. }
  12928. type TPS_FontInfoRec_ = TPS_FontInfoRec
  12929. type TPS_FontInfo = uintptr
  12930. type TT1_FontInfo = struct {
  12931. Fversion uintptr
  12932. Fnotice uintptr
  12933. Ffull_name uintptr
  12934. Ffamily_name uintptr
  12935. Fweight uintptr
  12936. Fitalic_angle TFT_Long
  12937. Fis_fixed_pitch TFT_Bool
  12938. Funderline_position TFT_Short
  12939. Funderline_thickness TFT_UShort
  12940. }
  12941. type TPS_PrivateRec = struct {
  12942. Funique_id TFT_Int
  12943. FlenIV TFT_Int
  12944. Fnum_blue_values TFT_Byte
  12945. Fnum_other_blues TFT_Byte
  12946. Fnum_family_blues TFT_Byte
  12947. Fnum_family_other_blues TFT_Byte
  12948. Fblue_values [14]TFT_Short
  12949. Fother_blues [10]TFT_Short
  12950. Ffamily_blues [14]TFT_Short
  12951. Ffamily_other_blues [10]TFT_Short
  12952. Fblue_scale TFT_Fixed
  12953. Fblue_shift TFT_Int
  12954. Fblue_fuzz TFT_Int
  12955. Fstandard_width [1]TFT_UShort
  12956. Fstandard_height [1]TFT_UShort
  12957. Fnum_snap_widths TFT_Byte
  12958. Fnum_snap_heights TFT_Byte
  12959. Fforce_bold TFT_Bool
  12960. Fround_stem_up TFT_Bool
  12961. Fsnap_widths [13]TFT_Short
  12962. Fsnap_heights [13]TFT_Short
  12963. Fexpansion_factor TFT_Fixed
  12964. Flanguage_group TFT_Long
  12965. Fpassword TFT_Long
  12966. Fmin_feature [2]TFT_Short
  12967. }
  12968. type TPS_PrivateRec_ = TPS_PrivateRec
  12969. type TPS_Private = uintptr
  12970. type TT1_Private = struct {
  12971. Funique_id TFT_Int
  12972. FlenIV TFT_Int
  12973. Fnum_blue_values TFT_Byte
  12974. Fnum_other_blues TFT_Byte
  12975. Fnum_family_blues TFT_Byte
  12976. Fnum_family_other_blues TFT_Byte
  12977. Fblue_values [14]TFT_Short
  12978. Fother_blues [10]TFT_Short
  12979. Ffamily_blues [14]TFT_Short
  12980. Ffamily_other_blues [10]TFT_Short
  12981. Fblue_scale TFT_Fixed
  12982. Fblue_shift TFT_Int
  12983. Fblue_fuzz TFT_Int
  12984. Fstandard_width [1]TFT_UShort
  12985. Fstandard_height [1]TFT_UShort
  12986. Fnum_snap_widths TFT_Byte
  12987. Fnum_snap_heights TFT_Byte
  12988. Fforce_bold TFT_Bool
  12989. Fround_stem_up TFT_Bool
  12990. Fsnap_widths [13]TFT_Short
  12991. Fsnap_heights [13]TFT_Short
  12992. Fexpansion_factor TFT_Fixed
  12993. Flanguage_group TFT_Long
  12994. Fpassword TFT_Long
  12995. Fmin_feature [2]TFT_Short
  12996. }
  12997. type TT1_Blend_Flags = int32
  12998. type _T1_Blend_Flags_ = int32
  12999. const _T1_BLEND_UNDERLINE_POSITION = 0
  13000. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  13001. const _T1_BLEND_ITALIC_ANGLE = 2
  13002. const _T1_BLEND_BLUE_VALUES = 3
  13003. const _T1_BLEND_OTHER_BLUES = 4
  13004. const _T1_BLEND_STANDARD_WIDTH = 5
  13005. const _T1_BLEND_STANDARD_HEIGHT = 6
  13006. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  13007. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  13008. const _T1_BLEND_BLUE_SCALE = 9
  13009. const _T1_BLEND_BLUE_SHIFT = 10
  13010. const _T1_BLEND_FAMILY_BLUES = 11
  13011. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  13012. const _T1_BLEND_FORCE_BOLD = 13
  13013. const _T1_BLEND_MAX = 14
  13014. type TPS_DesignMapRec = struct {
  13015. Fnum_points TFT_Byte
  13016. Fdesign_points uintptr
  13017. Fblend_points uintptr
  13018. }
  13019. type TPS_DesignMap_ = TPS_DesignMapRec
  13020. type TPS_DesignMap = uintptr
  13021. type TT1_DesignMap = struct {
  13022. Fnum_points TFT_Byte
  13023. Fdesign_points uintptr
  13024. Fblend_points uintptr
  13025. }
  13026. type TPS_BlendRec = struct {
  13027. Fnum_designs TFT_UInt
  13028. Fnum_axis TFT_UInt
  13029. Faxis_names [4]uintptr
  13030. Fdesign_pos [16]uintptr
  13031. Fdesign_map [4]TPS_DesignMapRec
  13032. Fweight_vector uintptr
  13033. Fdefault_weight_vector uintptr
  13034. Ffont_infos [17]TPS_FontInfo
  13035. Fprivates [17]TPS_Private
  13036. Fblend_bitflags TFT_ULong
  13037. Fbboxes [17]uintptr
  13038. Fdefault_design_vector [16]TFT_UInt
  13039. Fnum_default_design_vector TFT_UInt
  13040. }
  13041. type TPS_BlendRec_ = TPS_BlendRec
  13042. type TPS_Blend = uintptr
  13043. type TT1_Blend = struct {
  13044. Fnum_designs TFT_UInt
  13045. Fnum_axis TFT_UInt
  13046. Faxis_names [4]uintptr
  13047. Fdesign_pos [16]uintptr
  13048. Fdesign_map [4]TPS_DesignMapRec
  13049. Fweight_vector uintptr
  13050. Fdefault_weight_vector uintptr
  13051. Ffont_infos [17]TPS_FontInfo
  13052. Fprivates [17]TPS_Private
  13053. Fblend_bitflags TFT_ULong
  13054. Fbboxes [17]uintptr
  13055. Fdefault_design_vector [16]TFT_UInt
  13056. Fnum_default_design_vector TFT_UInt
  13057. }
  13058. type TCID_FaceDictRec = struct {
  13059. Fprivate_dict TPS_PrivateRec
  13060. Flen_buildchar TFT_UInt
  13061. Fforcebold_threshold TFT_Fixed
  13062. Fstroke_width TFT_Pos
  13063. Fexpansion_factor TFT_Fixed
  13064. Fpaint_type TFT_Byte
  13065. Ffont_type TFT_Byte
  13066. Ffont_matrix TFT_Matrix
  13067. Ffont_offset TFT_Vector
  13068. Fnum_subrs TFT_UInt
  13069. Fsubrmap_offset TFT_ULong
  13070. Fsd_bytes TFT_Int
  13071. }
  13072. type TCID_FaceDictRec_ = TCID_FaceDictRec
  13073. type TCID_FaceDict = uintptr
  13074. type TCID_FontDict = struct {
  13075. Fprivate_dict TPS_PrivateRec
  13076. Flen_buildchar TFT_UInt
  13077. Fforcebold_threshold TFT_Fixed
  13078. Fstroke_width TFT_Pos
  13079. Fexpansion_factor TFT_Fixed
  13080. Fpaint_type TFT_Byte
  13081. Ffont_type TFT_Byte
  13082. Ffont_matrix TFT_Matrix
  13083. Ffont_offset TFT_Vector
  13084. Fnum_subrs TFT_UInt
  13085. Fsubrmap_offset TFT_ULong
  13086. Fsd_bytes TFT_Int
  13087. }
  13088. type TCID_FaceInfoRec = struct {
  13089. Fcid_font_name uintptr
  13090. Fcid_version TFT_Fixed
  13091. Fcid_font_type TFT_Int
  13092. Fregistry uintptr
  13093. Fordering uintptr
  13094. Fsupplement TFT_Int
  13095. Ffont_info TPS_FontInfoRec
  13096. Ffont_bbox TFT_BBox
  13097. Fuid_base TFT_ULong
  13098. Fnum_xuid TFT_Int
  13099. Fxuid [16]TFT_ULong
  13100. Fcidmap_offset TFT_ULong
  13101. Ffd_bytes TFT_Int
  13102. Fgd_bytes TFT_Int
  13103. Fcid_count TFT_ULong
  13104. Fnum_dicts TFT_Int
  13105. Ffont_dicts TCID_FaceDict
  13106. Fdata_offset TFT_ULong
  13107. }
  13108. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  13109. type TCID_FaceInfo = uintptr
  13110. type TCID_Info = struct {
  13111. Fcid_font_name uintptr
  13112. Fcid_version TFT_Fixed
  13113. Fcid_font_type TFT_Int
  13114. Fregistry uintptr
  13115. Fordering uintptr
  13116. Fsupplement TFT_Int
  13117. Ffont_info TPS_FontInfoRec
  13118. Ffont_bbox TFT_BBox
  13119. Fuid_base TFT_ULong
  13120. Fnum_xuid TFT_Int
  13121. Fxuid [16]TFT_ULong
  13122. Fcidmap_offset TFT_ULong
  13123. Ffd_bytes TFT_Int
  13124. Fgd_bytes TFT_Int
  13125. Fcid_count TFT_ULong
  13126. Fnum_dicts TFT_Int
  13127. Ffont_dicts TCID_FaceDict
  13128. Fdata_offset TFT_ULong
  13129. }
  13130. type TT1_EncodingType = int32
  13131. type _T1_EncodingType_ = int32
  13132. const _T1_ENCODING_TYPE_NONE = 0
  13133. const _T1_ENCODING_TYPE_ARRAY = 1
  13134. const _T1_ENCODING_TYPE_STANDARD = 2
  13135. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  13136. const _T1_ENCODING_TYPE_EXPERT = 4
  13137. type TPS_Dict_Keys = int32
  13138. type _PS_Dict_Keys_ = int32
  13139. const _PS_DICT_FONT_TYPE = 0
  13140. const _PS_DICT_FONT_MATRIX = 1
  13141. const _PS_DICT_FONT_BBOX = 2
  13142. const _PS_DICT_PAINT_TYPE = 3
  13143. const _PS_DICT_FONT_NAME = 4
  13144. const _PS_DICT_UNIQUE_ID = 5
  13145. const _PS_DICT_NUM_CHAR_STRINGS = 6
  13146. const _PS_DICT_CHAR_STRING_KEY = 7
  13147. const _PS_DICT_CHAR_STRING = 8
  13148. const _PS_DICT_ENCODING_TYPE = 9
  13149. const _PS_DICT_ENCODING_ENTRY = 10
  13150. const _PS_DICT_NUM_SUBRS = 11
  13151. const _PS_DICT_SUBR = 12
  13152. const _PS_DICT_STD_HW = 13
  13153. const _PS_DICT_STD_VW = 14
  13154. const _PS_DICT_NUM_BLUE_VALUES = 15
  13155. const _PS_DICT_BLUE_VALUE = 16
  13156. const _PS_DICT_BLUE_FUZZ = 17
  13157. const _PS_DICT_NUM_OTHER_BLUES = 18
  13158. const _PS_DICT_OTHER_BLUE = 19
  13159. const _PS_DICT_NUM_FAMILY_BLUES = 20
  13160. const _PS_DICT_FAMILY_BLUE = 21
  13161. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  13162. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  13163. const _PS_DICT_BLUE_SCALE = 24
  13164. const _PS_DICT_BLUE_SHIFT = 25
  13165. const _PS_DICT_NUM_STEM_SNAP_H = 26
  13166. const _PS_DICT_STEM_SNAP_H = 27
  13167. const _PS_DICT_NUM_STEM_SNAP_V = 28
  13168. const _PS_DICT_STEM_SNAP_V = 29
  13169. const _PS_DICT_FORCE_BOLD = 30
  13170. const _PS_DICT_RND_STEM_UP = 31
  13171. const _PS_DICT_MIN_FEATURE = 32
  13172. const _PS_DICT_LEN_IV = 33
  13173. const _PS_DICT_PASSWORD = 34
  13174. const _PS_DICT_LANGUAGE_GROUP = 35
  13175. const _PS_DICT_VERSION = 36
  13176. const _PS_DICT_NOTICE = 37
  13177. const _PS_DICT_FULL_NAME = 38
  13178. const _PS_DICT_FAMILY_NAME = 39
  13179. const _PS_DICT_WEIGHT = 40
  13180. const _PS_DICT_IS_FIXED_PITCH = 41
  13181. const _PS_DICT_UNDERLINE_POSITION = 42
  13182. const _PS_DICT_UNDERLINE_THICKNESS = 43
  13183. const _PS_DICT_FS_TYPE = 44
  13184. const _PS_DICT_ITALIC_ANGLE = 45
  13185. const _PS_DICT_MAX = 45
  13186. type TBDF_PropertyType = int32
  13187. type _BDF_PropertyType_ = int32
  13188. const _BDF_PROPERTY_TYPE_NONE = 0
  13189. const _BDF_PROPERTY_TYPE_ATOM = 1
  13190. const _BDF_PROPERTY_TYPE_INTEGER = 2
  13191. const _BDF_PROPERTY_TYPE_CARDINAL = 3
  13192. type TBDF_Property = uintptr
  13193. type TBDF_PropertyRec_ = struct {
  13194. Ftype1 TBDF_PropertyType
  13195. Fu struct {
  13196. Finteger [0]TFT_Int32
  13197. Fcardinal [0]TFT_UInt32
  13198. Fatom uintptr
  13199. }
  13200. }
  13201. type TBDF_PropertyRec = struct {
  13202. Ftype1 TBDF_PropertyType
  13203. Fu struct {
  13204. Finteger [0]TFT_Int32
  13205. Fcardinal [0]TFT_UInt32
  13206. Fatom uintptr
  13207. }
  13208. }
  13209. type TFT_Module_Interface = uintptr
  13210. type TFT_Module_Constructor = uintptr
  13211. type TFT_Module_Destructor = uintptr
  13212. type TFT_Module_Requester = uintptr
  13213. type TFT_Module_Class = struct {
  13214. Fmodule_flags TFT_ULong
  13215. Fmodule_size TFT_Long
  13216. Fmodule_name uintptr
  13217. Fmodule_version TFT_Fixed
  13218. Fmodule_requires TFT_Fixed
  13219. Fmodule_interface uintptr
  13220. Fmodule_init TFT_Module_Constructor
  13221. Fmodule_done TFT_Module_Destructor
  13222. Fget_interface TFT_Module_Requester
  13223. }
  13224. type TFT_Module_Class_ = TFT_Module_Class
  13225. type TFT_DebugHook_Func = uintptr
  13226. type TFT_TrueTypeEngineType = int32
  13227. type _FT_TrueTypeEngineType_ = int32
  13228. const _FT_TRUETYPE_ENGINE_TYPE_NONE = 0
  13229. const _FT_TRUETYPE_ENGINE_TYPE_UNPATENTED = 1
  13230. const _FT_TRUETYPE_ENGINE_TYPE_PATENTED = 2
  13231. type TFT_MM_Axis = struct {
  13232. Fname uintptr
  13233. Fminimum TFT_Long
  13234. Fmaximum TFT_Long
  13235. }
  13236. type TFT_MM_Axis_ = TFT_MM_Axis
  13237. type TFT_Multi_Master = struct {
  13238. Fnum_axis TFT_UInt
  13239. Fnum_designs TFT_UInt
  13240. Faxis [4]TFT_MM_Axis
  13241. }
  13242. type TFT_Multi_Master_ = TFT_Multi_Master
  13243. type TFT_Var_Axis = struct {
  13244. Fname uintptr
  13245. Fminimum TFT_Fixed
  13246. Fdef TFT_Fixed
  13247. Fmaximum TFT_Fixed
  13248. Ftag TFT_ULong
  13249. Fstrid TFT_UInt
  13250. }
  13251. type TFT_Var_Axis_ = TFT_Var_Axis
  13252. type TFT_Var_Named_Style = struct {
  13253. Fcoords uintptr
  13254. Fstrid TFT_UInt
  13255. Fpsid TFT_UInt
  13256. }
  13257. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  13258. type TFT_MM_Var = struct {
  13259. Fnum_axis TFT_UInt
  13260. Fnum_designs TFT_UInt
  13261. Fnum_namedstyles TFT_UInt
  13262. Faxis uintptr
  13263. Fnamedstyle uintptr
  13264. }
  13265. type TFT_MM_Var_ = TFT_MM_Var
  13266. /*
  13267. * Keep Han languages separated by eliminating languages
  13268. * that the codePageRange bits says aren't supported
  13269. */
  13270. var _FcCodePageRange = [4]struct {
  13271. Fbit uint8
  13272. Flang [6]TFcChar8
  13273. }{
  13274. 0: {
  13275. Fbit: uint8(17),
  13276. Flang: [6]TFcChar8{'j', 'a'},
  13277. },
  13278. 1: {
  13279. Fbit: uint8(18),
  13280. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  13281. },
  13282. 2: {
  13283. Fbit: uint8(19),
  13284. Flang: [6]TFcChar8{'k', 'o'},
  13285. },
  13286. 3: {
  13287. Fbit: uint8(20),
  13288. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  13289. },
  13290. }
  13291. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  13292. var i int32
  13293. _ = i
  13294. i = 0
  13295. for {
  13296. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  13297. break
  13298. }
  13299. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  13300. return int32(m_FcTrue)
  13301. }
  13302. goto _1
  13303. _1:
  13304. ;
  13305. i++
  13306. }
  13307. return m_FcFalse
  13308. }
  13309. type TFcFtEncoding = struct {
  13310. Fplatform_id TFT_UShort
  13311. Fencoding_id TFT_UShort
  13312. Ffromcode [12]uint8
  13313. }
  13314. var _fcFtEncoding = [14]TFcFtEncoding{
  13315. 0: {
  13316. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  13317. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13318. },
  13319. 1: {
  13320. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13321. Ffromcode: [12]uint8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  13322. },
  13323. 2: {
  13324. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13325. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  13326. Ffromcode: [12]uint8{'S', 'J', 'I', 'S'},
  13327. },
  13328. 3: {
  13329. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13330. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13331. },
  13332. 4: {
  13333. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13334. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  13335. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13336. },
  13337. 5: {
  13338. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13339. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  13340. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  13341. },
  13342. 6: {
  13343. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13344. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  13345. Ffromcode: [12]uint8{'G', 'B', '2', '3', '1', '2'},
  13346. },
  13347. 7: {
  13348. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13349. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  13350. Ffromcode: [12]uint8{'B', 'I', 'G', '-', '5'},
  13351. },
  13352. 8: {
  13353. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13354. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  13355. Ffromcode: [12]uint8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  13356. },
  13357. 9: {
  13358. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13359. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  13360. Ffromcode: [12]uint8{'J', 'o', 'h', 'a', 'b'},
  13361. },
  13362. 10: {
  13363. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13364. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  13365. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13366. },
  13367. 11: {
  13368. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13369. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  13370. },
  13371. 12: {
  13372. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13373. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  13374. Ffromcode: [12]uint8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  13375. },
  13376. 13: {
  13377. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  13378. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  13379. Ffromcode: [12]uint8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  13380. },
  13381. }
  13382. type TFcFtLanguage = struct {
  13383. Fplatform_id TFT_UShort
  13384. Flanguage_id TFT_UShort
  13385. Flang [8]uint8
  13386. }
  13387. var _fcFtLanguage = [335]TFcFtLanguage{
  13388. 0: {
  13389. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  13390. Flang: [8]uint8{},
  13391. },
  13392. 1: {
  13393. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13394. Flang: [8]uint8{'e', 'n'},
  13395. },
  13396. 2: {
  13397. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13398. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  13399. Flang: [8]uint8{'f', 'r'},
  13400. },
  13401. 3: {
  13402. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13403. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  13404. Flang: [8]uint8{'d', 'e'},
  13405. },
  13406. 4: {
  13407. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13408. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  13409. Flang: [8]uint8{'i', 't'},
  13410. },
  13411. 5: {
  13412. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13413. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  13414. Flang: [8]uint8{'n', 'l'},
  13415. },
  13416. 6: {
  13417. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13418. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  13419. Flang: [8]uint8{'s', 'v'},
  13420. },
  13421. 7: {
  13422. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13423. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  13424. Flang: [8]uint8{'e', 's'},
  13425. },
  13426. 8: {
  13427. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13428. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  13429. Flang: [8]uint8{'d', 'a'},
  13430. },
  13431. 9: {
  13432. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13433. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  13434. Flang: [8]uint8{'p', 't'},
  13435. },
  13436. 10: {
  13437. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13438. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  13439. Flang: [8]uint8{'n', 'o'},
  13440. },
  13441. 11: {
  13442. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13443. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  13444. Flang: [8]uint8{'h', 'e'},
  13445. },
  13446. 12: {
  13447. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13448. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  13449. Flang: [8]uint8{'j', 'a'},
  13450. },
  13451. 13: {
  13452. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13453. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  13454. Flang: [8]uint8{'a', 'r'},
  13455. },
  13456. 14: {
  13457. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13458. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  13459. Flang: [8]uint8{'f', 'i'},
  13460. },
  13461. 15: {
  13462. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13463. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  13464. Flang: [8]uint8{'e', 'l'},
  13465. },
  13466. 16: {
  13467. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13468. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  13469. Flang: [8]uint8{'i', 's'},
  13470. },
  13471. 17: {
  13472. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13473. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  13474. Flang: [8]uint8{'m', 't'},
  13475. },
  13476. 18: {
  13477. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13478. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  13479. Flang: [8]uint8{'t', 'r'},
  13480. },
  13481. 19: {
  13482. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13483. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  13484. Flang: [8]uint8{'h', 'r'},
  13485. },
  13486. 20: {
  13487. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13488. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  13489. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  13490. },
  13491. 21: {
  13492. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13493. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  13494. Flang: [8]uint8{'u', 'r'},
  13495. },
  13496. 22: {
  13497. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13498. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  13499. Flang: [8]uint8{'h', 'i'},
  13500. },
  13501. 23: {
  13502. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13503. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  13504. Flang: [8]uint8{'t', 'h'},
  13505. },
  13506. 24: {
  13507. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13508. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  13509. Flang: [8]uint8{'k', 'o'},
  13510. },
  13511. 25: {
  13512. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13513. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  13514. Flang: [8]uint8{'l', 't'},
  13515. },
  13516. 26: {
  13517. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13518. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  13519. Flang: [8]uint8{'p', 'l'},
  13520. },
  13521. 27: {
  13522. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13523. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  13524. Flang: [8]uint8{'h', 'u'},
  13525. },
  13526. 28: {
  13527. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13528. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  13529. Flang: [8]uint8{'e', 't'},
  13530. },
  13531. 29: {
  13532. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13533. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  13534. Flang: [8]uint8{'l', 'v'},
  13535. },
  13536. 30: {
  13537. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13538. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  13539. Flang: [8]uint8{'f', 'o'},
  13540. },
  13541. 31: {
  13542. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13543. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  13544. Flang: [8]uint8{'f', 'a'},
  13545. },
  13546. 32: {
  13547. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13548. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  13549. Flang: [8]uint8{'r', 'u'},
  13550. },
  13551. 33: {
  13552. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13553. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  13554. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  13555. },
  13556. 34: {
  13557. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13558. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  13559. Flang: [8]uint8{'n', 'l'},
  13560. },
  13561. 35: {
  13562. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13563. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  13564. Flang: [8]uint8{'g', 'a'},
  13565. },
  13566. 36: {
  13567. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13568. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  13569. Flang: [8]uint8{'s', 'q'},
  13570. },
  13571. 37: {
  13572. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13573. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  13574. Flang: [8]uint8{'r', 'o'},
  13575. },
  13576. 38: {
  13577. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13578. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  13579. Flang: [8]uint8{'c', 's'},
  13580. },
  13581. 39: {
  13582. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13583. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  13584. Flang: [8]uint8{'s', 'k'},
  13585. },
  13586. 40: {
  13587. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13588. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  13589. Flang: [8]uint8{'s', 'l'},
  13590. },
  13591. 41: {
  13592. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13593. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  13594. Flang: [8]uint8{'y', 'i'},
  13595. },
  13596. 42: {
  13597. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13598. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  13599. Flang: [8]uint8{'s', 'r'},
  13600. },
  13601. 43: {
  13602. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13603. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  13604. Flang: [8]uint8{'m', 'k'},
  13605. },
  13606. 44: {
  13607. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13608. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  13609. Flang: [8]uint8{'b', 'g'},
  13610. },
  13611. 45: {
  13612. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13613. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  13614. Flang: [8]uint8{'u', 'k'},
  13615. },
  13616. 46: {
  13617. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13618. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  13619. Flang: [8]uint8{'b', 'e'},
  13620. },
  13621. 47: {
  13622. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13623. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  13624. Flang: [8]uint8{'u', 'z'},
  13625. },
  13626. 48: {
  13627. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13628. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  13629. Flang: [8]uint8{'k', 'k'},
  13630. },
  13631. 49: {
  13632. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13633. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  13634. Flang: [8]uint8{'a', 'z'},
  13635. },
  13636. 50: {
  13637. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13638. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  13639. Flang: [8]uint8{'a', 'z'},
  13640. },
  13641. 51: {
  13642. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13643. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  13644. Flang: [8]uint8{'a', 'r'},
  13645. },
  13646. 52: {
  13647. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13648. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  13649. Flang: [8]uint8{'h', 'y'},
  13650. },
  13651. 53: {
  13652. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13653. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  13654. Flang: [8]uint8{'k', 'a'},
  13655. },
  13656. 54: {
  13657. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13658. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  13659. Flang: [8]uint8{'m', 'o'},
  13660. },
  13661. 55: {
  13662. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13663. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  13664. Flang: [8]uint8{'k', 'y'},
  13665. },
  13666. 56: {
  13667. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13668. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  13669. Flang: [8]uint8{'t', 'g'},
  13670. },
  13671. 57: {
  13672. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13673. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  13674. Flang: [8]uint8{'t', 'k'},
  13675. },
  13676. 58: {
  13677. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13678. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  13679. Flang: [8]uint8{'m', 'o'},
  13680. },
  13681. 59: {
  13682. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13683. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  13684. Flang: [8]uint8{'m', 'o'},
  13685. },
  13686. 60: {
  13687. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13688. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  13689. Flang: [8]uint8{'m', 'o'},
  13690. },
  13691. 61: {
  13692. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13693. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  13694. Flang: [8]uint8{'p', 's'},
  13695. },
  13696. 62: {
  13697. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13698. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  13699. Flang: [8]uint8{'k', 'u'},
  13700. },
  13701. 63: {
  13702. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13703. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  13704. Flang: [8]uint8{'k', 's'},
  13705. },
  13706. 64: {
  13707. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13708. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  13709. Flang: [8]uint8{'s', 'd'},
  13710. },
  13711. 65: {
  13712. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13713. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  13714. Flang: [8]uint8{'b', 'o'},
  13715. },
  13716. 66: {
  13717. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13718. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  13719. Flang: [8]uint8{'n', 'e'},
  13720. },
  13721. 67: {
  13722. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13723. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  13724. Flang: [8]uint8{'s', 'a'},
  13725. },
  13726. 68: {
  13727. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13728. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  13729. Flang: [8]uint8{'m', 'r'},
  13730. },
  13731. 69: {
  13732. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13733. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  13734. Flang: [8]uint8{'b', 'n'},
  13735. },
  13736. 70: {
  13737. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13738. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  13739. Flang: [8]uint8{'a', 's'},
  13740. },
  13741. 71: {
  13742. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13743. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  13744. Flang: [8]uint8{'g', 'u'},
  13745. },
  13746. 72: {
  13747. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13748. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  13749. Flang: [8]uint8{'p', 'a'},
  13750. },
  13751. 73: {
  13752. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13753. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  13754. Flang: [8]uint8{'o', 'r'},
  13755. },
  13756. 74: {
  13757. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13758. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  13759. Flang: [8]uint8{'m', 'l'},
  13760. },
  13761. 75: {
  13762. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13763. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  13764. Flang: [8]uint8{'k', 'n'},
  13765. },
  13766. 76: {
  13767. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13768. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  13769. Flang: [8]uint8{'t', 'a'},
  13770. },
  13771. 77: {
  13772. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13773. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  13774. Flang: [8]uint8{'t', 'e'},
  13775. },
  13776. 78: {
  13777. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13778. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  13779. Flang: [8]uint8{'s', 'i'},
  13780. },
  13781. 79: {
  13782. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13783. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  13784. Flang: [8]uint8{'m', 'y'},
  13785. },
  13786. 80: {
  13787. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13788. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  13789. Flang: [8]uint8{'k', 'm'},
  13790. },
  13791. 81: {
  13792. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13793. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  13794. Flang: [8]uint8{'l', 'o'},
  13795. },
  13796. 82: {
  13797. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13798. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  13799. Flang: [8]uint8{'v', 'i'},
  13800. },
  13801. 83: {
  13802. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13803. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  13804. Flang: [8]uint8{'i', 'd'},
  13805. },
  13806. 84: {
  13807. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13808. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  13809. Flang: [8]uint8{'t', 'l'},
  13810. },
  13811. 85: {
  13812. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13813. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  13814. Flang: [8]uint8{'m', 's'},
  13815. },
  13816. 86: {
  13817. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13818. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  13819. Flang: [8]uint8{'m', 's'},
  13820. },
  13821. 87: {
  13822. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13823. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  13824. Flang: [8]uint8{'a', 'm'},
  13825. },
  13826. 88: {
  13827. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13828. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  13829. Flang: [8]uint8{'t', 'i'},
  13830. },
  13831. 89: {
  13832. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13833. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  13834. Flang: [8]uint8{'o', 'm'},
  13835. },
  13836. 90: {
  13837. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13838. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  13839. Flang: [8]uint8{'s', 'o'},
  13840. },
  13841. 91: {
  13842. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13843. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  13844. Flang: [8]uint8{'s', 'w'},
  13845. },
  13846. 92: {
  13847. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13848. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  13849. Flang: [8]uint8{'r', 'w'},
  13850. },
  13851. 93: {
  13852. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13853. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  13854. Flang: [8]uint8{'r', 'n'},
  13855. },
  13856. 94: {
  13857. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13858. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  13859. Flang: [8]uint8{'n', 'y'},
  13860. },
  13861. 95: {
  13862. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13863. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  13864. Flang: [8]uint8{'m', 'g'},
  13865. },
  13866. 96: {
  13867. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13868. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  13869. Flang: [8]uint8{'e', 'o'},
  13870. },
  13871. 97: {
  13872. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13873. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  13874. Flang: [8]uint8{'c', 'y'},
  13875. },
  13876. 98: {
  13877. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13878. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  13879. Flang: [8]uint8{'e', 'u'},
  13880. },
  13881. 99: {
  13882. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13883. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  13884. Flang: [8]uint8{'c', 'a'},
  13885. },
  13886. 100: {
  13887. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13888. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  13889. Flang: [8]uint8{'l', 'a'},
  13890. },
  13891. 101: {
  13892. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13893. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  13894. Flang: [8]uint8{'q', 'u'},
  13895. },
  13896. 102: {
  13897. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13898. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  13899. Flang: [8]uint8{'g', 'n'},
  13900. },
  13901. 103: {
  13902. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13903. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  13904. Flang: [8]uint8{'a', 'y'},
  13905. },
  13906. 104: {
  13907. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13908. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  13909. Flang: [8]uint8{'t', 't'},
  13910. },
  13911. 105: {
  13912. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13913. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  13914. Flang: [8]uint8{'u', 'g'},
  13915. },
  13916. 106: {
  13917. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13918. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  13919. Flang: [8]uint8{'d', 'z'},
  13920. },
  13921. 107: {
  13922. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13923. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  13924. Flang: [8]uint8{'j', 'w'},
  13925. },
  13926. 108: {
  13927. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13928. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  13929. Flang: [8]uint8{'s', 'u'},
  13930. },
  13931. 109: {
  13932. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13933. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  13934. Flang: [8]uint8{'g', 'l'},
  13935. },
  13936. 110: {
  13937. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13938. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  13939. Flang: [8]uint8{'a', 'f'},
  13940. },
  13941. 111: {
  13942. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13943. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  13944. Flang: [8]uint8{'b', 'r'},
  13945. },
  13946. 112: {
  13947. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13948. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  13949. Flang: [8]uint8{'i', 'u'},
  13950. },
  13951. 113: {
  13952. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13953. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  13954. Flang: [8]uint8{'g', 'd'},
  13955. },
  13956. 114: {
  13957. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13958. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  13959. Flang: [8]uint8{'g', 'v'},
  13960. },
  13961. 115: {
  13962. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13963. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  13964. Flang: [8]uint8{'g', 'a'},
  13965. },
  13966. 116: {
  13967. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13968. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  13969. Flang: [8]uint8{'t', 'o'},
  13970. },
  13971. 117: {
  13972. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13973. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  13974. Flang: [8]uint8{'e', 'l'},
  13975. },
  13976. 118: {
  13977. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13978. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  13979. Flang: [8]uint8{'i', 'k'},
  13980. },
  13981. 119: {
  13982. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  13983. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  13984. Flang: [8]uint8{'a', 'z'},
  13985. },
  13986. 120: {
  13987. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13988. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  13989. Flang: [8]uint8{'a', 'r'},
  13990. },
  13991. 121: {
  13992. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13993. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  13994. Flang: [8]uint8{'a', 'r'},
  13995. },
  13996. 122: {
  13997. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  13998. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  13999. Flang: [8]uint8{'a', 'r'},
  14000. },
  14001. 123: {
  14002. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14003. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  14004. Flang: [8]uint8{'a', 'r'},
  14005. },
  14006. 124: {
  14007. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14008. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  14009. Flang: [8]uint8{'a', 'r'},
  14010. },
  14011. 125: {
  14012. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14013. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  14014. Flang: [8]uint8{'a', 'r'},
  14015. },
  14016. 126: {
  14017. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14018. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  14019. Flang: [8]uint8{'a', 'r'},
  14020. },
  14021. 127: {
  14022. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14023. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  14024. Flang: [8]uint8{'a', 'r'},
  14025. },
  14026. 128: {
  14027. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14028. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  14029. Flang: [8]uint8{'a', 'r'},
  14030. },
  14031. 129: {
  14032. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14033. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  14034. Flang: [8]uint8{'a', 'r'},
  14035. },
  14036. 130: {
  14037. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14038. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  14039. Flang: [8]uint8{'a', 'r'},
  14040. },
  14041. 131: {
  14042. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14043. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  14044. Flang: [8]uint8{'a', 'r'},
  14045. },
  14046. 132: {
  14047. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14048. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  14049. Flang: [8]uint8{'a', 'r'},
  14050. },
  14051. 133: {
  14052. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14053. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  14054. Flang: [8]uint8{'a', 'r'},
  14055. },
  14056. 134: {
  14057. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14058. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  14059. Flang: [8]uint8{'a', 'r'},
  14060. },
  14061. 135: {
  14062. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14063. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  14064. Flang: [8]uint8{'a', 'r'},
  14065. },
  14066. 136: {
  14067. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14068. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  14069. Flang: [8]uint8{'b', 'g'},
  14070. },
  14071. 137: {
  14072. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14073. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  14074. Flang: [8]uint8{'c', 'a'},
  14075. },
  14076. 138: {
  14077. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14078. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  14079. Flang: [8]uint8{'z', 'h', '-', 't', 'w'},
  14080. },
  14081. 139: {
  14082. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14083. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  14084. Flang: [8]uint8{'z', 'h', '-', 'c', 'n'},
  14085. },
  14086. 140: {
  14087. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14088. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  14089. Flang: [8]uint8{'z', 'h', '-', 'h', 'k'},
  14090. },
  14091. 141: {
  14092. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14093. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  14094. Flang: [8]uint8{'z', 'h', '-', 's', 'g'},
  14095. },
  14096. 142: {
  14097. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14098. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  14099. Flang: [8]uint8{'z', 'h', '-', 'm', 'o'},
  14100. },
  14101. 143: {
  14102. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14103. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  14104. Flang: [8]uint8{'c', 's'},
  14105. },
  14106. 144: {
  14107. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14108. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  14109. Flang: [8]uint8{'d', 'a'},
  14110. },
  14111. 145: {
  14112. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14113. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  14114. Flang: [8]uint8{'d', 'e'},
  14115. },
  14116. 146: {
  14117. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14118. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  14119. Flang: [8]uint8{'d', 'e'},
  14120. },
  14121. 147: {
  14122. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14123. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  14124. Flang: [8]uint8{'d', 'e'},
  14125. },
  14126. 148: {
  14127. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14128. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  14129. Flang: [8]uint8{'d', 'e'},
  14130. },
  14131. 149: {
  14132. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14133. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  14134. Flang: [8]uint8{'d', 'e'},
  14135. },
  14136. 150: {
  14137. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14138. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  14139. Flang: [8]uint8{'e', 'l'},
  14140. },
  14141. 151: {
  14142. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14143. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  14144. Flang: [8]uint8{'e', 'n'},
  14145. },
  14146. 152: {
  14147. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14148. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  14149. Flang: [8]uint8{'e', 'n'},
  14150. },
  14151. 153: {
  14152. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14153. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  14154. Flang: [8]uint8{'e', 'n'},
  14155. },
  14156. 154: {
  14157. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14158. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  14159. Flang: [8]uint8{'e', 'n'},
  14160. },
  14161. 155: {
  14162. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14163. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  14164. Flang: [8]uint8{'e', 'n'},
  14165. },
  14166. 156: {
  14167. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14168. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  14169. Flang: [8]uint8{'e', 'n'},
  14170. },
  14171. 157: {
  14172. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14173. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  14174. Flang: [8]uint8{'e', 'n'},
  14175. },
  14176. 158: {
  14177. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14178. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  14179. Flang: [8]uint8{'e', 'n'},
  14180. },
  14181. 159: {
  14182. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14183. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  14184. Flang: [8]uint8{'e', 'n'},
  14185. },
  14186. 160: {
  14187. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14188. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  14189. Flang: [8]uint8{'e', 'n'},
  14190. },
  14191. 161: {
  14192. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14193. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  14194. Flang: [8]uint8{'e', 'n'},
  14195. },
  14196. 162: {
  14197. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14198. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  14199. Flang: [8]uint8{'e', 'n'},
  14200. },
  14201. 163: {
  14202. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14203. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  14204. Flang: [8]uint8{'e', 'n'},
  14205. },
  14206. 164: {
  14207. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14208. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  14209. Flang: [8]uint8{'e', 's'},
  14210. },
  14211. 165: {
  14212. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14213. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  14214. Flang: [8]uint8{'e', 's'},
  14215. },
  14216. 166: {
  14217. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14218. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  14219. Flang: [8]uint8{'e', 's'},
  14220. },
  14221. 167: {
  14222. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14223. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  14224. Flang: [8]uint8{'e', 's'},
  14225. },
  14226. 168: {
  14227. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14228. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  14229. Flang: [8]uint8{'e', 's'},
  14230. },
  14231. 169: {
  14232. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14233. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  14234. Flang: [8]uint8{'e', 's'},
  14235. },
  14236. 170: {
  14237. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14238. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  14239. Flang: [8]uint8{'e', 's'},
  14240. },
  14241. 171: {
  14242. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14243. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  14244. Flang: [8]uint8{'e', 's'},
  14245. },
  14246. 172: {
  14247. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14248. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  14249. Flang: [8]uint8{'e', 's'},
  14250. },
  14251. 173: {
  14252. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14253. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  14254. Flang: [8]uint8{'e', 's'},
  14255. },
  14256. 174: {
  14257. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14258. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  14259. Flang: [8]uint8{'e', 's'},
  14260. },
  14261. 175: {
  14262. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14263. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  14264. Flang: [8]uint8{'e', 's'},
  14265. },
  14266. 176: {
  14267. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14268. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  14269. Flang: [8]uint8{'e', 's'},
  14270. },
  14271. 177: {
  14272. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14273. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  14274. Flang: [8]uint8{'e', 's'},
  14275. },
  14276. 178: {
  14277. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14278. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  14279. Flang: [8]uint8{'e', 's'},
  14280. },
  14281. 179: {
  14282. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14283. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  14284. Flang: [8]uint8{'e', 's'},
  14285. },
  14286. 180: {
  14287. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14288. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  14289. Flang: [8]uint8{'e', 's'},
  14290. },
  14291. 181: {
  14292. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14293. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  14294. Flang: [8]uint8{'e', 's'},
  14295. },
  14296. 182: {
  14297. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14298. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  14299. Flang: [8]uint8{'e', 's'},
  14300. },
  14301. 183: {
  14302. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14303. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  14304. Flang: [8]uint8{'e', 's'},
  14305. },
  14306. 184: {
  14307. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14308. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  14309. Flang: [8]uint8{'f', 'i'},
  14310. },
  14311. 185: {
  14312. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14313. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  14314. Flang: [8]uint8{'f', 'r'},
  14315. },
  14316. 186: {
  14317. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14318. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  14319. Flang: [8]uint8{'f', 'r'},
  14320. },
  14321. 187: {
  14322. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14323. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  14324. Flang: [8]uint8{'f', 'r'},
  14325. },
  14326. 188: {
  14327. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14328. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  14329. Flang: [8]uint8{'f', 'r'},
  14330. },
  14331. 189: {
  14332. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14333. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  14334. Flang: [8]uint8{'f', 'r'},
  14335. },
  14336. 190: {
  14337. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14338. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  14339. Flang: [8]uint8{'f', 'r'},
  14340. },
  14341. 191: {
  14342. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14343. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  14344. Flang: [8]uint8{'h', 'e'},
  14345. },
  14346. 192: {
  14347. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14348. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  14349. Flang: [8]uint8{'h', 'u'},
  14350. },
  14351. 193: {
  14352. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14353. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  14354. Flang: [8]uint8{'i', 's'},
  14355. },
  14356. 194: {
  14357. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14358. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  14359. Flang: [8]uint8{'i', 't'},
  14360. },
  14361. 195: {
  14362. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14363. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  14364. Flang: [8]uint8{'i', 't'},
  14365. },
  14366. 196: {
  14367. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14368. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  14369. Flang: [8]uint8{'j', 'a'},
  14370. },
  14371. 197: {
  14372. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14373. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  14374. Flang: [8]uint8{'k', 'o'},
  14375. },
  14376. 198: {
  14377. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14378. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  14379. Flang: [8]uint8{'k', 'o'},
  14380. },
  14381. 199: {
  14382. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14383. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  14384. Flang: [8]uint8{'n', 'l'},
  14385. },
  14386. 200: {
  14387. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14388. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  14389. Flang: [8]uint8{'n', 'l'},
  14390. },
  14391. 201: {
  14392. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14393. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  14394. Flang: [8]uint8{'n', 'o'},
  14395. },
  14396. 202: {
  14397. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14398. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  14399. Flang: [8]uint8{'n', 'n'},
  14400. },
  14401. 203: {
  14402. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14403. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  14404. Flang: [8]uint8{'p', 'l'},
  14405. },
  14406. 204: {
  14407. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14408. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  14409. Flang: [8]uint8{'p', 't'},
  14410. },
  14411. 205: {
  14412. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14413. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  14414. Flang: [8]uint8{'p', 't'},
  14415. },
  14416. 206: {
  14417. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14418. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  14419. Flang: [8]uint8{'r', 'm'},
  14420. },
  14421. 207: {
  14422. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14423. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  14424. Flang: [8]uint8{'r', 'o'},
  14425. },
  14426. 208: {
  14427. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14428. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  14429. Flang: [8]uint8{'m', 'o'},
  14430. },
  14431. 209: {
  14432. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14433. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  14434. Flang: [8]uint8{'r', 'u'},
  14435. },
  14436. 210: {
  14437. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14438. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  14439. Flang: [8]uint8{'r', 'u'},
  14440. },
  14441. 211: {
  14442. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14443. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  14444. Flang: [8]uint8{'h', 'r'},
  14445. },
  14446. 212: {
  14447. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14448. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  14449. Flang: [8]uint8{'s', 'r'},
  14450. },
  14451. 213: {
  14452. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14453. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  14454. Flang: [8]uint8{'s', 'r'},
  14455. },
  14456. 214: {
  14457. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14458. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  14459. Flang: [8]uint8{'s', 'k'},
  14460. },
  14461. 215: {
  14462. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14463. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  14464. Flang: [8]uint8{'s', 'q'},
  14465. },
  14466. 216: {
  14467. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14468. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  14469. Flang: [8]uint8{'s', 'v'},
  14470. },
  14471. 217: {
  14472. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14473. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  14474. Flang: [8]uint8{'s', 'v'},
  14475. },
  14476. 218: {
  14477. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14478. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  14479. Flang: [8]uint8{'t', 'h'},
  14480. },
  14481. 219: {
  14482. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14483. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  14484. Flang: [8]uint8{'t', 'r'},
  14485. },
  14486. 220: {
  14487. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14488. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  14489. Flang: [8]uint8{'u', 'r'},
  14490. },
  14491. 221: {
  14492. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14493. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  14494. Flang: [8]uint8{'i', 'd'},
  14495. },
  14496. 222: {
  14497. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14498. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  14499. Flang: [8]uint8{'u', 'k'},
  14500. },
  14501. 223: {
  14502. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14503. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  14504. Flang: [8]uint8{'b', 'e'},
  14505. },
  14506. 224: {
  14507. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14508. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  14509. Flang: [8]uint8{'s', 'l'},
  14510. },
  14511. 225: {
  14512. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14513. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  14514. Flang: [8]uint8{'e', 't'},
  14515. },
  14516. 226: {
  14517. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14518. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  14519. Flang: [8]uint8{'l', 'v'},
  14520. },
  14521. 227: {
  14522. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14523. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  14524. Flang: [8]uint8{'l', 't'},
  14525. },
  14526. 228: {
  14527. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14528. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  14529. Flang: [8]uint8{'l', 't'},
  14530. },
  14531. 229: {
  14532. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14533. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  14534. Flang: [8]uint8{'m', 'i'},
  14535. },
  14536. 230: {
  14537. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14538. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  14539. Flang: [8]uint8{'f', 'a'},
  14540. },
  14541. 231: {
  14542. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14543. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  14544. Flang: [8]uint8{'v', 'i'},
  14545. },
  14546. 232: {
  14547. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14548. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  14549. Flang: [8]uint8{'h', 'y'},
  14550. },
  14551. 233: {
  14552. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14553. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  14554. Flang: [8]uint8{'a', 'z'},
  14555. },
  14556. 234: {
  14557. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14558. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  14559. Flang: [8]uint8{'a', 'z'},
  14560. },
  14561. 235: {
  14562. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14563. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  14564. Flang: [8]uint8{'e', 'u'},
  14565. },
  14566. 236: {
  14567. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14568. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  14569. Flang: [8]uint8{'w', 'e', 'n'},
  14570. },
  14571. 237: {
  14572. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14573. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  14574. Flang: [8]uint8{'m', 'k'},
  14575. },
  14576. 238: {
  14577. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14578. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  14579. Flang: [8]uint8{'s', 't'},
  14580. },
  14581. 239: {
  14582. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14583. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  14584. Flang: [8]uint8{'t', 's'},
  14585. },
  14586. 240: {
  14587. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14588. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  14589. Flang: [8]uint8{'t', 'n'},
  14590. },
  14591. 241: {
  14592. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14593. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  14594. Flang: [8]uint8{'v', 'e', 'n'},
  14595. },
  14596. 242: {
  14597. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14598. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  14599. Flang: [8]uint8{'x', 'h'},
  14600. },
  14601. 243: {
  14602. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14603. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  14604. Flang: [8]uint8{'z', 'u'},
  14605. },
  14606. 244: {
  14607. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14608. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  14609. Flang: [8]uint8{'a', 'f'},
  14610. },
  14611. 245: {
  14612. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14613. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  14614. Flang: [8]uint8{'k', 'a'},
  14615. },
  14616. 246: {
  14617. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14618. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  14619. Flang: [8]uint8{'f', 'o'},
  14620. },
  14621. 247: {
  14622. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14623. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  14624. Flang: [8]uint8{'h', 'i'},
  14625. },
  14626. 248: {
  14627. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14628. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  14629. Flang: [8]uint8{'m', 't'},
  14630. },
  14631. 249: {
  14632. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14633. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  14634. Flang: [8]uint8{'s', 'e'},
  14635. },
  14636. 250: {
  14637. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14638. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  14639. Flang: [8]uint8{'g', 'd'},
  14640. },
  14641. 251: {
  14642. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14643. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  14644. Flang: [8]uint8{'g', 'a'},
  14645. },
  14646. 252: {
  14647. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14648. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  14649. Flang: [8]uint8{'m', 's'},
  14650. },
  14651. 253: {
  14652. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14653. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  14654. Flang: [8]uint8{'m', 's'},
  14655. },
  14656. 254: {
  14657. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14658. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  14659. Flang: [8]uint8{'k', 'k'},
  14660. },
  14661. 255: {
  14662. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14663. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  14664. Flang: [8]uint8{'s', 'w'},
  14665. },
  14666. 256: {
  14667. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14668. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  14669. Flang: [8]uint8{'u', 'z'},
  14670. },
  14671. 257: {
  14672. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14673. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  14674. Flang: [8]uint8{'u', 'z'},
  14675. },
  14676. 258: {
  14677. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14678. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  14679. Flang: [8]uint8{'t', 't'},
  14680. },
  14681. 259: {
  14682. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14683. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  14684. Flang: [8]uint8{'b', 'n'},
  14685. },
  14686. 260: {
  14687. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14688. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  14689. Flang: [8]uint8{'p', 'a'},
  14690. },
  14691. 261: {
  14692. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14693. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  14694. Flang: [8]uint8{'g', 'u'},
  14695. },
  14696. 262: {
  14697. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14698. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  14699. Flang: [8]uint8{'o', 'r'},
  14700. },
  14701. 263: {
  14702. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14703. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  14704. Flang: [8]uint8{'t', 'a'},
  14705. },
  14706. 264: {
  14707. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14708. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  14709. Flang: [8]uint8{'t', 'e'},
  14710. },
  14711. 265: {
  14712. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14713. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  14714. Flang: [8]uint8{'k', 'n'},
  14715. },
  14716. 266: {
  14717. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14718. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  14719. Flang: [8]uint8{'m', 'l'},
  14720. },
  14721. 267: {
  14722. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14723. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  14724. Flang: [8]uint8{'a', 's'},
  14725. },
  14726. 268: {
  14727. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14728. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  14729. Flang: [8]uint8{'m', 'r'},
  14730. },
  14731. 269: {
  14732. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14733. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  14734. Flang: [8]uint8{'s', 'a'},
  14735. },
  14736. 270: {
  14737. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14738. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  14739. Flang: [8]uint8{'k', 'o', 'k'},
  14740. },
  14741. 271: {
  14742. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14743. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  14744. Flang: [8]uint8{'a', 'r'},
  14745. },
  14746. 272: {
  14747. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14748. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  14749. Flang: [8]uint8{'z', 'h'},
  14750. },
  14751. 273: {
  14752. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14753. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  14754. Flang: [8]uint8{'e', 'n'},
  14755. },
  14756. 274: {
  14757. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14758. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  14759. Flang: [8]uint8{'f', 'r'},
  14760. },
  14761. 275: {
  14762. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14763. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  14764. Flang: [8]uint8{'f', 'r'},
  14765. },
  14766. 276: {
  14767. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14768. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  14769. Flang: [8]uint8{'f', 'r'},
  14770. },
  14771. 277: {
  14772. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14773. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  14774. Flang: [8]uint8{'f', 'r'},
  14775. },
  14776. 278: {
  14777. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14778. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  14779. Flang: [8]uint8{'f', 'r'},
  14780. },
  14781. 279: {
  14782. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14783. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  14784. Flang: [8]uint8{'f', 'r'},
  14785. },
  14786. 280: {
  14787. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14788. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  14789. Flang: [8]uint8{'f', 'r'},
  14790. },
  14791. 281: {
  14792. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14793. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  14794. Flang: [8]uint8{'b', 's'},
  14795. },
  14796. 282: {
  14797. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14798. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  14799. Flang: [8]uint8{'u', 'r'},
  14800. },
  14801. 283: {
  14802. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14803. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  14804. Flang: [8]uint8{'t', 'g'},
  14805. },
  14806. 284: {
  14807. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14808. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  14809. Flang: [8]uint8{'y', 'i'},
  14810. },
  14811. 285: {
  14812. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14813. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  14814. Flang: [8]uint8{'k', 'y'},
  14815. },
  14816. 286: {
  14817. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14818. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  14819. Flang: [8]uint8{'t', 'k'},
  14820. },
  14821. 287: {
  14822. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14823. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  14824. Flang: [8]uint8{'m', 'n'},
  14825. },
  14826. 288: {
  14827. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14828. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  14829. Flang: [8]uint8{'b', 'o'},
  14830. },
  14831. 289: {
  14832. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14833. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  14834. Flang: [8]uint8{'b', 'o'},
  14835. },
  14836. 290: {
  14837. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14838. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  14839. Flang: [8]uint8{'d', 'z'},
  14840. },
  14841. 291: {
  14842. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14843. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  14844. Flang: [8]uint8{'c', 'y'},
  14845. },
  14846. 292: {
  14847. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14848. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  14849. Flang: [8]uint8{'k', 'm'},
  14850. },
  14851. 293: {
  14852. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14853. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  14854. Flang: [8]uint8{'l', 'o'},
  14855. },
  14856. 294: {
  14857. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14858. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  14859. Flang: [8]uint8{'m', 'y'},
  14860. },
  14861. 295: {
  14862. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14863. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  14864. Flang: [8]uint8{'g', 'l'},
  14865. },
  14866. 296: {
  14867. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14868. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  14869. Flang: [8]uint8{'m', 'n', 'i'},
  14870. },
  14871. 297: {
  14872. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14873. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  14874. Flang: [8]uint8{'s', 'd'},
  14875. },
  14876. 298: {
  14877. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14878. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  14879. Flang: [8]uint8{'k', 's'},
  14880. },
  14881. 299: {
  14882. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14883. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  14884. Flang: [8]uint8{'k', 's'},
  14885. },
  14886. 300: {
  14887. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14888. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  14889. Flang: [8]uint8{'n', 'e'},
  14890. },
  14891. 301: {
  14892. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14893. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  14894. Flang: [8]uint8{'n', 'e'},
  14895. },
  14896. 302: {
  14897. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14898. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  14899. Flang: [8]uint8{'f', 'y'},
  14900. },
  14901. 303: {
  14902. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14903. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  14904. Flang: [8]uint8{'e', 'n'},
  14905. },
  14906. 304: {
  14907. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14908. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  14909. Flang: [8]uint8{'e', 'n'},
  14910. },
  14911. 305: {
  14912. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14913. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  14914. Flang: [8]uint8{'e', 'n'},
  14915. },
  14916. 306: {
  14917. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14918. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  14919. Flang: [8]uint8{'e', 'n'},
  14920. },
  14921. 307: {
  14922. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14923. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  14924. Flang: [8]uint8{'s', 'y', 'r'},
  14925. },
  14926. 308: {
  14927. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14928. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  14929. Flang: [8]uint8{'s', 'i'},
  14930. },
  14931. 309: {
  14932. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14933. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  14934. Flang: [8]uint8{'c', 'h', 'r'},
  14935. },
  14936. 310: {
  14937. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14938. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  14939. Flang: [8]uint8{'i', 'u'},
  14940. },
  14941. 311: {
  14942. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14943. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  14944. Flang: [8]uint8{'a', 'm'},
  14945. },
  14946. 312: {
  14947. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14948. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  14949. Flang: [8]uint8{'p', 's'},
  14950. },
  14951. 313: {
  14952. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14953. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  14954. Flang: [8]uint8{'p', 'h', 'i'},
  14955. },
  14956. 314: {
  14957. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14958. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  14959. Flang: [8]uint8{'d', 'i', 'v'},
  14960. },
  14961. 315: {
  14962. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14963. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  14964. Flang: [8]uint8{'o', 'm'},
  14965. },
  14966. 316: {
  14967. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14968. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  14969. Flang: [8]uint8{'t', 'i'},
  14970. },
  14971. 317: {
  14972. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14973. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  14974. Flang: [8]uint8{'t', 'i'},
  14975. },
  14976. 318: {
  14977. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14978. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  14979. Flang: [8]uint8{'e', 's'},
  14980. },
  14981. 319: {
  14982. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14983. Flanguage_id: uint16(0xE40A),
  14984. Flang: [8]uint8{'e', 's'},
  14985. },
  14986. 320: {
  14987. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14988. Flanguage_id: uint16(0xE40C),
  14989. Flang: [8]uint8{'f', 'r'},
  14990. },
  14991. 321: {
  14992. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14993. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  14994. Flang: [8]uint8{'f', 'r'},
  14995. },
  14996. 322: {
  14997. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  14998. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  14999. Flang: [8]uint8{'f', 'r'},
  15000. },
  15001. 323: {
  15002. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15003. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  15004. Flang: [8]uint8{'b', 'n'},
  15005. },
  15006. 324: {
  15007. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15008. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  15009. Flang: [8]uint8{'a', 'r'},
  15010. },
  15011. 325: {
  15012. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15013. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  15014. Flang: [8]uint8{'m', 'n'},
  15015. },
  15016. 326: {
  15017. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15018. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  15019. Flang: [8]uint8{'h', 'a'},
  15020. },
  15021. 327: {
  15022. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15023. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  15024. Flang: [8]uint8{'y', 'o'},
  15025. },
  15026. 328: {
  15027. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15028. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  15029. Flang: [8]uint8{'i', 'b', 'o'},
  15030. },
  15031. 329: {
  15032. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15033. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  15034. Flang: [8]uint8{'k', 'a', 'u'},
  15035. },
  15036. 330: {
  15037. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15038. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  15039. Flang: [8]uint8{'g', 'n'},
  15040. },
  15041. 331: {
  15042. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15043. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  15044. Flang: [8]uint8{'h', 'a', 'w'},
  15045. },
  15046. 332: {
  15047. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15048. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  15049. Flang: [8]uint8{'l', 'a'},
  15050. },
  15051. 333: {
  15052. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15053. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  15054. Flang: [8]uint8{'s', 'o'},
  15055. },
  15056. 334: {
  15057. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  15058. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  15059. Flang: [8]uint8{'p', 'a', 'p'},
  15060. },
  15061. }
  15062. type TFcMacRomanFake = struct {
  15063. Flanguage_id TFT_UShort
  15064. Ffromcode [12]uint8
  15065. }
  15066. var _fcMacRomanFake = [2]TFcMacRomanFake{
  15067. 0: {
  15068. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  15069. Ffromcode: [12]uint8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  15070. },
  15071. 1: {
  15072. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  15073. Ffromcode: [12]uint8{'A', 'S', 'C', 'I', 'I'},
  15074. },
  15075. }
  15076. // C documentation
  15077. //
  15078. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  15079. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  15080. 0: uint16(0x00C4),
  15081. 1: uint16(0x00C5),
  15082. 2: uint16(0x00C7),
  15083. 3: uint16(0x00C9),
  15084. 4: uint16(0x00D1),
  15085. 5: uint16(0x00D6),
  15086. 6: uint16(0x00DC),
  15087. 7: uint16(0x00E1),
  15088. 8: uint16(0x00E0),
  15089. 9: uint16(0x00E2),
  15090. 10: uint16(0x00E4),
  15091. 11: uint16(0x00E3),
  15092. 12: uint16(0x00E5),
  15093. 13: uint16(0x00E7),
  15094. 14: uint16(0x00E9),
  15095. 15: uint16(0x00E8),
  15096. 16: uint16(0x00EA),
  15097. 17: uint16(0x00EB),
  15098. 18: uint16(0x00ED),
  15099. 19: uint16(0x00EC),
  15100. 20: uint16(0x00EE),
  15101. 21: uint16(0x00EF),
  15102. 22: uint16(0x00F1),
  15103. 23: uint16(0x00F3),
  15104. 24: uint16(0x00F2),
  15105. 25: uint16(0x00F4),
  15106. 26: uint16(0x00F6),
  15107. 27: uint16(0x00F5),
  15108. 28: uint16(0x00FA),
  15109. 29: uint16(0x00F9),
  15110. 30: uint16(0x00FB),
  15111. 31: uint16(0x00FC),
  15112. 32: uint16(0x2020),
  15113. 33: uint16(0x00B0),
  15114. 34: uint16(0x00A2),
  15115. 35: uint16(0x00A3),
  15116. 36: uint16(0x00A7),
  15117. 37: uint16(0x2022),
  15118. 38: uint16(0x00B6),
  15119. 39: uint16(0x00DF),
  15120. 40: uint16(0x00AE),
  15121. 41: uint16(0x00A9),
  15122. 42: uint16(0x2122),
  15123. 43: uint16(0x00B4),
  15124. 44: uint16(0x00A8),
  15125. 45: uint16(0x2260),
  15126. 46: uint16(0x00C6),
  15127. 47: uint16(0x00D8),
  15128. 48: uint16(0x221E),
  15129. 49: uint16(0x00B1),
  15130. 50: uint16(0x2264),
  15131. 51: uint16(0x2265),
  15132. 52: uint16(0x00A5),
  15133. 53: uint16(0x00B5),
  15134. 54: uint16(0x2202),
  15135. 55: uint16(0x2211),
  15136. 56: uint16(0x220F),
  15137. 57: uint16(0x03C0),
  15138. 58: uint16(0x222B),
  15139. 59: uint16(0x00AA),
  15140. 60: uint16(0x00BA),
  15141. 61: uint16(0x03A9),
  15142. 62: uint16(0x00E6),
  15143. 63: uint16(0x00F8),
  15144. 64: uint16(0x00BF),
  15145. 65: uint16(0x00A1),
  15146. 66: uint16(0x00AC),
  15147. 67: uint16(0x221A),
  15148. 68: uint16(0x0192),
  15149. 69: uint16(0x2248),
  15150. 70: uint16(0x2206),
  15151. 71: uint16(0x00AB),
  15152. 72: uint16(0x00BB),
  15153. 73: uint16(0x2026),
  15154. 74: uint16(0x00A0),
  15155. 75: uint16(0x00C0),
  15156. 76: uint16(0x00C3),
  15157. 77: uint16(0x00D5),
  15158. 78: uint16(0x0152),
  15159. 79: uint16(0x0153),
  15160. 80: uint16(0x2013),
  15161. 81: uint16(0x2014),
  15162. 82: uint16(0x201C),
  15163. 83: uint16(0x201D),
  15164. 84: uint16(0x2018),
  15165. 85: uint16(0x2019),
  15166. 86: uint16(0x00F7),
  15167. 87: uint16(0x25CA),
  15168. 88: uint16(0x00FF),
  15169. 89: uint16(0x0178),
  15170. 90: uint16(0x2044),
  15171. 91: uint16(0x20AC),
  15172. 92: uint16(0x2039),
  15173. 93: uint16(0x203A),
  15174. 94: uint16(0xFB01),
  15175. 95: uint16(0xFB02),
  15176. 96: uint16(0x2021),
  15177. 97: uint16(0x00B7),
  15178. 98: uint16(0x201A),
  15179. 99: uint16(0x201E),
  15180. 100: uint16(0x2030),
  15181. 101: uint16(0x00C2),
  15182. 102: uint16(0x00CA),
  15183. 103: uint16(0x00C1),
  15184. 104: uint16(0x00CB),
  15185. 105: uint16(0x00C8),
  15186. 106: uint16(0x00CD),
  15187. 107: uint16(0x00CE),
  15188. 108: uint16(0x00CF),
  15189. 109: uint16(0x00CC),
  15190. 110: uint16(0x00D3),
  15191. 111: uint16(0x00D4),
  15192. 112: uint16(0xF8FF),
  15193. 113: uint16(0x00D2),
  15194. 114: uint16(0x00DA),
  15195. 115: uint16(0x00DB),
  15196. 116: uint16(0x00D9),
  15197. 117: uint16(0x0131),
  15198. 118: uint16(0x02C6),
  15199. 119: uint16(0x02DC),
  15200. 120: uint16(0x00AF),
  15201. 121: uint16(0x02D8),
  15202. 122: uint16(0x02D9),
  15203. 123: uint16(0x02DA),
  15204. 124: uint16(0x00B8),
  15205. 125: uint16(0x02DD),
  15206. 126: uint16(0x02DB),
  15207. 127: uint16(0x02C7),
  15208. }
  15209. // C documentation
  15210. //
  15211. // /*
  15212. // * A shift-JIS will have many high bits turned on
  15213. // */
  15214. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  15215. var nhigh, nlow, v1 int32
  15216. var v2 uintptr
  15217. _, _, _, _ = nhigh, nlow, v1, v2
  15218. nhigh = 0
  15219. nlow = 0
  15220. for {
  15221. v1 = len1
  15222. len1--
  15223. if !(v1 > 0) {
  15224. break
  15225. }
  15226. v2 = string1
  15227. string1++
  15228. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  15229. nhigh++
  15230. } else {
  15231. nlow++
  15232. }
  15233. }
  15234. /*
  15235. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  15236. * this is likely to be SJIS and not ROMAN
  15237. */
  15238. if nhigh*int32(2) > nlow {
  15239. return int32(m_FcTrue)
  15240. }
  15241. return m_FcFalse
  15242. }
  15243. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  15244. bp := tls.Alloc(16)
  15245. defer tls.Free(16)
  15246. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  15247. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  15248. var ucs41, ucs42 TFcChar32
  15249. var _ /* len at bp+0 */ int32
  15250. var _ /* ucs4 at bp+8 */ TFcChar32
  15251. var _ /* wchar at bp+4 */ int32
  15252. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  15253. i = 0
  15254. for {
  15255. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  15256. break
  15257. }
  15258. 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)) {
  15259. break
  15260. }
  15261. goto _1
  15262. _1:
  15263. ;
  15264. i++
  15265. }
  15266. if i == libc.Int32FromUint64(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  15267. return uintptr(0)
  15268. }
  15269. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  15270. /*
  15271. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  15272. * in various ways. Kludge around them.
  15273. */
  15274. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3250) != 0) {
  15275. 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 {
  15276. fromcode = __ccgo_ts + 3260
  15277. } else {
  15278. if libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  15279. fromcode = libc.UintptrFromInt32(0)
  15280. f = 0
  15281. for {
  15282. if !(f < libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  15283. break
  15284. }
  15285. if libc.Int32FromUint16(_fcMacRomanFake[f].Flanguage_id) == libc.Int32FromUint16((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  15286. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  15287. break
  15288. }
  15289. goto _2
  15290. _2:
  15291. ;
  15292. f++
  15293. }
  15294. if !(fromcode != 0) {
  15295. return uintptr(0)
  15296. }
  15297. }
  15298. }
  15299. }
  15300. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3265) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3273) != 0) {
  15301. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15302. src_len = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15303. /*
  15304. * Convert Utf16 to Utf8
  15305. */
  15306. if !(XIA__FcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  15307. return uintptr(0)
  15308. }
  15309. /*
  15310. * Allocate plenty of space. Freed below
  15311. */
  15312. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  15313. if !(utf8 != 0) {
  15314. return uintptr(0)
  15315. }
  15316. u8 = utf8
  15317. for {
  15318. v3 = XIA__FcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  15319. ilen = v3
  15320. if !(v3 > 0) {
  15321. break
  15322. }
  15323. src_len -= ilen
  15324. src += uintptr(ilen)
  15325. olen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  15326. u8 += uintptr(olen)
  15327. }
  15328. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  15329. goto done
  15330. }
  15331. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3282) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3288) != 0) {
  15332. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15333. src_len1 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15334. /*
  15335. * Convert Latin1 to Utf8. Freed below
  15336. */
  15337. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len1*int32(2)+int32(1)))
  15338. if !(utf8 != 0) {
  15339. return uintptr(0)
  15340. }
  15341. u81 = utf8
  15342. for src_len1 > 0 {
  15343. v4 = src1
  15344. src1++
  15345. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  15346. src_len1--
  15347. olen1 = XIA__FcUcs4ToUtf8(tls, ucs41, u81)
  15348. u81 += uintptr(olen1)
  15349. }
  15350. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  15351. goto done
  15352. }
  15353. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3250) != 0) {
  15354. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  15355. src_len2 = libc.Int32FromUint32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  15356. /*
  15357. * Convert Latin1 to Utf8. Freed below
  15358. */
  15359. utf8 = libc.Xmalloc(tls, libc.Uint64FromInt32(src_len2*int32(3)+int32(1)))
  15360. if !(utf8 != 0) {
  15361. return uintptr(0)
  15362. }
  15363. u82 = utf8
  15364. for src_len2 > 0 {
  15365. v5 = src2
  15366. src2++
  15367. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  15368. if ucs42 >= uint32(128) {
  15369. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  15370. }
  15371. src_len2--
  15372. olen2 = XIA__FcUcs4ToUtf8(tls, ucs42, u82)
  15373. u82 += uintptr(olen2)
  15374. }
  15375. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  15376. goto done
  15377. }
  15378. return uintptr(0)
  15379. goto done
  15380. done:
  15381. ;
  15382. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+1316) == 0 {
  15383. libc.Xfree(tls, utf8)
  15384. return uintptr(0)
  15385. }
  15386. return utf8
  15387. }
  15388. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  15389. var i int32
  15390. var language_id, platform_id TFT_UShort
  15391. _, _, _ = i, language_id, platform_id
  15392. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  15393. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  15394. /*
  15395. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  15396. * in various ways. Kludge around them.
  15397. */
  15398. 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 {
  15399. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  15400. }
  15401. i = 0
  15402. for {
  15403. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  15404. break
  15405. }
  15406. 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)) {
  15407. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  15408. return libc.UintptrFromInt32(0)
  15409. } else {
  15410. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  15411. }
  15412. }
  15413. goto _1
  15414. _1:
  15415. ;
  15416. i++
  15417. }
  15418. return uintptr(0)
  15419. }
  15420. /* Order is significant. For example, some B&H fonts are hinted by
  15421. URW++, and both strings appear in the notice. */
  15422. var _FcNoticeFoundries = [18][2]uintptr{
  15423. 0: {
  15424. 0: __ccgo_ts + 3299,
  15425. 1: __ccgo_ts + 3305,
  15426. },
  15427. 1: {
  15428. 0: __ccgo_ts + 3311,
  15429. 1: __ccgo_ts + 3319,
  15430. },
  15431. 2: {
  15432. 0: __ccgo_ts + 3323,
  15433. 1: __ccgo_ts + 3333,
  15434. },
  15435. 3: {
  15436. 0: __ccgo_ts + 3343,
  15437. 1: __ccgo_ts + 3348,
  15438. },
  15439. 4: {
  15440. 0: __ccgo_ts + 3355,
  15441. 1: __ccgo_ts + 3348,
  15442. },
  15443. 5: {
  15444. 0: __ccgo_ts + 3361,
  15445. 1: __ccgo_ts + 3376,
  15446. },
  15447. 6: {
  15448. 0: __ccgo_ts + 3384,
  15449. 1: __ccgo_ts + 3391,
  15450. },
  15451. 7: {
  15452. 0: __ccgo_ts + 3396,
  15453. 1: __ccgo_ts + 3400,
  15454. },
  15455. 8: {
  15456. 0: __ccgo_ts + 3404,
  15457. 1: __ccgo_ts + 3439,
  15458. },
  15459. 9: {
  15460. 0: __ccgo_ts + 3443,
  15461. 1: __ccgo_ts + 3452,
  15462. },
  15463. 10: {
  15464. 0: __ccgo_ts + 3461,
  15465. 1: __ccgo_ts + 3452,
  15466. },
  15467. 11: {
  15468. 0: __ccgo_ts + 3475,
  15469. 1: __ccgo_ts + 3485,
  15470. },
  15471. 12: {
  15472. 0: __ccgo_ts + 3495,
  15473. 1: __ccgo_ts + 3504,
  15474. },
  15475. 13: {
  15476. 0: __ccgo_ts + 3513,
  15477. 1: __ccgo_ts + 3519,
  15478. },
  15479. 14: {
  15480. 0: __ccgo_ts + 3525,
  15481. 1: __ccgo_ts + 3540,
  15482. },
  15483. 15: {
  15484. 0: __ccgo_ts + 3545,
  15485. 1: __ccgo_ts + 3549,
  15486. },
  15487. 16: {
  15488. 0: __ccgo_ts + 3553,
  15489. 1: __ccgo_ts + 3561,
  15490. },
  15491. 17: {
  15492. 0: __ccgo_ts + 3569,
  15493. 1: __ccgo_ts + 3574,
  15494. },
  15495. }
  15496. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  15497. var f, n uintptr
  15498. var i int32
  15499. _, _, _ = f, i, n
  15500. if notice != 0 {
  15501. i = 0
  15502. for {
  15503. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  15504. break
  15505. }
  15506. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  15507. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  15508. if libc.Xstrstr(tls, notice, n) != 0 {
  15509. return f
  15510. }
  15511. goto _1
  15512. _1:
  15513. ;
  15514. i++
  15515. }
  15516. }
  15517. return uintptr(0)
  15518. }
  15519. type TFcStringConst = struct {
  15520. Fname uintptr
  15521. Fvalue int32
  15522. }
  15523. type T_FcStringConst = TFcStringConst
  15524. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  15525. var i int32
  15526. _ = i
  15527. i = 0
  15528. for {
  15529. if !(i < nc) {
  15530. break
  15531. }
  15532. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  15533. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15534. }
  15535. goto _1
  15536. _1:
  15537. ;
  15538. i++
  15539. }
  15540. return -int32(1)
  15541. }
  15542. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  15543. var i int32
  15544. _ = i
  15545. i = 0
  15546. for {
  15547. if !(i < nc) {
  15548. break
  15549. }
  15550. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  15551. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  15552. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15553. }
  15554. } else {
  15555. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  15556. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  15557. }
  15558. }
  15559. goto _1
  15560. _1:
  15561. ;
  15562. i++
  15563. }
  15564. return -int32(1)
  15565. }
  15566. type TFC8 = uintptr
  15567. var _weightConsts = [23]TFcStringConst{
  15568. 0: {
  15569. Fname: __ccgo_ts + 3579,
  15570. },
  15571. 1: {
  15572. Fname: __ccgo_ts + 3584,
  15573. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  15574. },
  15575. 2: {
  15576. Fname: __ccgo_ts + 3595,
  15577. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  15578. },
  15579. 3: {
  15580. Fname: __ccgo_ts + 3606,
  15581. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  15582. },
  15583. 4: {
  15584. Fname: __ccgo_ts + 3616,
  15585. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  15586. },
  15587. 5: {
  15588. Fname: __ccgo_ts + 3626,
  15589. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  15590. },
  15591. 6: {
  15592. Fname: __ccgo_ts + 3632,
  15593. Fvalue: int32(m_FC_WEIGHT_BOOK),
  15594. },
  15595. 7: {
  15596. Fname: __ccgo_ts + 3637,
  15597. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  15598. },
  15599. 8: {
  15600. Fname: __ccgo_ts + 3645,
  15601. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  15602. },
  15603. 9: {
  15604. Fname: __ccgo_ts + 3652,
  15605. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  15606. },
  15607. 10: {
  15608. Fname: __ccgo_ts + 3659,
  15609. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15610. },
  15611. 11: {
  15612. Fname: __ccgo_ts + 3668,
  15613. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15614. },
  15615. 12: {
  15616. Fname: __ccgo_ts + 3673,
  15617. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  15618. },
  15619. 13: {
  15620. Fname: __ccgo_ts + 3682,
  15621. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15622. },
  15623. 14: {
  15624. Fname: __ccgo_ts + 3692,
  15625. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15626. },
  15627. 15: {
  15628. Fname: __ccgo_ts + 3702,
  15629. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15630. },
  15631. 16: {
  15632. Fname: __ccgo_ts + 3712,
  15633. Fvalue: int32(m_FC_WEIGHT_BOLD),
  15634. },
  15635. 17: {
  15636. Fname: __ccgo_ts + 3717,
  15637. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15638. },
  15639. 18: {
  15640. Fname: __ccgo_ts + 3728,
  15641. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15642. },
  15643. 19: {
  15644. Fname: __ccgo_ts + 3739,
  15645. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  15646. },
  15647. 20: {
  15648. Fname: __ccgo_ts + 3750,
  15649. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  15650. },
  15651. 21: {
  15652. Fname: __ccgo_ts + 3757,
  15653. Fvalue: int32(m_FC_WEIGHT_BLACK),
  15654. },
  15655. 22: {
  15656. Fname: __ccgo_ts + 3763,
  15657. Fvalue: int32(m_FC_WEIGHT_BLACK),
  15658. },
  15659. }
  15660. var _widthConsts = [10]TFcStringConst{
  15661. 0: {
  15662. Fname: __ccgo_ts + 3769,
  15663. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  15664. },
  15665. 1: {
  15666. Fname: __ccgo_ts + 3784,
  15667. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  15668. },
  15669. 2: {
  15670. Fname: __ccgo_ts + 3799,
  15671. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  15672. },
  15673. 3: {
  15674. Fname: __ccgo_ts + 3813,
  15675. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  15676. },
  15677. 4: {
  15678. Fname: __ccgo_ts + 3645,
  15679. Fvalue: int32(m_FC_WIDTH_NORMAL),
  15680. },
  15681. 5: {
  15682. Fname: __ccgo_ts + 3823,
  15683. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  15684. },
  15685. 6: {
  15686. Fname: __ccgo_ts + 3836,
  15687. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  15688. },
  15689. 7: {
  15690. Fname: __ccgo_ts + 3850,
  15691. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  15692. },
  15693. 8: {
  15694. Fname: __ccgo_ts + 3864,
  15695. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  15696. },
  15697. 9: {
  15698. Fname: __ccgo_ts + 3873,
  15699. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  15700. },
  15701. }
  15702. var _slantConsts = [3]TFcStringConst{
  15703. 0: {
  15704. Fname: __ccgo_ts + 3882,
  15705. Fvalue: int32(m_FC_SLANT_ITALIC),
  15706. },
  15707. 1: {
  15708. Fname: __ccgo_ts + 3889,
  15709. Fvalue: int32(m_FC_SLANT_ITALIC),
  15710. },
  15711. 2: {
  15712. Fname: __ccgo_ts + 3896,
  15713. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  15714. },
  15715. }
  15716. var _decorativeConsts = [6]TFcStringConst{
  15717. 0: {
  15718. Fname: __ccgo_ts + 3904,
  15719. Fvalue: int32(m_FcTrue),
  15720. },
  15721. 1: {
  15722. Fname: __ccgo_ts + 3911,
  15723. Fvalue: int32(m_FcTrue),
  15724. },
  15725. 2: {
  15726. Fname: __ccgo_ts + 3916,
  15727. Fvalue: int32(m_FcTrue),
  15728. },
  15729. 3: {
  15730. Fname: __ccgo_ts + 3924,
  15731. Fvalue: int32(m_FcTrue),
  15732. },
  15733. 4: {
  15734. Fname: __ccgo_ts + 3932,
  15735. Fvalue: int32(m_FcTrue),
  15736. },
  15737. 5: {
  15738. Fname: __ccgo_ts + 3940,
  15739. Fvalue: int32(m_FcTrue),
  15740. },
  15741. }
  15742. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  15743. bp := tls.Alloc(16)
  15744. defer tls.Free(16)
  15745. var rc int32
  15746. var _ /* prop at bp+0 */ TBDF_PropertyRec
  15747. _ = rc
  15748. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes == int32(1) {
  15749. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+3948, bp)
  15750. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  15751. return float64(*(*TFT_Int32)(unsafe.Pointer(bp + 8)))
  15752. }
  15753. }
  15754. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  15755. }
  15756. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, elt uintptr, string1 uintptr) (r TFcBool) {
  15757. bp := tls.Alloc(16)
  15758. defer tls.Free(16)
  15759. var e int32
  15760. var _ /* old at bp+0 */ uintptr
  15761. _ = e
  15762. e = 0
  15763. for {
  15764. if !(XIA__FcPatternGetString(tls, pat, elt, e, bp) == int32(_FcResultMatch)) {
  15765. break
  15766. }
  15767. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp)), string1) != 0) {
  15768. return int32(m_FcTrue)
  15769. }
  15770. goto _1
  15771. _1:
  15772. ;
  15773. e++
  15774. }
  15775. return m_FcFalse
  15776. }
  15777. var _platform_order = [4]TFT_UShort{
  15778. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  15779. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  15780. 3: uint16(m_TT_PLATFORM_ISO),
  15781. }
  15782. var _nameid_order = [10]TFT_UShort{
  15783. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  15784. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  15785. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  15786. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  15787. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  15788. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  15789. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  15790. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  15791. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  15792. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  15793. }
  15794. type TFcNameMapping = struct {
  15795. Fplatform_id uint32
  15796. Fname_id uint32
  15797. Fencoding_id uint32
  15798. Flanguage_id uint32
  15799. Fidx uint32
  15800. }
  15801. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  15802. var a, b uintptr
  15803. _, _ = a, b
  15804. a = pa
  15805. b = pb
  15806. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  15807. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  15808. }
  15809. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  15810. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  15811. }
  15812. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  15813. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  15814. }
  15815. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  15816. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  15817. }
  15818. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  15819. return libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - libc.Int32FromUint32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  15820. }
  15821. return 0
  15822. }
  15823. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  15824. var max, mid, min int32
  15825. _, _, _ = max, mid, min
  15826. min = 0
  15827. max = libc.Int32FromUint32(count) - int32(1)
  15828. for min <= max {
  15829. mid = (min + max) / int32(2)
  15830. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  15831. return m_FcFalse
  15832. }
  15833. 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)) {
  15834. max = mid - int32(1)
  15835. } else {
  15836. 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) {
  15837. min = mid + int32(1)
  15838. } else {
  15839. return mid
  15840. }
  15841. }
  15842. }
  15843. return -int32(1)
  15844. }
  15845. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  15846. bp := tls.Alloc(480)
  15847. defer tls.Free(480)
  15848. var bit, has_color, has_outline, i2, i5, lookupid, n1, name_count, nameid, nameidx, platform, rc, slant, spacing, st, v11, v12 int32
  15849. var bits TFT_ULong
  15850. var complex_, cs, elt, elt1, eltlang, end, exclusiveLang, family, font_format, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, start, tmp, utf8, utf81, v16 uintptr
  15851. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  15852. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  15853. var i, i1, i3, i4, n, p, v5, v6, v7, v8 uint32
  15854. var len1, len11 Tsize_t
  15855. var value1 TFT_Int32
  15856. var v17 bool
  15857. var _ /* family at bp+416 */ uintptr
  15858. var _ /* familylang at bp+424 */ uintptr
  15859. var _ /* master at bp+0 */ uintptr
  15860. var _ /* nfamily at bp+80 */ int32
  15861. var _ /* nfamily_lang at bp+84 */ int32
  15862. var _ /* nfullname at bp+96 */ int32
  15863. var _ /* nfullname_lang at bp+100 */ int32
  15864. var _ /* nstyle at bp+88 */ int32
  15865. var _ /* nstyle_lang at bp+92 */ int32
  15866. var _ /* prop at bp+64 */ TBDF_PropertyRec
  15867. var _ /* psfontinfo at bp+8 */ TPS_FontInfoRec
  15868. var _ /* psname at bp+160 */ [256]uint8
  15869. var _ /* sname at bp+112 */ TFT_SfntName
  15870. var _ /* sname at bp+136 */ TFT_SfntName
  15871. var _ /* style at bp+104 */ uintptr
  15872. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, elt, elt1, eltlang, end, exclusiveLang, family, font_format, foundry, foundry_, has_color, has_outline, head, i, i1, i2, i3, i4, i5, instance, lang, len1, len11, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, name_count, name_mapping, nameid, nameidx, nlangp, np, os2, p, p1, pat, platform, pp, r, r1, rc, slant, spacing, st, start, symbol, tmp, upper_size, utf8, utf81, value, value1, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v11, v12, v16, v17, v3, v5, v6, v7, v8
  15873. slant = -int32(1)
  15874. weight = float64(-libc.Int32FromInt32(1))
  15875. width = float64(-libc.Int32FromInt32(1))
  15876. decorative = m_FcFalse
  15877. variable = m_FcFalse
  15878. variable_weight = m_FcFalse
  15879. variable_width = m_FcFalse
  15880. variable_size = m_FcFalse
  15881. name_mapping = libc.UintptrFromInt32(0)
  15882. foundry_ = libc.UintptrFromInt32(0)
  15883. foundry = uintptr(0)
  15884. /* Support for glyph-variation named-instances. */
  15885. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  15886. instance = libc.UintptrFromInt32(0)
  15887. weight_mult = float64(1)
  15888. width_mult = float64(1)
  15889. exclusiveLang = uintptr(0)
  15890. name_count = 0
  15891. *(*int32)(unsafe.Pointer(bp + 80)) = 0
  15892. *(*int32)(unsafe.Pointer(bp + 84)) = 0
  15893. *(*int32)(unsafe.Pointer(bp + 88)) = 0
  15894. *(*int32)(unsafe.Pointer(bp + 92)) = 0
  15895. *(*int32)(unsafe.Pointer(bp + 96)) = 0
  15896. *(*int32)(unsafe.Pointer(bp + 100)) = 0
  15897. *(*uintptr)(unsafe.Pointer(bp + 104)) = uintptr(0)
  15898. symbol = m_FcFalse
  15899. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  15900. pat = XIA__FcPatternCreate(tls)
  15901. if !(pat != 0) {
  15902. goto bail0
  15903. }
  15904. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  15905. has_color = 0
  15906. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3959, has_outline) != 0) {
  15907. goto bail1
  15908. }
  15909. has_color = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  15910. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3967, has_color) != 0) {
  15911. goto bail1
  15912. }
  15913. /* All color fonts are designed to be scaled, even if they only have
  15914. * bitmap strikes. Client is responsible to scale the bitmaps. This
  15915. * is in constrast to non-color strikes... */
  15916. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+3973, libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  15917. goto bail1
  15918. }
  15919. if id>>int32(16) != 0 {
  15920. if libfreetype.XFT_Get_MM_Var(tls, face, bp) != 0 {
  15921. goto bail1
  15922. }
  15923. if id>>int32(16) == uint32(0x8000) {
  15924. i = uint32(0)
  15925. for {
  15926. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  15927. break
  15928. }
  15929. 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))
  15930. 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))
  15931. 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))
  15932. elt = libc.UintptrFromInt32(0)
  15933. if min_value > def_value || def_value > max_value || min_value == max_value {
  15934. goto _1
  15935. }
  15936. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  15937. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  15938. elt = __ccgo_ts + 3982
  15939. min_value = XIA__FcWeightFromOpenTypeDouble(tls, min_value)
  15940. max_value = XIA__FcWeightFromOpenTypeDouble(tls, max_value)
  15941. variable_weight = int32(m_FcTrue)
  15942. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  15943. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  15944. elt = __ccgo_ts + 3989
  15945. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  15946. variable_width = int32(m_FcTrue)
  15947. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  15948. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  15949. elt = __ccgo_ts + 3995
  15950. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  15951. variable_size = int32(m_FcTrue)
  15952. break
  15953. }
  15954. if elt != 0 {
  15955. r = XIA__FcRangeCreateDouble(tls, min_value, max_value)
  15956. if !(XIA__FcPatternAddRange(tls, pat, elt, r) != 0) {
  15957. XIA__FcRangeDestroy(tls, r)
  15958. goto bail1
  15959. }
  15960. XIA__FcRangeDestroy(tls, r)
  15961. variable = int32(m_FcTrue)
  15962. }
  15963. goto _1
  15964. _1:
  15965. ;
  15966. i++
  15967. }
  15968. if !(variable != 0) {
  15969. goto bail1
  15970. }
  15971. id &= uint32(0xFFFF)
  15972. } else {
  15973. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  15974. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  15975. i1 = uint32(0)
  15976. for {
  15977. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  15978. break
  15979. }
  15980. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  15981. 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))
  15982. if default_value != 0 {
  15983. v3 = value / default_value
  15984. } else {
  15985. v3 = libc.Float64FromInt32(1)
  15986. }
  15987. mult = v3
  15988. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  15989. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  15990. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  15991. weight_mult = mult
  15992. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  15993. width_mult = mult
  15994. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  15995. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, value) != 0) {
  15996. goto bail1
  15997. }
  15998. break
  15999. }
  16000. goto _2
  16001. _2:
  16002. ;
  16003. i1++
  16004. }
  16005. } else {
  16006. goto bail1
  16007. }
  16008. }
  16009. }
  16010. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4000, variable) != 0) {
  16011. goto bail1
  16012. }
  16013. /*
  16014. * Get the OS/2 table
  16015. */
  16016. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  16017. /*
  16018. * Look first in the OS/2 table for the foundry, if
  16019. * not found here, the various notices will be searched for
  16020. * that information, either from the sfnt name tables or
  16021. * the Postscript FontInfo dictionary. Finally, the
  16022. * BDF properties will queried.
  16023. */
  16024. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16025. if *(*TFT_Char)(unsafe.Pointer(os2 + 80)) != 0 {
  16026. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  16027. libc.Xmemcpy(tls, foundry_, os2+80, uint64(4))
  16028. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  16029. foundry = foundry_
  16030. }
  16031. }
  16032. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16033. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  16034. }
  16035. /*
  16036. * Grub through the name table looking for family
  16037. * and style names. FreeType makes quite a hash
  16038. * of them
  16039. */
  16040. name_count = libc.Int32FromUint32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  16041. if nm_share != 0 {
  16042. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  16043. }
  16044. if !(name_mapping != 0) {
  16045. i2 = 0
  16046. name_mapping = libc.Xmalloc(tls, libc.Uint64FromInt32(name_count)*uint64(20))
  16047. if !(name_mapping != 0) {
  16048. name_count = 0
  16049. }
  16050. i2 = 0
  16051. for {
  16052. if !(i2 < name_count) {
  16053. break
  16054. }
  16055. p1 = name_mapping + uintptr(i2)*20
  16056. if libfreetype.XFT_Get_Sfnt_Name(tls, face, libc.Uint32FromInt32(i2), bp+112) == 0 {
  16057. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fplatform_id)
  16058. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fname_id)
  16059. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Fencoding_id)
  16060. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 112))).Flanguage_id)
  16061. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = libc.Uint32FromInt32(i2)
  16062. } else {
  16063. v8 = libc.Uint32FromInt32(-libc.Int32FromInt32(1))
  16064. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v8
  16065. v7 = v8
  16066. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v7
  16067. v6 = v7
  16068. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v6
  16069. v5 = v6
  16070. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v5
  16071. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v5
  16072. }
  16073. goto _4
  16074. _4:
  16075. ;
  16076. i2++
  16077. }
  16078. libc.Xqsort(tls, name_mapping, libc.Uint64FromInt32(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  16079. if nm_share != 0 {
  16080. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  16081. }
  16082. }
  16083. p = uint32(0)
  16084. for {
  16085. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  16086. break
  16087. }
  16088. platform = libc.Int32FromUint16(_platform_order[p])
  16089. /*
  16090. * Order nameids so preferred names appear first
  16091. * in the resulting list
  16092. */
  16093. n = uint32(0)
  16094. for {
  16095. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  16096. break
  16097. }
  16098. elt1 = uintptr(0)
  16099. eltlang = uintptr(0)
  16100. np = uintptr(0)
  16101. nlangp = uintptr(0)
  16102. v11 = libc.Int32FromUint16(_nameid_order[n])
  16103. lookupid = v11
  16104. nameid = v11
  16105. if instance != 0 {
  16106. /* For named-instances, we skip regular style nameIDs,
  16107. * and treat the instance's nameid as FONT_SUBFAMILY.
  16108. * Postscript name is automatically handled by FreeType. */
  16109. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) {
  16110. goto _10
  16111. }
  16112. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  16113. lookupid = libc.Int32FromUint32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  16114. }
  16115. }
  16116. nameidx = _FcFreeTypeGetFirstName(tls, face, libc.Uint32FromInt32(platform), libc.Uint32FromInt32(lookupid), name_mapping, libc.Uint32FromInt32(name_count), bp+136)
  16117. if nameidx == -int32(1) {
  16118. goto _10
  16119. }
  16120. for {
  16121. switch nameid {
  16122. case int32(m_TT_NAME_ID_WWS_FAMILY):
  16123. fallthrough
  16124. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  16125. fallthrough
  16126. case int32(m_TT_NAME_ID_FONT_FAMILY):
  16127. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16128. libc.Xprintf(tls, __ccgo_ts+4009, libc.VaList(bp+440, 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)))
  16129. }
  16130. elt1 = __ccgo_ts + 4049
  16131. eltlang = __ccgo_ts + 4056
  16132. np = bp + 80
  16133. nlangp = bp + 84
  16134. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  16135. fallthrough
  16136. case int32(m_TT_NAME_ID_FULL_NAME):
  16137. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16138. libc.Xprintf(tls, __ccgo_ts+4067, libc.VaList(bp+440, 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)))
  16139. }
  16140. elt1 = __ccgo_ts + 4107
  16141. eltlang = __ccgo_ts + 4116
  16142. np = bp + 96
  16143. nlangp = bp + 100
  16144. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  16145. fallthrough
  16146. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  16147. fallthrough
  16148. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  16149. if variable != 0 {
  16150. break
  16151. }
  16152. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16153. libc.Xprintf(tls, __ccgo_ts+4129, libc.VaList(bp+440, 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)))
  16154. }
  16155. elt1 = __ccgo_ts + 4170
  16156. eltlang = __ccgo_ts + 4176
  16157. np = bp + 88
  16158. nlangp = bp + 92
  16159. case int32(m_TT_NAME_ID_TRADEMARK):
  16160. fallthrough
  16161. case int32(m_TT_NAME_ID_MANUFACTURER):
  16162. /* If the foundry wasn't found in the OS/2 table, look here */
  16163. if !(foundry != 0) {
  16164. utf8 = _FcSfntNameTranscode(tls, bp+136)
  16165. foundry = _FcNoticeFoundry(tls, utf8)
  16166. libc.Xfree(tls, utf8)
  16167. }
  16168. break
  16169. }
  16170. if elt1 != 0 {
  16171. utf81 = _FcSfntNameTranscode(tls, bp+136)
  16172. lang = _FcSfntNameLanguage(tls, bp+136)
  16173. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16174. libc.Xprintf(tls, __ccgo_ts+4186, libc.VaList(bp+440, utf81))
  16175. }
  16176. if !(utf81 != 0) {
  16177. goto _13
  16178. }
  16179. /* Trim surrounding whitespace. */
  16180. pp = utf81
  16181. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  16182. pp++
  16183. }
  16184. len1 = libc.Xstrlen(tls, pp)
  16185. libc.Xmemmove(tls, utf81, pp, len1+uint64(1))
  16186. pp = utf81 + uintptr(len1)
  16187. for pp > utf81 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  16188. pp--
  16189. }
  16190. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  16191. if _FcStringInPatternElement(tls, pat, elt1, utf81) != 0 {
  16192. libc.Xfree(tls, utf81)
  16193. goto _13
  16194. }
  16195. /* add new element */
  16196. if !(XIA__FcPatternAddString(tls, pat, elt1, utf81) != 0) {
  16197. libc.Xfree(tls, utf81)
  16198. goto bail1
  16199. }
  16200. libc.Xfree(tls, utf81)
  16201. if lang != 0 {
  16202. /* pad lang list with 'und' to line up with elt */
  16203. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  16204. if !(XIA__FcPatternAddString(tls, pat, eltlang, __ccgo_ts+1179) != 0) {
  16205. goto bail1
  16206. }
  16207. *(*int32)(unsafe.Pointer(nlangp))++
  16208. }
  16209. if !(XIA__FcPatternAddString(tls, pat, eltlang, lang) != 0) {
  16210. goto bail1
  16211. }
  16212. *(*int32)(unsafe.Pointer(nlangp))++
  16213. }
  16214. *(*int32)(unsafe.Pointer(np))++
  16215. }
  16216. goto _13
  16217. _13:
  16218. ;
  16219. nameidx++
  16220. v12 = nameidx
  16221. if !(v12 < 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)) {
  16222. break
  16223. }
  16224. }
  16225. goto _10
  16226. _10:
  16227. ;
  16228. n++
  16229. }
  16230. goto _9
  16231. _9:
  16232. ;
  16233. p++
  16234. }
  16235. if !(nm_share != 0) {
  16236. libc.Xfree(tls, name_mapping)
  16237. }
  16238. 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+1316) != 0 {
  16239. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16240. libc.Xprintf(tls, __ccgo_ts+4190, libc.VaList(bp+440, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  16241. }
  16242. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  16243. goto bail1
  16244. }
  16245. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4176, __ccgo_ts+2465) != 0) {
  16246. goto bail1
  16247. }
  16248. *(*int32)(unsafe.Pointer(bp + 80))++
  16249. }
  16250. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 88)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+1316) != 0 {
  16251. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16252. libc.Xprintf(tls, __ccgo_ts+4218, libc.VaList(bp+440, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  16253. }
  16254. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4170, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name) != 0) {
  16255. goto bail1
  16256. }
  16257. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4176, __ccgo_ts+2465) != 0) {
  16258. goto bail1
  16259. }
  16260. *(*int32)(unsafe.Pointer(bp + 88))++
  16261. }
  16262. if !(*(*int32)(unsafe.Pointer(bp + 80)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  16263. start = libc.Xstrrchr(tls, file, int32('/'))
  16264. if start != 0 {
  16265. start++
  16266. } else {
  16267. start = file
  16268. }
  16269. end = libc.Xstrrchr(tls, start, int32('.'))
  16270. if !(end != 0) {
  16271. end = start + uintptr(libc.Xstrlen(tls, start))
  16272. }
  16273. /* freed below */
  16274. family = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(end)-int64(start)+int64(1)))
  16275. libc.Xstrncpy(tls, family, start, libc.Uint64FromInt64(int64(end)-int64(start)))
  16276. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  16277. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16278. libc.Xprintf(tls, __ccgo_ts+4245, libc.VaList(bp+440, family))
  16279. }
  16280. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, family) != 0) {
  16281. libc.Xfree(tls, family)
  16282. goto bail1
  16283. }
  16284. libc.Xfree(tls, family)
  16285. *(*int32)(unsafe.Pointer(bp + 80))++
  16286. }
  16287. /* Add the PostScript name into the cache */
  16288. if !(variable != 0) {
  16289. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  16290. if !(tmp != 0) {
  16291. *(*uintptr)(unsafe.Pointer(bp + 424)) = libc.UintptrFromInt32(0)
  16292. n1 = 0
  16293. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  16294. * try to find out the English family name and convert.
  16295. */
  16296. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+424) == int32(_FcResultMatch) {
  16297. if XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 424)), __ccgo_ts+2465) == 0 {
  16298. break
  16299. }
  16300. n1++
  16301. *(*uintptr)(unsafe.Pointer(bp + 424)) = libc.UintptrFromInt32(0)
  16302. }
  16303. if !(*(*uintptr)(unsafe.Pointer(bp + 424)) != 0) {
  16304. n1 = 0
  16305. }
  16306. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+416) != int32(_FcResultMatch) {
  16307. goto bail1
  16308. }
  16309. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 416)))
  16310. /* the literal name in PostScript Language is limited to 127 characters though,
  16311. * It is the architectural limit. so assuming 255 characters may works enough.
  16312. */
  16313. i3 = uint32(0)
  16314. for {
  16315. if !(uint64(i3) < len11 && i3 < uint32(255)) {
  16316. break
  16317. }
  16318. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 416)) + uintptr(i3))))) != libc.UintptrFromInt32(0) {
  16319. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = uint8('-')
  16320. } else {
  16321. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 416)) + uintptr(i3)))
  16322. }
  16323. goto _14
  16324. _14:
  16325. ;
  16326. i3++
  16327. }
  16328. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[i3] = uint8(0)
  16329. } else {
  16330. libc.Xstrncpy(tls, bp+160, tmp, uint64(255))
  16331. (*(*[256]uint8)(unsafe.Pointer(bp + 160)))[int32(255)] = uint8(0)
  16332. }
  16333. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4275, bp+160) != 0) {
  16334. goto bail1
  16335. }
  16336. }
  16337. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4290, file) != 0) {
  16338. goto bail1
  16339. }
  16340. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4295, libc.Int32FromUint32(id)) != 0) {
  16341. goto bail1
  16342. }
  16343. /*
  16344. * Find the font revision (if available)
  16345. */
  16346. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  16347. if head != 0 {
  16348. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4301, int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  16349. goto bail1
  16350. }
  16351. } else {
  16352. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4301, 0) != 0) {
  16353. goto bail1
  16354. }
  16355. }
  16356. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16357. i4 = uint32(0)
  16358. for {
  16359. if !(i4 < libc.Uint32FromInt32(libc.Int32FromUint64(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  16360. break
  16361. }
  16362. if libc.Int32FromUint8(_FcCodePageRange[i4].Fbit) < int32(32) {
  16363. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  16364. bit = libc.Int32FromUint8(_FcCodePageRange[i4].Fbit)
  16365. } else {
  16366. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  16367. bit = libc.Int32FromUint8(_FcCodePageRange[i4].Fbit) - int32(32)
  16368. }
  16369. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  16370. /*
  16371. * If the font advertises support for multiple
  16372. * "exclusive" languages, then include support
  16373. * for any language found to have coverage
  16374. */
  16375. if exclusiveLang != 0 {
  16376. exclusiveLang = uintptr(0)
  16377. break
  16378. }
  16379. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i4)*7 + 1
  16380. }
  16381. goto _15
  16382. _15:
  16383. ;
  16384. i4++
  16385. }
  16386. }
  16387. if os2 != 0 && libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  16388. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  16389. weight = XIA__FcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  16390. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  16391. libc.Xprintf(tls, __ccgo_ts+4313, libc.VaList(bp+440, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  16392. }
  16393. switch libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  16394. case int32(1):
  16395. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  16396. case int32(2):
  16397. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  16398. case int32(3):
  16399. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  16400. case int32(4):
  16401. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  16402. case int32(5):
  16403. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16404. case int32(6):
  16405. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  16406. case int32(7):
  16407. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  16408. case int32(8):
  16409. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  16410. case int32(9):
  16411. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  16412. break
  16413. }
  16414. width *= width_mult
  16415. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  16416. libc.Xprintf(tls, __ccgo_ts+4367, libc.VaList(bp+440, libc.Int32FromUint16((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  16417. }
  16418. }
  16419. if v17 = os2 != 0; v17 {
  16420. v16 = _FcFontCapabilities(tls, face)
  16421. complex_ = v16
  16422. }
  16423. if v17 && v16 != 0 {
  16424. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4419, complex_) != 0) {
  16425. libc.Xfree(tls, complex_)
  16426. goto bail1
  16427. }
  16428. libc.Xfree(tls, complex_)
  16429. }
  16430. 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) {
  16431. /* usLowerPointSize and usUpperPointSize is actually twips */
  16432. lower_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20)
  16433. upper_size = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20)
  16434. if lower_size == upper_size {
  16435. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, lower_size) != 0) {
  16436. goto bail1
  16437. }
  16438. } else {
  16439. r1 = XIA__FcRangeCreateDouble(tls, lower_size, upper_size)
  16440. if !(XIA__FcPatternAddRange(tls, pat, __ccgo_ts+3995, r1) != 0) {
  16441. XIA__FcRangeDestroy(tls, r1)
  16442. goto bail1
  16443. }
  16444. XIA__FcRangeDestroy(tls, r1)
  16445. }
  16446. }
  16447. /*
  16448. * Type 1: Check for FontInfo dictionary information
  16449. * Code from g2@magestudios.net (Gerard Escalante)
  16450. */
  16451. if libfreetype.XFT_Get_PS_Font_Info(tls, face, bp+8) == 0 {
  16452. if weight == float64(-libc.Int32FromInt32(1)) && (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight != 0 {
  16453. weight = float64(_FcStringIsConst(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  16454. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16455. libc.Xprintf(tls, __ccgo_ts+4430, libc.VaList(bp+440, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fweight, weight))
  16456. }
  16457. }
  16458. if !(foundry != 0) {
  16459. foundry = _FcNoticeFoundry(tls, (*(*TPS_FontInfoRec)(unsafe.Pointer(bp + 8))).Fnotice)
  16460. }
  16461. }
  16462. /*
  16463. * Finally, look for a FOUNDRY BDF property if no other
  16464. * mechanism has managed to locate a foundry
  16465. */
  16466. if !(foundry != 0) {
  16467. rc = libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4459, bp+64)
  16468. if rc == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) {
  16469. foundry = *(*uintptr)(unsafe.Pointer(bp + 64 + 8))
  16470. }
  16471. }
  16472. if width == float64(-libc.Int32FromInt32(1)) {
  16473. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4467, 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)) {
  16474. if (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_INTEGER) {
  16475. value1 = *(*TFT_Int32)(unsafe.Pointer(bp + 64 + 8))
  16476. } else {
  16477. value1 = libc.Int32FromUint32(*(*TFT_UInt32)(unsafe.Pointer(bp + 64 + 8)))
  16478. }
  16479. switch (value1 + libc.Int32FromInt32(5)) / libc.Int32FromInt32(10) {
  16480. case int32(1):
  16481. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  16482. case int32(2):
  16483. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  16484. case int32(3):
  16485. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  16486. case int32(4):
  16487. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  16488. case int32(5):
  16489. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16490. case int32(6):
  16491. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  16492. case int32(7):
  16493. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  16494. case int32(8):
  16495. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  16496. case int32(9):
  16497. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  16498. break
  16499. }
  16500. }
  16501. if width == float64(-libc.Int32FromInt32(1)) && libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4485, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  16502. width = float64(_FcStringIsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  16503. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16504. libc.Xprintf(tls, __ccgo_ts+4499, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), width))
  16505. }
  16506. }
  16507. }
  16508. /*
  16509. * Look for weight, width and slant names in the style value
  16510. */
  16511. st = 0
  16512. for {
  16513. if !(XIA__FcPatternGetString(tls, pat, __ccgo_ts+4170, st, bp+104) == int32(_FcResultMatch)) {
  16514. break
  16515. }
  16516. if weight == float64(-libc.Int32FromInt32(1)) {
  16517. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_weightConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  16518. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16519. libc.Xprintf(tls, __ccgo_ts+4524, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), weight))
  16520. }
  16521. }
  16522. if width == float64(-libc.Int32FromInt32(1)) {
  16523. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_widthConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  16524. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16525. libc.Xprintf(tls, __ccgo_ts+4553, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), width))
  16526. }
  16527. }
  16528. if slant == -int32(1) {
  16529. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_slantConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  16530. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16531. libc.Xprintf(tls, __ccgo_ts+4581, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), slant))
  16532. }
  16533. }
  16534. if decorative == m_FcFalse {
  16535. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), uintptr(unsafe.Pointer(&_decorativeConsts)), libc.Int32FromUint64(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  16536. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  16537. libc.Xprintf(tls, __ccgo_ts+4609, libc.VaList(bp+440, *(*uintptr)(unsafe.Pointer(bp + 104)), decorative))
  16538. }
  16539. }
  16540. goto _18
  16541. _18:
  16542. ;
  16543. st++
  16544. }
  16545. /*
  16546. * Pull default values from the FreeType flags if more
  16547. * specific values not found above
  16548. */
  16549. if slant == -int32(1) {
  16550. slant = m_FC_SLANT_ROMAN
  16551. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  16552. slant = int32(m_FC_SLANT_ITALIC)
  16553. }
  16554. }
  16555. if weight == float64(-libc.Int32FromInt32(1)) {
  16556. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  16557. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  16558. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  16559. }
  16560. }
  16561. if width == float64(-libc.Int32FromInt32(1)) {
  16562. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  16563. }
  16564. if foundry == uintptr(0) {
  16565. foundry = __ccgo_ts + 4642
  16566. }
  16567. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4650, slant) != 0) {
  16568. goto bail1
  16569. }
  16570. if !(variable_weight != 0) && !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3982, weight) != 0) {
  16571. goto bail1
  16572. }
  16573. if !(variable_width != 0) && !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3989, width) != 0) {
  16574. goto bail1
  16575. }
  16576. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4656, foundry) != 0) {
  16577. goto bail1
  16578. }
  16579. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4664, decorative) != 0) {
  16580. goto bail1
  16581. }
  16582. /*
  16583. * Compute the unicode coverage for the font
  16584. */
  16585. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  16586. cs = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  16587. } else {
  16588. cs = XIA__FcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  16589. if cs_share != 0 {
  16590. *(*uintptr)(unsafe.Pointer(cs_share)) = XIA__FcCharSetCopy(tls, cs)
  16591. }
  16592. }
  16593. if !(cs != 0) {
  16594. goto bail1
  16595. }
  16596. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  16597. 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))
  16598. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4675, symbol) != 0) {
  16599. goto bail1
  16600. }
  16601. spacing = _FcFreeTypeSpacing(tls, face)
  16602. /* For PCF fonts, override the computed spacing with the one from
  16603. the property */
  16604. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+4682, bp+64) == 0 && (*(*TBDF_PropertyRec)(unsafe.Pointer(bp + 64))).Ftype1 == int32(_BDF_PROPERTY_TYPE_ATOM) && *(*uintptr)(unsafe.Pointer(bp + 64 + 8)) != libc.UintptrFromInt32(0) {
  16605. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4690) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4692) != 0) {
  16606. spacing = int32(m_FC_CHARCELL)
  16607. } else {
  16608. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4694) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4696) != 0) {
  16609. spacing = int32(m_FC_MONO)
  16610. } else {
  16611. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4698) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(bp + 64 + 8)), __ccgo_ts+4700) != 0) {
  16612. spacing = m_FC_PROPORTIONAL
  16613. }
  16614. }
  16615. }
  16616. }
  16617. /*
  16618. * Skip over PCF fonts that have no encoded characters; they're
  16619. * usually just Unicode fonts transcoded to some legacy encoding
  16620. * FT forces us to approximate whether a font is a PCF font
  16621. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  16622. * I don't know how to get a list of BDF properties on the font. -PL
  16623. */
  16624. if XIA__FcCharSetCount(tls, cs) == uint32(0) {
  16625. if libfreetype.XFT_Get_BDF_Property(tls, face, __ccgo_ts+3948, bp+64) == 0 {
  16626. goto bail2
  16627. }
  16628. }
  16629. if !(XIA__FcPatternAddCharSet(tls, pat, __ccgo_ts+4702, cs) != 0) {
  16630. goto bail2
  16631. }
  16632. if !(symbol != 0) {
  16633. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  16634. ls = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  16635. } else {
  16636. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  16637. if ls_share != 0 {
  16638. *(*uintptr)(unsafe.Pointer(ls_share)) = XIA__FcLangSetCopy(tls, ls)
  16639. }
  16640. }
  16641. if !(ls != 0) {
  16642. goto bail2
  16643. }
  16644. } else {
  16645. /* Symbol fonts don't cover any language, even though they
  16646. * claim to support Latin1 range. */
  16647. ls = XIA__FcLangSetCreate(tls)
  16648. }
  16649. if !(XIA__FcPatternAddLangSet(tls, pat, __ccgo_ts+4710, ls) != 0) {
  16650. XIA__FcLangSetDestroy(tls, ls)
  16651. goto bail2
  16652. }
  16653. XIA__FcLangSetDestroy(tls, ls)
  16654. if spacing != m_FC_PROPORTIONAL {
  16655. if !(XIA__FcPatternAddInteger(tls, pat, __ccgo_ts+4715, spacing) != 0) {
  16656. goto bail2
  16657. }
  16658. }
  16659. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  16660. i5 = 0
  16661. for {
  16662. if !(i5 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  16663. break
  16664. }
  16665. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+4723, _FcGetPixelSize(tls, face, i5)) != 0) {
  16666. goto bail2
  16667. }
  16668. goto _19
  16669. _19:
  16670. ;
  16671. i5++
  16672. }
  16673. if !(XIA__FcPatternAddBool(tls, pat, __ccgo_ts+4733, m_FcFalse) != 0) {
  16674. goto bail2
  16675. }
  16676. }
  16677. /*
  16678. * Use the (not well documented or supported) X-specific function
  16679. * from FreeType to figure out the font format
  16680. */
  16681. font_format = libfreetype.XFT_Get_X11_Font_Format(tls, face)
  16682. if font_format != 0 {
  16683. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4743, font_format) != 0) {
  16684. goto bail2
  16685. }
  16686. }
  16687. /*
  16688. * Drop our reference to the charset
  16689. */
  16690. XIA__FcCharSetDestroy(tls, cs)
  16691. if foundry_ != 0 {
  16692. libc.Xfree(tls, foundry_)
  16693. }
  16694. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  16695. /* TODO: How to free master?! */
  16696. }
  16697. return pat
  16698. goto bail2
  16699. bail2:
  16700. ;
  16701. XIA__FcCharSetDestroy(tls, cs)
  16702. goto bail1
  16703. bail1:
  16704. ;
  16705. XIA__FcPatternDestroy(tls, pat)
  16706. if foundry_ != 0 {
  16707. libc.Xfree(tls, foundry_)
  16708. }
  16709. goto bail0
  16710. bail0:
  16711. ;
  16712. return libc.UintptrFromInt32(0)
  16713. return r2
  16714. }
  16715. /* those characters are not allowed to be the literal name in PostScript */
  16716. var _exclusive_chars = [16]uint8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  16717. func XIA__FcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  16718. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  16719. }
  16720. var XFcFreeTypeQueryFace = XIA__FcFreeTypeQueryFace
  16721. func XIA__FcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  16722. bp := tls.Alloc(16)
  16723. defer tls.Free(16)
  16724. var pat uintptr
  16725. var _ /* face at bp+0 */ TFT_Face
  16726. var _ /* ftLibrary at bp+8 */ TFT_Library
  16727. _ = pat
  16728. pat = libc.UintptrFromInt32(0)
  16729. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  16730. return libc.UintptrFromInt32(0)
  16731. }
  16732. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(id)&int64(0x7FFFFFFFF), bp) != 0 {
  16733. goto bail
  16734. }
  16735. if count != 0 {
  16736. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  16737. }
  16738. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  16739. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16740. goto bail
  16741. bail:
  16742. ;
  16743. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  16744. return pat
  16745. }
  16746. var XFcFreeTypeQuery = XIA__FcFreeTypeQuery
  16747. func XIA__FcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  16748. bp := tls.Alloc(48)
  16749. defer tls.Free(48)
  16750. var coords, instance, pat uintptr
  16751. var err int32
  16752. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  16753. var index_set, nonzero TFcBool
  16754. var _ /* cs at bp+16 */ uintptr
  16755. var _ /* face at bp+0 */ TFT_Face
  16756. var _ /* ftLibrary at bp+8 */ TFT_Library
  16757. var _ /* ls at bp+24 */ uintptr
  16758. var _ /* mm_var at bp+40 */ uintptr
  16759. var _ /* nm at bp+32 */ uintptr
  16760. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  16761. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16762. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  16763. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  16764. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  16765. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  16766. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  16767. index_set = libc.BoolInt32(id != libc.Uint32FromInt32(-libc.Int32FromInt32(1)))
  16768. if index_set != 0 {
  16769. v1 = id & uint32(0xFFFF)
  16770. } else {
  16771. v1 = uint32(0)
  16772. }
  16773. set_face_num = v1
  16774. if index_set != 0 {
  16775. v2 = id >> int32(16)
  16776. } else {
  16777. v2 = uint32(0)
  16778. }
  16779. set_instance_num = v2
  16780. face_num = set_face_num
  16781. instance_num = set_instance_num
  16782. num_faces = uint32(0)
  16783. num_instances = uint32(0)
  16784. ret = uint32(0)
  16785. err = 0
  16786. if count != 0 {
  16787. *(*int32)(unsafe.Pointer(count)) = 0
  16788. }
  16789. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  16790. return uint32(0)
  16791. }
  16792. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  16793. goto bail
  16794. }
  16795. num_faces = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  16796. num_instances = libc.Uint32FromInt64((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  16797. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  16798. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  16799. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  16800. num_instances = uint32(0)
  16801. }
  16802. }
  16803. if count != 0 {
  16804. *(*int32)(unsafe.Pointer(count)) = libc.Int32FromUint32(num_faces)
  16805. }
  16806. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  16807. pat = libc.UintptrFromInt32(0)
  16808. if instance_num == uint32(0x8000) || instance_num > num_instances {
  16809. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  16810. } else {
  16811. if instance_num != 0 {
  16812. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  16813. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  16814. /* Skip named-instance that coincides with base instance. */
  16815. nonzero = m_FcFalse
  16816. i = uint32(0)
  16817. for {
  16818. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  16819. break
  16820. }
  16821. 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 {
  16822. nonzero = int32(m_FcTrue)
  16823. break
  16824. }
  16825. goto _3
  16826. _3:
  16827. ;
  16828. i++
  16829. }
  16830. if !(nonzero != 0) {
  16831. goto skip
  16832. }
  16833. 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)
  16834. }
  16835. }
  16836. id = instance_num<<int32(16) + face_num
  16837. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  16838. if pat != 0 {
  16839. ret++
  16840. if !(set != 0) || !(XIA__FcFontSetAdd(tls, set, pat) != 0) {
  16841. XIA__FcPatternDestroy(tls, pat)
  16842. }
  16843. } else {
  16844. if instance_num != uint32(0x8000) {
  16845. err = int32(1)
  16846. }
  16847. }
  16848. goto skip
  16849. skip:
  16850. ;
  16851. if !(index_set != 0) && instance_num < num_instances {
  16852. instance_num++
  16853. } else {
  16854. if !(index_set != 0) && instance_num == num_instances {
  16855. instance_num = uint32(0x8000)
  16856. } else {
  16857. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  16858. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  16859. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  16860. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  16861. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  16862. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  16863. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16864. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  16865. face_num++
  16866. instance_num = set_instance_num
  16867. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, libc.Int64FromUint32(face_num), bp) != 0 {
  16868. break
  16869. }
  16870. }
  16871. }
  16872. }
  16873. goto bail
  16874. bail:
  16875. ;
  16876. libfreetype.XFT_Done_MM_Var(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 40)))
  16877. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  16878. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  16879. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  16880. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  16881. }
  16882. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  16883. return ret
  16884. }
  16885. var XFcFreeTypeQueryAll = XIA__FcFreeTypeQueryAll
  16886. var _fcFontEncodings = [2]TFT_Encoding{
  16887. 0: int32(_FT_ENCODING_UNICODE),
  16888. 1: int32(_FT_ENCODING_MS_SYMBOL),
  16889. }
  16890. /*
  16891. * Map a UCS4 glyph to a glyph index. Use all available encoding
  16892. * tables to try and find one that works. This information is expected
  16893. * to be cached by higher levels, so performance isn't critical
  16894. */
  16895. func XIA__FcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  16896. var decode, initial, offset int32
  16897. var glyphindex TFT_UInt
  16898. _, _, _, _ = decode, glyphindex, initial, offset
  16899. initial = 0
  16900. if !(face != 0) {
  16901. return uint32(0)
  16902. }
  16903. /*
  16904. * Find the current encoding
  16905. */
  16906. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  16907. for {
  16908. if !(initial < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  16909. break
  16910. }
  16911. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  16912. break
  16913. }
  16914. goto _1
  16915. _1:
  16916. ;
  16917. initial++
  16918. }
  16919. if initial == libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  16920. initial = 0
  16921. }
  16922. }
  16923. /*
  16924. * Check each encoding for the glyph, starting with the current one
  16925. */
  16926. offset = 0
  16927. for {
  16928. if !(offset < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  16929. break
  16930. }
  16931. decode = (initial + offset) % libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  16932. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  16933. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  16934. goto _2
  16935. }
  16936. }
  16937. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  16938. if glyphindex != 0 {
  16939. return glyphindex
  16940. }
  16941. 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) {
  16942. /* For symbol-encoded OpenType fonts, we duplicate the
  16943. * U+F000..F0FF range at U+0000..U+00FF. That's what
  16944. * Windows seems to do, and that's hinted about at:
  16945. * http://www.microsoft.com/typography/otspec/recom.htm
  16946. * under "Non-Standard (Symbol) Fonts".
  16947. *
  16948. * See thread with subject "Webdings and other MS symbol
  16949. * fonts don't display" on mailing list from May 2015.
  16950. */
  16951. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  16952. if glyphindex != 0 {
  16953. return glyphindex
  16954. }
  16955. }
  16956. goto _2
  16957. _2:
  16958. ;
  16959. offset++
  16960. }
  16961. return uint32(0)
  16962. }
  16963. var XFcFreeTypeCharIndex = XIA__FcFreeTypeCharIndex
  16964. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  16965. var v1 int32
  16966. _ = v1
  16967. if a <= b {
  16968. v1 = a
  16969. } else {
  16970. v1 = b
  16971. }
  16972. return v1
  16973. }
  16974. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  16975. var v1 int32
  16976. _ = v1
  16977. if a >= b {
  16978. v1 = a
  16979. } else {
  16980. v1 = b
  16981. }
  16982. return v1
  16983. }
  16984. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  16985. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  16986. }
  16987. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  16988. bp := tls.Alloc(16)
  16989. defer tls.Free(16)
  16990. var advances [3]TFT_Pos
  16991. var i, load_flags, strike_index TFT_Int
  16992. var j, num_advances, v4 uint32
  16993. var o int32
  16994. var ucs4 TFcChar32
  16995. var _ /* advance at bp+8 */ TFT_Pos
  16996. var _ /* glyph at bp+0 */ TFT_UInt
  16997. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  16998. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  16999. advances = [3]TFT_Pos{}
  17000. num_advances = uint32(0)
  17001. /* When using scalable fonts, only report those glyphs
  17002. * which can be scaled; otherwise those fonts will
  17003. * only be available at some sizes, and never when
  17004. * transformed. Avoid this by simply reporting bitmap-only
  17005. * glyphs as missing
  17006. */
  17007. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  17008. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  17009. }
  17010. 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 {
  17011. strike_index = 0
  17012. /* Select the face closest to 16 pixels tall */
  17013. i = int32(1)
  17014. for {
  17015. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  17016. break
  17017. }
  17018. 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)) {
  17019. strike_index = i
  17020. }
  17021. goto _1
  17022. _1:
  17023. ;
  17024. i++
  17025. }
  17026. libfreetype.XFT_Select_Size(tls, face, strike_index)
  17027. }
  17028. o = 0
  17029. for {
  17030. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17031. break
  17032. }
  17033. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17034. goto _2
  17035. }
  17036. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  17037. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  17038. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  17039. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  17040. j = uint32(0)
  17041. for {
  17042. if !(j < num_advances) {
  17043. break
  17044. }
  17045. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  17046. break
  17047. }
  17048. goto _3
  17049. _3:
  17050. ;
  17051. j++
  17052. }
  17053. if j == num_advances {
  17054. v4 = num_advances
  17055. num_advances++
  17056. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  17057. }
  17058. }
  17059. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  17060. }
  17061. break
  17062. goto _2
  17063. _2:
  17064. ;
  17065. o++
  17066. }
  17067. if num_advances <= uint32(1) {
  17068. return int32(m_FC_MONO)
  17069. } else {
  17070. 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 {
  17071. return int32(m_FC_DUAL)
  17072. } else {
  17073. return m_FC_PROPORTIONAL
  17074. }
  17075. }
  17076. return r
  17077. }
  17078. func XIA__FcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  17079. bp := tls.Alloc(16)
  17080. defer tls.Free(16)
  17081. var fcs, leaf uintptr
  17082. var good TFcBool
  17083. var load_flags TFT_Int
  17084. var o int32
  17085. var off, page, ucs4 TFcChar32
  17086. var _ /* glyph at bp+0 */ TFT_UInt
  17087. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  17088. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  17089. fcs = XIA__FcCharSetCreate(tls)
  17090. if !(fcs != 0) {
  17091. goto bail
  17092. }
  17093. o = 0
  17094. for {
  17095. if !(o < libc.Int32FromUint64(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  17096. break
  17097. }
  17098. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  17099. goto _1
  17100. }
  17101. page = libc.Uint32FromInt32(^libc.Int32FromInt32(0))
  17102. leaf = libc.UintptrFromInt32(0)
  17103. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  17104. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  17105. good = int32(m_FcTrue)
  17106. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  17107. * (space glyph). As such, always check contour for those characters. */
  17108. if ucs4 <= uint32(0x001F) {
  17109. 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 {
  17110. good = m_FcFalse
  17111. }
  17112. }
  17113. if good != 0 {
  17114. XIA__FcCharSetAddChar(tls, fcs, ucs4)
  17115. if ucs4>>libc.Int32FromInt32(8) != page {
  17116. page = ucs4 >> int32(8)
  17117. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  17118. if !(leaf != 0) {
  17119. goto bail
  17120. }
  17121. }
  17122. off = ucs4 & uint32(0xff)
  17123. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  17124. }
  17125. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  17126. }
  17127. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  17128. /* For symbol-encoded OpenType fonts, we duplicate the
  17129. * U+F000..F0FF range at U+0000..U+00FF. That's what
  17130. * Windows seems to do, and that's hinted about at:
  17131. * http://www.microsoft.com/typography/otspec/recom.htm
  17132. * under "Non-Standard (Symbol) Fonts".
  17133. *
  17134. * See thread with subject "Webdings and other MS symbol
  17135. * fonts don't display" on mailing list from May 2015.
  17136. */
  17137. ucs4 = uint32(0xF000)
  17138. for {
  17139. if !(ucs4 < uint32(0xF100)) {
  17140. break
  17141. }
  17142. if XIA__FcCharSetHasChar(tls, fcs, ucs4) != 0 {
  17143. XIA__FcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  17144. }
  17145. goto _2
  17146. _2:
  17147. ;
  17148. ucs4++
  17149. }
  17150. }
  17151. break
  17152. goto _1
  17153. _1:
  17154. ;
  17155. o++
  17156. }
  17157. return fcs
  17158. goto bail
  17159. bail:
  17160. ;
  17161. XIA__FcCharSetDestroy(tls, fcs)
  17162. return uintptr(0)
  17163. }
  17164. var XFcFreeTypeCharSet = XIA__FcFreeTypeCharSet
  17165. func XIA__FcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  17166. if spacing != 0 {
  17167. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  17168. }
  17169. return XIA__FcFreeTypeCharSet(tls, face, blanks)
  17170. }
  17171. var XFcFreeTypeCharSetAndSpacing = XIA__FcFreeTypeCharSetAndSpacing
  17172. /* space + head + id */
  17173. /*
  17174. * This is a bit generous; the registry has only lower case and space
  17175. * except for 'DFLT'.
  17176. */
  17177. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  17178. bp := tls.Alloc(16)
  17179. defer tls.Free(16)
  17180. var _ /* tagstring at bp+0 */ [5]TFcChar8
  17181. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  17182. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  17183. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  17184. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  17185. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  17186. /* skip tags which aren't alphanumeric, under the assumption that
  17187. * they're probably broken
  17188. */
  17189. 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)])) {
  17190. return
  17191. }
  17192. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  17193. libc.Xstrcat(tls, complex_, __ccgo_ts+1665)
  17194. }
  17195. libc.Xstrcat(tls, complex_, __ccgo_ts+4754)
  17196. libc.Xstrcat(tls, complex_, bp)
  17197. }
  17198. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  17199. var ua, ub uintptr
  17200. _, _ = ua, ub
  17201. ua = a
  17202. ub = b
  17203. return libc.Int32FromUint64(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  17204. }
  17205. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  17206. var base_offset, cur_offset, new_offset TFT_ULong
  17207. var error1, v1 TFT_Error
  17208. var n, p TFT_UShort
  17209. var script_count int32
  17210. var stream TFT_Stream
  17211. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  17212. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  17213. if !(stream != 0) {
  17214. return 0
  17215. }
  17216. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  17217. error1 = v1
  17218. if v1 != 0 {
  17219. return 0
  17220. }
  17221. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17222. /* skip version */
  17223. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  17224. return 0
  17225. }
  17226. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17227. 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
  17228. Xftglue_stream_frame_exit(tls, stream)
  17229. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17230. if Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset)) != int32(_FT_Err_Ok) {
  17231. return 0
  17232. }
  17233. base_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17234. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  17235. return 0
  17236. }
  17237. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17238. 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)))))))
  17239. Xftglue_stream_frame_exit(tls, stream)
  17240. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, libc.Uint64FromInt32(script_count)*uint64(8))
  17241. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  17242. return 0
  17243. }
  17244. p = uint16(0)
  17245. n = uint16(0)
  17246. for {
  17247. if !(libc.Int32FromUint16(n) < script_count) {
  17248. break
  17249. }
  17250. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  17251. goto Fail
  17252. }
  17253. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  17254. *(*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))))))
  17255. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  17256. 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
  17257. Xftglue_stream_frame_exit(tls, stream)
  17258. cur_offset = libc.Uint64FromInt64(Xftglue_stream_pos(tls, stream))
  17259. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(new_offset))
  17260. if error1 == int32(_FT_Err_Ok) {
  17261. p++
  17262. }
  17263. Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(cur_offset))
  17264. goto _2
  17265. _2:
  17266. ;
  17267. n++
  17268. }
  17269. if !(p != 0) {
  17270. goto Fail
  17271. }
  17272. /* sort the tag list before returning it */
  17273. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), libc.Uint64FromInt32(script_count), uint64(8), __ccgo_fp(_compareulong))
  17274. return script_count
  17275. goto Fail
  17276. Fail:
  17277. ;
  17278. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  17279. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  17280. return 0
  17281. }
  17282. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  17283. bp := tls.Alloc(48)
  17284. defer tls.Free(48)
  17285. var complex_ uintptr
  17286. var err TFT_Error
  17287. var gpos_count, gsub_count TFT_UShort
  17288. var indx1, indx2, v1 int32
  17289. var issilgraphitefont TFcBool
  17290. var maxsize TFT_ULong
  17291. var _ /* gpostags at bp+16 */ uintptr
  17292. var _ /* gsubtags at bp+8 */ uintptr
  17293. var _ /* len at bp+0 */ TFT_ULong
  17294. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  17295. issilgraphitefont = 0
  17296. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  17297. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  17298. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  17299. gsub_count = uint16(0)
  17300. gpos_count = uint16(0)
  17301. complex_ = libc.UintptrFromInt32(0)
  17302. indx1 = 0
  17303. indx2 = 0
  17304. 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)
  17305. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  17306. 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))
  17307. 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))
  17308. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  17309. goto bail
  17310. }
  17311. if issilgraphitefont != 0 {
  17312. v1 = int32(13)
  17313. } else {
  17314. v1 = 0
  17315. }
  17316. 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)
  17317. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  17318. if !(complex_ != 0) {
  17319. goto bail
  17320. }
  17321. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  17322. if issilgraphitefont != 0 {
  17323. libc.Xstrcpy(tls, complex_, __ccgo_ts+4764)
  17324. }
  17325. for indx1 < libc.Int32FromUint16(gsub_count) || indx2 < libc.Int32FromUint16(gpos_count) {
  17326. if indx1 == libc.Int32FromUint16(gsub_count) {
  17327. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  17328. indx2++
  17329. } else {
  17330. 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)) {
  17331. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  17332. indx1++
  17333. } else {
  17334. 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)) {
  17335. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  17336. indx1++
  17337. indx2++
  17338. } else {
  17339. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  17340. indx2++
  17341. }
  17342. }
  17343. }
  17344. }
  17345. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  17346. libc.Xprintf(tls, __ccgo_ts+4777, libc.VaList(bp+32, complex_))
  17347. }
  17348. goto bail
  17349. bail:
  17350. ;
  17351. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  17352. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  17353. return complex_
  17354. }
  17355. func XIA__FcFontSetCreate(tls *libc.TLS) (r uintptr) {
  17356. var s uintptr
  17357. _ = s
  17358. s = libc.Xmalloc(tls, uint64(16))
  17359. if !(s != 0) {
  17360. return uintptr(0)
  17361. }
  17362. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  17363. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  17364. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  17365. return s
  17366. }
  17367. var XFcFontSetCreate = XIA__FcFontSetCreate
  17368. func XIA__FcFontSetDestroy(tls *libc.TLS, s uintptr) {
  17369. var i int32
  17370. _ = i
  17371. i = 0
  17372. for {
  17373. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17374. break
  17375. }
  17376. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  17377. goto _1
  17378. _1:
  17379. ;
  17380. i++
  17381. }
  17382. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  17383. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  17384. }
  17385. libc.Xfree(tls, s)
  17386. }
  17387. var XFcFontSetDestroy = XIA__FcFontSetDestroy
  17388. func XIA__FcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  17389. var f, v2 uintptr
  17390. var sfont, v1 int32
  17391. _, _, _, _ = f, sfont, v1, v2
  17392. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  17393. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  17394. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  17395. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Uint64FromInt32(sfont)*uint64(8))
  17396. } else {
  17397. f = libc.Xmalloc(tls, libc.Uint64FromInt32(sfont)*uint64(8))
  17398. }
  17399. if !(f != 0) {
  17400. return m_FcFalse
  17401. }
  17402. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  17403. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  17404. }
  17405. v2 = s
  17406. v1 = *(*int32)(unsafe.Pointer(v2))
  17407. *(*int32)(unsafe.Pointer(v2))++
  17408. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  17409. return int32(m_FcTrue)
  17410. }
  17411. var XFcFontSetAdd = XIA__FcFontSetAdd
  17412. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  17413. var i int32
  17414. _ = i
  17415. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  17416. return m_FcFalse
  17417. }
  17418. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, libc.Int32FromUint64(libc.Uint64FromInt32((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  17419. return m_FcFalse
  17420. }
  17421. i = 0
  17422. for {
  17423. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17424. break
  17425. }
  17426. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  17427. return m_FcFalse
  17428. }
  17429. goto _1
  17430. _1:
  17431. ;
  17432. i++
  17433. }
  17434. return int32(m_FcTrue)
  17435. }
  17436. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  17437. var fonts_serialize, p_serialize, s_serialize uintptr
  17438. var i int32
  17439. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  17440. s_serialize = XFcSerializePtr(tls, serialize, s)
  17441. if !(s_serialize != 0) {
  17442. return libc.UintptrFromInt32(0)
  17443. }
  17444. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  17445. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  17446. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  17447. if !(fonts_serialize != 0) {
  17448. return libc.UintptrFromInt32(0)
  17449. }
  17450. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  17451. i = 0
  17452. for {
  17453. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  17454. break
  17455. }
  17456. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  17457. if !(p_serialize != 0) {
  17458. return libc.UintptrFromInt32(0)
  17459. }
  17460. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  17461. goto _1
  17462. _1:
  17463. ;
  17464. i++
  17465. }
  17466. return s_serialize
  17467. }
  17468. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  17469. var i int32
  17470. var new1, v2, v3 uintptr
  17471. _, _, _, _ = i, new1, v2, v3
  17472. new1 = XIA__FcFontSetCreate(tls)
  17473. if !(new1 != 0) {
  17474. return libc.UintptrFromInt32(0)
  17475. }
  17476. i = 0
  17477. for {
  17478. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  17479. break
  17480. }
  17481. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  17482. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  17483. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  17484. } else {
  17485. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  17486. }
  17487. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  17488. } else {
  17489. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  17490. }
  17491. if !(XIA__FcFontSetAdd(tls, new1, XIA__FcPatternDuplicate(tls, v2)) != 0) {
  17492. goto bail
  17493. }
  17494. goto _1
  17495. _1:
  17496. ;
  17497. i++
  17498. }
  17499. return new1
  17500. goto bail
  17501. bail:
  17502. ;
  17503. XIA__FcFontSetDestroy(tls, new1)
  17504. return libc.UintptrFromInt32(0)
  17505. }
  17506. type TFcPtrList = struct {
  17507. Fdestroy_func TFcDestroyFunc
  17508. Flist uintptr
  17509. }
  17510. type T_FcPtrList = TFcPtrList
  17511. type TFcPtrListEntry = struct {
  17512. Fnext uintptr
  17513. Fdata uintptr
  17514. }
  17515. type T_FcPtrListEntry = TFcPtrListEntry
  17516. type TFcPtrListIterPrivate = struct {
  17517. Flist uintptr
  17518. Fentry uintptr
  17519. Fprev uintptr
  17520. }
  17521. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  17522. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  17523. var ret uintptr
  17524. _ = ret
  17525. ret = libc.Xmalloc(tls, uint64(16))
  17526. if ret != 0 {
  17527. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  17528. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  17529. }
  17530. return ret
  17531. }
  17532. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  17533. bp := tls.Alloc(32)
  17534. defer tls.Free(32)
  17535. var _ /* iter at bp+0 */ TFcPtrListIter
  17536. XFcPtrListIterInit(tls, list, bp)
  17537. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  17538. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  17539. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  17540. }
  17541. XFcPtrListIterRemove(tls, list, bp)
  17542. }
  17543. libc.Xfree(tls, list)
  17544. }
  17545. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  17546. var priv uintptr
  17547. _ = priv
  17548. priv = iter
  17549. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  17550. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  17551. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  17552. }
  17553. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  17554. var e, p, priv uintptr
  17555. _, _, _ = e, p, priv
  17556. priv = iter
  17557. e = list + 8
  17558. p = e
  17559. for {
  17560. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  17561. break
  17562. }
  17563. goto _1
  17564. _1:
  17565. ;
  17566. p = e
  17567. e = *(*uintptr)(unsafe.Pointer(e))
  17568. }
  17569. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  17570. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  17571. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  17572. }
  17573. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17574. var priv uintptr
  17575. _ = priv
  17576. priv = iter
  17577. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17578. return m_FcFalse
  17579. }
  17580. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  17581. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17582. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  17583. }
  17584. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17585. var priv uintptr
  17586. _ = priv
  17587. priv = iter
  17588. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  17589. }
  17590. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  17591. var priv uintptr
  17592. _ = priv
  17593. priv = iter
  17594. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  17595. return libc.UintptrFromInt32(0)
  17596. }
  17597. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  17598. }
  17599. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  17600. var e, priv uintptr
  17601. _, _ = e, priv
  17602. priv = iter
  17603. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17604. return m_FcFalse
  17605. }
  17606. e = libc.Xmalloc(tls, uint64(16))
  17607. if !(e != 0) {
  17608. return m_FcFalse
  17609. }
  17610. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  17611. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  17612. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17613. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  17614. } else {
  17615. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  17616. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  17617. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  17618. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  17619. } else {
  17620. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  17621. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  17622. return int32(m_FcTrue)
  17623. }
  17624. }
  17625. return XFcPtrListIterNext(tls, list, iter)
  17626. }
  17627. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  17628. var e, priv uintptr
  17629. _, _ = e, priv
  17630. priv = iter
  17631. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  17632. return m_FcFalse
  17633. }
  17634. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  17635. return int32(m_FcTrue)
  17636. }
  17637. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  17638. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  17639. }
  17640. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  17641. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  17642. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17643. }
  17644. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  17645. libc.Xfree(tls, e)
  17646. return int32(m_FcTrue)
  17647. }
  17648. const m_FC_HASH_SIZE = 227
  17649. type TFcHashTable = struct {
  17650. Fbuckets [227]uintptr
  17651. Fhash_func TFcHashFunc
  17652. Fcompare_func TFcCompareFunc
  17653. Fkey_copy_func TFcCopyFunc
  17654. Fvalue_copy_func TFcCopyFunc
  17655. Fkey_destroy_func TFcDestroyFunc
  17656. Fvalue_destroy_func TFcDestroyFunc
  17657. }
  17658. type T_FcHashTable = TFcHashTable
  17659. type TFcHashBucket = struct {
  17660. Fnext uintptr
  17661. Fkey uintptr
  17662. Fvalue uintptr
  17663. }
  17664. type T_FcHashBucket = TFcHashBucket
  17665. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  17666. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  17667. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  17668. }
  17669. func XFcHashUuidCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  17670. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xmalloc(tls, uint64(16))
  17671. libc.Xuuid_copy(tls, *(*uintptr)(unsafe.Pointer(dest)), src)
  17672. return int32(m_FcTrue)
  17673. }
  17674. func XFcHashUuidFree(tls *libc.TLS, data uintptr) {
  17675. libc.Xfree(tls, data)
  17676. }
  17677. 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) {
  17678. var ret uintptr
  17679. _ = ret
  17680. ret = libc.Xmalloc(tls, uint64(1864))
  17681. if ret != 0 {
  17682. libc.Xmemset(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE))
  17683. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  17684. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  17685. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  17686. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  17687. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  17688. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  17689. }
  17690. return ret
  17691. }
  17692. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  17693. var bucket, prev uintptr
  17694. var i int32
  17695. _, _, _ = bucket, i, prev
  17696. i = 0
  17697. for {
  17698. if !(i < int32(m_FC_HASH_SIZE)) {
  17699. break
  17700. }
  17701. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  17702. for bucket != 0 {
  17703. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17704. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17705. }
  17706. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17707. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17708. }
  17709. prev = bucket
  17710. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17711. libc.Xfree(tls, prev)
  17712. }
  17713. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  17714. goto _1
  17715. _1:
  17716. ;
  17717. i++
  17718. }
  17719. libc.Xfree(tls, table)
  17720. }
  17721. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17722. var bucket uintptr
  17723. var hash TFcChar32
  17724. _, _ = bucket, hash
  17725. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17726. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  17727. for {
  17728. if !(bucket != 0) {
  17729. break
  17730. }
  17731. 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) {
  17732. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  17733. 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) {
  17734. return m_FcFalse
  17735. }
  17736. } else {
  17737. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  17738. }
  17739. return int32(m_FcTrue)
  17740. }
  17741. goto _1
  17742. _1:
  17743. ;
  17744. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17745. }
  17746. return m_FcFalse
  17747. }
  17748. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  17749. var b, bucket, prev, v3 uintptr
  17750. var hash TFcChar32
  17751. var ret TFcBool
  17752. var v4, v5 int32
  17753. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  17754. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17755. ret = m_FcFalse
  17756. bucket = libc.Xmalloc(tls, uint64(24))
  17757. if !(bucket != 0) {
  17758. return m_FcFalse
  17759. }
  17760. libc.Xmemset(tls, bucket, 0, uint64(24))
  17761. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  17762. 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))
  17763. } else {
  17764. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  17765. }
  17766. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  17767. 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))
  17768. } else {
  17769. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  17770. }
  17771. if !(ret != 0) {
  17772. goto _1
  17773. }
  17774. goto destroy
  17775. destroy:
  17776. ;
  17777. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17778. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17779. }
  17780. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17781. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17782. }
  17783. libc.Xfree(tls, bucket)
  17784. return libc.BoolInt32(!(ret != 0))
  17785. _1:
  17786. ;
  17787. goto retry
  17788. retry:
  17789. ;
  17790. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  17791. for {
  17792. v3 = *(*uintptr)(unsafe.Pointer(prev))
  17793. b = v3
  17794. if !(v3 != 0) {
  17795. break
  17796. }
  17797. 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) {
  17798. if replace != 0 {
  17799. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  17800. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  17801. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  17802. v4 = libc.Int32FromInt32(m_FcTrue)
  17803. } else {
  17804. v4 = m_FcFalse
  17805. }
  17806. if !(v4 != 0) {
  17807. goto retry
  17808. }
  17809. bucket = b
  17810. } else {
  17811. ret = int32(m_FcTrue)
  17812. }
  17813. goto destroy
  17814. }
  17815. goto _2
  17816. _2:
  17817. ;
  17818. prev = b
  17819. }
  17820. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  17821. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  17822. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  17823. v5 = libc.Int32FromInt32(m_FcTrue)
  17824. } else {
  17825. v5 = m_FcFalse
  17826. }
  17827. if !(v5 != 0) {
  17828. goto retry
  17829. }
  17830. return int32(m_FcTrue)
  17831. }
  17832. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17833. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  17834. }
  17835. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  17836. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  17837. }
  17838. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  17839. var bucket, prev, v2 uintptr
  17840. var hash TFcChar32
  17841. var ret TFcBool
  17842. var v3 int32
  17843. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  17844. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  17845. ret = m_FcFalse
  17846. goto retry
  17847. retry:
  17848. ;
  17849. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  17850. for {
  17851. v2 = *(*uintptr)(unsafe.Pointer(prev))
  17852. bucket = v2
  17853. if !(v2 != 0) {
  17854. break
  17855. }
  17856. 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) {
  17857. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  17858. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  17859. v3 = libc.Int32FromInt32(m_FcTrue)
  17860. } else {
  17861. v3 = m_FcFalse
  17862. }
  17863. if !(v3 != 0) {
  17864. goto retry
  17865. }
  17866. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  17867. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  17868. }
  17869. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  17870. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  17871. }
  17872. libc.Xfree(tls, bucket)
  17873. ret = int32(m_FcTrue)
  17874. break
  17875. }
  17876. goto _1
  17877. _1:
  17878. ;
  17879. prev = bucket
  17880. }
  17881. return ret
  17882. }
  17883. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  17884. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  17885. var config, fallback uintptr
  17886. _, _ = config, fallback
  17887. fallback = __ccgo_ts + 4813
  17888. config = XIA__FcConfigCreate(tls)
  17889. if !(config != 0) {
  17890. goto bail0
  17891. }
  17892. XIA__FcConfigSetSysRoot(tls, config, sysroot)
  17893. if !(XIA__FcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  17894. goto bail1
  17895. }
  17896. return config
  17897. goto bail1
  17898. bail1:
  17899. ;
  17900. XIA__FcConfigDestroy(tls, config)
  17901. goto bail0
  17902. bail0:
  17903. ;
  17904. return uintptr(0)
  17905. return r
  17906. }
  17907. func XIA__FcGetVersion(tls *libc.TLS) (r int32) {
  17908. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  17909. }
  17910. var XFcGetVersion = XIA__FcGetVersion
  17911. // C documentation
  17912. //
  17913. // /*
  17914. // * Load the configuration files
  17915. // */
  17916. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  17917. bp := tls.Alloc(16)
  17918. defer tls.Free(16)
  17919. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  17920. var have_own TFcBool
  17921. var plen Tsize_t
  17922. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  17923. if !(config != 0) {
  17924. config = XIA__FcConfigCreate(tls)
  17925. if !(config != 0) {
  17926. return libc.UintptrFromInt32(0)
  17927. }
  17928. }
  17929. XFcInitDebug(tls)
  17930. if !(XIA__FcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  17931. sysroot = XIA__FcConfigGetSysRoot(tls, config)
  17932. fallback = _FcInitFallbackConfig(tls, sysroot)
  17933. XIA__FcConfigDestroy(tls, config)
  17934. return fallback
  17935. }
  17936. XFcConfigParseOnly(tls, config, __ccgo_ts+5141, m_FcFalse)
  17937. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  17938. goto _1
  17939. }
  17940. have_own = m_FcFalse
  17941. env_file = libc.Xgetenv(tls, __ccgo_ts+1427)
  17942. env_path = libc.Xgetenv(tls, __ccgo_ts+1319)
  17943. if env_file != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(env_path))) != 0 {
  17944. have_own = int32(m_FcTrue)
  17945. }
  17946. if !(have_own != 0) {
  17947. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5174, 0)
  17948. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5246, libc.VaList(bp+8, __ccgo_ts+5298))
  17949. }
  17950. prefix = XFcConfigXdgCacheHome(tls)
  17951. if !(prefix != 0) {
  17952. goto bail
  17953. }
  17954. plen = libc.Xstrlen(tls, prefix)
  17955. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  17956. if !(p != 0) {
  17957. goto bail
  17958. }
  17959. prefix = p
  17960. libc.Xmemcpy(tls, prefix+uintptr(plen), __ccgo_ts+5324, uint64(11))
  17961. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  17962. if !(have_own != 0) {
  17963. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5336, 0)
  17964. }
  17965. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5298) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  17966. goto _2
  17967. }
  17968. goto bail
  17969. bail:
  17970. ;
  17971. sysroot1 = XIA__FcConfigGetSysRoot(tls, config)
  17972. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5409, 0)
  17973. if prefix != 0 {
  17974. XIA__FcStrFree(tls, prefix)
  17975. }
  17976. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  17977. XIA__FcConfigDestroy(tls, config)
  17978. return fallback1
  17979. _2:
  17980. ;
  17981. XIA__FcStrFree(tls, prefix)
  17982. _1:
  17983. ;
  17984. return config
  17985. }
  17986. func XIA__FcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  17987. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  17988. }
  17989. var XFcInitLoadConfig = XIA__FcInitLoadConfig
  17990. // C documentation
  17991. //
  17992. // /*
  17993. // * Load the configuration files and scan for available fonts
  17994. // */
  17995. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  17996. config = XFcInitLoadOwnConfig(tls, config)
  17997. if !(config != 0) {
  17998. return uintptr(0)
  17999. }
  18000. if !(XIA__FcConfigBuildFonts(tls, config) != 0) {
  18001. XIA__FcConfigDestroy(tls, config)
  18002. return uintptr(0)
  18003. }
  18004. return config
  18005. }
  18006. func XIA__FcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  18007. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  18008. }
  18009. var XFcInitLoadConfigAndFonts = XIA__FcInitLoadConfigAndFonts
  18010. // C documentation
  18011. //
  18012. // /*
  18013. // * Initialize the default library configuration
  18014. // */
  18015. func XIA__FcInit(tls *libc.TLS) (r TFcBool) {
  18016. return XFcConfigInit(tls)
  18017. }
  18018. var XFcInit = XIA__FcInit
  18019. // C documentation
  18020. //
  18021. // /*
  18022. // * Free all library-allocated data structures.
  18023. // */
  18024. func XIA__FcFini(tls *libc.TLS) {
  18025. XFcConfigFini(tls)
  18026. XFcCacheFini(tls)
  18027. XFcDefaultFini(tls)
  18028. XFcObjectFini(tls)
  18029. XFcConfigPathFini(tls)
  18030. }
  18031. var XFcFini = XIA__FcFini
  18032. // C documentation
  18033. //
  18034. // /*
  18035. // * Reread the configuration and available font lists
  18036. // */
  18037. func XIA__FcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  18038. var config uintptr
  18039. var ret TFcBool
  18040. _, _ = config, ret
  18041. config = XIA__FcInitLoadConfigAndFonts(tls)
  18042. if !(config != 0) {
  18043. return m_FcFalse
  18044. }
  18045. ret = XIA__FcConfigSetCurrent(tls, config)
  18046. /* FcConfigSetCurrent() increases the refcount.
  18047. * decrease it here to avoid the memory leak.
  18048. */
  18049. XIA__FcConfigDestroy(tls, config)
  18050. return ret
  18051. }
  18052. var XFcInitReinitialize = XIA__FcInitReinitialize
  18053. func XIA__FcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  18054. var config uintptr
  18055. var now Ttime_t
  18056. _, _ = config, now
  18057. config = XIA__FcConfigGetCurrent(tls)
  18058. if !(config != 0) {
  18059. return m_FcFalse
  18060. }
  18061. /*
  18062. * rescanInterval == 0 disables automatic up to date
  18063. */
  18064. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  18065. return int32(m_FcTrue)
  18066. }
  18067. /*
  18068. * Check no more often than rescanInterval seconds
  18069. */
  18070. now = libc.Xtime(tls, uintptr(0))
  18071. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  18072. return int32(m_FcTrue)
  18073. }
  18074. /*
  18075. * If up to date, don't reload configuration
  18076. */
  18077. if XIA__FcConfigUptoDate(tls, uintptr(0)) != 0 {
  18078. return int32(m_FcTrue)
  18079. }
  18080. return XIA__FcInitReinitialize(tls)
  18081. }
  18082. var XFcInitBringUptoDate = XIA__FcInitBringUptoDate
  18083. const m_FC_DIR_SEPARATOR_S4 = "/"
  18084. const m_FcFreeTypeCharIndex = "IA__FcFreeTypeCharIndex"
  18085. const m_FcFreeTypeCharSet = "IA__FcFreeTypeCharSet"
  18086. const m_FcFreeTypeCharSetAndSpacing = "IA__FcFreeTypeCharSetAndSpacing"
  18087. const m_FcFreeTypeQueryFace = "IA__FcFreeTypeQueryFace"
  18088. const m_NUM_COUNTRY_SET = 10
  18089. const m_NUM_LANG_CHAR_SET = 246
  18090. const m_NUM_LANG_SET_MAP = 8
  18091. type TFcLangSet = struct {
  18092. Fextra uintptr
  18093. Fmap_size TFcChar32
  18094. Fmap1 [8]TFcChar32
  18095. }
  18096. type T_FcLangSet = TFcLangSet
  18097. /* Objects MT-safe for readonly access. */
  18098. type TFcLangCharSet = struct {
  18099. Flang [16]TFcChar8
  18100. Fcharset TFcCharSet
  18101. }
  18102. type TFcLangCharSetRange = struct {
  18103. Fbegin int32
  18104. Fend int32
  18105. }
  18106. var _fcLangData = struct {
  18107. FlangCharSets [246]TFcLangCharSet
  18108. Fleaves [725]TFcCharLeaf
  18109. Fleaf_offsets [779]Tuintptr_t
  18110. Fnumbers [779]TFcChar16
  18111. FlangIndices [246]TFcChar8
  18112. FlangIndicesInv [246]TFcChar8
  18113. }{
  18114. FlangCharSets: [246]TFcLangCharSet{
  18115. 0: {
  18116. Flang: [16]TFcChar8{'a', 'a'},
  18117. Fcharset: TFcCharSet{
  18118. Fref: TFcRef{
  18119. Fcount: -libc.Int32FromInt32(1),
  18120. },
  18121. Fnum: int32(1),
  18122. 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))),
  18123. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18124. },
  18125. },
  18126. 1: {
  18127. Flang: [16]TFcChar8{'a', 'b'},
  18128. Fcharset: TFcCharSet{
  18129. Fref: TFcRef{
  18130. Fcount: -libc.Int32FromInt32(1),
  18131. },
  18132. Fnum: int32(1),
  18133. 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))),
  18134. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18135. },
  18136. },
  18137. 2: {
  18138. Flang: [16]TFcChar8{'a', 'f'},
  18139. Fcharset: TFcCharSet{
  18140. Fref: TFcRef{
  18141. Fcount: -libc.Int32FromInt32(1),
  18142. },
  18143. Fnum: int32(2),
  18144. 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))),
  18145. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18146. },
  18147. },
  18148. 3: {
  18149. Flang: [16]TFcChar8{'a', 'k'},
  18150. Fcharset: TFcCharSet{
  18151. Fref: TFcRef{
  18152. Fcount: -libc.Int32FromInt32(1),
  18153. },
  18154. Fnum: int32(5),
  18155. 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))),
  18156. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18157. },
  18158. },
  18159. 4: {
  18160. Flang: [16]TFcChar8{'a', 'm'},
  18161. Fcharset: TFcCharSet{
  18162. Fref: TFcRef{
  18163. Fcount: -libc.Int32FromInt32(1),
  18164. },
  18165. Fnum: int32(2),
  18166. 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))),
  18167. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18168. },
  18169. },
  18170. 5: {
  18171. Flang: [16]TFcChar8{'a', 'n'},
  18172. Fcharset: TFcCharSet{
  18173. Fref: TFcRef{
  18174. Fcount: -libc.Int32FromInt32(1),
  18175. },
  18176. Fnum: int32(1),
  18177. 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))),
  18178. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18179. },
  18180. },
  18181. 6: {
  18182. Flang: [16]TFcChar8{'a', 'r'},
  18183. Fcharset: TFcCharSet{
  18184. Fref: TFcRef{
  18185. Fcount: -libc.Int32FromInt32(1),
  18186. },
  18187. Fnum: int32(1),
  18188. 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))),
  18189. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18190. },
  18191. },
  18192. 7: {
  18193. Flang: [16]TFcChar8{'a', 's'},
  18194. Fcharset: TFcCharSet{
  18195. Fref: TFcRef{
  18196. Fcount: -libc.Int32FromInt32(1),
  18197. },
  18198. Fnum: int32(1),
  18199. 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))),
  18200. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18201. },
  18202. },
  18203. 8: {
  18204. Flang: [16]TFcChar8{'a', 's', 't'},
  18205. Fcharset: TFcCharSet{
  18206. Fref: TFcRef{
  18207. Fcount: -libc.Int32FromInt32(1),
  18208. },
  18209. Fnum: int32(2),
  18210. 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))),
  18211. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18212. },
  18213. },
  18214. 9: {
  18215. Flang: [16]TFcChar8{'a', 'v'},
  18216. Fcharset: TFcCharSet{
  18217. Fref: TFcRef{
  18218. Fcount: -libc.Int32FromInt32(1),
  18219. },
  18220. Fnum: int32(1),
  18221. 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))),
  18222. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18223. },
  18224. },
  18225. 10: {
  18226. Flang: [16]TFcChar8{'a', 'y'},
  18227. Fcharset: TFcCharSet{
  18228. Fref: TFcRef{
  18229. Fcount: -libc.Int32FromInt32(1),
  18230. },
  18231. Fnum: int32(1),
  18232. 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))),
  18233. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18234. },
  18235. },
  18236. 11: {
  18237. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  18238. Fcharset: TFcCharSet{
  18239. Fref: TFcRef{
  18240. Fcount: -libc.Int32FromInt32(1),
  18241. },
  18242. Fnum: int32(3),
  18243. 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))),
  18244. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18245. },
  18246. },
  18247. 12: {
  18248. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  18249. Fcharset: TFcCharSet{
  18250. Fref: TFcRef{
  18251. Fcount: -libc.Int32FromInt32(1),
  18252. },
  18253. Fnum: int32(1),
  18254. 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))),
  18255. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18256. },
  18257. },
  18258. 13: {
  18259. Flang: [16]TFcChar8{'b', 'a'},
  18260. Fcharset: TFcCharSet{
  18261. Fref: TFcRef{
  18262. Fcount: -libc.Int32FromInt32(1),
  18263. },
  18264. Fnum: int32(1),
  18265. 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))),
  18266. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18267. },
  18268. },
  18269. 14: {
  18270. Flang: [16]TFcChar8{'b', 'e'},
  18271. Fcharset: TFcCharSet{
  18272. Fref: TFcRef{
  18273. Fcount: -libc.Int32FromInt32(1),
  18274. },
  18275. Fnum: int32(1),
  18276. 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))),
  18277. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18278. },
  18279. },
  18280. 15: {
  18281. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  18282. Fcharset: TFcCharSet{
  18283. Fref: TFcRef{
  18284. Fcount: -libc.Int32FromInt32(1),
  18285. },
  18286. Fnum: int32(4),
  18287. 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))),
  18288. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18289. },
  18290. },
  18291. 16: {
  18292. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  18293. Fcharset: TFcCharSet{
  18294. Fref: TFcRef{
  18295. Fcount: -libc.Int32FromInt32(1),
  18296. },
  18297. Fnum: int32(1),
  18298. 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))),
  18299. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18300. },
  18301. },
  18302. 17: {
  18303. Flang: [16]TFcChar8{'b', 'g'},
  18304. Fcharset: TFcCharSet{
  18305. Fref: TFcRef{
  18306. Fcount: -libc.Int32FromInt32(1),
  18307. },
  18308. Fnum: int32(1),
  18309. 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))),
  18310. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18311. },
  18312. },
  18313. 18: {
  18314. Flang: [16]TFcChar8{'b', 'h'},
  18315. Fcharset: TFcCharSet{
  18316. Fref: TFcRef{
  18317. Fcount: -libc.Int32FromInt32(1),
  18318. },
  18319. Fnum: int32(1),
  18320. 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))),
  18321. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18322. },
  18323. },
  18324. 19: {
  18325. Flang: [16]TFcChar8{'b', 'h', 'o'},
  18326. Fcharset: TFcCharSet{
  18327. Fref: TFcRef{
  18328. Fcount: -libc.Int32FromInt32(1),
  18329. },
  18330. Fnum: int32(1),
  18331. 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))),
  18332. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18333. },
  18334. },
  18335. 20: {
  18336. Flang: [16]TFcChar8{'b', 'i'},
  18337. Fcharset: TFcCharSet{
  18338. Fref: TFcRef{
  18339. Fcount: -libc.Int32FromInt32(1),
  18340. },
  18341. Fnum: int32(1),
  18342. 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))),
  18343. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18344. },
  18345. },
  18346. 21: {
  18347. Flang: [16]TFcChar8{'b', 'i', 'n'},
  18348. Fcharset: TFcCharSet{
  18349. Fref: TFcRef{
  18350. Fcount: -libc.Int32FromInt32(1),
  18351. },
  18352. Fnum: int32(3),
  18353. 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))),
  18354. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18355. },
  18356. },
  18357. 22: {
  18358. Flang: [16]TFcChar8{'b', 'm'},
  18359. Fcharset: TFcCharSet{
  18360. Fref: TFcRef{
  18361. Fcount: -libc.Int32FromInt32(1),
  18362. },
  18363. Fnum: int32(3),
  18364. 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))),
  18365. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18366. },
  18367. },
  18368. 23: {
  18369. Flang: [16]TFcChar8{'b', 'n'},
  18370. Fcharset: TFcCharSet{
  18371. Fref: TFcRef{
  18372. Fcount: -libc.Int32FromInt32(1),
  18373. },
  18374. Fnum: int32(1),
  18375. 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))),
  18376. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18377. },
  18378. },
  18379. 24: {
  18380. Flang: [16]TFcChar8{'b', 'o'},
  18381. Fcharset: TFcCharSet{
  18382. Fref: TFcRef{
  18383. Fcount: -libc.Int32FromInt32(1),
  18384. },
  18385. Fnum: int32(1),
  18386. 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))),
  18387. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18388. },
  18389. },
  18390. 25: {
  18391. Flang: [16]TFcChar8{'b', 'r'},
  18392. Fcharset: TFcCharSet{
  18393. Fref: TFcRef{
  18394. Fcount: -libc.Int32FromInt32(1),
  18395. },
  18396. Fnum: int32(1),
  18397. 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))),
  18398. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18399. },
  18400. },
  18401. 26: {
  18402. Flang: [16]TFcChar8{'b', 'r', 'x'},
  18403. Fcharset: TFcCharSet{
  18404. Fref: TFcRef{
  18405. Fcount: -libc.Int32FromInt32(1),
  18406. },
  18407. Fnum: int32(1),
  18408. 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))),
  18409. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18410. },
  18411. },
  18412. 27: {
  18413. Flang: [16]TFcChar8{'b', 's'},
  18414. Fcharset: TFcCharSet{
  18415. Fref: TFcRef{
  18416. Fcount: -libc.Int32FromInt32(1),
  18417. },
  18418. Fnum: int32(2),
  18419. 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))),
  18420. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18421. },
  18422. },
  18423. 28: {
  18424. Flang: [16]TFcChar8{'b', 'u', 'a'},
  18425. Fcharset: TFcCharSet{
  18426. Fref: TFcRef{
  18427. Fcount: -libc.Int32FromInt32(1),
  18428. },
  18429. Fnum: int32(1),
  18430. 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))),
  18431. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18432. },
  18433. },
  18434. 29: {
  18435. Flang: [16]TFcChar8{'b', 'y', 'n'},
  18436. Fcharset: TFcCharSet{
  18437. Fref: TFcRef{
  18438. Fcount: -libc.Int32FromInt32(1),
  18439. },
  18440. Fnum: int32(2),
  18441. 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))),
  18442. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18443. },
  18444. },
  18445. 30: {
  18446. Flang: [16]TFcChar8{'c', 'a'},
  18447. Fcharset: TFcCharSet{
  18448. Fref: TFcRef{
  18449. Fcount: -libc.Int32FromInt32(1),
  18450. },
  18451. Fnum: int32(2),
  18452. 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))),
  18453. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18454. },
  18455. },
  18456. 31: {
  18457. Flang: [16]TFcChar8{'c', 'e'},
  18458. Fcharset: TFcCharSet{
  18459. Fref: TFcRef{
  18460. Fcount: -libc.Int32FromInt32(1),
  18461. },
  18462. Fnum: int32(1),
  18463. 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))),
  18464. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18465. },
  18466. },
  18467. 32: {
  18468. Flang: [16]TFcChar8{'c', 'h'},
  18469. Fcharset: TFcCharSet{
  18470. Fref: TFcRef{
  18471. Fcount: -libc.Int32FromInt32(1),
  18472. },
  18473. Fnum: int32(1),
  18474. 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))),
  18475. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18476. },
  18477. },
  18478. 33: {
  18479. Flang: [16]TFcChar8{'c', 'h', 'm'},
  18480. Fcharset: TFcCharSet{
  18481. Fref: TFcRef{
  18482. Fcount: -libc.Int32FromInt32(1),
  18483. },
  18484. Fnum: int32(1),
  18485. 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))),
  18486. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18487. },
  18488. },
  18489. 34: {
  18490. Flang: [16]TFcChar8{'c', 'h', 'r'},
  18491. Fcharset: TFcCharSet{
  18492. Fref: TFcRef{
  18493. Fcount: -libc.Int32FromInt32(1),
  18494. },
  18495. Fnum: int32(1),
  18496. 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))),
  18497. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18498. },
  18499. },
  18500. 35: {
  18501. Flang: [16]TFcChar8{'c', 'o'},
  18502. Fcharset: TFcCharSet{
  18503. Fref: TFcRef{
  18504. Fcount: -libc.Int32FromInt32(1),
  18505. },
  18506. Fnum: int32(2),
  18507. 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))),
  18508. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18509. },
  18510. },
  18511. 36: {
  18512. Flang: [16]TFcChar8{'c', 'r', 'h'},
  18513. Fcharset: TFcCharSet{
  18514. Fref: TFcRef{
  18515. Fcount: -libc.Int32FromInt32(1),
  18516. },
  18517. Fnum: int32(2),
  18518. 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))),
  18519. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18520. },
  18521. },
  18522. 37: {
  18523. Flang: [16]TFcChar8{'c', 's'},
  18524. Fcharset: TFcCharSet{
  18525. Fref: TFcRef{
  18526. Fcount: -libc.Int32FromInt32(1),
  18527. },
  18528. Fnum: int32(2),
  18529. 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))),
  18530. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18531. },
  18532. },
  18533. 38: {
  18534. Flang: [16]TFcChar8{'c', 's', 'b'},
  18535. Fcharset: TFcCharSet{
  18536. Fref: TFcRef{
  18537. Fcount: -libc.Int32FromInt32(1),
  18538. },
  18539. Fnum: int32(2),
  18540. 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))),
  18541. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18542. },
  18543. },
  18544. 39: {
  18545. Flang: [16]TFcChar8{'c', 'u'},
  18546. Fcharset: TFcCharSet{
  18547. Fref: TFcRef{
  18548. Fcount: -libc.Int32FromInt32(1),
  18549. },
  18550. Fnum: int32(1),
  18551. 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))),
  18552. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18553. },
  18554. },
  18555. 40: {
  18556. Flang: [16]TFcChar8{'c', 'v'},
  18557. Fcharset: TFcCharSet{
  18558. Fref: TFcRef{
  18559. Fcount: -libc.Int32FromInt32(1),
  18560. },
  18561. Fnum: int32(2),
  18562. 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))),
  18563. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18564. },
  18565. },
  18566. 41: {
  18567. Flang: [16]TFcChar8{'c', 'y'},
  18568. Fcharset: TFcCharSet{
  18569. Fref: TFcRef{
  18570. Fcount: -libc.Int32FromInt32(1),
  18571. },
  18572. Fnum: int32(3),
  18573. 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))),
  18574. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18575. },
  18576. },
  18577. 42: {
  18578. Flang: [16]TFcChar8{'d', 'a'},
  18579. Fcharset: TFcCharSet{
  18580. Fref: TFcRef{
  18581. Fcount: -libc.Int32FromInt32(1),
  18582. },
  18583. Fnum: int32(1),
  18584. 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))),
  18585. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18586. },
  18587. },
  18588. 43: {
  18589. Flang: [16]TFcChar8{'d', 'e'},
  18590. Fcharset: TFcCharSet{
  18591. Fref: TFcRef{
  18592. Fcount: -libc.Int32FromInt32(1),
  18593. },
  18594. Fnum: int32(1),
  18595. 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))),
  18596. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18597. },
  18598. },
  18599. 44: {
  18600. Flang: [16]TFcChar8{'d', 'o', 'i'},
  18601. Fcharset: TFcCharSet{
  18602. Fref: TFcRef{
  18603. Fcount: -libc.Int32FromInt32(1),
  18604. },
  18605. Fnum: int32(1),
  18606. 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))),
  18607. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18608. },
  18609. },
  18610. 45: {
  18611. Flang: [16]TFcChar8{'d', 'v'},
  18612. Fcharset: TFcCharSet{
  18613. Fref: TFcRef{
  18614. Fcount: -libc.Int32FromInt32(1),
  18615. },
  18616. Fnum: int32(1),
  18617. 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))),
  18618. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18619. },
  18620. },
  18621. 46: {
  18622. Flang: [16]TFcChar8{'d', 'z'},
  18623. Fcharset: TFcCharSet{
  18624. Fref: TFcRef{
  18625. Fcount: -libc.Int32FromInt32(1),
  18626. },
  18627. Fnum: int32(1),
  18628. 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))),
  18629. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18630. },
  18631. },
  18632. 47: {
  18633. Flang: [16]TFcChar8{'e', 'e'},
  18634. Fcharset: TFcCharSet{
  18635. Fref: TFcRef{
  18636. Fcount: -libc.Int32FromInt32(1),
  18637. },
  18638. Fnum: int32(4),
  18639. 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))),
  18640. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18641. },
  18642. },
  18643. 48: {
  18644. Flang: [16]TFcChar8{'e', 'l'},
  18645. Fcharset: TFcCharSet{
  18646. Fref: TFcRef{
  18647. Fcount: -libc.Int32FromInt32(1),
  18648. },
  18649. Fnum: int32(1),
  18650. 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))),
  18651. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18652. },
  18653. },
  18654. 49: {
  18655. Flang: [16]TFcChar8{'e', 'n'},
  18656. Fcharset: TFcCharSet{
  18657. Fref: TFcRef{
  18658. Fcount: -libc.Int32FromInt32(1),
  18659. },
  18660. Fnum: int32(1),
  18661. 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))),
  18662. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18663. },
  18664. },
  18665. 50: {
  18666. Flang: [16]TFcChar8{'e', 'o'},
  18667. Fcharset: TFcCharSet{
  18668. Fref: TFcRef{
  18669. Fcount: -libc.Int32FromInt32(1),
  18670. },
  18671. Fnum: int32(2),
  18672. 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))),
  18673. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18674. },
  18675. },
  18676. 51: {
  18677. Flang: [16]TFcChar8{'e', 's'},
  18678. Fcharset: TFcCharSet{
  18679. Fref: TFcRef{
  18680. Fcount: -libc.Int32FromInt32(1),
  18681. },
  18682. Fnum: int32(1),
  18683. 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))),
  18684. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18685. },
  18686. },
  18687. 52: {
  18688. Flang: [16]TFcChar8{'e', 't'},
  18689. Fcharset: TFcCharSet{
  18690. Fref: TFcRef{
  18691. Fcount: -libc.Int32FromInt32(1),
  18692. },
  18693. Fnum: int32(2),
  18694. 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))),
  18695. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18696. },
  18697. },
  18698. 53: {
  18699. Flang: [16]TFcChar8{'e', 'u'},
  18700. Fcharset: TFcCharSet{
  18701. Fref: TFcRef{
  18702. Fcount: -libc.Int32FromInt32(1),
  18703. },
  18704. Fnum: int32(1),
  18705. 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))),
  18706. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18707. },
  18708. },
  18709. 54: {
  18710. Flang: [16]TFcChar8{'f', 'a'},
  18711. Fcharset: TFcCharSet{
  18712. Fref: TFcRef{
  18713. Fcount: -libc.Int32FromInt32(1),
  18714. },
  18715. Fnum: int32(1),
  18716. 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))),
  18717. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18718. },
  18719. },
  18720. 55: {
  18721. Flang: [16]TFcChar8{'f', 'a', 't'},
  18722. Fcharset: TFcCharSet{
  18723. Fref: TFcRef{
  18724. Fcount: -libc.Int32FromInt32(1),
  18725. },
  18726. Fnum: int32(5),
  18727. 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))),
  18728. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18729. },
  18730. },
  18731. 56: {
  18732. Flang: [16]TFcChar8{'f', 'f'},
  18733. Fcharset: TFcCharSet{
  18734. Fref: TFcRef{
  18735. Fcount: -libc.Int32FromInt32(1),
  18736. },
  18737. Fnum: int32(3),
  18738. 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))),
  18739. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18740. },
  18741. },
  18742. 57: {
  18743. Flang: [16]TFcChar8{'f', 'i'},
  18744. Fcharset: TFcCharSet{
  18745. Fref: TFcRef{
  18746. Fcount: -libc.Int32FromInt32(1),
  18747. },
  18748. Fnum: int32(2),
  18749. 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))),
  18750. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18751. },
  18752. },
  18753. 58: {
  18754. Flang: [16]TFcChar8{'f', 'i', 'l'},
  18755. Fcharset: TFcCharSet{
  18756. Fref: TFcRef{
  18757. Fcount: -libc.Int32FromInt32(1),
  18758. },
  18759. Fnum: int32(1),
  18760. 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))),
  18761. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18762. },
  18763. },
  18764. 59: {
  18765. Flang: [16]TFcChar8{'f', 'j'},
  18766. Fcharset: TFcCharSet{
  18767. Fref: TFcRef{
  18768. Fcount: -libc.Int32FromInt32(1),
  18769. },
  18770. Fnum: int32(1),
  18771. 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))),
  18772. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18773. },
  18774. },
  18775. 60: {
  18776. Flang: [16]TFcChar8{'f', 'o'},
  18777. Fcharset: TFcCharSet{
  18778. Fref: TFcRef{
  18779. Fcount: -libc.Int32FromInt32(1),
  18780. },
  18781. Fnum: int32(1),
  18782. 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))),
  18783. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18784. },
  18785. },
  18786. 61: {
  18787. Flang: [16]TFcChar8{'f', 'r'},
  18788. Fcharset: TFcCharSet{
  18789. Fref: TFcRef{
  18790. Fcount: -libc.Int32FromInt32(1),
  18791. },
  18792. Fnum: int32(2),
  18793. 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))),
  18794. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18795. },
  18796. },
  18797. 62: {
  18798. Flang: [16]TFcChar8{'f', 'u', 'r'},
  18799. Fcharset: TFcCharSet{
  18800. Fref: TFcRef{
  18801. Fcount: -libc.Int32FromInt32(1),
  18802. },
  18803. Fnum: int32(1),
  18804. 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))),
  18805. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18806. },
  18807. },
  18808. 63: {
  18809. Flang: [16]TFcChar8{'f', 'y'},
  18810. Fcharset: TFcCharSet{
  18811. Fref: TFcRef{
  18812. Fcount: -libc.Int32FromInt32(1),
  18813. },
  18814. Fnum: int32(1),
  18815. 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))),
  18816. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18817. },
  18818. },
  18819. 64: {
  18820. Flang: [16]TFcChar8{'g', 'a'},
  18821. Fcharset: TFcCharSet{
  18822. Fref: TFcRef{
  18823. Fcount: -libc.Int32FromInt32(1),
  18824. },
  18825. Fnum: int32(3),
  18826. 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))),
  18827. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18828. },
  18829. },
  18830. 65: {
  18831. Flang: [16]TFcChar8{'g', 'd'},
  18832. Fcharset: TFcCharSet{
  18833. Fref: TFcRef{
  18834. Fcount: -libc.Int32FromInt32(1),
  18835. },
  18836. Fnum: int32(1),
  18837. 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))),
  18838. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18839. },
  18840. },
  18841. 66: {
  18842. Flang: [16]TFcChar8{'g', 'e', 'z'},
  18843. Fcharset: TFcCharSet{
  18844. Fref: TFcRef{
  18845. Fcount: -libc.Int32FromInt32(1),
  18846. },
  18847. Fnum: int32(2),
  18848. 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))),
  18849. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18850. },
  18851. },
  18852. 67: {
  18853. Flang: [16]TFcChar8{'g', 'l'},
  18854. Fcharset: TFcCharSet{
  18855. Fref: TFcRef{
  18856. Fcount: -libc.Int32FromInt32(1),
  18857. },
  18858. Fnum: int32(1),
  18859. 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))),
  18860. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18861. },
  18862. },
  18863. 68: {
  18864. Flang: [16]TFcChar8{'g', 'n'},
  18865. Fcharset: TFcCharSet{
  18866. Fref: TFcRef{
  18867. Fcount: -libc.Int32FromInt32(1),
  18868. },
  18869. Fnum: int32(3),
  18870. 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))),
  18871. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18872. },
  18873. },
  18874. 69: {
  18875. Flang: [16]TFcChar8{'g', 'u'},
  18876. Fcharset: TFcCharSet{
  18877. Fref: TFcRef{
  18878. Fcount: -libc.Int32FromInt32(1),
  18879. },
  18880. Fnum: int32(1),
  18881. 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))),
  18882. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18883. },
  18884. },
  18885. 70: {
  18886. Flang: [16]TFcChar8{'g', 'v'},
  18887. Fcharset: TFcCharSet{
  18888. Fref: TFcRef{
  18889. Fcount: -libc.Int32FromInt32(1),
  18890. },
  18891. Fnum: int32(1),
  18892. 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))),
  18893. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18894. },
  18895. },
  18896. 71: {
  18897. Flang: [16]TFcChar8{'h', 'a'},
  18898. Fcharset: TFcCharSet{
  18899. Fref: TFcRef{
  18900. Fcount: -libc.Int32FromInt32(1),
  18901. },
  18902. Fnum: int32(3),
  18903. 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))),
  18904. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18905. },
  18906. },
  18907. 72: {
  18908. Flang: [16]TFcChar8{'h', 'a', 'w'},
  18909. Fcharset: TFcCharSet{
  18910. Fref: TFcRef{
  18911. Fcount: -libc.Int32FromInt32(1),
  18912. },
  18913. Fnum: int32(3),
  18914. 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))),
  18915. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18916. },
  18917. },
  18918. 73: {
  18919. Flang: [16]TFcChar8{'h', 'e'},
  18920. Fcharset: TFcCharSet{
  18921. Fref: TFcRef{
  18922. Fcount: -libc.Int32FromInt32(1),
  18923. },
  18924. Fnum: int32(1),
  18925. 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))),
  18926. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18927. },
  18928. },
  18929. 74: {
  18930. Flang: [16]TFcChar8{'h', 'i'},
  18931. Fcharset: TFcCharSet{
  18932. Fref: TFcRef{
  18933. Fcount: -libc.Int32FromInt32(1),
  18934. },
  18935. Fnum: int32(1),
  18936. 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))),
  18937. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18938. },
  18939. },
  18940. 75: {
  18941. Flang: [16]TFcChar8{'h', 'n', 'e'},
  18942. Fcharset: TFcCharSet{
  18943. Fref: TFcRef{
  18944. Fcount: -libc.Int32FromInt32(1),
  18945. },
  18946. Fnum: int32(1),
  18947. 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))),
  18948. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18949. },
  18950. },
  18951. 76: {
  18952. Flang: [16]TFcChar8{'h', 'o'},
  18953. Fcharset: TFcCharSet{
  18954. Fref: TFcRef{
  18955. Fcount: -libc.Int32FromInt32(1),
  18956. },
  18957. Fnum: int32(1),
  18958. 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))),
  18959. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18960. },
  18961. },
  18962. 77: {
  18963. Flang: [16]TFcChar8{'h', 'r'},
  18964. Fcharset: TFcCharSet{
  18965. Fref: TFcRef{
  18966. Fcount: -libc.Int32FromInt32(1),
  18967. },
  18968. Fnum: int32(2),
  18969. 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))),
  18970. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18971. },
  18972. },
  18973. 78: {
  18974. Flang: [16]TFcChar8{'h', 's', 'b'},
  18975. Fcharset: TFcCharSet{
  18976. Fref: TFcRef{
  18977. Fcount: -libc.Int32FromInt32(1),
  18978. },
  18979. Fnum: int32(2),
  18980. 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))),
  18981. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18982. },
  18983. },
  18984. 79: {
  18985. Flang: [16]TFcChar8{'h', 't'},
  18986. Fcharset: TFcCharSet{
  18987. Fref: TFcRef{
  18988. Fcount: -libc.Int32FromInt32(1),
  18989. },
  18990. Fnum: int32(1),
  18991. 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))),
  18992. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  18993. },
  18994. },
  18995. 80: {
  18996. Flang: [16]TFcChar8{'h', 'u'},
  18997. Fcharset: TFcCharSet{
  18998. Fref: TFcRef{
  18999. Fcount: -libc.Int32FromInt32(1),
  19000. },
  19001. Fnum: int32(2),
  19002. 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))),
  19003. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19004. },
  19005. },
  19006. 81: {
  19007. Flang: [16]TFcChar8{'h', 'y'},
  19008. Fcharset: TFcCharSet{
  19009. Fref: TFcRef{
  19010. Fcount: -libc.Int32FromInt32(1),
  19011. },
  19012. Fnum: int32(1),
  19013. 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))),
  19014. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19015. },
  19016. },
  19017. 82: {
  19018. Flang: [16]TFcChar8{'h', 'z'},
  19019. Fcharset: TFcCharSet{
  19020. Fref: TFcRef{
  19021. Fcount: -libc.Int32FromInt32(1),
  19022. },
  19023. Fnum: int32(3),
  19024. 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))),
  19025. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19026. },
  19027. },
  19028. 83: {
  19029. Flang: [16]TFcChar8{'i', 'a'},
  19030. Fcharset: TFcCharSet{
  19031. Fref: TFcRef{
  19032. Fcount: -libc.Int32FromInt32(1),
  19033. },
  19034. Fnum: int32(1),
  19035. 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))),
  19036. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19037. },
  19038. },
  19039. 84: {
  19040. Flang: [16]TFcChar8{'i', 'd'},
  19041. Fcharset: TFcCharSet{
  19042. Fref: TFcRef{
  19043. Fcount: -libc.Int32FromInt32(1),
  19044. },
  19045. Fnum: int32(1),
  19046. 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))),
  19047. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19048. },
  19049. },
  19050. 85: {
  19051. Flang: [16]TFcChar8{'i', 'e'},
  19052. Fcharset: TFcCharSet{
  19053. Fref: TFcRef{
  19054. Fcount: -libc.Int32FromInt32(1),
  19055. },
  19056. Fnum: int32(1),
  19057. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19058. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19059. },
  19060. },
  19061. 86: {
  19062. Flang: [16]TFcChar8{'i', 'g'},
  19063. Fcharset: TFcCharSet{
  19064. Fref: TFcRef{
  19065. Fcount: -libc.Int32FromInt32(1),
  19066. },
  19067. Fnum: int32(2),
  19068. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19069. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19070. },
  19071. },
  19072. 87: {
  19073. Flang: [16]TFcChar8{'i', 'i'},
  19074. Fcharset: TFcCharSet{
  19075. Fref: TFcRef{
  19076. Fcount: -libc.Int32FromInt32(1),
  19077. },
  19078. Fnum: int32(5),
  19079. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19080. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19081. },
  19082. },
  19083. 88: {
  19084. Flang: [16]TFcChar8{'i', 'k'},
  19085. Fcharset: TFcCharSet{
  19086. Fref: TFcRef{
  19087. Fcount: -libc.Int32FromInt32(1),
  19088. },
  19089. Fnum: int32(1),
  19090. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19091. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19092. },
  19093. },
  19094. 89: {
  19095. Flang: [16]TFcChar8{'i', 'o'},
  19096. Fcharset: TFcCharSet{
  19097. Fref: TFcRef{
  19098. Fcount: -libc.Int32FromInt32(1),
  19099. },
  19100. Fnum: int32(1),
  19101. 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))),
  19102. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19103. },
  19104. },
  19105. 90: {
  19106. Flang: [16]TFcChar8{'i', 's'},
  19107. Fcharset: TFcCharSet{
  19108. Fref: TFcRef{
  19109. Fcount: -libc.Int32FromInt32(1),
  19110. },
  19111. Fnum: int32(1),
  19112. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19113. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19114. },
  19115. },
  19116. 91: {
  19117. Flang: [16]TFcChar8{'i', 't'},
  19118. Fcharset: TFcCharSet{
  19119. Fref: TFcRef{
  19120. Fcount: -libc.Int32FromInt32(1),
  19121. },
  19122. Fnum: int32(1),
  19123. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19124. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19125. },
  19126. },
  19127. 92: {
  19128. Flang: [16]TFcChar8{'i', 'u'},
  19129. Fcharset: TFcCharSet{
  19130. Fref: TFcRef{
  19131. Fcount: -libc.Int32FromInt32(1),
  19132. },
  19133. Fnum: int32(3),
  19134. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19135. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19136. },
  19137. },
  19138. 93: {
  19139. Flang: [16]TFcChar8{'j', 'a'},
  19140. Fcharset: TFcCharSet{
  19141. Fref: TFcRef{
  19142. Fcount: -libc.Int32FromInt32(1),
  19143. },
  19144. Fnum: int32(83),
  19145. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19146. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19147. },
  19148. },
  19149. 94: {
  19150. Flang: [16]TFcChar8{'j', 'v'},
  19151. Fcharset: TFcCharSet{
  19152. Fref: TFcRef{
  19153. Fcount: -libc.Int32FromInt32(1),
  19154. },
  19155. Fnum: int32(1),
  19156. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19157. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19158. },
  19159. },
  19160. 95: {
  19161. Flang: [16]TFcChar8{'k', 'a'},
  19162. Fcharset: TFcCharSet{
  19163. Fref: TFcRef{
  19164. Fcount: -libc.Int32FromInt32(1),
  19165. },
  19166. Fnum: int32(1),
  19167. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19168. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19169. },
  19170. },
  19171. 96: {
  19172. Flang: [16]TFcChar8{'k', 'a', 'a'},
  19173. Fcharset: TFcCharSet{
  19174. Fref: TFcRef{
  19175. Fcount: -libc.Int32FromInt32(1),
  19176. },
  19177. Fnum: int32(1),
  19178. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19179. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19180. },
  19181. },
  19182. 97: {
  19183. Flang: [16]TFcChar8{'k', 'a', 'b'},
  19184. Fcharset: TFcCharSet{
  19185. Fref: TFcRef{
  19186. Fcount: -libc.Int32FromInt32(1),
  19187. },
  19188. Fnum: int32(4),
  19189. 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))),
  19190. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19191. },
  19192. },
  19193. 98: {
  19194. Flang: [16]TFcChar8{'k', 'i'},
  19195. Fcharset: TFcCharSet{
  19196. Fref: TFcRef{
  19197. Fcount: -libc.Int32FromInt32(1),
  19198. },
  19199. Fnum: int32(2),
  19200. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19201. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19202. },
  19203. },
  19204. 99: {
  19205. Flang: [16]TFcChar8{'k', 'j'},
  19206. Fcharset: TFcCharSet{
  19207. Fref: TFcRef{
  19208. Fcount: -libc.Int32FromInt32(1),
  19209. },
  19210. Fnum: int32(1),
  19211. 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))),
  19212. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19213. },
  19214. },
  19215. 100: {
  19216. Flang: [16]TFcChar8{'k', 'k'},
  19217. Fcharset: TFcCharSet{
  19218. Fref: TFcRef{
  19219. Fcount: -libc.Int32FromInt32(1),
  19220. },
  19221. Fnum: int32(1),
  19222. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19223. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19224. },
  19225. },
  19226. 101: {
  19227. Flang: [16]TFcChar8{'k', 'l'},
  19228. Fcharset: TFcCharSet{
  19229. Fref: TFcRef{
  19230. Fcount: -libc.Int32FromInt32(1),
  19231. },
  19232. Fnum: int32(2),
  19233. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19234. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19235. },
  19236. },
  19237. 102: {
  19238. Flang: [16]TFcChar8{'k', 'm'},
  19239. Fcharset: TFcCharSet{
  19240. Fref: TFcRef{
  19241. Fcount: -libc.Int32FromInt32(1),
  19242. },
  19243. Fnum: int32(1),
  19244. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19245. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19246. },
  19247. },
  19248. 103: {
  19249. Flang: [16]TFcChar8{'k', 'n'},
  19250. Fcharset: TFcCharSet{
  19251. Fref: TFcRef{
  19252. Fcount: -libc.Int32FromInt32(1),
  19253. },
  19254. Fnum: int32(1),
  19255. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19256. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19257. },
  19258. },
  19259. 104: {
  19260. Flang: [16]TFcChar8{'k', 'o'},
  19261. Fcharset: TFcCharSet{
  19262. Fref: TFcRef{
  19263. Fcount: -libc.Int32FromInt32(1),
  19264. },
  19265. Fnum: int32(45),
  19266. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19267. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19268. },
  19269. },
  19270. 105: {
  19271. Flang: [16]TFcChar8{'k', 'o', 'k'},
  19272. Fcharset: TFcCharSet{
  19273. Fref: TFcRef{
  19274. Fcount: -libc.Int32FromInt32(1),
  19275. },
  19276. Fnum: int32(1),
  19277. 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))),
  19278. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19279. },
  19280. },
  19281. 106: {
  19282. Flang: [16]TFcChar8{'k', 'r'},
  19283. Fcharset: TFcCharSet{
  19284. Fref: TFcRef{
  19285. Fcount: -libc.Int32FromInt32(1),
  19286. },
  19287. Fnum: int32(3),
  19288. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19289. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19290. },
  19291. },
  19292. 107: {
  19293. Flang: [16]TFcChar8{'k', 's'},
  19294. Fcharset: TFcCharSet{
  19295. Fref: TFcRef{
  19296. Fcount: -libc.Int32FromInt32(1),
  19297. },
  19298. Fnum: int32(1),
  19299. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19300. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19301. },
  19302. },
  19303. 108: {
  19304. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  19305. Fcharset: TFcCharSet{
  19306. Fref: TFcRef{
  19307. Fcount: -libc.Int32FromInt32(1),
  19308. },
  19309. Fnum: int32(2),
  19310. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19311. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19312. },
  19313. },
  19314. 109: {
  19315. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  19316. Fcharset: TFcCharSet{
  19317. Fref: TFcRef{
  19318. Fcount: -libc.Int32FromInt32(1),
  19319. },
  19320. Fnum: int32(1),
  19321. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19322. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19323. },
  19324. },
  19325. 110: {
  19326. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  19327. Fcharset: TFcCharSet{
  19328. Fref: TFcRef{
  19329. Fcount: -libc.Int32FromInt32(1),
  19330. },
  19331. Fnum: int32(1),
  19332. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19333. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19334. },
  19335. },
  19336. 111: {
  19337. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  19338. Fcharset: TFcCharSet{
  19339. Fref: TFcRef{
  19340. Fcount: -libc.Int32FromInt32(1),
  19341. },
  19342. Fnum: int32(2),
  19343. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19344. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19345. },
  19346. },
  19347. 112: {
  19348. Flang: [16]TFcChar8{'k', 'u', 'm'},
  19349. Fcharset: TFcCharSet{
  19350. Fref: TFcRef{
  19351. Fcount: -libc.Int32FromInt32(1),
  19352. },
  19353. Fnum: int32(1),
  19354. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19355. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19356. },
  19357. },
  19358. 113: {
  19359. Flang: [16]TFcChar8{'k', 'v'},
  19360. Fcharset: TFcCharSet{
  19361. Fref: TFcRef{
  19362. Fcount: -libc.Int32FromInt32(1),
  19363. },
  19364. Fnum: int32(1),
  19365. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19366. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19367. },
  19368. },
  19369. 114: {
  19370. Flang: [16]TFcChar8{'k', 'w'},
  19371. Fcharset: TFcCharSet{
  19372. Fref: TFcRef{
  19373. Fcount: -libc.Int32FromInt32(1),
  19374. },
  19375. Fnum: int32(3),
  19376. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19377. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19378. },
  19379. },
  19380. 115: {
  19381. Flang: [16]TFcChar8{'k', 'w', 'm'},
  19382. Fcharset: TFcCharSet{
  19383. Fref: TFcRef{
  19384. Fcount: -libc.Int32FromInt32(1),
  19385. },
  19386. Fnum: int32(1),
  19387. 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))),
  19388. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19389. },
  19390. },
  19391. 116: {
  19392. Flang: [16]TFcChar8{'k', 'y'},
  19393. Fcharset: TFcCharSet{
  19394. Fref: TFcRef{
  19395. Fcount: -libc.Int32FromInt32(1),
  19396. },
  19397. Fnum: int32(1),
  19398. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19399. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19400. },
  19401. },
  19402. 117: {
  19403. Flang: [16]TFcChar8{'l', 'a'},
  19404. Fcharset: TFcCharSet{
  19405. Fref: TFcRef{
  19406. Fcount: -libc.Int32FromInt32(1),
  19407. },
  19408. Fnum: int32(2),
  19409. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19410. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19411. },
  19412. },
  19413. 118: {
  19414. Flang: [16]TFcChar8{'l', 'a', 'h'},
  19415. Fcharset: TFcCharSet{
  19416. Fref: TFcRef{
  19417. Fcount: -libc.Int32FromInt32(1),
  19418. },
  19419. Fnum: int32(1),
  19420. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19421. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19422. },
  19423. },
  19424. 119: {
  19425. Flang: [16]TFcChar8{'l', 'b'},
  19426. Fcharset: TFcCharSet{
  19427. Fref: TFcRef{
  19428. Fcount: -libc.Int32FromInt32(1),
  19429. },
  19430. Fnum: int32(1),
  19431. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19432. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19433. },
  19434. },
  19435. 120: {
  19436. Flang: [16]TFcChar8{'l', 'e', 'z'},
  19437. Fcharset: TFcCharSet{
  19438. Fref: TFcRef{
  19439. Fcount: -libc.Int32FromInt32(1),
  19440. },
  19441. Fnum: int32(1),
  19442. 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))),
  19443. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19444. },
  19445. },
  19446. 121: {
  19447. Flang: [16]TFcChar8{'l', 'g'},
  19448. Fcharset: TFcCharSet{
  19449. Fref: TFcRef{
  19450. Fcount: -libc.Int32FromInt32(1),
  19451. },
  19452. Fnum: int32(2),
  19453. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19454. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19455. },
  19456. },
  19457. 122: {
  19458. Flang: [16]TFcChar8{'l', 'i'},
  19459. Fcharset: TFcCharSet{
  19460. Fref: TFcRef{
  19461. Fcount: -libc.Int32FromInt32(1),
  19462. },
  19463. Fnum: int32(1),
  19464. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19465. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19466. },
  19467. },
  19468. 123: {
  19469. Flang: [16]TFcChar8{'l', 'n'},
  19470. Fcharset: TFcCharSet{
  19471. Fref: TFcRef{
  19472. Fcount: -libc.Int32FromInt32(1),
  19473. },
  19474. Fnum: int32(4),
  19475. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19476. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19477. },
  19478. },
  19479. 124: {
  19480. Flang: [16]TFcChar8{'l', 'o'},
  19481. Fcharset: TFcCharSet{
  19482. Fref: TFcRef{
  19483. Fcount: -libc.Int32FromInt32(1),
  19484. },
  19485. Fnum: int32(1),
  19486. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19487. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19488. },
  19489. },
  19490. 125: {
  19491. Flang: [16]TFcChar8{'l', 't'},
  19492. Fcharset: TFcCharSet{
  19493. Fref: TFcRef{
  19494. Fcount: -libc.Int32FromInt32(1),
  19495. },
  19496. Fnum: int32(2),
  19497. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19498. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19499. },
  19500. },
  19501. 126: {
  19502. Flang: [16]TFcChar8{'l', 'v'},
  19503. Fcharset: TFcCharSet{
  19504. Fref: TFcRef{
  19505. Fcount: -libc.Int32FromInt32(1),
  19506. },
  19507. Fnum: int32(2),
  19508. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19509. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19510. },
  19511. },
  19512. 127: {
  19513. Flang: [16]TFcChar8{'m', 'a', 'i'},
  19514. Fcharset: TFcCharSet{
  19515. Fref: TFcRef{
  19516. Fcount: -libc.Int32FromInt32(1),
  19517. },
  19518. Fnum: int32(1),
  19519. 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))),
  19520. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19521. },
  19522. },
  19523. 128: {
  19524. Flang: [16]TFcChar8{'m', 'g'},
  19525. Fcharset: TFcCharSet{
  19526. Fref: TFcRef{
  19527. Fcount: -libc.Int32FromInt32(1),
  19528. },
  19529. Fnum: int32(1),
  19530. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19531. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19532. },
  19533. },
  19534. 129: {
  19535. Flang: [16]TFcChar8{'m', 'h'},
  19536. Fcharset: TFcCharSet{
  19537. Fref: TFcRef{
  19538. Fcount: -libc.Int32FromInt32(1),
  19539. },
  19540. Fnum: int32(2),
  19541. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19542. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19543. },
  19544. },
  19545. 130: {
  19546. Flang: [16]TFcChar8{'m', 'i'},
  19547. Fcharset: TFcCharSet{
  19548. Fref: TFcRef{
  19549. Fcount: -libc.Int32FromInt32(1),
  19550. },
  19551. Fnum: int32(3),
  19552. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19553. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19554. },
  19555. },
  19556. 131: {
  19557. Flang: [16]TFcChar8{'m', 'k'},
  19558. Fcharset: TFcCharSet{
  19559. Fref: TFcRef{
  19560. Fcount: -libc.Int32FromInt32(1),
  19561. },
  19562. Fnum: int32(1),
  19563. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19564. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19565. },
  19566. },
  19567. 132: {
  19568. Flang: [16]TFcChar8{'m', 'l'},
  19569. Fcharset: TFcCharSet{
  19570. Fref: TFcRef{
  19571. Fcount: -libc.Int32FromInt32(1),
  19572. },
  19573. Fnum: int32(1),
  19574. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19575. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19576. },
  19577. },
  19578. 133: {
  19579. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  19580. Fcharset: TFcCharSet{
  19581. Fref: TFcRef{
  19582. Fcount: -libc.Int32FromInt32(1),
  19583. },
  19584. Fnum: int32(1),
  19585. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19586. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19587. },
  19588. },
  19589. 134: {
  19590. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  19591. Fcharset: TFcCharSet{
  19592. Fref: TFcRef{
  19593. Fcount: -libc.Int32FromInt32(1),
  19594. },
  19595. Fnum: int32(1),
  19596. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19597. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19598. },
  19599. },
  19600. 135: {
  19601. Flang: [16]TFcChar8{'m', 'n', 'i'},
  19602. Fcharset: TFcCharSet{
  19603. Fref: TFcRef{
  19604. Fcount: -libc.Int32FromInt32(1),
  19605. },
  19606. Fnum: int32(1),
  19607. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19608. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19609. },
  19610. },
  19611. 136: {
  19612. Flang: [16]TFcChar8{'m', 'o'},
  19613. Fcharset: TFcCharSet{
  19614. Fref: TFcRef{
  19615. Fcount: -libc.Int32FromInt32(1),
  19616. },
  19617. Fnum: int32(4),
  19618. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19619. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19620. },
  19621. },
  19622. 137: {
  19623. Flang: [16]TFcChar8{'m', 'r'},
  19624. Fcharset: TFcCharSet{
  19625. Fref: TFcRef{
  19626. Fcount: -libc.Int32FromInt32(1),
  19627. },
  19628. Fnum: int32(1),
  19629. 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))),
  19630. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19631. },
  19632. },
  19633. 138: {
  19634. Flang: [16]TFcChar8{'m', 's'},
  19635. Fcharset: TFcCharSet{
  19636. Fref: TFcRef{
  19637. Fcount: -libc.Int32FromInt32(1),
  19638. },
  19639. Fnum: int32(1),
  19640. 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))),
  19641. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19642. },
  19643. },
  19644. 139: {
  19645. Flang: [16]TFcChar8{'m', 't'},
  19646. Fcharset: TFcCharSet{
  19647. Fref: TFcRef{
  19648. Fcount: -libc.Int32FromInt32(1),
  19649. },
  19650. Fnum: int32(2),
  19651. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19652. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19653. },
  19654. },
  19655. 140: {
  19656. Flang: [16]TFcChar8{'m', 'y'},
  19657. Fcharset: TFcCharSet{
  19658. Fref: TFcRef{
  19659. Fcount: -libc.Int32FromInt32(1),
  19660. },
  19661. Fnum: int32(1),
  19662. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19663. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19664. },
  19665. },
  19666. 141: {
  19667. Flang: [16]TFcChar8{'n', 'a'},
  19668. Fcharset: TFcCharSet{
  19669. Fref: TFcRef{
  19670. Fcount: -libc.Int32FromInt32(1),
  19671. },
  19672. Fnum: int32(2),
  19673. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19674. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19675. },
  19676. },
  19677. 142: {
  19678. Flang: [16]TFcChar8{'n', 'b'},
  19679. Fcharset: TFcCharSet{
  19680. Fref: TFcRef{
  19681. Fcount: -libc.Int32FromInt32(1),
  19682. },
  19683. Fnum: int32(1),
  19684. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19685. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19686. },
  19687. },
  19688. 143: {
  19689. Flang: [16]TFcChar8{'n', 'd', 's'},
  19690. Fcharset: TFcCharSet{
  19691. Fref: TFcRef{
  19692. Fcount: -libc.Int32FromInt32(1),
  19693. },
  19694. Fnum: int32(1),
  19695. 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))),
  19696. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19697. },
  19698. },
  19699. 144: {
  19700. Flang: [16]TFcChar8{'n', 'e'},
  19701. Fcharset: TFcCharSet{
  19702. Fref: TFcRef{
  19703. Fcount: -libc.Int32FromInt32(1),
  19704. },
  19705. Fnum: int32(1),
  19706. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19707. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19708. },
  19709. },
  19710. 145: {
  19711. Flang: [16]TFcChar8{'n', 'g'},
  19712. Fcharset: TFcCharSet{
  19713. Fref: TFcRef{
  19714. Fcount: -libc.Int32FromInt32(1),
  19715. },
  19716. Fnum: int32(1),
  19717. 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))),
  19718. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19719. },
  19720. },
  19721. 146: {
  19722. Flang: [16]TFcChar8{'n', 'l'},
  19723. Fcharset: TFcCharSet{
  19724. Fref: TFcRef{
  19725. Fcount: -libc.Int32FromInt32(1),
  19726. },
  19727. Fnum: int32(1),
  19728. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19729. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19730. },
  19731. },
  19732. 147: {
  19733. Flang: [16]TFcChar8{'n', 'n'},
  19734. Fcharset: TFcCharSet{
  19735. Fref: TFcRef{
  19736. Fcount: -libc.Int32FromInt32(1),
  19737. },
  19738. Fnum: int32(1),
  19739. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19740. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19741. },
  19742. },
  19743. 148: {
  19744. Flang: [16]TFcChar8{'n', 'o'},
  19745. Fcharset: TFcCharSet{
  19746. Fref: TFcRef{
  19747. Fcount: -libc.Int32FromInt32(1),
  19748. },
  19749. Fnum: int32(1),
  19750. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19751. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19752. },
  19753. },
  19754. 149: {
  19755. Flang: [16]TFcChar8{'n', 'q', 'o'},
  19756. Fcharset: TFcCharSet{
  19757. Fref: TFcRef{
  19758. Fcount: -libc.Int32FromInt32(1),
  19759. },
  19760. Fnum: int32(1),
  19761. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19762. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19763. },
  19764. },
  19765. 150: {
  19766. Flang: [16]TFcChar8{'n', 'r'},
  19767. Fcharset: TFcCharSet{
  19768. Fref: TFcRef{
  19769. Fcount: -libc.Int32FromInt32(1),
  19770. },
  19771. Fnum: int32(1),
  19772. 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))),
  19773. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19774. },
  19775. },
  19776. 151: {
  19777. Flang: [16]TFcChar8{'n', 's', 'o'},
  19778. Fcharset: TFcCharSet{
  19779. Fref: TFcRef{
  19780. Fcount: -libc.Int32FromInt32(1),
  19781. },
  19782. Fnum: int32(2),
  19783. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19784. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19785. },
  19786. },
  19787. 152: {
  19788. Flang: [16]TFcChar8{'n', 'v'},
  19789. Fcharset: TFcCharSet{
  19790. Fref: TFcRef{
  19791. Fcount: -libc.Int32FromInt32(1),
  19792. },
  19793. Fnum: int32(4),
  19794. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19795. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19796. },
  19797. },
  19798. 153: {
  19799. Flang: [16]TFcChar8{'n', 'y'},
  19800. Fcharset: TFcCharSet{
  19801. Fref: TFcRef{
  19802. Fcount: -libc.Int32FromInt32(1),
  19803. },
  19804. Fnum: int32(2),
  19805. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19806. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19807. },
  19808. },
  19809. 154: {
  19810. Flang: [16]TFcChar8{'o', 'c'},
  19811. Fcharset: TFcCharSet{
  19812. Fref: TFcRef{
  19813. Fcount: -libc.Int32FromInt32(1),
  19814. },
  19815. Fnum: int32(1),
  19816. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19817. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19818. },
  19819. },
  19820. 155: {
  19821. Flang: [16]TFcChar8{'o', 'm'},
  19822. Fcharset: TFcCharSet{
  19823. Fref: TFcRef{
  19824. Fcount: -libc.Int32FromInt32(1),
  19825. },
  19826. Fnum: int32(1),
  19827. 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))),
  19828. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19829. },
  19830. },
  19831. 156: {
  19832. Flang: [16]TFcChar8{'o', 'r'},
  19833. Fcharset: TFcCharSet{
  19834. Fref: TFcRef{
  19835. Fcount: -libc.Int32FromInt32(1),
  19836. },
  19837. Fnum: int32(1),
  19838. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19839. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19840. },
  19841. },
  19842. 157: {
  19843. Flang: [16]TFcChar8{'o', 's'},
  19844. Fcharset: TFcCharSet{
  19845. Fref: TFcRef{
  19846. Fcount: -libc.Int32FromInt32(1),
  19847. },
  19848. Fnum: int32(1),
  19849. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19850. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19851. },
  19852. },
  19853. 158: {
  19854. Flang: [16]TFcChar8{'o', 't', 'a'},
  19855. Fcharset: TFcCharSet{
  19856. Fref: TFcRef{
  19857. Fcount: -libc.Int32FromInt32(1),
  19858. },
  19859. Fnum: int32(1),
  19860. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19861. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19862. },
  19863. },
  19864. 159: {
  19865. Flang: [16]TFcChar8{'p', 'a'},
  19866. Fcharset: TFcCharSet{
  19867. Fref: TFcRef{
  19868. Fcount: -libc.Int32FromInt32(1),
  19869. },
  19870. Fnum: int32(1),
  19871. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19872. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19873. },
  19874. },
  19875. 160: {
  19876. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  19877. Fcharset: TFcCharSet{
  19878. Fref: TFcRef{
  19879. Fcount: -libc.Int32FromInt32(1),
  19880. },
  19881. Fnum: int32(1),
  19882. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19883. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19884. },
  19885. },
  19886. 161: {
  19887. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  19888. Fcharset: TFcCharSet{
  19889. Fref: TFcRef{
  19890. Fcount: -libc.Int32FromInt32(1),
  19891. },
  19892. Fnum: int32(1),
  19893. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19894. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19895. },
  19896. },
  19897. 162: {
  19898. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  19899. Fcharset: TFcCharSet{
  19900. Fref: TFcRef{
  19901. Fcount: -libc.Int32FromInt32(1),
  19902. },
  19903. Fnum: int32(1),
  19904. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19905. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19906. },
  19907. },
  19908. 163: {
  19909. Flang: [16]TFcChar8{'p', 'l'},
  19910. Fcharset: TFcCharSet{
  19911. Fref: TFcRef{
  19912. Fcount: -libc.Int32FromInt32(1),
  19913. },
  19914. Fnum: int32(2),
  19915. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19916. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19917. },
  19918. },
  19919. 164: {
  19920. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  19921. Fcharset: TFcCharSet{
  19922. Fref: TFcRef{
  19923. Fcount: -libc.Int32FromInt32(1),
  19924. },
  19925. Fnum: int32(1),
  19926. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19927. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19928. },
  19929. },
  19930. 165: {
  19931. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  19932. Fcharset: TFcCharSet{
  19933. Fref: TFcRef{
  19934. Fcount: -libc.Int32FromInt32(1),
  19935. },
  19936. Fnum: int32(1),
  19937. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19938. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19939. },
  19940. },
  19941. 166: {
  19942. Flang: [16]TFcChar8{'p', 't'},
  19943. Fcharset: TFcCharSet{
  19944. Fref: TFcRef{
  19945. Fcount: -libc.Int32FromInt32(1),
  19946. },
  19947. Fnum: int32(1),
  19948. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19949. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19950. },
  19951. },
  19952. 167: {
  19953. Flang: [16]TFcChar8{'q', 'u'},
  19954. Fcharset: TFcCharSet{
  19955. Fref: TFcRef{
  19956. Fcount: -libc.Int32FromInt32(1),
  19957. },
  19958. Fnum: int32(2),
  19959. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19960. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19961. },
  19962. },
  19963. 168: {
  19964. Flang: [16]TFcChar8{'q', 'u', 'z'},
  19965. Fcharset: TFcCharSet{
  19966. Fref: TFcRef{
  19967. Fcount: -libc.Int32FromInt32(1),
  19968. },
  19969. Fnum: int32(2),
  19970. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19971. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19972. },
  19973. },
  19974. 169: {
  19975. Flang: [16]TFcChar8{'r', 'm'},
  19976. Fcharset: TFcCharSet{
  19977. Fref: TFcRef{
  19978. Fcount: -libc.Int32FromInt32(1),
  19979. },
  19980. Fnum: int32(1),
  19981. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19982. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19983. },
  19984. },
  19985. 170: {
  19986. Flang: [16]TFcChar8{'r', 'n'},
  19987. Fcharset: TFcCharSet{
  19988. Fref: TFcRef{
  19989. Fcount: -libc.Int32FromInt32(1),
  19990. },
  19991. Fnum: int32(1),
  19992. 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))),
  19993. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  19994. },
  19995. },
  19996. 171: {
  19997. Flang: [16]TFcChar8{'r', 'o'},
  19998. Fcharset: TFcCharSet{
  19999. Fref: TFcRef{
  20000. Fcount: -libc.Int32FromInt32(1),
  20001. },
  20002. Fnum: int32(3),
  20003. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20004. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20005. },
  20006. },
  20007. 172: {
  20008. Flang: [16]TFcChar8{'r', 'u'},
  20009. Fcharset: TFcCharSet{
  20010. Fref: TFcRef{
  20011. Fcount: -libc.Int32FromInt32(1),
  20012. },
  20013. Fnum: int32(1),
  20014. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20015. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20016. },
  20017. },
  20018. 173: {
  20019. Flang: [16]TFcChar8{'r', 'w'},
  20020. Fcharset: TFcCharSet{
  20021. Fref: TFcRef{
  20022. Fcount: -libc.Int32FromInt32(1),
  20023. },
  20024. Fnum: int32(1),
  20025. 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))),
  20026. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20027. },
  20028. },
  20029. 174: {
  20030. Flang: [16]TFcChar8{'s', 'a'},
  20031. Fcharset: TFcCharSet{
  20032. Fref: TFcRef{
  20033. Fcount: -libc.Int32FromInt32(1),
  20034. },
  20035. Fnum: int32(1),
  20036. 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))),
  20037. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20038. },
  20039. },
  20040. 175: {
  20041. Flang: [16]TFcChar8{'s', 'a', 'h'},
  20042. Fcharset: TFcCharSet{
  20043. Fref: TFcRef{
  20044. Fcount: -libc.Int32FromInt32(1),
  20045. },
  20046. Fnum: int32(1),
  20047. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20048. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20049. },
  20050. },
  20051. 176: {
  20052. Flang: [16]TFcChar8{'s', 'a', 't'},
  20053. Fcharset: TFcCharSet{
  20054. Fref: TFcRef{
  20055. Fcount: -libc.Int32FromInt32(1),
  20056. },
  20057. Fnum: int32(1),
  20058. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20059. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20060. },
  20061. },
  20062. 177: {
  20063. Flang: [16]TFcChar8{'s', 'c'},
  20064. Fcharset: TFcCharSet{
  20065. Fref: TFcRef{
  20066. Fcount: -libc.Int32FromInt32(1),
  20067. },
  20068. Fnum: int32(1),
  20069. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20070. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20071. },
  20072. },
  20073. 178: {
  20074. Flang: [16]TFcChar8{'s', 'c', 'o'},
  20075. Fcharset: TFcCharSet{
  20076. Fref: TFcRef{
  20077. Fcount: -libc.Int32FromInt32(1),
  20078. },
  20079. Fnum: int32(3),
  20080. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20081. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20082. },
  20083. },
  20084. 179: {
  20085. Flang: [16]TFcChar8{'s', 'd'},
  20086. Fcharset: TFcCharSet{
  20087. Fref: TFcRef{
  20088. Fcount: -libc.Int32FromInt32(1),
  20089. },
  20090. Fnum: int32(1),
  20091. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20092. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20093. },
  20094. },
  20095. 180: {
  20096. Flang: [16]TFcChar8{'s', 'e'},
  20097. Fcharset: TFcCharSet{
  20098. Fref: TFcRef{
  20099. Fcount: -libc.Int32FromInt32(1),
  20100. },
  20101. Fnum: int32(2),
  20102. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20103. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20104. },
  20105. },
  20106. 181: {
  20107. Flang: [16]TFcChar8{'s', 'e', 'l'},
  20108. Fcharset: TFcCharSet{
  20109. Fref: TFcRef{
  20110. Fcount: -libc.Int32FromInt32(1),
  20111. },
  20112. Fnum: int32(1),
  20113. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20114. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20115. },
  20116. },
  20117. 182: {
  20118. Flang: [16]TFcChar8{'s', 'g'},
  20119. Fcharset: TFcCharSet{
  20120. Fref: TFcRef{
  20121. Fcount: -libc.Int32FromInt32(1),
  20122. },
  20123. Fnum: int32(1),
  20124. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20125. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20126. },
  20127. },
  20128. 183: {
  20129. Flang: [16]TFcChar8{'s', 'h'},
  20130. Fcharset: TFcCharSet{
  20131. Fref: TFcRef{
  20132. Fcount: -libc.Int32FromInt32(1),
  20133. },
  20134. Fnum: int32(3),
  20135. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20136. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20137. },
  20138. },
  20139. 184: {
  20140. Flang: [16]TFcChar8{'s', 'h', 's'},
  20141. Fcharset: TFcCharSet{
  20142. Fref: TFcRef{
  20143. Fcount: -libc.Int32FromInt32(1),
  20144. },
  20145. Fnum: int32(2),
  20146. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20147. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20148. },
  20149. },
  20150. 185: {
  20151. Flang: [16]TFcChar8{'s', 'i'},
  20152. Fcharset: TFcCharSet{
  20153. Fref: TFcRef{
  20154. Fcount: -libc.Int32FromInt32(1),
  20155. },
  20156. Fnum: int32(1),
  20157. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20158. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20159. },
  20160. },
  20161. 186: {
  20162. Flang: [16]TFcChar8{'s', 'i', 'd'},
  20163. Fcharset: TFcCharSet{
  20164. Fref: TFcRef{
  20165. Fcount: -libc.Int32FromInt32(1),
  20166. },
  20167. Fnum: int32(2),
  20168. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20169. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20170. },
  20171. },
  20172. 187: {
  20173. Flang: [16]TFcChar8{'s', 'k'},
  20174. Fcharset: TFcCharSet{
  20175. Fref: TFcRef{
  20176. Fcount: -libc.Int32FromInt32(1),
  20177. },
  20178. Fnum: int32(2),
  20179. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20180. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20181. },
  20182. },
  20183. 188: {
  20184. Flang: [16]TFcChar8{'s', 'l'},
  20185. Fcharset: TFcCharSet{
  20186. Fref: TFcRef{
  20187. Fcount: -libc.Int32FromInt32(1),
  20188. },
  20189. Fnum: int32(2),
  20190. 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))),
  20191. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20192. },
  20193. },
  20194. 189: {
  20195. Flang: [16]TFcChar8{'s', 'm'},
  20196. Fcharset: TFcCharSet{
  20197. Fref: TFcRef{
  20198. Fcount: -libc.Int32FromInt32(1),
  20199. },
  20200. Fnum: int32(2),
  20201. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20202. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20203. },
  20204. },
  20205. 190: {
  20206. Flang: [16]TFcChar8{'s', 'm', 'a'},
  20207. Fcharset: TFcCharSet{
  20208. Fref: TFcRef{
  20209. Fcount: -libc.Int32FromInt32(1),
  20210. },
  20211. Fnum: int32(1),
  20212. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20213. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20214. },
  20215. },
  20216. 191: {
  20217. Flang: [16]TFcChar8{'s', 'm', 'j'},
  20218. Fcharset: TFcCharSet{
  20219. Fref: TFcRef{
  20220. Fcount: -libc.Int32FromInt32(1),
  20221. },
  20222. Fnum: int32(1),
  20223. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20224. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20225. },
  20226. },
  20227. 192: {
  20228. Flang: [16]TFcChar8{'s', 'm', 'n'},
  20229. Fcharset: TFcCharSet{
  20230. Fref: TFcRef{
  20231. Fcount: -libc.Int32FromInt32(1),
  20232. },
  20233. Fnum: int32(2),
  20234. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20235. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20236. },
  20237. },
  20238. 193: {
  20239. Flang: [16]TFcChar8{'s', 'm', 's'},
  20240. Fcharset: TFcCharSet{
  20241. Fref: TFcRef{
  20242. Fcount: -libc.Int32FromInt32(1),
  20243. },
  20244. Fnum: int32(3),
  20245. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20246. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20247. },
  20248. },
  20249. 194: {
  20250. Flang: [16]TFcChar8{'s', 'n'},
  20251. Fcharset: TFcCharSet{
  20252. Fref: TFcRef{
  20253. Fcount: -libc.Int32FromInt32(1),
  20254. },
  20255. Fnum: int32(1),
  20256. 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))),
  20257. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20258. },
  20259. },
  20260. 195: {
  20261. Flang: [16]TFcChar8{'s', 'o'},
  20262. Fcharset: TFcCharSet{
  20263. Fref: TFcRef{
  20264. Fcount: -libc.Int32FromInt32(1),
  20265. },
  20266. Fnum: int32(1),
  20267. 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))),
  20268. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20269. },
  20270. },
  20271. 196: {
  20272. Flang: [16]TFcChar8{'s', 'q'},
  20273. Fcharset: TFcCharSet{
  20274. Fref: TFcRef{
  20275. Fcount: -libc.Int32FromInt32(1),
  20276. },
  20277. Fnum: int32(1),
  20278. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20279. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20280. },
  20281. },
  20282. 197: {
  20283. Flang: [16]TFcChar8{'s', 'r'},
  20284. Fcharset: TFcCharSet{
  20285. Fref: TFcRef{
  20286. Fcount: -libc.Int32FromInt32(1),
  20287. },
  20288. Fnum: int32(1),
  20289. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20290. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20291. },
  20292. },
  20293. 198: {
  20294. Flang: [16]TFcChar8{'s', 's'},
  20295. Fcharset: TFcCharSet{
  20296. Fref: TFcRef{
  20297. Fcount: -libc.Int32FromInt32(1),
  20298. },
  20299. Fnum: int32(1),
  20300. 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))),
  20301. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20302. },
  20303. },
  20304. 199: {
  20305. Flang: [16]TFcChar8{'s', 't'},
  20306. Fcharset: TFcCharSet{
  20307. Fref: TFcRef{
  20308. Fcount: -libc.Int32FromInt32(1),
  20309. },
  20310. Fnum: int32(1),
  20311. 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))),
  20312. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20313. },
  20314. },
  20315. 200: {
  20316. Flang: [16]TFcChar8{'s', 'u'},
  20317. Fcharset: TFcCharSet{
  20318. Fref: TFcRef{
  20319. Fcount: -libc.Int32FromInt32(1),
  20320. },
  20321. Fnum: int32(1),
  20322. 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))),
  20323. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20324. },
  20325. },
  20326. 201: {
  20327. Flang: [16]TFcChar8{'s', 'v'},
  20328. Fcharset: TFcCharSet{
  20329. Fref: TFcRef{
  20330. Fcount: -libc.Int32FromInt32(1),
  20331. },
  20332. Fnum: int32(1),
  20333. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20334. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20335. },
  20336. },
  20337. 202: {
  20338. Flang: [16]TFcChar8{'s', 'w'},
  20339. Fcharset: TFcCharSet{
  20340. Fref: TFcRef{
  20341. Fcount: -libc.Int32FromInt32(1),
  20342. },
  20343. Fnum: int32(1),
  20344. 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))),
  20345. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20346. },
  20347. },
  20348. 203: {
  20349. Flang: [16]TFcChar8{'s', 'y', 'r'},
  20350. Fcharset: TFcCharSet{
  20351. Fref: TFcRef{
  20352. Fcount: -libc.Int32FromInt32(1),
  20353. },
  20354. Fnum: int32(1),
  20355. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20356. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20357. },
  20358. },
  20359. 204: {
  20360. Flang: [16]TFcChar8{'t', 'a'},
  20361. Fcharset: TFcCharSet{
  20362. Fref: TFcRef{
  20363. Fcount: -libc.Int32FromInt32(1),
  20364. },
  20365. Fnum: int32(1),
  20366. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20367. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20368. },
  20369. },
  20370. 205: {
  20371. Flang: [16]TFcChar8{'t', 'e'},
  20372. Fcharset: TFcCharSet{
  20373. Fref: TFcRef{
  20374. Fcount: -libc.Int32FromInt32(1),
  20375. },
  20376. Fnum: int32(1),
  20377. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20378. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20379. },
  20380. },
  20381. 206: {
  20382. Flang: [16]TFcChar8{'t', 'g'},
  20383. Fcharset: TFcCharSet{
  20384. Fref: TFcRef{
  20385. Fcount: -libc.Int32FromInt32(1),
  20386. },
  20387. Fnum: int32(1),
  20388. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20389. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20390. },
  20391. },
  20392. 207: {
  20393. Flang: [16]TFcChar8{'t', 'h'},
  20394. Fcharset: TFcCharSet{
  20395. Fref: TFcRef{
  20396. Fcount: -libc.Int32FromInt32(1),
  20397. },
  20398. Fnum: int32(1),
  20399. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20400. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20401. },
  20402. },
  20403. 208: {
  20404. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  20405. Fcharset: TFcCharSet{
  20406. Fref: TFcRef{
  20407. Fcount: -libc.Int32FromInt32(1),
  20408. },
  20409. Fnum: int32(2),
  20410. 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))),
  20411. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20412. },
  20413. },
  20414. 209: {
  20415. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  20416. Fcharset: TFcCharSet{
  20417. Fref: TFcRef{
  20418. Fcount: -libc.Int32FromInt32(1),
  20419. },
  20420. Fnum: int32(2),
  20421. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20422. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20423. },
  20424. },
  20425. 210: {
  20426. Flang: [16]TFcChar8{'t', 'i', 'g'},
  20427. Fcharset: TFcCharSet{
  20428. Fref: TFcRef{
  20429. Fcount: -libc.Int32FromInt32(1),
  20430. },
  20431. Fnum: int32(2),
  20432. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20433. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20434. },
  20435. },
  20436. 211: {
  20437. Flang: [16]TFcChar8{'t', 'k'},
  20438. Fcharset: TFcCharSet{
  20439. Fref: TFcRef{
  20440. Fcount: -libc.Int32FromInt32(1),
  20441. },
  20442. Fnum: int32(2),
  20443. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20444. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20445. },
  20446. },
  20447. 212: {
  20448. Flang: [16]TFcChar8{'t', 'l'},
  20449. Fcharset: TFcCharSet{
  20450. Fref: TFcRef{
  20451. Fcount: -libc.Int32FromInt32(1),
  20452. },
  20453. Fnum: int32(1),
  20454. 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))),
  20455. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20456. },
  20457. },
  20458. 213: {
  20459. Flang: [16]TFcChar8{'t', 'n'},
  20460. Fcharset: TFcCharSet{
  20461. Fref: TFcRef{
  20462. Fcount: -libc.Int32FromInt32(1),
  20463. },
  20464. Fnum: int32(2),
  20465. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20466. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20467. },
  20468. },
  20469. 214: {
  20470. Flang: [16]TFcChar8{'t', 'o'},
  20471. Fcharset: TFcCharSet{
  20472. Fref: TFcRef{
  20473. Fcount: -libc.Int32FromInt32(1),
  20474. },
  20475. Fnum: int32(2),
  20476. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20477. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20478. },
  20479. },
  20480. 215: {
  20481. Flang: [16]TFcChar8{'t', 'r'},
  20482. Fcharset: TFcCharSet{
  20483. Fref: TFcRef{
  20484. Fcount: -libc.Int32FromInt32(1),
  20485. },
  20486. Fnum: int32(2),
  20487. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20488. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20489. },
  20490. },
  20491. 216: {
  20492. Flang: [16]TFcChar8{'t', 's'},
  20493. Fcharset: TFcCharSet{
  20494. Fref: TFcRef{
  20495. Fcount: -libc.Int32FromInt32(1),
  20496. },
  20497. Fnum: int32(1),
  20498. 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))),
  20499. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20500. },
  20501. },
  20502. 217: {
  20503. Flang: [16]TFcChar8{'t', 't'},
  20504. Fcharset: TFcCharSet{
  20505. Fref: TFcRef{
  20506. Fcount: -libc.Int32FromInt32(1),
  20507. },
  20508. Fnum: int32(1),
  20509. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20510. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20511. },
  20512. },
  20513. 218: {
  20514. Flang: [16]TFcChar8{'t', 'w'},
  20515. Fcharset: TFcCharSet{
  20516. Fref: TFcRef{
  20517. Fcount: -libc.Int32FromInt32(1),
  20518. },
  20519. Fnum: int32(5),
  20520. 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))),
  20521. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20522. },
  20523. },
  20524. 219: {
  20525. Flang: [16]TFcChar8{'t', 'y'},
  20526. Fcharset: TFcCharSet{
  20527. Fref: TFcRef{
  20528. Fcount: -libc.Int32FromInt32(1),
  20529. },
  20530. Fnum: int32(3),
  20531. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20532. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20533. },
  20534. },
  20535. 220: {
  20536. Flang: [16]TFcChar8{'t', 'y', 'v'},
  20537. Fcharset: TFcCharSet{
  20538. Fref: TFcRef{
  20539. Fcount: -libc.Int32FromInt32(1),
  20540. },
  20541. Fnum: int32(1),
  20542. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20543. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20544. },
  20545. },
  20546. 221: {
  20547. Flang: [16]TFcChar8{'u', 'g'},
  20548. Fcharset: TFcCharSet{
  20549. Fref: TFcRef{
  20550. Fcount: -libc.Int32FromInt32(1),
  20551. },
  20552. Fnum: int32(1),
  20553. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20554. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20555. },
  20556. },
  20557. 222: {
  20558. Flang: [16]TFcChar8{'u', 'k'},
  20559. Fcharset: TFcCharSet{
  20560. Fref: TFcRef{
  20561. Fcount: -libc.Int32FromInt32(1),
  20562. },
  20563. Fnum: int32(1),
  20564. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20565. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20566. },
  20567. },
  20568. 223: {
  20569. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  20570. Fcharset: TFcCharSet{
  20571. Fref: TFcRef{
  20572. Fcount: -libc.Int32FromInt32(1),
  20573. },
  20574. Fnum: int32(12),
  20575. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20576. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20577. },
  20578. },
  20579. 224: {
  20580. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  20581. Fcharset: TFcCharSet{
  20582. Fref: TFcRef{
  20583. Fcount: -libc.Int32FromInt32(1),
  20584. },
  20585. Fnum: int32(12),
  20586. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20587. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20588. },
  20589. },
  20590. 225: {
  20591. Flang: [16]TFcChar8{'u', 'r'},
  20592. Fcharset: TFcCharSet{
  20593. Fref: TFcRef{
  20594. Fcount: -libc.Int32FromInt32(1),
  20595. },
  20596. Fnum: int32(1),
  20597. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20598. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20599. },
  20600. },
  20601. 226: {
  20602. Flang: [16]TFcChar8{'u', 'z'},
  20603. Fcharset: TFcCharSet{
  20604. Fref: TFcRef{
  20605. Fcount: -libc.Int32FromInt32(1),
  20606. },
  20607. Fnum: int32(1),
  20608. 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))),
  20609. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20610. },
  20611. },
  20612. 227: {
  20613. Flang: [16]TFcChar8{'v', 'e'},
  20614. Fcharset: TFcCharSet{
  20615. Fref: TFcRef{
  20616. Fcount: -libc.Int32FromInt32(1),
  20617. },
  20618. Fnum: int32(2),
  20619. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20620. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20621. },
  20622. },
  20623. 228: {
  20624. Flang: [16]TFcChar8{'v', 'i'},
  20625. Fcharset: TFcCharSet{
  20626. Fref: TFcRef{
  20627. Fcount: -libc.Int32FromInt32(1),
  20628. },
  20629. Fnum: int32(4),
  20630. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20631. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20632. },
  20633. },
  20634. 229: {
  20635. Flang: [16]TFcChar8{'v', 'o'},
  20636. Fcharset: TFcCharSet{
  20637. Fref: TFcRef{
  20638. Fcount: -libc.Int32FromInt32(1),
  20639. },
  20640. Fnum: int32(1),
  20641. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20642. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20643. },
  20644. },
  20645. 230: {
  20646. Flang: [16]TFcChar8{'v', 'o', 't'},
  20647. Fcharset: TFcCharSet{
  20648. Fref: TFcRef{
  20649. Fcount: -libc.Int32FromInt32(1),
  20650. },
  20651. Fnum: int32(2),
  20652. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20653. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20654. },
  20655. },
  20656. 231: {
  20657. Flang: [16]TFcChar8{'w', 'a'},
  20658. Fcharset: TFcCharSet{
  20659. Fref: TFcRef{
  20660. Fcount: -libc.Int32FromInt32(1),
  20661. },
  20662. Fnum: int32(1),
  20663. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20664. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20665. },
  20666. },
  20667. 232: {
  20668. Flang: [16]TFcChar8{'w', 'a', 'l'},
  20669. Fcharset: TFcCharSet{
  20670. Fref: TFcRef{
  20671. Fcount: -libc.Int32FromInt32(1),
  20672. },
  20673. Fnum: int32(2),
  20674. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20675. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20676. },
  20677. },
  20678. 233: {
  20679. Flang: [16]TFcChar8{'w', 'e', 'n'},
  20680. Fcharset: TFcCharSet{
  20681. Fref: TFcRef{
  20682. Fcount: -libc.Int32FromInt32(1),
  20683. },
  20684. Fnum: int32(2),
  20685. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20686. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20687. },
  20688. },
  20689. 234: {
  20690. Flang: [16]TFcChar8{'w', 'o'},
  20691. Fcharset: TFcCharSet{
  20692. Fref: TFcRef{
  20693. Fcount: -libc.Int32FromInt32(1),
  20694. },
  20695. Fnum: int32(2),
  20696. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20697. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20698. },
  20699. },
  20700. 235: {
  20701. Flang: [16]TFcChar8{'x', 'h'},
  20702. Fcharset: TFcCharSet{
  20703. Fref: TFcRef{
  20704. Fcount: -libc.Int32FromInt32(1),
  20705. },
  20706. Fnum: int32(1),
  20707. 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))),
  20708. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20709. },
  20710. },
  20711. 236: {
  20712. Flang: [16]TFcChar8{'y', 'a', 'p'},
  20713. Fcharset: TFcCharSet{
  20714. Fref: TFcRef{
  20715. Fcount: -libc.Int32FromInt32(1),
  20716. },
  20717. Fnum: int32(1),
  20718. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20719. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20720. },
  20721. },
  20722. 237: {
  20723. Flang: [16]TFcChar8{'y', 'i'},
  20724. Fcharset: TFcCharSet{
  20725. Fref: TFcRef{
  20726. Fcount: -libc.Int32FromInt32(1),
  20727. },
  20728. Fnum: int32(1),
  20729. 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))),
  20730. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20731. },
  20732. },
  20733. 238: {
  20734. Flang: [16]TFcChar8{'y', 'o'},
  20735. Fcharset: TFcCharSet{
  20736. Fref: TFcRef{
  20737. Fcount: -libc.Int32FromInt32(1),
  20738. },
  20739. Fnum: int32(4),
  20740. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20741. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20742. },
  20743. },
  20744. 239: {
  20745. Flang: [16]TFcChar8{'z', 'a'},
  20746. Fcharset: TFcCharSet{
  20747. Fref: TFcRef{
  20748. Fcount: -libc.Int32FromInt32(1),
  20749. },
  20750. Fnum: int32(1),
  20751. 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))),
  20752. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20753. },
  20754. },
  20755. 240: {
  20756. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  20757. Fcharset: TFcCharSet{
  20758. Fref: TFcRef{
  20759. Fcount: -libc.Int32FromInt32(1),
  20760. },
  20761. Fnum: int32(82),
  20762. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20763. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20764. },
  20765. },
  20766. 241: {
  20767. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  20768. Fcharset: TFcCharSet{
  20769. Fref: TFcRef{
  20770. Fcount: -libc.Int32FromInt32(1),
  20771. },
  20772. Fnum: int32(171),
  20773. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20774. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20775. },
  20776. },
  20777. 242: {
  20778. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  20779. Fcharset: TFcCharSet{
  20780. Fref: TFcRef{
  20781. Fcount: -libc.Int32FromInt32(1),
  20782. },
  20783. Fnum: int32(171),
  20784. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20785. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20786. },
  20787. },
  20788. 243: {
  20789. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  20790. Fcharset: TFcCharSet{
  20791. Fref: TFcRef{
  20792. Fcount: -libc.Int32FromInt32(1),
  20793. },
  20794. Fnum: int32(82),
  20795. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20796. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20797. },
  20798. },
  20799. 244: {
  20800. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  20801. Fcharset: TFcCharSet{
  20802. Fref: TFcRef{
  20803. Fcount: -libc.Int32FromInt32(1),
  20804. },
  20805. Fnum: int32(83),
  20806. Fleaves_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20807. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20808. },
  20809. },
  20810. 245: {
  20811. Flang: [16]TFcChar8{'z', 'u'},
  20812. Fcharset: TFcCharSet{
  20813. Fref: TFcRef{
  20814. Fcount: -libc.Int32FromInt32(1),
  20815. },
  20816. Fnum: int32(1),
  20817. 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))),
  20818. Fnumbers_offset: libc.Int64FromUint64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(779)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  20819. },
  20820. },
  20821. },
  20822. Fleaves: [725]TFcCharLeaf{
  20823. 0: {
  20824. Fmap1: [8]TFcChar32{
  20825. 2: uint32(0x07fffffe),
  20826. 3: uint32(0x07fffffe),
  20827. 6: uint32(0x08104404),
  20828. 7: uint32(0x08104404),
  20829. },
  20830. },
  20831. 1: {
  20832. Fmap1: [8]TFcChar32{
  20833. 0: uint32(0xffff8002),
  20834. 1: uint32(0xffffffff),
  20835. 2: uint32(0x8002ffff),
  20836. 4: uint32(0xc0000000),
  20837. 5: uint32(0xf0fc33c0),
  20838. 6: uint32(0x03000000),
  20839. 7: uint32(0x00000003),
  20840. },
  20841. },
  20842. 2: {
  20843. Fmap1: [8]TFcChar32{
  20844. 2: uint32(0x07fffffe),
  20845. 3: uint32(0x07fffffe),
  20846. 6: uint32(0x0810cf00),
  20847. 7: uint32(0x0810cf00),
  20848. },
  20849. },
  20850. 3: {
  20851. Fmap1: [8]TFcChar32{
  20852. 2: uint32(0x00000200),
  20853. },
  20854. },
  20855. 4: {
  20856. Fmap1: [8]TFcChar32{
  20857. 2: uint32(0x07fffffe),
  20858. 3: uint32(0x07fffffe),
  20859. 6: uint32(0x00220008),
  20860. 7: uint32(0x00220008),
  20861. },
  20862. },
  20863. 5: {
  20864. Fmap1: [8]TFcChar32{
  20865. 1: uint32(0x00000300),
  20866. 3: uint32(0x00000300),
  20867. 4: uint32(0x00010040),
  20868. },
  20869. },
  20870. 6: {
  20871. Fmap1: [8]TFcChar32{
  20872. 2: uint32(0x08100000),
  20873. },
  20874. },
  20875. 7: {
  20876. Fmap1: [8]TFcChar32{
  20877. 0: uint32(0x00000048),
  20878. 1: uint32(0x00000200),
  20879. },
  20880. },
  20881. 8: {
  20882. Fmap1: [8]TFcChar32{
  20883. 5: uint32(0x30000000),
  20884. 7: uint32(0x03000000),
  20885. },
  20886. },
  20887. 9: {
  20888. Fmap1: [8]TFcChar32{
  20889. 0: uint32(0xff7fff7f),
  20890. 1: uint32(0xff01ff7f),
  20891. 2: uint32(0x00003d7f),
  20892. 3: uint32(0xffff7fff),
  20893. 4: uint32(0xffff3d7f),
  20894. 5: uint32(0x003d7fff),
  20895. 6: uint32(0xff7f7f00),
  20896. 7: uint32(0x00ff7fff),
  20897. },
  20898. },
  20899. 10: {
  20900. Fmap1: [8]TFcChar32{
  20901. 0: uint32(0x003d7fff),
  20902. 1: uint32(0xffffffff),
  20903. 2: uint32(0x007fff7f),
  20904. },
  20905. },
  20906. 11: {
  20907. Fmap1: [8]TFcChar32{
  20908. 2: uint32(0x07fffffe),
  20909. 3: uint32(0x07fffffe),
  20910. 6: uint32(0x140a2202),
  20911. 7: uint32(0x140a2202),
  20912. },
  20913. },
  20914. 12: {
  20915. Fmap1: [8]TFcChar32{
  20916. 1: uint32(0x07fffffe),
  20917. 2: uint32(0x000007fe),
  20918. },
  20919. },
  20920. 13: {
  20921. Fmap1: [8]TFcChar32{
  20922. 4: uint32(0xfff99fee),
  20923. 5: uint32(0xd3c4fdff),
  20924. 6: uint32(0xb000399f),
  20925. 7: uint32(0x00030000),
  20926. },
  20927. },
  20928. 14: {
  20929. Fmap1: [8]TFcChar32{
  20930. 1: uint32(0x00c00030),
  20931. },
  20932. },
  20933. 15: {
  20934. Fmap1: [8]TFcChar32{
  20935. 0: uint32(0xffff0042),
  20936. 1: uint32(0xffffffff),
  20937. 2: uint32(0x0002ffff),
  20938. },
  20939. },
  20940. 16: {
  20941. Fmap1: [8]TFcChar32{
  20942. 2: uint32(0x07fffffe),
  20943. 3: uint32(0x07fffffe),
  20944. 6: uint32(0x10028010),
  20945. 7: uint32(0x10028010),
  20946. },
  20947. },
  20948. 17: {
  20949. Fmap1: [8]TFcChar32{
  20950. 2: uint32(0x07fffffe),
  20951. 3: uint32(0x07fffffe),
  20952. 6: uint32(0x10400080),
  20953. 7: uint32(0x10400080),
  20954. },
  20955. },
  20956. 18: {
  20957. Fmap1: [8]TFcChar32{
  20958. 0: uint32(0xc0000000),
  20959. 1: uint32(0x00030000),
  20960. 2: uint32(0xc0000000),
  20961. 4: uint32(0x00008000),
  20962. },
  20963. },
  20964. 19: {
  20965. Fmap1: [8]TFcChar32{
  20966. 2: uint32(0x02000000),
  20967. },
  20968. },
  20969. 20: {
  20970. Fmap1: [8]TFcChar32{
  20971. 1: uint32(0x07ffffde),
  20972. 2: uint32(0x001009f6),
  20973. 3: uint32(0x40000000),
  20974. 4: uint32(0x01000040),
  20975. 5: uint32(0x00008200),
  20976. 6: uint32(0x00001000),
  20977. },
  20978. },
  20979. 21: {
  20980. Fmap1: [8]TFcChar32{
  20981. 0: uint32(0xffff0000),
  20982. 1: uint32(0xffffffff),
  20983. 2: uint32(0x0000ffff),
  20984. 4: uint32(0x030c0000),
  20985. 5: uint32(0x0c00cc0f),
  20986. 6: uint32(0x03000000),
  20987. 7: uint32(0x00000300),
  20988. },
  20989. },
  20990. 22: {
  20991. Fmap1: [8]TFcChar32{
  20992. 0: uint32(0xffff4040),
  20993. 1: uint32(0xffffffff),
  20994. 2: uint32(0x4040ffff),
  20995. },
  20996. },
  20997. 23: {
  20998. Fmap1: [8]TFcChar32{
  20999. 2: uint32(0x07fffffe),
  21000. 3: uint32(0x07fffffe),
  21001. },
  21002. },
  21003. 24: {
  21004. Fmap1: [8]TFcChar32{
  21005. 0: uint32(0x00003000),
  21006. 4: uint32(0x00110000),
  21007. 7: uint32(0x000000c0),
  21008. },
  21009. },
  21010. 25: {
  21011. Fmap1: [8]TFcChar32{
  21012. 2: uint32(0x08000000),
  21013. 3: uint32(0x00000008),
  21014. },
  21015. },
  21016. 26: {
  21017. Fmap1: [8]TFcChar32{
  21018. 0: uint32(0x00003000),
  21019. 1: uint32(0x00000030),
  21020. 3: uint32(0x0000300c),
  21021. 4: uint32(0x000c0000),
  21022. },
  21023. },
  21024. 27: {
  21025. Fmap1: [8]TFcChar32{
  21026. 1: uint32(0x3a8b0000),
  21027. 2: uint32(0x9e78e6b9),
  21028. 3: uint32(0x0000802e),
  21029. },
  21030. },
  21031. 28: {
  21032. Fmap1: [8]TFcChar32{
  21033. 0: uint32(0xffff0000),
  21034. 1: uint32(0xffffd7ff),
  21035. 2: uint32(0x0000d7ff),
  21036. },
  21037. },
  21038. 29: {
  21039. Fmap1: [8]TFcChar32{
  21040. 0: uint32(0xffffffe0),
  21041. 1: uint32(0x83ffffff),
  21042. 2: uint32(0x00003fff),
  21043. },
  21044. },
  21045. 30: {
  21046. Fmap1: [8]TFcChar32{
  21047. 2: uint32(0x07fffffe),
  21048. 3: uint32(0x07fffffe),
  21049. 6: uint32(0x10008200),
  21050. 7: uint32(0x10008200),
  21051. },
  21052. },
  21053. 31: {
  21054. Fmap1: [8]TFcChar32{
  21055. 2: uint32(0x07fffffe),
  21056. 3: uint32(0x07fffffe),
  21057. 6: uint32(0x060c3303),
  21058. 7: uint32(0x060c3303),
  21059. },
  21060. },
  21061. 32: {
  21062. Fmap1: [8]TFcChar32{
  21063. 0: uint32(0x00000003),
  21064. },
  21065. },
  21066. 33: {
  21067. Fmap1: [8]TFcChar32{
  21068. 5: uint32(0x03000000),
  21069. 6: uint32(0x00003000),
  21070. },
  21071. },
  21072. 34: {
  21073. Fmap1: [8]TFcChar32{
  21074. 2: uint32(0x00000c00),
  21075. 4: uint32(0x20010040),
  21076. },
  21077. },
  21078. 35: {
  21079. Fmap1: [8]TFcChar32{
  21080. 2: uint32(0x08100000),
  21081. 3: uint32(0x00040000),
  21082. },
  21083. },
  21084. 36: {
  21085. Fmap1: [8]TFcChar32{
  21086. 4: uint32(0xfff99fee),
  21087. 5: uint32(0xd3c5fdff),
  21088. 6: uint32(0xb000399f),
  21089. },
  21090. },
  21091. 37: {
  21092. Fmap1: [8]TFcChar32{
  21093. 2: uint32(0xfffffeff),
  21094. 3: uint32(0x3d7e03ff),
  21095. 4: uint32(0xfeff0003),
  21096. 5: uint32(0x03ffffff),
  21097. },
  21098. },
  21099. 38: {
  21100. Fmap1: [8]TFcChar32{
  21101. 2: uint32(0x07fffffe),
  21102. 3: uint32(0x07fffffe),
  21103. 6: uint32(0x12120404),
  21104. 7: uint32(0x12120404),
  21105. },
  21106. },
  21107. 39: {
  21108. Fmap1: [8]TFcChar32{
  21109. 0: uint32(0xfff99fee),
  21110. 1: uint32(0xf3e5fdff),
  21111. 2: uint32(0x0007399f),
  21112. 3: uint32(0x0001ffff),
  21113. },
  21114. },
  21115. 40: {
  21116. Fmap1: [8]TFcChar32{
  21117. 0: uint32(0x000330c0),
  21118. 3: uint32(0x60000003),
  21119. },
  21120. },
  21121. 41: {
  21122. Fmap1: [8]TFcChar32{
  21123. 0: uint32(0xffff0002),
  21124. 1: uint32(0xffffffff),
  21125. 2: uint32(0x0002ffff),
  21126. 5: uint32(0x0c00c000),
  21127. },
  21128. },
  21129. 42: {
  21130. Fmap1: [8]TFcChar32{
  21131. 0: uint32(0xff7fff7f),
  21132. 1: uint32(0xff01ff00),
  21133. 2: uint32(0x3d7f3d7f),
  21134. 3: uint32(0xffff7fff),
  21135. 4: uint32(0xffff0000),
  21136. 5: uint32(0x003d7fff),
  21137. 6: uint32(0xff7f7f3d),
  21138. 7: uint32(0x00ff7fff),
  21139. },
  21140. },
  21141. 43: {
  21142. Fmap1: [8]TFcChar32{
  21143. 0: uint32(0x003d7fff),
  21144. 1: uint32(0xffffffff),
  21145. 2: uint32(0x007fff00),
  21146. },
  21147. },
  21148. 44: {
  21149. Fmap1: [8]TFcChar32{
  21150. 2: uint32(0x07fffffe),
  21151. 3: uint32(0x07fffffe),
  21152. 6: uint32(0x140ca381),
  21153. 7: uint32(0x140ca381),
  21154. },
  21155. },
  21156. 45: {
  21157. Fmap1: [8]TFcChar32{
  21158. 1: uint32(0x80000000),
  21159. 2: uint32(0x00000001),
  21160. },
  21161. },
  21162. 46: {
  21163. Fmap1: [8]TFcChar32{
  21164. 2: uint32(0x07fffffe),
  21165. 3: uint32(0x07fffffe),
  21166. 6: uint32(0x10020004),
  21167. 7: uint32(0x10020004),
  21168. },
  21169. },
  21170. 47: {
  21171. Fmap1: [8]TFcChar32{
  21172. 0: uint32(0xffff0002),
  21173. 1: uint32(0xffffffff),
  21174. 2: uint32(0x0002ffff),
  21175. 5: uint32(0x00000030),
  21176. 6: uint32(0x000c0000),
  21177. 7: uint32(0x030300c0),
  21178. },
  21179. },
  21180. 48: {
  21181. Fmap1: [8]TFcChar32{
  21182. 5: uint32(0xffffffff),
  21183. 6: uint32(0xffffffff),
  21184. 7: uint32(0x001fffff),
  21185. },
  21186. },
  21187. 49: {
  21188. Fmap1: [8]TFcChar32{
  21189. 2: uint32(0x07fffffe),
  21190. 3: uint32(0x07fffffe),
  21191. 6: uint32(0x1a10cfc5),
  21192. 7: uint32(0x9a10cfc5),
  21193. },
  21194. },
  21195. 50: {
  21196. Fmap1: [8]TFcChar32{
  21197. 2: uint32(0x000c0000),
  21198. 3: uint32(0x01000000),
  21199. },
  21200. },
  21201. 51: {
  21202. Fmap1: [8]TFcChar32{
  21203. 2: uint32(0x07fffffe),
  21204. 3: uint32(0x07fffffe),
  21205. 6: uint32(0x10420084),
  21206. 7: uint32(0x10420084),
  21207. },
  21208. },
  21209. 52: {
  21210. Fmap1: [8]TFcChar32{
  21211. 0: uint32(0xc0000000),
  21212. 1: uint32(0x00030000),
  21213. 2: uint32(0xc0000000),
  21214. },
  21215. },
  21216. 53: {
  21217. Fmap1: [8]TFcChar32{
  21218. 2: uint32(0x07fffffe),
  21219. 3: uint32(0x07fffffe),
  21220. 6: uint32(0x24082202),
  21221. 7: uint32(0x24082202),
  21222. },
  21223. },
  21224. 54: {
  21225. Fmap1: [8]TFcChar32{
  21226. 0: uint32(0x0c00f000),
  21227. 2: uint32(0x03000180),
  21228. 3: uint32(0x6000c033),
  21229. },
  21230. },
  21231. 55: {
  21232. Fmap1: [8]TFcChar32{
  21233. 2: uint32(0x07fffffe),
  21234. 3: uint32(0x07fffffe),
  21235. 6: uint32(0x021c0a08),
  21236. 7: uint32(0x021c0a08),
  21237. },
  21238. },
  21239. 56: {
  21240. Fmap1: [8]TFcChar32{
  21241. 0: uint32(0x00000030),
  21242. 2: uint32(0x0000001e),
  21243. 3: uint32(0x18000000),
  21244. },
  21245. },
  21246. 57: {
  21247. Fmap1: [8]TFcChar32{
  21248. 0: uint32(0xfdffa966),
  21249. 1: uint32(0xffffdfff),
  21250. 2: uint32(0xa965dfff),
  21251. 3: uint32(0x03ffffff),
  21252. },
  21253. },
  21254. 58: {
  21255. Fmap1: [8]TFcChar32{
  21256. 0: uint32(0x0000000c),
  21257. },
  21258. },
  21259. 59: {
  21260. Fmap1: [8]TFcChar32{
  21261. 0: uint32(0xffff0002),
  21262. 1: uint32(0xffffffff),
  21263. 2: uint32(0x0002ffff),
  21264. 5: uint32(0x00000c00),
  21265. 6: uint32(0x00c00000),
  21266. 7: uint32(0x000c0000),
  21267. },
  21268. },
  21269. 60: {
  21270. Fmap1: [8]TFcChar32{
  21271. 2: uint32(0x07fffffe),
  21272. 3: uint32(0x07fffffe),
  21273. 6: uint32(0x0010c604),
  21274. 7: uint32(0x8010c604),
  21275. },
  21276. },
  21277. 61: {
  21278. Fmap1: [8]TFcChar32{
  21279. 3: uint32(0x01f00000),
  21280. },
  21281. },
  21282. 62: {
  21283. Fmap1: [8]TFcChar32{
  21284. 4: uint32(0x0000003f),
  21285. 7: uint32(0x000c0000),
  21286. },
  21287. },
  21288. 63: {
  21289. Fmap1: [8]TFcChar32{
  21290. 2: uint32(0x07fffffe),
  21291. 3: uint32(0x07fffffe),
  21292. 6: uint32(0x25082262),
  21293. 7: uint32(0x25082262),
  21294. },
  21295. },
  21296. 64: {
  21297. Fmap1: [8]TFcChar32{
  21298. 2: uint32(0x07fffffe),
  21299. 3: uint32(0x07fffffe),
  21300. 6: uint32(0x90400010),
  21301. 7: uint32(0x10400010),
  21302. },
  21303. },
  21304. 65: {
  21305. Fmap1: [8]TFcChar32{
  21306. 0: uint32(0xfff99fec),
  21307. 1: uint32(0xf3e5fdff),
  21308. 2: uint32(0xf807399f),
  21309. 3: uint32(0x0000ffff),
  21310. },
  21311. },
  21312. 66: {
  21313. Fmap1: [8]TFcChar32{
  21314. 4: uint32(0xffffffff),
  21315. 5: uint32(0x0001ffff),
  21316. },
  21317. },
  21318. 67: {
  21319. Fmap1: [8]TFcChar32{
  21320. 0: uint32(0x0c000000),
  21321. 2: uint32(0x00000c00),
  21322. 4: uint32(0x00170240),
  21323. 5: uint32(0x00040000),
  21324. 6: uint32(0x001fe000),
  21325. },
  21326. },
  21327. 68: {
  21328. Fmap1: [8]TFcChar32{
  21329. 2: uint32(0x08500000),
  21330. 3: uint32(0x00000008),
  21331. 4: uint32(0x00000800),
  21332. },
  21333. },
  21334. 69: {
  21335. Fmap1: [8]TFcChar32{
  21336. 0: uint32(0x00001003),
  21337. },
  21338. },
  21339. 70: {
  21340. Fmap1: [8]TFcChar32{
  21341. 4: uint32(0xffffd740),
  21342. 5: uint32(0xfffffffb),
  21343. 6: uint32(0x00007fff),
  21344. },
  21345. },
  21346. 71: {
  21347. Fmap1: [8]TFcChar32{
  21348. 2: uint32(0x07fffffe),
  21349. 3: uint32(0x07fffffe),
  21350. 6: uint32(0x00528f81),
  21351. 7: uint32(0x00528f81),
  21352. },
  21353. },
  21354. 72: {
  21355. Fmap1: [8]TFcChar32{
  21356. 0: uint32(0x30000300),
  21357. 1: uint32(0x00300030),
  21358. 2: uint32(0x30000000),
  21359. 3: uint32(0x00003000),
  21360. },
  21361. },
  21362. 73: {
  21363. Fmap1: [8]TFcChar32{
  21364. 2: uint32(0x07fffffe),
  21365. 3: uint32(0x07fffffe),
  21366. 6: uint32(0x10600010),
  21367. 7: uint32(0x10600010),
  21368. },
  21369. },
  21370. 74: {
  21371. Fmap1: [8]TFcChar32{
  21372. 3: uint32(0x60000003),
  21373. },
  21374. },
  21375. 75: {
  21376. Fmap1: [8]TFcChar32{
  21377. 2: uint32(0x07fffffe),
  21378. 3: uint32(0x07fffffe),
  21379. 6: uint32(0x10020000),
  21380. 7: uint32(0x10020000),
  21381. },
  21382. },
  21383. 76: {
  21384. Fmap1: [8]TFcChar32{
  21385. 2: uint32(0x00000c00),
  21386. 4: uint32(0x20000402),
  21387. 5: uint32(0x00180000),
  21388. },
  21389. },
  21390. 77: {
  21391. Fmap1: [8]TFcChar32{
  21392. 2: uint32(0x00880000),
  21393. 3: uint32(0x00040000),
  21394. },
  21395. },
  21396. 78: {
  21397. Fmap1: [8]TFcChar32{
  21398. 2: uint32(0x07fffffe),
  21399. 3: uint32(0x07fffffe),
  21400. 6: uint32(0x00400030),
  21401. 7: uint32(0x00400030),
  21402. },
  21403. },
  21404. 79: {
  21405. Fmap1: [8]TFcChar32{
  21406. 2: uint32(0x07fffffe),
  21407. 3: uint32(0x07fffffe),
  21408. 6: uint32(0x0e1e7707),
  21409. 7: uint32(0x0e1e7707),
  21410. },
  21411. },
  21412. 80: {
  21413. Fmap1: [8]TFcChar32{
  21414. 2: uint32(0x07fffffe),
  21415. 3: uint32(0x07fffffe),
  21416. 6: uint32(0x25092042),
  21417. 7: uint32(0x25092042),
  21418. },
  21419. },
  21420. 81: {
  21421. Fmap1: [8]TFcChar32{
  21422. 2: uint32(0x07fffffe),
  21423. 3: uint32(0x07fffffe),
  21424. 6: uint32(0x02041107),
  21425. 7: uint32(0x02041107),
  21426. },
  21427. },
  21428. 82: {
  21429. Fmap1: [8]TFcChar32{
  21430. 2: uint32(0x07fffffe),
  21431. 3: uint32(0x07fffffe),
  21432. 6: uint32(0x9c508e14),
  21433. 7: uint32(0x1c508e14),
  21434. },
  21435. },
  21436. 83: {
  21437. Fmap1: [8]TFcChar32{
  21438. 2: uint32(0x07fffffe),
  21439. 3: uint32(0x07fffffe),
  21440. 6: uint32(0x04082202),
  21441. 7: uint32(0x04082202),
  21442. },
  21443. },
  21444. 84: {
  21445. Fmap1: [8]TFcChar32{
  21446. 0: uint32(0x00000c00),
  21447. 1: uint32(0x00000003),
  21448. },
  21449. },
  21450. 85: {
  21451. Fmap1: [8]TFcChar32{
  21452. 0: uint32(0xc0000c0c),
  21453. 2: uint32(0x00c00003),
  21454. 3: uint32(0x00000c03),
  21455. },
  21456. },
  21457. 86: {
  21458. Fmap1: [8]TFcChar32{
  21459. 2: uint32(0x07fffffe),
  21460. 3: uint32(0x07fffffe),
  21461. 6: uint32(0x020c1383),
  21462. 7: uint32(0x020c1383),
  21463. },
  21464. },
  21465. 87: {
  21466. Fmap1: [8]TFcChar32{
  21467. 0: uint32(0xff7fff7f),
  21468. 1: uint32(0xff01ff7f),
  21469. 2: uint32(0x00003d7f),
  21470. 3: uint32(0x00ff00ff),
  21471. 4: uint32(0x00ff3d7f),
  21472. 5: uint32(0x003d7fff),
  21473. 6: uint32(0xff7f7f00),
  21474. 7: uint32(0x00ff7f00),
  21475. },
  21476. },
  21477. 88: {
  21478. Fmap1: [8]TFcChar32{
  21479. 0: uint32(0x003d7f00),
  21480. 1: uint32(0xffff01ff),
  21481. 2: uint32(0x007fff7f),
  21482. },
  21483. },
  21484. 89: {
  21485. Fmap1: [8]TFcChar32{
  21486. 2: uint32(0x07fffffe),
  21487. 3: uint32(0x07fffffe),
  21488. 6: uint32(0x040a2202),
  21489. 7: uint32(0x042a220a),
  21490. },
  21491. },
  21492. 90: {
  21493. Fmap1: [8]TFcChar32{
  21494. 1: uint32(0x00000200),
  21495. 3: uint32(0x00000200),
  21496. },
  21497. },
  21498. 91: {
  21499. Fmap1: [8]TFcChar32{
  21500. 5: uint32(0x20000000),
  21501. 7: uint32(0x02000000),
  21502. },
  21503. },
  21504. 92: {
  21505. Fmap1: [8]TFcChar32{
  21506. 4: uint32(0xfffbafee),
  21507. 5: uint32(0xf3edfdff),
  21508. 6: uint32(0x00013bbf),
  21509. 7: uint32(0x00000001),
  21510. },
  21511. },
  21512. 93: {
  21513. Fmap1: [8]TFcChar32{
  21514. 2: uint32(0x07fffffe),
  21515. 3: uint32(0x07fffffe),
  21516. 6: uint32(0x00000080),
  21517. 7: uint32(0x00000080),
  21518. },
  21519. },
  21520. 94: {
  21521. Fmap1: [8]TFcChar32{
  21522. 4: uint32(0x03000402),
  21523. 5: uint32(0x00180000),
  21524. },
  21525. },
  21526. 95: {
  21527. Fmap1: [8]TFcChar32{
  21528. 2: uint32(0x00880000),
  21529. },
  21530. },
  21531. 96: {
  21532. Fmap1: [8]TFcChar32{
  21533. 0: uint32(0x000c0003),
  21534. 1: uint32(0x00000c00),
  21535. 2: uint32(0x00003000),
  21536. 3: uint32(0x00000c00),
  21537. },
  21538. },
  21539. 97: {
  21540. Fmap1: [8]TFcChar32{
  21541. 5: uint32(0x08000000),
  21542. },
  21543. },
  21544. 98: {
  21545. Fmap1: [8]TFcChar32{
  21546. 6: uint32(0xffff0000),
  21547. 7: uint32(0x000007ff),
  21548. },
  21549. },
  21550. 99: {
  21551. Fmap1: [8]TFcChar32{
  21552. 2: uint32(0x07fffffe),
  21553. 3: uint32(0x07fffffe),
  21554. 6: uint32(0x00080000),
  21555. 7: uint32(0x00080000),
  21556. },
  21557. },
  21558. 100: {
  21559. Fmap1: [8]TFcChar32{
  21560. 0: uint32(0x0c0030c0),
  21561. 2: uint32(0x0300001e),
  21562. 3: uint32(0x66000003),
  21563. },
  21564. },
  21565. 101: {
  21566. Fmap1: [8]TFcChar32{
  21567. 2: uint32(0x07fffffe),
  21568. 3: uint32(0x07fffffe),
  21569. 6: uint32(0x00040100),
  21570. 7: uint32(0x00040100),
  21571. },
  21572. },
  21573. 102: {
  21574. Fmap1: [8]TFcChar32{
  21575. 2: uint32(0x07fffffe),
  21576. 3: uint32(0x07fffffe),
  21577. 6: uint32(0x14482202),
  21578. 7: uint32(0x14482202),
  21579. },
  21580. },
  21581. 103: {
  21582. Fmap1: [8]TFcChar32{
  21583. 2: uint32(0x00030000),
  21584. 3: uint32(0x00030000),
  21585. },
  21586. },
  21587. 104: {
  21588. Fmap1: [8]TFcChar32{
  21589. 1: uint32(0xfffe0000),
  21590. 2: uint32(0x007fffff),
  21591. 3: uint32(0xfffffffe),
  21592. 4: uint32(0x000000ff),
  21593. },
  21594. },
  21595. 105: {
  21596. Fmap1: [8]TFcChar32{
  21597. 1: uint32(0x00008000),
  21598. },
  21599. },
  21600. 106: {
  21601. Fmap1: [8]TFcChar32{
  21602. 0: uint32(0x000c0000),
  21603. 2: uint32(0x00000c00),
  21604. },
  21605. },
  21606. 107: {
  21607. Fmap1: [8]TFcChar32{
  21608. 2: uint32(0x07fffffe),
  21609. 3: uint32(0x07fffffe),
  21610. 6: uint32(0x00000200),
  21611. 7: uint32(0x00000200),
  21612. },
  21613. },
  21614. 108: {
  21615. Fmap1: [8]TFcChar32{
  21616. 6: uint32(0x00003c00),
  21617. 7: uint32(0x00000030),
  21618. },
  21619. },
  21620. 109: {
  21621. Fmap1: [8]TFcChar32{
  21622. 0: uint32(0xffffffff),
  21623. 1: uint32(0xffffffff),
  21624. 2: uint32(0xffffffff),
  21625. 3: uint32(0xffffffff),
  21626. 4: uint32(0xffffffff),
  21627. 5: uint32(0xffffffff),
  21628. 6: uint32(0xffffffff),
  21629. 7: uint32(0xffffffff),
  21630. },
  21631. },
  21632. 110: {
  21633. Fmap1: [8]TFcChar32{
  21634. 0: uint32(0xffffffff),
  21635. 1: uint32(0xffffffff),
  21636. 2: uint32(0xffffffff),
  21637. 3: uint32(0xffffffff),
  21638. 4: uint32(0x00001fff),
  21639. },
  21640. },
  21641. 111: {
  21642. Fmap1: [8]TFcChar32{
  21643. 0: uint32(0xffff4002),
  21644. 1: uint32(0xffffffff),
  21645. 2: uint32(0x4002ffff),
  21646. },
  21647. },
  21648. 112: {
  21649. Fmap1: [8]TFcChar32{
  21650. 2: uint32(0x07fffffe),
  21651. 3: uint32(0x07fffffe),
  21652. 6: uint32(0x64092242),
  21653. 7: uint32(0x64092242),
  21654. },
  21655. },
  21656. 113: {
  21657. Fmap1: [8]TFcChar32{
  21658. 2: uint32(0x07fffffe),
  21659. 3: uint32(0x07fffffe),
  21660. 6: uint32(0x060cb301),
  21661. 7: uint32(0x060cb301),
  21662. },
  21663. },
  21664. 114: {
  21665. Fmap1: [8]TFcChar32{
  21666. 0: uint32(0x00000c7e),
  21667. 1: uint32(0x031f8000),
  21668. 2: uint32(0x0063f200),
  21669. 3: uint32(0x000df840),
  21670. 4: uint32(0x00037e08),
  21671. 5: uint32(0x08000dfa),
  21672. 6: uint32(0x0df901bf),
  21673. 7: uint32(0x5437e400),
  21674. },
  21675. },
  21676. 115: {
  21677. Fmap1: [8]TFcChar32{
  21678. 0: uint32(0x00000025),
  21679. 1: uint32(0x40006fc0),
  21680. 2: uint32(0x27f91be4),
  21681. 3: uint32(0xdee00000),
  21682. 4: uint32(0x007ff83f),
  21683. 5: uint32(0x00007f7f),
  21684. },
  21685. },
  21686. 116: {
  21687. Fmap1: [8]TFcChar32{
  21688. 3: uint32(0x007f8000),
  21689. },
  21690. },
  21691. 117: {
  21692. Fmap1: [8]TFcChar32{
  21693. 0: uint32(0x000000a7),
  21694. 2: uint32(0xfffffffe),
  21695. 3: uint32(0xffffffff),
  21696. 4: uint32(0x780fffff),
  21697. 5: uint32(0xfffffffe),
  21698. 6: uint32(0xffffffff),
  21699. 7: uint32(0x787fffff),
  21700. },
  21701. },
  21702. 118: {
  21703. Fmap1: [8]TFcChar32{
  21704. 0: uint32(0x03506f8b),
  21705. 1: uint32(0x1b042042),
  21706. 2: uint32(0x62808020),
  21707. 3: uint32(0x400a0000),
  21708. 4: uint32(0x10341b41),
  21709. 5: uint32(0x04003812),
  21710. 6: uint32(0x03608c02),
  21711. 7: uint32(0x08454038),
  21712. },
  21713. },
  21714. 119: {
  21715. Fmap1: [8]TFcChar32{
  21716. 0: uint32(0x2403c002),
  21717. 1: uint32(0x15108000),
  21718. 2: uint32(0x1229e040),
  21719. 3: uint32(0x80280000),
  21720. 4: uint32(0x28002800),
  21721. 5: uint32(0x8060c002),
  21722. 6: uint32(0x2080040c),
  21723. 7: uint32(0x05284002),
  21724. },
  21725. },
  21726. 120: {
  21727. Fmap1: [8]TFcChar32{
  21728. 0: uint32(0x82042a00),
  21729. 1: uint32(0x02000818),
  21730. 2: uint32(0x10008200),
  21731. 3: uint32(0x20700020),
  21732. 4: uint32(0x03022000),
  21733. 5: uint32(0x40a41000),
  21734. 6: uint32(0x0420a020),
  21735. 7: uint32(0x00000080),
  21736. },
  21737. },
  21738. 121: {
  21739. Fmap1: [8]TFcChar32{
  21740. 0: uint32(0x80040011),
  21741. 1: uint32(0x00000400),
  21742. 2: uint32(0x04012b78),
  21743. 3: uint32(0x11a23920),
  21744. 4: uint32(0x02842460),
  21745. 5: uint32(0x00c01021),
  21746. 6: uint32(0x20002050),
  21747. 7: uint32(0x07400042),
  21748. },
  21749. },
  21750. 122: {
  21751. Fmap1: [8]TFcChar32{
  21752. 0: uint32(0x208205c9),
  21753. 1: uint32(0x0fc10230),
  21754. 2: uint32(0x08402480),
  21755. 3: uint32(0x00258018),
  21756. 4: uint32(0x88000080),
  21757. 5: uint32(0x42120609),
  21758. 6: uint32(0xa32002a8),
  21759. 7: uint32(0x40040094),
  21760. },
  21761. },
  21762. 123: {
  21763. Fmap1: [8]TFcChar32{
  21764. 0: uint32(0x00c00024),
  21765. 1: uint32(0x8e000001),
  21766. 2: uint32(0x059e058a),
  21767. 3: uint32(0x013b0001),
  21768. 4: uint32(0x85000010),
  21769. 5: uint32(0x08080000),
  21770. 6: uint32(0x02d07d04),
  21771. 7: uint32(0x018d9838),
  21772. },
  21773. },
  21774. 124: {
  21775. Fmap1: [8]TFcChar32{
  21776. 0: uint32(0x8803f310),
  21777. 1: uint32(0x03000840),
  21778. 2: uint32(0x00000704),
  21779. 3: uint32(0x30080500),
  21780. 4: uint32(0x00001000),
  21781. 5: uint32(0x20040000),
  21782. 6: uint32(0x00000003),
  21783. 7: uint32(0x04040002),
  21784. },
  21785. },
  21786. 125: {
  21787. Fmap1: [8]TFcChar32{
  21788. 0: uint32(0x000100d0),
  21789. 1: uint32(0x40028000),
  21790. 2: uint32(0x00088040),
  21791. 4: uint32(0x34000210),
  21792. 5: uint32(0x00400e00),
  21793. 6: uint32(0x00000020),
  21794. 7: uint32(0x00000008),
  21795. },
  21796. },
  21797. 126: {
  21798. Fmap1: [8]TFcChar32{
  21799. 0: uint32(0x00000040),
  21800. 1: uint32(0x00060000),
  21801. 3: uint32(0x00100100),
  21802. 4: uint32(0x00000080),
  21803. 6: uint32(0x4c000000),
  21804. 7: uint32(0x240d0009),
  21805. },
  21806. },
  21807. 127: {
  21808. Fmap1: [8]TFcChar32{
  21809. 0: uint32(0x80048000),
  21810. 1: uint32(0x00010180),
  21811. 2: uint32(0x00020484),
  21812. 3: uint32(0x00000400),
  21813. 4: uint32(0x00000804),
  21814. 5: uint32(0x00000008),
  21815. 6: uint32(0x80004800),
  21816. 7: uint32(0x16800000),
  21817. },
  21818. },
  21819. 128: {
  21820. Fmap1: [8]TFcChar32{
  21821. 0: uint32(0x00200065),
  21822. 1: uint32(0x00120410),
  21823. 2: uint32(0x44920403),
  21824. 3: uint32(0x40000200),
  21825. 4: uint32(0x10880008),
  21826. 5: uint32(0x40080100),
  21827. 6: uint32(0x00001482),
  21828. 7: uint32(0x00074800),
  21829. },
  21830. },
  21831. 129: {
  21832. Fmap1: [8]TFcChar32{
  21833. 0: uint32(0x14608200),
  21834. 1: uint32(0x00024e84),
  21835. 2: uint32(0x00128380),
  21836. 3: uint32(0x20184520),
  21837. 4: uint32(0x0240041c),
  21838. 5: uint32(0x0a001120),
  21839. 6: uint32(0x00180a00),
  21840. 7: uint32(0x88000800),
  21841. },
  21842. },
  21843. 130: {
  21844. Fmap1: [8]TFcChar32{
  21845. 0: uint32(0x01000002),
  21846. 1: uint32(0x00008001),
  21847. 2: uint32(0x04000040),
  21848. 3: uint32(0x80000040),
  21849. 4: uint32(0x08040000),
  21850. 6: uint32(0x00001202),
  21851. 7: uint32(0x00000002),
  21852. },
  21853. },
  21854. 131: {
  21855. Fmap1: [8]TFcChar32{
  21856. 1: uint32(0x00000004),
  21857. 2: uint32(0x21910000),
  21858. 3: uint32(0x00000858),
  21859. 4: uint32(0xbf8013a0),
  21860. 5: uint32(0x8279401c),
  21861. 6: uint32(0xa8041054),
  21862. 7: uint32(0xc5004282),
  21863. },
  21864. },
  21865. 132: {
  21866. Fmap1: [8]TFcChar32{
  21867. 0: uint32(0x0402ce56),
  21868. 1: uint32(0xfc020000),
  21869. 2: uint32(0x40200d21),
  21870. 3: uint32(0x00028030),
  21871. 4: uint32(0x00010000),
  21872. 5: uint32(0x01081202),
  21873. 7: uint32(0x00410003),
  21874. },
  21875. },
  21876. 133: {
  21877. Fmap1: [8]TFcChar32{
  21878. 0: uint32(0x00404080),
  21879. 1: uint32(0x00000200),
  21880. 2: uint32(0x00010000),
  21881. 6: uint32(0x60000000),
  21882. 7: uint32(0x480241ea),
  21883. },
  21884. },
  21885. 134: {
  21886. Fmap1: [8]TFcChar32{
  21887. 0: uint32(0x2000104c),
  21888. 1: uint32(0x2109a820),
  21889. 2: uint32(0x00200020),
  21890. 3: uint32(0x7b1c0008),
  21891. 4: uint32(0x10a0840a),
  21892. 5: uint32(0x01c028c0),
  21893. 6: uint32(0x00000608),
  21894. 7: uint32(0x04c00000),
  21895. },
  21896. },
  21897. 135: {
  21898. Fmap1: [8]TFcChar32{
  21899. 0: uint32(0x80398412),
  21900. 1: uint32(0x40a200e0),
  21901. 2: uint32(0x02080000),
  21902. 3: uint32(0x12030a04),
  21903. 4: uint32(0x008d1833),
  21904. 5: uint32(0x02184602),
  21905. 6: uint32(0x13803028),
  21906. 7: uint32(0x00200801),
  21907. },
  21908. },
  21909. 136: {
  21910. Fmap1: [8]TFcChar32{
  21911. 0: uint32(0x20440000),
  21912. 1: uint32(0x000005a1),
  21913. 2: uint32(0x00050800),
  21914. 3: uint32(0x0020a328),
  21915. 4: uint32(0x80100000),
  21916. 5: uint32(0x10040649),
  21917. 6: uint32(0x10020020),
  21918. 7: uint32(0x00090180),
  21919. },
  21920. },
  21921. 137: {
  21922. Fmap1: [8]TFcChar32{
  21923. 0: uint32(0x8c008202),
  21924. 2: uint32(0x00205910),
  21925. 3: uint32(0x0041410c),
  21926. 4: uint32(0x00004004),
  21927. 5: uint32(0x40441290),
  21928. 6: uint32(0x00010080),
  21929. 7: uint32(0x01040000),
  21930. },
  21931. },
  21932. 138: {
  21933. Fmap1: [8]TFcChar32{
  21934. 0: uint32(0x04070000),
  21935. 1: uint32(0x89108040),
  21936. 2: uint32(0x00282a81),
  21937. 3: uint32(0x82420000),
  21938. 4: uint32(0x51a20411),
  21939. 5: uint32(0x32220800),
  21940. 6: uint32(0x2b0d2220),
  21941. 7: uint32(0x40c83003),
  21942. },
  21943. },
  21944. 139: {
  21945. Fmap1: [8]TFcChar32{
  21946. 0: uint32(0x82020082),
  21947. 1: uint32(0x80008900),
  21948. 2: uint32(0x10a00200),
  21949. 3: uint32(0x08004100),
  21950. 4: uint32(0x09041108),
  21951. 5: uint32(0x000405a6),
  21952. 6: uint32(0x0c018000),
  21953. 7: uint32(0x04104002),
  21954. },
  21955. },
  21956. 140: {
  21957. Fmap1: [8]TFcChar32{
  21958. 0: uint32(0x00002000),
  21959. 1: uint32(0x44003000),
  21960. 2: uint32(0x01000004),
  21961. 3: uint32(0x00008200),
  21962. 4: uint32(0x00000008),
  21963. 5: uint32(0x00044010),
  21964. 6: uint32(0x00002002),
  21965. 7: uint32(0x00001040),
  21966. },
  21967. },
  21968. 141: {
  21969. Fmap1: [8]TFcChar32{
  21970. 1: uint32(0xca008000),
  21971. 2: uint32(0x02828020),
  21972. 3: uint32(0x00b1100c),
  21973. 4: uint32(0x12824280),
  21974. 5: uint32(0x22013030),
  21975. 6: uint32(0x00808820),
  21976. 7: uint32(0x040013e4),
  21977. },
  21978. },
  21979. 142: {
  21980. Fmap1: [8]TFcChar32{
  21981. 0: uint32(0x801840c0),
  21982. 1: uint32(0x1000a1a1),
  21983. 2: uint32(0x00000004),
  21984. 3: uint32(0x0050c200),
  21985. 4: uint32(0x00c20082),
  21986. 5: uint32(0x00104840),
  21987. 6: uint32(0x10400080),
  21988. 7: uint32(0xa3140000),
  21989. },
  21990. },
  21991. 143: {
  21992. Fmap1: [8]TFcChar32{
  21993. 0: uint32(0xa8a02301),
  21994. 1: uint32(0x24123d00),
  21995. 2: uint32(0x80030200),
  21996. 3: uint32(0xc0028022),
  21997. 4: uint32(0x34a10000),
  21998. 5: uint32(0x00408005),
  21999. 6: uint32(0x00190010),
  22000. 7: uint32(0x882a0000),
  22001. },
  22002. },
  22003. 144: {
  22004. Fmap1: [8]TFcChar32{
  22005. 0: uint32(0x00080018),
  22006. 1: uint32(0x33000402),
  22007. 2: uint32(0x9002010a),
  22008. 4: uint32(0x00800020),
  22009. 5: uint32(0x00010100),
  22010. 6: uint32(0x84040810),
  22011. 7: uint32(0x04004000),
  22012. },
  22013. },
  22014. 145: {
  22015. Fmap1: [8]TFcChar32{
  22016. 0: uint32(0x10006020),
  22017. 3: uint32(0x30a02000),
  22018. 4: uint32(0x00000004),
  22019. 6: uint32(0x01000800),
  22020. 7: uint32(0x20000000),
  22021. },
  22022. },
  22023. 146: {
  22024. Fmap1: [8]TFcChar32{
  22025. 0: uint32(0x02000000),
  22026. 1: uint32(0x02000602),
  22027. 2: uint32(0x80000800),
  22028. },
  22029. },
  22030. 147: {
  22031. Fmap1: [8]TFcChar32{
  22032. 0: uint32(0x00000010),
  22033. 1: uint32(0x44040083),
  22034. 2: uint32(0x00081000),
  22035. 3: uint32(0x0818824c),
  22036. 4: uint32(0x00400e00),
  22037. 5: uint32(0x8c300000),
  22038. 6: uint32(0x08146001),
  22039. },
  22040. },
  22041. 148: {
  22042. Fmap1: [8]TFcChar32{
  22043. 0: uint32(0x00828000),
  22044. 1: uint32(0x41900000),
  22045. 2: uint32(0x84804006),
  22046. 3: uint32(0x24010001),
  22047. 4: uint32(0x02400108),
  22048. 5: uint32(0x9b080006),
  22049. 6: uint32(0x00201602),
  22050. 7: uint32(0x0009012e),
  22051. },
  22052. },
  22053. 149: {
  22054. Fmap1: [8]TFcChar32{
  22055. 0: uint32(0x40800800),
  22056. 1: uint32(0x48000420),
  22057. 2: uint32(0x10000032),
  22058. 3: uint32(0x01904440),
  22059. 4: uint32(0x02000100),
  22060. 5: uint32(0x10048000),
  22061. 6: uint32(0x00020000),
  22062. 7: uint32(0x08820802),
  22063. },
  22064. },
  22065. 150: {
  22066. Fmap1: [8]TFcChar32{
  22067. 0: uint32(0x08080ba0),
  22068. 1: uint32(0x00009242),
  22069. 2: uint32(0x00400000),
  22070. 3: uint32(0xc0008080),
  22071. 4: uint32(0x20410001),
  22072. 5: uint32(0x04400000),
  22073. 6: uint32(0x60020820),
  22074. 7: uint32(0x00100000),
  22075. },
  22076. },
  22077. 151: {
  22078. Fmap1: [8]TFcChar32{
  22079. 0: uint32(0x00108046),
  22080. 1: uint32(0x01001805),
  22081. 2: uint32(0x90100000),
  22082. 3: uint32(0x00014010),
  22083. 4: uint32(0x00000010),
  22084. 6: uint32(0x0000000b),
  22085. 7: uint32(0x00008800),
  22086. },
  22087. },
  22088. 152: {
  22089. Fmap1: [8]TFcChar32{
  22090. 1: uint32(0x00001000),
  22091. 3: uint32(0x20018800),
  22092. 4: uint32(0x00004600),
  22093. 5: uint32(0x06002000),
  22094. 6: uint32(0x00000100),
  22095. },
  22096. },
  22097. 153: {
  22098. Fmap1: [8]TFcChar32{
  22099. 1: uint32(0x10400042),
  22100. 2: uint32(0x02004000),
  22101. 3: uint32(0x00004280),
  22102. 4: uint32(0x80000400),
  22103. 5: uint32(0x00020000),
  22104. 6: uint32(0x00000008),
  22105. 7: uint32(0x00000020),
  22106. },
  22107. },
  22108. 154: {
  22109. Fmap1: [8]TFcChar32{
  22110. 0: uint32(0x00000040),
  22111. 1: uint32(0x20600400),
  22112. 2: uint32(0x0a000180),
  22113. 3: uint32(0x02040280),
  22114. 5: uint32(0x00409001),
  22115. 6: uint32(0x02000004),
  22116. 7: uint32(0x00003200),
  22117. },
  22118. },
  22119. 155: {
  22120. Fmap1: [8]TFcChar32{
  22121. 0: uint32(0x88000000),
  22122. 1: uint32(0x80404800),
  22123. 2: uint32(0x00000010),
  22124. 3: uint32(0x00040008),
  22125. 4: uint32(0x00000a90),
  22126. 5: uint32(0x00000200),
  22127. 6: uint32(0x00002000),
  22128. 7: uint32(0x40002001),
  22129. },
  22130. },
  22131. 156: {
  22132. Fmap1: [8]TFcChar32{
  22133. 0: uint32(0x00000048),
  22134. 1: uint32(0x00100000),
  22135. 3: uint32(0x00000001),
  22136. 4: uint32(0x00000008),
  22137. 5: uint32(0x20010080),
  22138. 7: uint32(0x00400040),
  22139. },
  22140. },
  22141. 157: {
  22142. Fmap1: [8]TFcChar32{
  22143. 0: uint32(0x85000000),
  22144. 1: uint32(0x0c8f0108),
  22145. 2: uint32(0x32129000),
  22146. 3: uint32(0x80090420),
  22147. 4: uint32(0x00024000),
  22148. 5: uint32(0x40040800),
  22149. 6: uint32(0x092000a0),
  22150. 7: uint32(0x00100204),
  22151. },
  22152. },
  22153. 158: {
  22154. Fmap1: [8]TFcChar32{
  22155. 0: uint32(0x00002000),
  22156. 2: uint32(0x00440004),
  22157. 3: uint32(0x6c000000),
  22158. 4: uint32(0x000000d0),
  22159. 5: uint32(0x80004000),
  22160. 6: uint32(0x88800440),
  22161. 7: uint32(0x41144018),
  22162. },
  22163. },
  22164. 159: {
  22165. Fmap1: [8]TFcChar32{
  22166. 0: uint32(0x80001a02),
  22167. 1: uint32(0x14000001),
  22168. 2: uint32(0x00000001),
  22169. 3: uint32(0x0000004a),
  22170. 5: uint32(0x00083000),
  22171. 6: uint32(0x08000000),
  22172. 7: uint32(0x0008a024),
  22173. },
  22174. },
  22175. 160: {
  22176. Fmap1: [8]TFcChar32{
  22177. 0: uint32(0x00300004),
  22178. 1: uint32(0x00140000),
  22179. 2: uint32(0x20000000),
  22180. 3: uint32(0x00001800),
  22181. 4: uint32(0x00020002),
  22182. 5: uint32(0x04000000),
  22183. 6: uint32(0x00000002),
  22184. 7: uint32(0x00000100),
  22185. },
  22186. },
  22187. 161: {
  22188. Fmap1: [8]TFcChar32{
  22189. 0: uint32(0x00004002),
  22190. 1: uint32(0x54000000),
  22191. 2: uint32(0x60400300),
  22192. 3: uint32(0x00002120),
  22193. 4: uint32(0x0000a022),
  22194. 6: uint32(0x81060803),
  22195. 7: uint32(0x08010200),
  22196. },
  22197. },
  22198. 162: {
  22199. Fmap1: [8]TFcChar32{
  22200. 0: uint32(0x04004800),
  22201. 1: uint32(0xb0044000),
  22202. 2: uint32(0x0000a005),
  22203. 3: uint32(0x04500800),
  22204. 4: uint32(0x800c000a),
  22205. 5: uint32(0x0000c000),
  22206. 6: uint32(0x10000800),
  22207. 7: uint32(0x02408021),
  22208. },
  22209. },
  22210. 163: {
  22211. Fmap1: [8]TFcChar32{
  22212. 0: uint32(0x08020000),
  22213. 1: uint32(0x00001040),
  22214. 2: uint32(0x00540a40),
  22215. 4: uint32(0x00800880),
  22216. 5: uint32(0x01020002),
  22217. 6: uint32(0x00000211),
  22218. 7: uint32(0x00000010),
  22219. },
  22220. },
  22221. 164: {
  22222. Fmap1: [8]TFcChar32{
  22223. 1: uint32(0x80000002),
  22224. 2: uint32(0x00002000),
  22225. 3: uint32(0x00080001),
  22226. 4: uint32(0x09840a00),
  22227. 5: uint32(0x40000080),
  22228. 6: uint32(0x00400000),
  22229. 7: uint32(0x49000080),
  22230. },
  22231. },
  22232. 165: {
  22233. Fmap1: [8]TFcChar32{
  22234. 0: uint32(0x0e102831),
  22235. 1: uint32(0x06098807),
  22236. 2: uint32(0x40011014),
  22237. 3: uint32(0x02620042),
  22238. 4: uint32(0x06000000),
  22239. 5: uint32(0x88062000),
  22240. 6: uint32(0x04068400),
  22241. 7: uint32(0x08108301),
  22242. },
  22243. },
  22244. 166: {
  22245. Fmap1: [8]TFcChar32{
  22246. 0: uint32(0x08000012),
  22247. 1: uint32(0x40004840),
  22248. 2: uint32(0x00300402),
  22249. 3: uint32(0x00012000),
  22250. },
  22251. },
  22252. 167: {
  22253. Fmap1: [8]TFcChar32{
  22254. 1: uint32(0x00400000),
  22255. 3: uint32(0x00a54400),
  22256. 4: uint32(0x40004420),
  22257. 5: uint32(0x20000310),
  22258. 6: uint32(0x00041002),
  22259. 7: uint32(0x18000000),
  22260. },
  22261. },
  22262. 168: {
  22263. Fmap1: [8]TFcChar32{
  22264. 0: uint32(0x00a1002a),
  22265. 1: uint32(0x00080000),
  22266. 2: uint32(0x40400000),
  22267. 3: uint32(0x00900000),
  22268. 4: uint32(0x21401200),
  22269. 5: uint32(0x04048626),
  22270. 6: uint32(0x40005048),
  22271. 7: uint32(0x21100000),
  22272. },
  22273. },
  22274. 169: {
  22275. Fmap1: [8]TFcChar32{
  22276. 0: uint32(0x040005a4),
  22277. 1: uint32(0x000a0000),
  22278. 2: uint32(0x00214000),
  22279. 3: uint32(0x07010800),
  22280. 4: uint32(0x34000000),
  22281. 5: uint32(0x00080100),
  22282. 6: uint32(0x00080040),
  22283. 7: uint32(0x10182508),
  22284. },
  22285. },
  22286. 170: {
  22287. Fmap1: [8]TFcChar32{
  22288. 0: uint32(0xc0805100),
  22289. 1: uint32(0x02c01400),
  22290. 2: uint32(0x00000080),
  22291. 3: uint32(0x00448040),
  22292. 4: uint32(0x20000800),
  22293. 5: uint32(0x210a8000),
  22294. 6: uint32(0x08800000),
  22295. 7: uint32(0x00020060),
  22296. },
  22297. },
  22298. 171: {
  22299. Fmap1: [8]TFcChar32{
  22300. 0: uint32(0x00004004),
  22301. 1: uint32(0x00400100),
  22302. 2: uint32(0x01040200),
  22303. 3: uint32(0x00800000),
  22304. 6: uint32(0x10081400),
  22305. 7: uint32(0x00008000),
  22306. },
  22307. },
  22308. 172: {
  22309. Fmap1: [8]TFcChar32{
  22310. 0: uint32(0x00004000),
  22311. 1: uint32(0x20000000),
  22312. 2: uint32(0x08800200),
  22313. 3: uint32(0x00001000),
  22314. 5: uint32(0x01000000),
  22315. 6: uint32(0x00000810),
  22316. },
  22317. },
  22318. 173: {
  22319. Fmap1: [8]TFcChar32{
  22320. 0: uint32(0x00020000),
  22321. 1: uint32(0x20200000),
  22322. 4: uint32(0x00000010),
  22323. 5: uint32(0x00001c40),
  22324. 6: uint32(0x00002000),
  22325. 7: uint32(0x08000210),
  22326. },
  22327. },
  22328. 174: {
  22329. Fmap1: [8]TFcChar32{
  22330. 2: uint32(0x54014000),
  22331. 3: uint32(0x02000800),
  22332. 4: uint32(0x00200400),
  22333. 6: uint32(0x00002080),
  22334. 7: uint32(0x00004000),
  22335. },
  22336. },
  22337. 175: {
  22338. Fmap1: [8]TFcChar32{
  22339. 0: uint32(0x10000004),
  22340. 4: uint32(0x00002000),
  22341. },
  22342. },
  22343. 176: {
  22344. Fmap1: [8]TFcChar32{
  22345. 2: uint32(0x28881041),
  22346. 3: uint32(0x0081010a),
  22347. 4: uint32(0x00400800),
  22348. 5: uint32(0x00000800),
  22349. 6: uint32(0x10208026),
  22350. 7: uint32(0x61000000),
  22351. },
  22352. },
  22353. 177: {
  22354. Fmap1: [8]TFcChar32{
  22355. 0: uint32(0x00050080),
  22356. 2: uint32(0x80000000),
  22357. 3: uint32(0x80040000),
  22358. 4: uint32(0x044088c2),
  22359. 5: uint32(0x00080480),
  22360. 6: uint32(0x00040000),
  22361. 7: uint32(0x00000048),
  22362. },
  22363. },
  22364. 178: {
  22365. Fmap1: [8]TFcChar32{
  22366. 0: uint32(0x8188410d),
  22367. 1: uint32(0x141a2400),
  22368. 2: uint32(0x40310000),
  22369. 3: uint32(0x000f4249),
  22370. 4: uint32(0x41283280),
  22371. 5: uint32(0x80053011),
  22372. 6: uint32(0x00400880),
  22373. 7: uint32(0x410060c0),
  22374. },
  22375. },
  22376. 179: {
  22377. Fmap1: [8]TFcChar32{
  22378. 0: uint32(0x2a004013),
  22379. 1: uint32(0x02000002),
  22380. 2: uint32(0x11000000),
  22381. 3: uint32(0x00850040),
  22382. },
  22383. },
  22384. 180: {
  22385. Fmap1: [8]TFcChar32{
  22386. 1: uint32(0x00800000),
  22387. 2: uint32(0x04000440),
  22388. 3: uint32(0x00000402),
  22389. 4: uint32(0x60001000),
  22390. 5: uint32(0x99909f87),
  22391. 6: uint32(0x5808049d),
  22392. 7: uint32(0x10002445),
  22393. },
  22394. },
  22395. 181: {
  22396. Fmap1: [8]TFcChar32{
  22397. 0: uint32(0x00000100),
  22398. 3: uint32(0x00910050),
  22399. 4: uint32(0x00000420),
  22400. 5: uint32(0x00080008),
  22401. 6: uint32(0x20000000),
  22402. 7: uint32(0x00288002),
  22403. },
  22404. },
  22405. 182: {
  22406. Fmap1: [8]TFcChar32{
  22407. 0: uint32(0x00008400),
  22408. 1: uint32(0x00000400),
  22409. 3: uint32(0x00100000),
  22410. 4: uint32(0x00002000),
  22411. 5: uint32(0x00000800),
  22412. 6: uint32(0x80043400),
  22413. 7: uint32(0x21000004),
  22414. },
  22415. },
  22416. 183: {
  22417. Fmap1: [8]TFcChar32{
  22418. 0: uint32(0x20000208),
  22419. 1: uint32(0x01000600),
  22420. 2: uint32(0x00000010),
  22421. 4: uint32(0x48000000),
  22422. 5: uint32(0x14060008),
  22423. 6: uint32(0x00124020),
  22424. 7: uint32(0x20812800),
  22425. },
  22426. },
  22427. 184: {
  22428. Fmap1: [8]TFcChar32{
  22429. 0: uint32(0xa419804b),
  22430. 1: uint32(0x01064009),
  22431. 2: uint32(0x10386ca4),
  22432. 3: uint32(0x85a0620b),
  22433. 4: uint32(0x00000010),
  22434. 5: uint32(0x01000448),
  22435. 6: uint32(0x00004400),
  22436. 7: uint32(0x20a02102),
  22437. },
  22438. },
  22439. 185: {
  22440. Fmap1: [8]TFcChar32{
  22441. 2: uint32(0x00147000),
  22442. 3: uint32(0x01a01404),
  22443. 4: uint32(0x10040000),
  22444. 5: uint32(0x01000000),
  22445. 6: uint32(0x3002f180),
  22446. 7: uint32(0x00000008),
  22447. },
  22448. },
  22449. 186: {
  22450. Fmap1: [8]TFcChar32{
  22451. 0: uint32(0x00002000),
  22452. 1: uint32(0x00100000),
  22453. 2: uint32(0x08000010),
  22454. 3: uint32(0x00020004),
  22455. 4: uint32(0x01000029),
  22456. 5: uint32(0x00002000),
  22457. 7: uint32(0x10082000),
  22458. },
  22459. },
  22460. 187: {
  22461. Fmap1: [8]TFcChar32{
  22462. 1: uint32(0x0004d041),
  22463. 2: uint32(0x08000800),
  22464. 3: uint32(0x00200000),
  22465. 4: uint32(0x00401000),
  22466. 5: uint32(0x00004000),
  22467. 7: uint32(0x00000002),
  22468. },
  22469. },
  22470. 188: {
  22471. Fmap1: [8]TFcChar32{
  22472. 0: uint32(0x01000000),
  22473. 2: uint32(0x00020000),
  22474. },
  22475. },
  22476. 189: {
  22477. Fmap1: [8]TFcChar32{
  22478. 3: uint32(0x00800000),
  22479. 4: uint32(0x000a0a01),
  22480. 5: uint32(0x0004002c),
  22481. 6: uint32(0x01000080),
  22482. },
  22483. },
  22484. 190: {
  22485. Fmap1: [8]TFcChar32{
  22486. 0: uint32(0x10000000),
  22487. 1: uint32(0x08040400),
  22488. 2: uint32(0x08012010),
  22489. 3: uint32(0x2569043c),
  22490. 4: uint32(0x1a10c460),
  22491. 5: uint32(0x08800009),
  22492. 6: uint32(0x000210f0),
  22493. 7: uint32(0x08c5050c),
  22494. },
  22495. },
  22496. 191: {
  22497. Fmap1: [8]TFcChar32{
  22498. 0: uint32(0x10000481),
  22499. 1: uint32(0x00040080),
  22500. 2: uint32(0x42040000),
  22501. 3: uint32(0x00100204),
  22502. 6: uint32(0x00080000),
  22503. 7: uint32(0x88080000),
  22504. },
  22505. },
  22506. 192: {
  22507. Fmap1: [8]TFcChar32{
  22508. 0: uint32(0x010f016c),
  22509. 1: uint32(0x18002000),
  22510. 2: uint32(0x41307000),
  22511. 3: uint32(0x00000080),
  22512. 5: uint32(0x00000100),
  22513. 6: uint32(0x88000000),
  22514. 7: uint32(0x70048004),
  22515. },
  22516. },
  22517. 193: {
  22518. Fmap1: [8]TFcChar32{
  22519. 0: uint32(0x00081420),
  22520. 1: uint32(0x00000100),
  22521. 4: uint32(0x02400000),
  22522. 5: uint32(0x00001000),
  22523. 6: uint32(0x00050070),
  22524. },
  22525. },
  22526. 194: {
  22527. Fmap1: [8]TFcChar32{
  22528. 0: uint32(0x000c4000),
  22529. 1: uint32(0x00010000),
  22530. 2: uint32(0x04000000),
  22531. 5: uint32(0x01000100),
  22532. 6: uint32(0x01000010),
  22533. 7: uint32(0x00000400),
  22534. },
  22535. },
  22536. 195: {
  22537. Fmap1: [8]TFcChar32{
  22538. 1: uint32(0x10020000),
  22539. 2: uint32(0x04100024),
  22540. 5: uint32(0x00004000),
  22541. 7: uint32(0x00000100),
  22542. },
  22543. },
  22544. 196: {
  22545. Fmap1: [8]TFcChar32{
  22546. 7: uint32(0x00100020),
  22547. },
  22548. },
  22549. 197: {
  22550. Fmap1: [8]TFcChar32{
  22551. 4: uint32(0x00008000),
  22552. 5: uint32(0x00100000),
  22553. },
  22554. },
  22555. 198: {
  22556. Fmap1: [8]TFcChar32{
  22557. 3: uint32(0x80000000),
  22558. 4: uint32(0x00880000),
  22559. 5: uint32(0x0c000040),
  22560. 6: uint32(0x02040010),
  22561. },
  22562. },
  22563. 199: {
  22564. Fmap1: [8]TFcChar32{
  22565. 0: uint32(0x00080000),
  22566. 1: uint32(0x08000000),
  22567. 3: uint32(0x00000004),
  22568. },
  22569. },
  22570. 200: {
  22571. Fmap1: [8]TFcChar32{
  22572. 2: uint32(0x07fffffe),
  22573. 3: uint32(0x07fffffe),
  22574. 6: uint32(0x00000300),
  22575. 7: uint32(0x00000300),
  22576. },
  22577. },
  22578. 201: {
  22579. Fmap1: [8]TFcChar32{
  22580. 6: uint32(0xffff0000),
  22581. 7: uint32(0x0001ffff),
  22582. },
  22583. },
  22584. 202: {
  22585. Fmap1: [8]TFcChar32{
  22586. 0: uint32(0xffff0002),
  22587. 1: uint32(0xffffffff),
  22588. 2: uint32(0x0002ffff),
  22589. 4: uint32(0x0c0c0000),
  22590. 5: uint32(0x000cc00c),
  22591. 6: uint32(0x03000000),
  22592. },
  22593. },
  22594. 203: {
  22595. Fmap1: [8]TFcChar32{
  22596. 1: uint32(0x00000300),
  22597. 3: uint32(0x00000300),
  22598. },
  22599. },
  22600. 204: {
  22601. Fmap1: [8]TFcChar32{
  22602. 0: uint32(0xffff0000),
  22603. 1: uint32(0xffffffff),
  22604. 2: uint32(0x0040ffff),
  22605. 4: uint32(0x0c0c0000),
  22606. 5: uint32(0x0c00000c),
  22607. 6: uint32(0x03000000),
  22608. 7: uint32(0x00000300),
  22609. },
  22610. },
  22611. 205: {
  22612. Fmap1: [8]TFcChar32{
  22613. 2: uint32(0x07fffffe),
  22614. 3: uint32(0x07fffffe),
  22615. 6: uint32(0x0d10646e),
  22616. 7: uint32(0x0d10646e),
  22617. },
  22618. },
  22619. 206: {
  22620. Fmap1: [8]TFcChar32{
  22621. 1: uint32(0x01000300),
  22622. 3: uint32(0x00000300),
  22623. },
  22624. },
  22625. 207: {
  22626. Fmap1: [8]TFcChar32{
  22627. 4: uint32(0x9fffffff),
  22628. 5: uint32(0xffcffee7),
  22629. 6: uint32(0x0000003f),
  22630. },
  22631. },
  22632. 208: {
  22633. Fmap1: [8]TFcChar32{
  22634. 4: uint32(0xfffddfec),
  22635. 5: uint32(0xc3effdff),
  22636. 6: uint32(0x40603ddf),
  22637. 7: uint32(0x00000003),
  22638. },
  22639. },
  22640. 209: {
  22641. Fmap1: [8]TFcChar32{
  22642. 1: uint32(0xfffe0000),
  22643. 2: uint32(0xffffffff),
  22644. 3: uint32(0xffffffef),
  22645. 4: uint32(0x00007fff),
  22646. },
  22647. },
  22648. 210: {
  22649. Fmap1: [8]TFcChar32{
  22650. 0: uint32(0x3eff0793),
  22651. 1: uint32(0x1303b011),
  22652. 2: uint32(0x11102801),
  22653. 3: uint32(0x05930000),
  22654. 4: uint32(0xb0111e7b),
  22655. 5: uint32(0x3b019703),
  22656. 6: uint32(0x00a01112),
  22657. 7: uint32(0x306b9593),
  22658. },
  22659. },
  22660. 211: {
  22661. Fmap1: [8]TFcChar32{
  22662. 0: uint32(0x1102b051),
  22663. 1: uint32(0x11303201),
  22664. 2: uint32(0x011102b0),
  22665. 3: uint32(0xb879300a),
  22666. 4: uint32(0x30011306),
  22667. 5: uint32(0x00800010),
  22668. 6: uint32(0x100b0113),
  22669. 7: uint32(0x93000011),
  22670. },
  22671. },
  22672. 212: {
  22673. Fmap1: [8]TFcChar32{
  22674. 0: uint32(0x00102b03),
  22675. 1: uint32(0x05930000),
  22676. 2: uint32(0xb051746b),
  22677. 3: uint32(0x3b011323),
  22678. 4: uint32(0x00001030),
  22679. 5: uint32(0x70000000),
  22680. 6: uint32(0x1303b011),
  22681. 7: uint32(0x11102900),
  22682. },
  22683. },
  22684. 213: {
  22685. Fmap1: [8]TFcChar32{
  22686. 0: uint32(0x00012180),
  22687. 1: uint32(0xb0153000),
  22688. 2: uint32(0x3001030e),
  22689. 3: uint32(0x02000030),
  22690. 4: uint32(0x10230111),
  22691. 5: uint32(0x13000000),
  22692. 6: uint32(0x10106b81),
  22693. 7: uint32(0x01130300),
  22694. },
  22695. },
  22696. 214: {
  22697. Fmap1: [8]TFcChar32{
  22698. 0: uint32(0x30111013),
  22699. 1: uint32(0x00000100),
  22700. 2: uint32(0x22b85530),
  22701. 3: uint32(0x30000000),
  22702. 4: uint32(0x9702b011),
  22703. 5: uint32(0x113afb07),
  22704. 6: uint32(0x011303b0),
  22705. 7: uint32(0x00000021),
  22706. },
  22707. },
  22708. 215: {
  22709. Fmap1: [8]TFcChar32{
  22710. 0: uint32(0x3b0d1b00),
  22711. 1: uint32(0x03b01138),
  22712. 2: uint32(0x11330113),
  22713. 3: uint32(0x13000001),
  22714. 4: uint32(0x111c2b05),
  22715. 5: uint32(0x00000100),
  22716. 6: uint32(0xb0111000),
  22717. 7: uint32(0x2a011300),
  22718. },
  22719. },
  22720. 216: {
  22721. Fmap1: [8]TFcChar32{
  22722. 0: uint32(0x02b01930),
  22723. 1: uint32(0x10100001),
  22724. 2: uint32(0x11000000),
  22725. 3: uint32(0x10300301),
  22726. 4: uint32(0x07130230),
  22727. 5: uint32(0x0011146b),
  22728. 6: uint32(0x2b051300),
  22729. 7: uint32(0x8fb8f974),
  22730. },
  22731. },
  22732. 217: {
  22733. Fmap1: [8]TFcChar32{
  22734. 0: uint32(0x103b0113),
  22735. 2: uint32(0xd9700000),
  22736. 3: uint32(0x01134ab0),
  22737. 4: uint32(0x0011103b),
  22738. 5: uint32(0x00001103),
  22739. 6: uint32(0x2ab15930),
  22740. 7: uint32(0x10000111),
  22741. },
  22742. },
  22743. 218: {
  22744. Fmap1: [8]TFcChar32{
  22745. 0: uint32(0x11010000),
  22746. 1: uint32(0x00100b01),
  22747. 2: uint32(0x01130000),
  22748. 3: uint32(0x0000102b),
  22749. 4: uint32(0x20000101),
  22750. 5: uint32(0x02a01110),
  22751. 6: uint32(0x30210111),
  22752. 7: uint32(0x0102b059),
  22753. },
  22754. },
  22755. 219: {
  22756. Fmap1: [8]TFcChar32{
  22757. 0: uint32(0x19300000),
  22758. 1: uint32(0x011307b0),
  22759. 2: uint32(0xb011383b),
  22760. 3: uint32(0x00000003),
  22761. 5: uint32(0x383b0d13),
  22762. 6: uint32(0x0103b011),
  22763. 7: uint32(0x00001000),
  22764. },
  22765. },
  22766. 220: {
  22767. Fmap1: [8]TFcChar32{
  22768. 0: uint32(0x01130000),
  22769. 1: uint32(0x00101020),
  22770. 2: uint32(0x00000100),
  22771. 3: uint32(0x00000110),
  22772. 4: uint32(0x30000000),
  22773. 5: uint32(0x00021811),
  22774. 6: uint32(0x00100000),
  22775. 7: uint32(0x01110000),
  22776. },
  22777. },
  22778. 221: {
  22779. Fmap1: [8]TFcChar32{
  22780. 0: uint32(0x00000023),
  22781. 1: uint32(0x0b019300),
  22782. 2: uint32(0x00301110),
  22783. 3: uint32(0x302b0111),
  22784. 4: uint32(0x13c7b011),
  22785. 5: uint32(0x01303b01),
  22786. 6: uint32(0x00000280),
  22787. 7: uint32(0xb0113000),
  22788. },
  22789. },
  22790. 222: {
  22791. Fmap1: [8]TFcChar32{
  22792. 0: uint32(0x2b011383),
  22793. 1: uint32(0x03b01130),
  22794. 2: uint32(0x300a0011),
  22795. 3: uint32(0x1102b011),
  22796. 4: uint32(0x00002000),
  22797. 5: uint32(0x01110100),
  22798. 6: uint32(0xa011102b),
  22799. 7: uint32(0x2b011302),
  22800. },
  22801. },
  22802. 223: {
  22803. Fmap1: [8]TFcChar32{
  22804. 0: uint32(0x01000010),
  22805. 1: uint32(0x30000001),
  22806. 2: uint32(0x13029011),
  22807. 3: uint32(0x11302b01),
  22808. 4: uint32(0x000066b0),
  22809. 5: uint32(0xb0113000),
  22810. 6: uint32(0x6b07d302),
  22811. 7: uint32(0x07b0113a),
  22812. },
  22813. },
  22814. 224: {
  22815. Fmap1: [8]TFcChar32{
  22816. 0: uint32(0x00200103),
  22817. 1: uint32(0x13000000),
  22818. 2: uint32(0x11386b05),
  22819. 3: uint32(0x011303b0),
  22820. 4: uint32(0x000010b8),
  22821. 5: uint32(0x2b051b00),
  22822. 6: uint32(0x03000110),
  22823. 7: uint32(0x10000000),
  22824. },
  22825. },
  22826. 225: {
  22827. Fmap1: [8]TFcChar32{
  22828. 0: uint32(0x1102a011),
  22829. 1: uint32(0x79700a01),
  22830. 2: uint32(0x0111a2b0),
  22831. 3: uint32(0x0000100a),
  22832. 4: uint32(0x00011100),
  22833. 5: uint32(0x00901110),
  22834. 6: uint32(0x00090111),
  22835. 7: uint32(0x93000000),
  22836. },
  22837. },
  22838. 226: {
  22839. Fmap1: [8]TFcChar32{
  22840. 0: uint32(0xf9f2bb05),
  22841. 1: uint32(0x011322b0),
  22842. 2: uint32(0x2001323b),
  22843. 4: uint32(0x06b05930),
  22844. 5: uint32(0x303b0193),
  22845. 6: uint32(0x1123a011),
  22846. 7: uint32(0x11700000),
  22847. },
  22848. },
  22849. 227: {
  22850. Fmap1: [8]TFcChar32{
  22851. 0: uint32(0x001102b0),
  22852. 1: uint32(0x00001010),
  22853. 2: uint32(0x03011301),
  22854. 3: uint32(0x00000110),
  22855. 4: uint32(0x162b0793),
  22856. 5: uint32(0x01010010),
  22857. 6: uint32(0x11300000),
  22858. 7: uint32(0x01110200),
  22859. },
  22860. },
  22861. 228: {
  22862. Fmap1: [8]TFcChar32{
  22863. 0: uint32(0xb0113029),
  22864. 2: uint32(0x0eb05130),
  22865. 3: uint32(0x383b0513),
  22866. 4: uint32(0x0303b011),
  22867. 5: uint32(0x00000100),
  22868. 6: uint32(0x01930000),
  22869. 7: uint32(0x00001039),
  22870. },
  22871. },
  22872. 229: {
  22873. Fmap1: [8]TFcChar32{
  22874. 0: uint32(0x3b000302),
  22875. 2: uint32(0x00230113),
  22876. 4: uint32(0x00100000),
  22877. 5: uint32(0x00010000),
  22878. 6: uint32(0x90113020),
  22879. 7: uint32(0x00000002),
  22880. },
  22881. },
  22882. 230: {
  22883. Fmap1: [8]TFcChar32{
  22884. 1: uint32(0x10000000),
  22885. 2: uint32(0x11020000),
  22886. 3: uint32(0x00000301),
  22887. 4: uint32(0x01130000),
  22888. 5: uint32(0xb079b02b),
  22889. 6: uint32(0x3b011323),
  22890. 7: uint32(0x02b01130),
  22891. },
  22892. },
  22893. 231: {
  22894. Fmap1: [8]TFcChar32{
  22895. 0: uint32(0xf0210111),
  22896. 1: uint32(0x1343b0d9),
  22897. 2: uint32(0x11303b01),
  22898. 3: uint32(0x011103b0),
  22899. 4: uint32(0xb0517020),
  22900. 5: uint32(0x20011322),
  22901. 6: uint32(0x01901110),
  22902. 7: uint32(0x300b0111),
  22903. },
  22904. },
  22905. 232: {
  22906. Fmap1: [8]TFcChar32{
  22907. 0: uint32(0x9302b011),
  22908. 1: uint32(0x0016ab01),
  22909. 2: uint32(0x01130100),
  22910. 3: uint32(0xb0113021),
  22911. 4: uint32(0x29010302),
  22912. 5: uint32(0x02b03130),
  22913. 6: uint32(0x30000000),
  22914. 7: uint32(0x1b42b819),
  22915. },
  22916. },
  22917. 233: {
  22918. Fmap1: [8]TFcChar32{
  22919. 0: uint32(0x11383301),
  22920. 1: uint32(0x00000330),
  22921. 2: uint32(0x00000020),
  22922. 3: uint32(0x33051300),
  22923. 4: uint32(0x00001110),
  22924. 6: uint32(0x93000000),
  22925. 7: uint32(0x01302305),
  22926. },
  22927. },
  22928. 234: {
  22929. Fmap1: [8]TFcChar32{
  22930. 0: uint32(0x00010100),
  22931. 1: uint32(0x30111010),
  22932. 2: uint32(0x00000100),
  22933. 3: uint32(0x02301130),
  22934. 4: uint32(0x10100001),
  22935. 5: uint32(0x11000000),
  22936. 7: uint32(0x85130200),
  22937. },
  22938. },
  22939. 235: {
  22940. Fmap1: [8]TFcChar32{
  22941. 0: uint32(0x10111003),
  22942. 1: uint32(0x2b011300),
  22943. 2: uint32(0x63b87730),
  22944. 3: uint32(0x303b0113),
  22945. 4: uint32(0x11a2b091),
  22946. 5: uint32(0x7b300201),
  22947. 6: uint32(0x011357f0),
  22948. 7: uint32(0xf0d1702b),
  22949. },
  22950. },
  22951. 236: {
  22952. Fmap1: [8]TFcChar32{
  22953. 0: uint32(0x1b0111e3),
  22954. 1: uint32(0x0ab97130),
  22955. 2: uint32(0x303b0113),
  22956. 3: uint32(0x13029001),
  22957. 4: uint32(0x11302b01),
  22958. 5: uint32(0x071302b0),
  22959. 6: uint32(0x3011302b),
  22960. 7: uint32(0x23011303),
  22961. },
  22962. },
  22963. 237: {
  22964. Fmap1: [8]TFcChar32{
  22965. 0: uint32(0x02b01130),
  22966. 1: uint32(0x30ab0113),
  22967. 2: uint32(0x11feb411),
  22968. 3: uint32(0x71300901),
  22969. 4: uint32(0x05d347b8),
  22970. 5: uint32(0xb011307b),
  22971. 6: uint32(0x21015303),
  22972. 7: uint32(0x00001110),
  22973. },
  22974. },
  22975. 238: {
  22976. Fmap1: [8]TFcChar32{
  22977. 0: uint32(0x306b0513),
  22978. 1: uint32(0x1102b011),
  22979. 2: uint32(0x00103301),
  22980. 3: uint32(0x05130000),
  22981. 4: uint32(0xa01038eb),
  22982. 5: uint32(0x30000102),
  22983. 6: uint32(0x02b01110),
  22984. 7: uint32(0x30200013),
  22985. },
  22986. },
  22987. 239: {
  22988. Fmap1: [8]TFcChar32{
  22989. 0: uint32(0x0102b071),
  22990. 1: uint32(0x00101000),
  22991. 2: uint32(0x01130000),
  22992. 3: uint32(0x1011100b),
  22993. 4: uint32(0x2b011300),
  22994. 6: uint32(0x366b0593),
  22995. 7: uint32(0x1303b095),
  22996. },
  22997. },
  22998. 240: {
  22999. Fmap1: [8]TFcChar32{
  23000. 0: uint32(0x01103b01),
  23001. 1: uint32(0x00000200),
  23002. 2: uint32(0xb0113000),
  23003. 3: uint32(0x20000103),
  23004. 4: uint32(0x01000010),
  23005. 5: uint32(0x30000000),
  23006. 6: uint32(0x030ab011),
  23007. 7: uint32(0x00101001),
  23008. },
  23009. },
  23010. 241: {
  23011. Fmap1: [8]TFcChar32{
  23012. 0: uint32(0x01110100),
  23013. 1: uint32(0x00000003),
  23014. 2: uint32(0x23011302),
  23015. 3: uint32(0x03000010),
  23016. 4: uint32(0x10000000),
  23017. 5: uint32(0x01000000),
  23018. 6: uint32(0x00100000),
  23019. 7: uint32(0x00000290),
  23020. },
  23021. },
  23022. 242: {
  23023. Fmap1: [8]TFcChar32{
  23024. 0: uint32(0x30113000),
  23025. 1: uint32(0x7b015386),
  23026. 2: uint32(0x03b01130),
  23027. 3: uint32(0x00210151),
  23028. 4: uint32(0x13000000),
  23029. 5: uint32(0x11303b01),
  23030. 6: uint32(0x001102b0),
  23031. 7: uint32(0x00011010),
  23032. },
  23033. },
  23034. 243: {
  23035. Fmap1: [8]TFcChar32{
  23036. 0: uint32(0x2b011302),
  23037. 1: uint32(0x02001110),
  23038. 2: uint32(0x10000000),
  23039. 3: uint32(0x0102b011),
  23040. 4: uint32(0x11300100),
  23041. 5: uint32(0x000102b0),
  23042. 6: uint32(0x00011010),
  23043. 7: uint32(0x2b011100),
  23044. },
  23045. },
  23046. 244: {
  23047. Fmap1: [8]TFcChar32{
  23048. 0: uint32(0x02101110),
  23049. 1: uint32(0x002b0113),
  23050. 2: uint32(0x93000000),
  23051. 3: uint32(0x11302b03),
  23052. 4: uint32(0x011302b0),
  23053. 5: uint32(0x0000303b),
  23054. 6: uint32(0x00000002),
  23055. 7: uint32(0x03b01930),
  23056. },
  23057. },
  23058. 245: {
  23059. Fmap1: [8]TFcChar32{
  23060. 0: uint32(0x102b0113),
  23061. 1: uint32(0x0103b011),
  23062. 2: uint32(0x11300000),
  23063. 3: uint32(0x011302b0),
  23064. 4: uint32(0x00001021),
  23065. 5: uint32(0x00010102),
  23066. 6: uint32(0x00000010),
  23067. 7: uint32(0x102b0113),
  23068. },
  23069. },
  23070. 246: {
  23071. Fmap1: [8]TFcChar32{
  23072. 0: uint32(0x01020011),
  23073. 1: uint32(0x11302000),
  23074. 2: uint32(0x011102b0),
  23075. 3: uint32(0x30113001),
  23076. 4: uint32(0x00000002),
  23077. 5: uint32(0x02b01130),
  23078. 6: uint32(0x303b0313),
  23079. 7: uint32(0x0103b011),
  23080. },
  23081. },
  23082. 247: {
  23083. Fmap1: [8]TFcChar32{
  23084. 0: uint32(0x00002000),
  23085. 1: uint32(0x05130000),
  23086. 2: uint32(0xb011303b),
  23087. 3: uint32(0x10001102),
  23088. 4: uint32(0x00000110),
  23089. 5: uint32(0x142b0113),
  23090. 6: uint32(0x01000001),
  23091. 7: uint32(0x01100000),
  23092. },
  23093. },
  23094. 248: {
  23095. Fmap1: [8]TFcChar32{
  23096. 0: uint32(0x00010280),
  23097. 1: uint32(0xb0113000),
  23098. 2: uint32(0x10000102),
  23099. 3: uint32(0x00000010),
  23100. 4: uint32(0x10230113),
  23101. 5: uint32(0x93021011),
  23102. 6: uint32(0x11100b05),
  23103. 7: uint32(0x01130030),
  23104. },
  23105. },
  23106. 249: {
  23107. Fmap1: [8]TFcChar32{
  23108. 0: uint32(0xb051702b),
  23109. 1: uint32(0x3b011323),
  23110. 2: uint32(0x00000030),
  23111. 3: uint32(0x30000000),
  23112. 4: uint32(0x1303b011),
  23113. 5: uint32(0x11102b01),
  23114. 6: uint32(0x01010330),
  23115. 7: uint32(0xb011300a),
  23116. },
  23117. },
  23118. 250: {
  23119. Fmap1: [8]TFcChar32{
  23120. 0: uint32(0x20000102),
  23121. 2: uint32(0x10000011),
  23122. 3: uint32(0x9300a011),
  23123. 4: uint32(0x00102b05),
  23124. 5: uint32(0x00000200),
  23125. 6: uint32(0x90111000),
  23126. 7: uint32(0x29011100),
  23127. },
  23128. },
  23129. 251: {
  23130. Fmap1: [8]TFcChar32{
  23131. 0: uint32(0x00b01110),
  23132. 1: uint32(0x30000000),
  23133. 2: uint32(0x1302b011),
  23134. 3: uint32(0x11302b21),
  23135. 4: uint32(0x000103b0),
  23136. 5: uint32(0x00000020),
  23137. 6: uint32(0x2b051300),
  23138. 7: uint32(0x02b01130),
  23139. },
  23140. },
  23141. 252: {
  23142. Fmap1: [8]TFcChar32{
  23143. 0: uint32(0x103b0113),
  23144. 1: uint32(0x13002011),
  23145. 2: uint32(0x11322b21),
  23146. 3: uint32(0x00130280),
  23147. 4: uint32(0xa0113028),
  23148. 5: uint32(0x0a011102),
  23149. 6: uint32(0x02921130),
  23150. 7: uint32(0x30210111),
  23151. },
  23152. },
  23153. 253: {
  23154. Fmap1: [8]TFcChar32{
  23155. 0: uint32(0x13020011),
  23156. 1: uint32(0x11302b01),
  23157. 2: uint32(0x03d30290),
  23158. 3: uint32(0x3011122b),
  23159. 4: uint32(0x2b011302),
  23160. },
  23161. },
  23162. 254: {
  23163. Fmap1: [8]TFcChar32{
  23164. 4: uint32(0x00004000),
  23165. 6: uint32(0x20000000),
  23166. },
  23167. },
  23168. 255: {
  23169. Fmap1: [8]TFcChar32{
  23170. 2: uint32(0x00003000),
  23171. },
  23172. },
  23173. 256: {
  23174. Fmap1: [8]TFcChar32{
  23175. 1: uint32(0x040001df),
  23176. 2: uint32(0x80800176),
  23177. 3: uint32(0x420c0000),
  23178. 4: uint32(0x01020140),
  23179. 5: uint32(0x44008200),
  23180. 6: uint32(0x00041018),
  23181. },
  23182. },
  23183. 257: {
  23184. Fmap1: [8]TFcChar32{
  23185. 0: uint32(0xffff0000),
  23186. 1: uint32(0xffff27bf),
  23187. 2: uint32(0x000027bf),
  23188. 5: uint32(0x0c000000),
  23189. 6: uint32(0x03000000),
  23190. 7: uint32(0x000000c0),
  23191. },
  23192. },
  23193. 258: {
  23194. Fmap1: [8]TFcChar32{
  23195. 0: uint32(0x3c000000),
  23196. },
  23197. },
  23198. 259: {
  23199. Fmap1: [8]TFcChar32{
  23200. 1: uint32(0x061ef5c0),
  23201. 2: uint32(0x000001f6),
  23202. 3: uint32(0x40000000),
  23203. 4: uint32(0x01040040),
  23204. 5: uint32(0x00208210),
  23205. 6: uint32(0x00005040),
  23206. },
  23207. },
  23208. 260: {
  23209. Fmap1: [8]TFcChar32{
  23210. 2: uint32(0x07fffffe),
  23211. 3: uint32(0x07fffffe),
  23212. 6: uint32(0x08004480),
  23213. 7: uint32(0x08004480),
  23214. },
  23215. },
  23216. 261: {
  23217. Fmap1: [8]TFcChar32{
  23218. 2: uint32(0xc0000000),
  23219. },
  23220. },
  23221. 262: {
  23222. Fmap1: [8]TFcChar32{
  23223. 0: uint32(0xffff0002),
  23224. 1: uint32(0xffffffff),
  23225. 2: uint32(0x0002ffff),
  23226. },
  23227. },
  23228. 263: {
  23229. Fmap1: [8]TFcChar32{
  23230. 0: uint32(0xffff0042),
  23231. 1: uint32(0xffffffff),
  23232. 2: uint32(0x0042ffff),
  23233. 7: uint32(0x000000c0),
  23234. },
  23235. },
  23236. 264: {
  23237. Fmap1: [8]TFcChar32{
  23238. 1: uint32(0x000c0000),
  23239. },
  23240. },
  23241. 265: {
  23242. Fmap1: [8]TFcChar32{
  23243. 0: uint32(0xffff0002),
  23244. 1: uint32(0xffffffff),
  23245. 2: uint32(0x0002ffff),
  23246. 5: uint32(0x0000c00c),
  23247. },
  23248. },
  23249. 266: {
  23250. Fmap1: [8]TFcChar32{
  23251. 0: uint32(0x000c0003),
  23252. 1: uint32(0x00003c00),
  23253. 2: uint32(0x0000f000),
  23254. 3: uint32(0x00003c00),
  23255. },
  23256. },
  23257. 267: {
  23258. Fmap1: [8]TFcChar32{
  23259. 1: uint32(0x040001de),
  23260. 2: uint32(0x00000176),
  23261. 3: uint32(0x42000000),
  23262. 4: uint32(0x01020140),
  23263. 5: uint32(0x44008200),
  23264. 6: uint32(0x00041008),
  23265. },
  23266. },
  23267. 268: {
  23268. Fmap1: [8]TFcChar32{
  23269. 2: uint32(0x07fffffe),
  23270. 3: uint32(0x07fffffe),
  23271. 6: uint32(0x98504f14),
  23272. 7: uint32(0x18504f14),
  23273. },
  23274. },
  23275. 269: {
  23276. Fmap1: [8]TFcChar32{
  23277. 2: uint32(0x00000c00),
  23278. },
  23279. },
  23280. 270: {
  23281. Fmap1: [8]TFcChar32{
  23282. 2: uint32(0x07fffffe),
  23283. 3: uint32(0x07fffffe),
  23284. 6: uint32(0x00480910),
  23285. 7: uint32(0x00480910),
  23286. },
  23287. },
  23288. 271: {
  23289. Fmap1: [8]TFcChar32{
  23290. 2: uint32(0x07fffffe),
  23291. 3: uint32(0x07fffffe),
  23292. 6: uint32(0x0c186606),
  23293. 7: uint32(0x0c186606),
  23294. },
  23295. },
  23296. 272: {
  23297. Fmap1: [8]TFcChar32{
  23298. 0: uint32(0x0c000000),
  23299. 4: uint32(0x00010040),
  23300. },
  23301. },
  23302. 273: {
  23303. Fmap1: [8]TFcChar32{
  23304. 0: uint32(0x00001006),
  23305. },
  23306. },
  23307. 274: {
  23308. Fmap1: [8]TFcChar32{
  23309. 4: uint32(0xfef02596),
  23310. 5: uint32(0x3bffecae),
  23311. 6: uint32(0x30003f5f),
  23312. },
  23313. },
  23314. 275: {
  23315. Fmap1: [8]TFcChar32{
  23316. 0: uint32(0x03c03030),
  23317. 1: uint32(0x0000c000),
  23318. 3: uint32(0x600c0c03),
  23319. },
  23320. },
  23321. 276: {
  23322. Fmap1: [8]TFcChar32{
  23323. 0: uint32(0x000c3003),
  23324. 1: uint32(0x18c00c0c),
  23325. 2: uint32(0x00c03060),
  23326. 3: uint32(0x60000c03),
  23327. },
  23328. },
  23329. 277: {
  23330. Fmap1: [8]TFcChar32{
  23331. 2: uint32(0x07fffffe),
  23332. 3: uint32(0x07fffffe),
  23333. 6: uint32(0x00100002),
  23334. 7: uint32(0x00100002),
  23335. },
  23336. },
  23337. 278: {
  23338. Fmap1: [8]TFcChar32{
  23339. 0: uint32(0x00000003),
  23340. 1: uint32(0x18000000),
  23341. 2: uint32(0x00003060),
  23342. 3: uint32(0x00000c00),
  23343. },
  23344. },
  23345. 279: {
  23346. Fmap1: [8]TFcChar32{
  23347. 1: uint32(0x00300000),
  23348. },
  23349. },
  23350. 280: {
  23351. Fmap1: [8]TFcChar32{
  23352. 0: uint32(0xfdffb729),
  23353. 1: uint32(0x000001ff),
  23354. 2: uint32(0xb7290000),
  23355. },
  23356. },
  23357. 281: {
  23358. Fmap1: [8]TFcChar32{
  23359. 0: uint32(0xfffddfec),
  23360. 1: uint32(0xc3fffdff),
  23361. 2: uint32(0x00803dcf),
  23362. 3: uint32(0x00000003),
  23363. },
  23364. },
  23365. 282: {
  23366. Fmap1: [8]TFcChar32{
  23367. 1: uint32(0xffffffff),
  23368. 2: uint32(0xffffffff),
  23369. 3: uint32(0x00ffffff),
  23370. 4: uint32(0xffffffff),
  23371. 5: uint32(0x000003ff),
  23372. },
  23373. },
  23374. 283: {
  23375. Fmap1: [8]TFcChar32{
  23376. 0: uint32(0xffff0002),
  23377. 1: uint32(0xffffffff),
  23378. 2: uint32(0x0002ffff),
  23379. 5: uint32(0x0000c000),
  23380. 7: uint32(0x00000300),
  23381. },
  23382. },
  23383. 284: {
  23384. Fmap1: [8]TFcChar32{
  23385. 3: uint32(0x00000010),
  23386. 4: uint32(0xfff99fee),
  23387. 5: uint32(0xf3c5fdff),
  23388. 6: uint32(0xb000798f),
  23389. 7: uint32(0x0002ffc0),
  23390. },
  23391. },
  23392. 285: {
  23393. Fmap1: [8]TFcChar32{
  23394. 2: uint32(0x07fffffe),
  23395. 3: uint32(0x07fffffe),
  23396. 6: uint32(0x00004004),
  23397. 7: uint32(0x00004004),
  23398. },
  23399. },
  23400. 286: {
  23401. Fmap1: [8]TFcChar32{
  23402. 0: uint32(0x0f000000),
  23403. },
  23404. },
  23405. 287: {
  23406. Fmap1: [8]TFcChar32{
  23407. 2: uint32(0x07fffffe),
  23408. 3: uint32(0x07fffffe),
  23409. 6: uint32(0x02045101),
  23410. 7: uint32(0x02045101),
  23411. },
  23412. },
  23413. 288: {
  23414. Fmap1: [8]TFcChar32{
  23415. 0: uint32(0x00000c00),
  23416. 1: uint32(0x000000c3),
  23417. 3: uint32(0x18000000),
  23418. },
  23419. },
  23420. 289: {
  23421. Fmap1: [8]TFcChar32{
  23422. 0: uint32(0xffffffff),
  23423. 1: uint32(0x0007f6fb),
  23424. },
  23425. },
  23426. 290: {
  23427. Fmap1: [8]TFcChar32{
  23428. 3: uint32(0x00000300),
  23429. },
  23430. },
  23431. 291: {
  23432. Fmap1: [8]TFcChar32{
  23433. 2: uint32(0x07fffffe),
  23434. 3: uint32(0x07fffffe),
  23435. 6: uint32(0x011c0661),
  23436. 7: uint32(0x011c0661),
  23437. },
  23438. },
  23439. 292: {
  23440. Fmap1: [8]TFcChar32{
  23441. 0: uint32(0xfff98fee),
  23442. 1: uint32(0xc3e5fdff),
  23443. 2: uint32(0x0001398f),
  23444. 3: uint32(0x0001fff0),
  23445. },
  23446. },
  23447. 293: {
  23448. Fmap1: [8]TFcChar32{
  23449. 2: uint32(0x07fffffe),
  23450. 3: uint32(0x07fffffe),
  23451. 6: uint32(0x1c58af16),
  23452. 7: uint32(0x1c58af16),
  23453. },
  23454. },
  23455. 294: {
  23456. Fmap1: [8]TFcChar32{
  23457. 2: uint32(0x07fffffe),
  23458. 3: uint32(0x07fffffe),
  23459. 6: uint32(0x115c0671),
  23460. 7: uint32(0x115c0671),
  23461. },
  23462. },
  23463. 295: {
  23464. Fmap1: [8]TFcChar32{
  23465. 6: uint32(0xffffffff),
  23466. 7: uint32(0x07ffffff),
  23467. },
  23468. },
  23469. 296: {
  23470. Fmap1: [8]TFcChar32{
  23471. 2: uint32(0x07fffffe),
  23472. 3: uint32(0x07fffffe),
  23473. 6: uint32(0x00100400),
  23474. 7: uint32(0x00100400),
  23475. },
  23476. },
  23477. 297: {
  23478. Fmap1: [8]TFcChar32{
  23479. 3: uint32(0x00000003),
  23480. },
  23481. },
  23482. 298: {
  23483. Fmap1: [8]TFcChar32{
  23484. 2: uint32(0x07fffffe),
  23485. 3: uint32(0x07fffffe),
  23486. 6: uint32(0x00082202),
  23487. 7: uint32(0x00082202),
  23488. },
  23489. },
  23490. 299: {
  23491. Fmap1: [8]TFcChar32{
  23492. 0: uint32(0x03000030),
  23493. 1: uint32(0x0000c000),
  23494. 2: uint32(0x00000006),
  23495. 7: uint32(0x00000c00),
  23496. },
  23497. },
  23498. 300: {
  23499. Fmap1: [8]TFcChar32{
  23500. 5: uint32(0x10000000),
  23501. },
  23502. },
  23503. 301: {
  23504. Fmap1: [8]TFcChar32{
  23505. 0: uint32(0x00000002),
  23506. },
  23507. },
  23508. 302: {
  23509. Fmap1: [8]TFcChar32{
  23510. 3: uint32(0x00300000),
  23511. },
  23512. },
  23513. 303: {
  23514. Fmap1: [8]TFcChar32{
  23515. 2: uint32(0x07fffffe),
  23516. 3: uint32(0x07fffffe),
  23517. 6: uint32(0x040c2383),
  23518. 7: uint32(0x040c2383),
  23519. },
  23520. },
  23521. 304: {
  23522. Fmap1: [8]TFcChar32{
  23523. 0: uint32(0xfff99fee),
  23524. 1: uint32(0xf3cdfdff),
  23525. 2: uint32(0xb0c0398f),
  23526. 3: uint32(0x00000003),
  23527. },
  23528. },
  23529. 305: {
  23530. Fmap1: [8]TFcChar32{
  23531. 1: uint32(0x07ffffc6),
  23532. 2: uint32(0x000001fe),
  23533. 3: uint32(0x40000000),
  23534. 4: uint32(0x01000040),
  23535. 5: uint32(0x0000a000),
  23536. 6: uint32(0x00001000),
  23537. },
  23538. },
  23539. 306: {
  23540. Fmap1: [8]TFcChar32{
  23541. 0: uint32(0xfff987e0),
  23542. 1: uint32(0xd36dfdff),
  23543. 2: uint32(0x1e003987),
  23544. 3: uint32(0x001f0000),
  23545. },
  23546. },
  23547. 307: {
  23548. Fmap1: [8]TFcChar32{
  23549. 2: uint32(0x07fffffe),
  23550. 3: uint32(0x07fffffe),
  23551. 6: uint32(0x160e2302),
  23552. 7: uint32(0x160e2302),
  23553. },
  23554. },
  23555. 308: {
  23556. Fmap1: [8]TFcChar32{
  23557. 2: uint32(0x07fffffe),
  23558. 3: uint32(0x07fffffe),
  23559. 6: uint32(0x00020000),
  23560. 7: uint32(0x00020000),
  23561. },
  23562. },
  23563. 309: {
  23564. Fmap1: [8]TFcChar32{
  23565. 0: uint32(0x030000f0),
  23566. 2: uint32(0x0c00001e),
  23567. 3: uint32(0x1e000000),
  23568. },
  23569. },
  23570. 310: {
  23571. Fmap1: [8]TFcChar32{
  23572. 1: uint32(0x07ffffde),
  23573. 2: uint32(0x000005f6),
  23574. 3: uint32(0x50000000),
  23575. 4: uint32(0x05480262),
  23576. 5: uint32(0x10000a00),
  23577. 6: uint32(0x00013000),
  23578. },
  23579. },
  23580. 311: {
  23581. Fmap1: [8]TFcChar32{
  23582. 1: uint32(0x07ffffde),
  23583. 2: uint32(0x000005f6),
  23584. 3: uint32(0x50000000),
  23585. 4: uint32(0x05480262),
  23586. 5: uint32(0x10000a00),
  23587. 6: uint32(0x00052000),
  23588. },
  23589. },
  23590. 312: {
  23591. Fmap1: [8]TFcChar32{
  23592. 2: uint32(0x07fffffe),
  23593. 3: uint32(0x07fffffe),
  23594. 6: uint32(0x143c278f),
  23595. 7: uint32(0x143c278f),
  23596. },
  23597. },
  23598. 313: {
  23599. Fmap1: [8]TFcChar32{
  23600. 6: uint32(0x00000100),
  23601. },
  23602. },
  23603. 314: {
  23604. Fmap1: [8]TFcChar32{
  23605. 2: uint32(0x07fffffe),
  23606. 3: uint32(0x07fffffe),
  23607. 6: uint32(0x02045301),
  23608. 7: uint32(0x02045301),
  23609. },
  23610. },
  23611. 315: {
  23612. Fmap1: [8]TFcChar32{
  23613. 0: uint32(0xffff0002),
  23614. 1: uint32(0xffffffff),
  23615. 2: uint32(0x0002ffff),
  23616. 4: uint32(0x00300000),
  23617. 5: uint32(0x0c00c030),
  23618. 6: uint32(0x03000000),
  23619. },
  23620. },
  23621. 316: {
  23622. Fmap1: [8]TFcChar32{
  23623. 0: uint32(0xfff987ee),
  23624. 1: uint32(0xf325fdff),
  23625. 2: uint32(0x00013987),
  23626. 3: uint32(0x0001fff0),
  23627. },
  23628. },
  23629. 317: {
  23630. Fmap1: [8]TFcChar32{
  23631. 2: uint32(0x07fffffe),
  23632. 3: uint32(0x07fffffe),
  23633. 6: uint32(0x02041101),
  23634. 7: uint32(0x02041101),
  23635. },
  23636. },
  23637. 318: {
  23638. Fmap1: [8]TFcChar32{
  23639. 5: uint32(0x00800000),
  23640. },
  23641. },
  23642. 319: {
  23643. Fmap1: [8]TFcChar32{
  23644. 0: uint32(0x30000000),
  23645. 4: uint32(0x00040000),
  23646. },
  23647. },
  23648. 320: {
  23649. Fmap1: [8]TFcChar32{
  23650. 1: uint32(0x07fffdd6),
  23651. 2: uint32(0x000005f6),
  23652. 3: uint32(0xec000000),
  23653. 4: uint32(0x0200b4d9),
  23654. 5: uint32(0x480a8640),
  23655. },
  23656. },
  23657. 321: {
  23658. Fmap1: [8]TFcChar32{
  23659. 2: uint32(0x07fffffe),
  23660. 3: uint32(0x07fffffe),
  23661. 6: uint32(0x00000002),
  23662. 7: uint32(0x00000002),
  23663. },
  23664. },
  23665. 322: {
  23666. Fmap1: [8]TFcChar32{
  23667. 0: uint32(0x00033000),
  23668. 2: uint32(0x00000c00),
  23669. 3: uint32(0x600000c3),
  23670. },
  23671. },
  23672. 323: {
  23673. Fmap1: [8]TFcChar32{
  23674. 2: uint32(0x07fffffe),
  23675. 3: uint32(0x07fffffe),
  23676. 6: uint32(0x1850cc14),
  23677. 7: uint32(0x1850cc14),
  23678. },
  23679. },
  23680. 324: {
  23681. Fmap1: [8]TFcChar32{
  23682. 0: uint32(0xffff8f04),
  23683. 1: uint32(0xffffffff),
  23684. 2: uint32(0x8f04ffff),
  23685. 4: uint32(0x030c0000),
  23686. 5: uint32(0x0c00cc0f),
  23687. 6: uint32(0x03000000),
  23688. 7: uint32(0x00000300),
  23689. },
  23690. },
  23691. 325: {
  23692. Fmap1: [8]TFcChar32{
  23693. 1: uint32(0x00800000),
  23694. 2: uint32(0x03bffbaa),
  23695. 3: uint32(0x03bffbaa),
  23696. 6: uint32(0x00002202),
  23697. 7: uint32(0x00002202),
  23698. },
  23699. },
  23700. 326: {
  23701. Fmap1: [8]TFcChar32{
  23702. 0: uint32(0x00080000),
  23703. },
  23704. },
  23705. 327: {
  23706. Fmap1: [8]TFcChar32{
  23707. 4: uint32(0xfc7e3fec),
  23708. 5: uint32(0x2ffbffbf),
  23709. 6: uint32(0x7f5f847f),
  23710. 7: uint32(0x00040000),
  23711. },
  23712. },
  23713. 328: {
  23714. Fmap1: [8]TFcChar32{
  23715. 0: uint32(0xff7fff7f),
  23716. 1: uint32(0xff01ff7f),
  23717. 2: uint32(0x3d7f3d7f),
  23718. 3: uint32(0xffff7fff),
  23719. 4: uint32(0xffff3d7f),
  23720. 5: uint32(0x003d7fff),
  23721. 6: uint32(0xff7f7f3d),
  23722. 7: uint32(0x00ff7fff),
  23723. },
  23724. },
  23725. 329: {
  23726. Fmap1: [8]TFcChar32{
  23727. 2: uint32(0x07fffffe),
  23728. 3: uint32(0x07fffffe),
  23729. 6: uint32(0x24182212),
  23730. 7: uint32(0x24182212),
  23731. },
  23732. },
  23733. 330: {
  23734. Fmap1: [8]TFcChar32{
  23735. 0: uint32(0x0000f000),
  23736. 1: uint32(0x66000000),
  23737. 2: uint32(0x00300180),
  23738. 3: uint32(0x60000033),
  23739. },
  23740. },
  23741. 331: {
  23742. Fmap1: [8]TFcChar32{
  23743. 2: uint32(0x07fffffe),
  23744. 3: uint32(0x07fffffe),
  23745. 6: uint32(0x00408030),
  23746. 7: uint32(0x00408030),
  23747. },
  23748. },
  23749. 332: {
  23750. Fmap1: [8]TFcChar32{
  23751. 2: uint32(0x07fffffe),
  23752. 3: uint32(0x07fffffe),
  23753. 6: uint32(0x00020032),
  23754. 7: uint32(0x00020032),
  23755. },
  23756. },
  23757. 333: {
  23758. Fmap1: [8]TFcChar32{
  23759. 2: uint32(0x07fffffe),
  23760. 3: uint32(0x07fffffe),
  23761. 6: uint32(0x00000016),
  23762. 7: uint32(0x00000016),
  23763. },
  23764. },
  23765. 334: {
  23766. Fmap1: [8]TFcChar32{
  23767. 0: uint32(0x00033000),
  23768. 2: uint32(0x00000c00),
  23769. 3: uint32(0x60000003),
  23770. },
  23771. },
  23772. 335: {
  23773. Fmap1: [8]TFcChar32{
  23774. 2: uint32(0x07fffffe),
  23775. 3: uint32(0x07fffffe),
  23776. 6: uint32(0x00200034),
  23777. 7: uint32(0x00200034),
  23778. },
  23779. },
  23780. 336: {
  23781. Fmap1: [8]TFcChar32{
  23782. 0: uint32(0x00033000),
  23783. 2: uint32(0x00000c00),
  23784. 3: uint32(0x60000003),
  23785. 5: uint32(0x00800000),
  23786. 7: uint32(0x0000c3f0),
  23787. },
  23788. },
  23789. 337: {
  23790. Fmap1: [8]TFcChar32{
  23791. 4: uint32(0x00040000),
  23792. },
  23793. },
  23794. 338: {
  23795. Fmap1: [8]TFcChar32{
  23796. 2: uint32(0x07fffffe),
  23797. 3: uint32(0x07fffffe),
  23798. 6: uint32(0x00000880),
  23799. 7: uint32(0x00000880),
  23800. },
  23801. },
  23802. 339: {
  23803. Fmap1: [8]TFcChar32{
  23804. 0: uint32(0xfdff8f04),
  23805. 1: uint32(0xfdff01ff),
  23806. 2: uint32(0x8f0401ff),
  23807. },
  23808. },
  23809. 340: {
  23810. Fmap1: [8]TFcChar32{
  23811. 2: uint32(0x07fffffe),
  23812. 3: uint32(0x07fffffe),
  23813. 6: uint32(0x10400a33),
  23814. 7: uint32(0x10400a33),
  23815. },
  23816. },
  23817. 341: {
  23818. Fmap1: [8]TFcChar32{
  23819. 0: uint32(0xffff0000),
  23820. 1: uint32(0xffff1fff),
  23821. },
  23822. },
  23823. 342: {
  23824. Fmap1: [8]TFcChar32{
  23825. 4: uint32(0xd63dc7e8),
  23826. 5: uint32(0xc3bfc718),
  23827. 6: uint32(0x00803dc7),
  23828. },
  23829. },
  23830. 343: {
  23831. Fmap1: [8]TFcChar32{
  23832. 0: uint32(0xfffddfee),
  23833. 1: uint32(0xc3effdff),
  23834. 2: uint32(0x00603ddf),
  23835. 3: uint32(0x00000003),
  23836. },
  23837. },
  23838. 344: {
  23839. Fmap1: [8]TFcChar32{
  23840. 0: uint32(0xffff0002),
  23841. 1: uint32(0xffffffff),
  23842. 2: uint32(0x0002ffff),
  23843. 4: uint32(0x0c0c0000),
  23844. 5: uint32(0x00cc0000),
  23845. 7: uint32(0x0000c00c),
  23846. },
  23847. },
  23848. 345: {
  23849. Fmap1: [8]TFcChar32{
  23850. 0: uint32(0xfffffffe),
  23851. 1: uint32(0x87ffffff),
  23852. 2: uint32(0x00007fff),
  23853. },
  23854. },
  23855. 346: {
  23856. Fmap1: [8]TFcChar32{
  23857. 0: uint32(0xff7fff7f),
  23858. 1: uint32(0xff01ff00),
  23859. 2: uint32(0x00003d7f),
  23860. 3: uint32(0xffff7fff),
  23861. 4: uint32(0x00ff0000),
  23862. 5: uint32(0x003d7f7f),
  23863. 6: uint32(0xff7f7f00),
  23864. 7: uint32(0x00ff7f00),
  23865. },
  23866. },
  23867. 347: {
  23868. Fmap1: [8]TFcChar32{
  23869. 2: uint32(0x07fffffe),
  23870. 3: uint32(0x07fffffe),
  23871. 6: uint32(0x30400090),
  23872. 7: uint32(0x30400090),
  23873. },
  23874. },
  23875. 348: {
  23876. Fmap1: [8]TFcChar32{
  23877. 2: uint32(0xc0000180),
  23878. 3: uint32(0x60000000),
  23879. },
  23880. },
  23881. 349: {
  23882. Fmap1: [8]TFcChar32{
  23883. 2: uint32(0x07fffffe),
  23884. 3: uint32(0x07fffffe),
  23885. 6: uint32(0x18404084),
  23886. 7: uint32(0x18404084),
  23887. },
  23888. },
  23889. 350: {
  23890. Fmap1: [8]TFcChar32{
  23891. 0: uint32(0xffff0002),
  23892. 1: uint32(0xffffffff),
  23893. 2: uint32(0x0002ffff),
  23894. 4: uint32(0x00c00000),
  23895. 5: uint32(0x0c00c00c),
  23896. 6: uint32(0x03000000),
  23897. },
  23898. },
  23899. 351: {
  23900. Fmap1: [8]TFcChar32{
  23901. 2: uint32(0x07fffffe),
  23902. 3: uint32(0x07fffffe),
  23903. 6: uint32(0x00008000),
  23904. 7: uint32(0x00008000),
  23905. },
  23906. },
  23907. 352: {
  23908. Fmap1: [8]TFcChar32{
  23909. 1: uint32(0x041ed5c0),
  23910. 2: uint32(0x0000077e),
  23911. 3: uint32(0x40000000),
  23912. 4: uint32(0x01000040),
  23913. 5: uint32(0x4000a000),
  23914. 6: uint32(0x002109c0),
  23915. },
  23916. },
  23917. 353: {
  23918. Fmap1: [8]TFcChar32{
  23919. 0: uint32(0xffff00d0),
  23920. 1: uint32(0xffffffff),
  23921. 2: uint32(0x00d0ffff),
  23922. 4: uint32(0x00030000),
  23923. },
  23924. },
  23925. 354: {
  23926. Fmap1: [8]TFcChar32{
  23927. 1: uint32(0xffffff7b),
  23928. 2: uint32(0x7fffffff),
  23929. 3: uint32(0x7ffffffe),
  23930. 5: uint32(0x80e310fe),
  23931. 6: uint32(0x00800000),
  23932. 7: uint32(0x00800000),
  23933. },
  23934. },
  23935. 355: {
  23936. Fmap1: [8]TFcChar32{
  23937. 1: uint32(0x00020000),
  23938. },
  23939. },
  23940. 356: {
  23941. Fmap1: [8]TFcChar32{
  23942. 0: uint32(0x00001500),
  23943. 1: uint32(0x01000000),
  23944. 4: uint32(0xfffe0000),
  23945. 5: uint32(0xfffe03db),
  23946. 6: uint32(0x006003fb),
  23947. 7: uint32(0x00030000),
  23948. },
  23949. },
  23950. 357: {
  23951. Fmap1: [8]TFcChar32{
  23952. 0: uint32(0x00400000),
  23953. 1: uint32(0x00000047),
  23954. 2: uint32(0x00800010),
  23955. 7: uint32(0x00000002),
  23956. },
  23957. },
  23958. 358: {
  23959. Fmap1: [8]TFcChar32{
  23960. 0: uint32(0x3f2fc004),
  23961. 1: uint32(0x00000010),
  23962. },
  23963. },
  23964. 359: {
  23965. Fmap1: [8]TFcChar32{
  23966. 0: uint32(0xe3ffbfff),
  23967. 1: uint32(0xfff007ff),
  23968. 2: uint32(0x00000001),
  23969. 4: uint32(0xfffff000),
  23970. 5: uint32(0x0000003f),
  23971. 6: uint32(0x0000e10f),
  23972. },
  23973. },
  23974. 360: {
  23975. Fmap1: [8]TFcChar32{
  23976. 0: uint32(0x00000f00),
  23977. 1: uint32(0x0000000c),
  23978. },
  23979. },
  23980. 361: {
  23981. Fmap1: [8]TFcChar32{
  23982. 5: uint32(0x00000003),
  23983. },
  23984. },
  23985. 362: {
  23986. Fmap1: [8]TFcChar32{
  23987. 7: uint32(0x000003c0),
  23988. },
  23989. },
  23990. 363: {
  23991. Fmap1: [8]TFcChar32{
  23992. 0: uint32(0xffffffff),
  23993. 1: uint32(0xffffffff),
  23994. 2: uint32(0xffdfffff),
  23995. 3: uint32(0xffffffff),
  23996. 4: uint32(0xdfffffff),
  23997. 5: uint32(0x00001e64),
  23998. },
  23999. },
  24000. 364: {
  24001. Fmap1: [8]TFcChar32{
  24002. 1: uint32(0x78000000),
  24003. 2: uint32(0x0001fc5f),
  24004. },
  24005. },
  24006. 365: {
  24007. Fmap1: [8]TFcChar32{
  24008. 5: uint32(0x00000030),
  24009. },
  24010. },
  24011. 366: {
  24012. Fmap1: [8]TFcChar32{
  24013. 0: uint32(0x0c000000),
  24014. 7: uint32(0x00091e00),
  24015. },
  24016. },
  24017. 367: {
  24018. Fmap1: [8]TFcChar32{
  24019. 7: uint32(0x60000000),
  24020. },
  24021. },
  24022. 368: {
  24023. Fmap1: [8]TFcChar32{
  24024. 0: uint32(0x00300000),
  24025. 2: uint32(0x000fff00),
  24026. 3: uint32(0x80000000),
  24027. 4: uint32(0x00080000),
  24028. 5: uint32(0x60000c02),
  24029. 6: uint32(0x00104030),
  24030. 7: uint32(0x242c0400),
  24031. },
  24032. },
  24033. 369: {
  24034. Fmap1: [8]TFcChar32{
  24035. 0: uint32(0x00000c20),
  24036. 1: uint32(0x00000100),
  24037. 2: uint32(0x00b85000),
  24038. 4: uint32(0x00e00000),
  24039. 5: uint32(0x80010000),
  24040. },
  24041. },
  24042. 370: {
  24043. Fmap1: [8]TFcChar32{
  24044. 0: uint32(0x18000000),
  24045. 2: uint32(0x00210000),
  24046. },
  24047. },
  24048. 371: {
  24049. Fmap1: [8]TFcChar32{
  24050. 0: uint32(0x00000010),
  24051. 6: uint32(0x00008000),
  24052. },
  24053. },
  24054. 372: {
  24055. Fmap1: [8]TFcChar32{
  24056. 4: uint32(0x07fe4000),
  24057. 7: uint32(0xffffffc0),
  24058. },
  24059. },
  24060. 373: {
  24061. Fmap1: [8]TFcChar32{
  24062. 0: uint32(0x04000002),
  24063. 1: uint32(0x077c8000),
  24064. 2: uint32(0x00030000),
  24065. },
  24066. },
  24067. 374: {
  24068. Fmap1: [8]TFcChar32{
  24069. 0: uint32(0xffffffff),
  24070. 1: uint32(0xffbf0001),
  24071. 2: uint32(0xffffffff),
  24072. 3: uint32(0x1fffffff),
  24073. 4: uint32(0x000fffff),
  24074. 5: uint32(0xffffffff),
  24075. 6: uint32(0x000007df),
  24076. 7: uint32(0x0001ffff),
  24077. },
  24078. },
  24079. 375: {
  24080. Fmap1: [8]TFcChar32{
  24081. 2: uint32(0xfffffffd),
  24082. 3: uint32(0xffffffff),
  24083. 4: uint32(0xffffffff),
  24084. 5: uint32(0xffffffff),
  24085. 6: uint32(0xffffffff),
  24086. 7: uint32(0x1effffff),
  24087. },
  24088. },
  24089. 376: {
  24090. Fmap1: [8]TFcChar32{
  24091. 0: uint32(0xffffffff),
  24092. 1: uint32(0x3fffffff),
  24093. 2: uint32(0xffff0000),
  24094. 3: uint32(0x000000ff),
  24095. 7: uint32(0xf8000000),
  24096. },
  24097. },
  24098. 377: {
  24099. Fmap1: [8]TFcChar32{
  24100. 0: uint32(0x755dfffe),
  24101. 1: uint32(0xffef2f3f),
  24102. 2: uint32(0x0000ffe1),
  24103. },
  24104. },
  24105. 378: {
  24106. Fmap1: [8]TFcChar32{
  24107. 0: uint32(0x000c0000),
  24108. 1: uint32(0x30000000),
  24109. 2: uint32(0x00000c30),
  24110. 3: uint32(0x00030000),
  24111. },
  24112. },
  24113. 379: {
  24114. Fmap1: [8]TFcChar32{
  24115. 2: uint32(0x07fffffe),
  24116. 3: uint32(0x07fffffe),
  24117. 6: uint32(0x263c370f),
  24118. 7: uint32(0x263c370f),
  24119. },
  24120. },
  24121. 380: {
  24122. Fmap1: [8]TFcChar32{
  24123. 0: uint32(0x0003000c),
  24124. 1: uint32(0x00000300),
  24125. 3: uint32(0x00000300),
  24126. 5: uint32(0x00018003),
  24127. },
  24128. },
  24129. 381: {
  24130. Fmap1: [8]TFcChar32{
  24131. 0: uint32(0x0800024f),
  24132. 1: uint32(0x00000008),
  24133. },
  24134. },
  24135. 382: {
  24136. Fmap1: [8]TFcChar32{
  24137. 5: uint32(0xffffffff),
  24138. 6: uint32(0xffffffff),
  24139. 7: uint32(0x03ffffff),
  24140. },
  24141. },
  24142. 383: {
  24143. Fmap1: [8]TFcChar32{
  24144. 2: uint32(0x077dfffe),
  24145. 3: uint32(0x077dfffe),
  24146. 6: uint32(0x10400010),
  24147. 7: uint32(0x10400010),
  24148. },
  24149. },
  24150. 384: {
  24151. Fmap1: [8]TFcChar32{
  24152. 2: uint32(0x07fffffe),
  24153. 3: uint32(0x07fffffe),
  24154. 6: uint32(0x10400010),
  24155. 7: uint32(0x10400010),
  24156. },
  24157. },
  24158. 385: {
  24159. Fmap1: [8]TFcChar32{
  24160. 2: uint32(0x07fffffe),
  24161. 3: uint32(0x07fffffe),
  24162. 6: uint32(0x081047a4),
  24163. 7: uint32(0x081047a4),
  24164. },
  24165. },
  24166. 386: {
  24167. Fmap1: [8]TFcChar32{
  24168. 0: uint32(0x0c0030c0),
  24169. 2: uint32(0x0f30001e),
  24170. 3: uint32(0x66000003),
  24171. },
  24172. },
  24173. 387: {
  24174. Fmap1: [8]TFcChar32{
  24175. 2: uint32(0x07fffffe),
  24176. 3: uint32(0x07fffffe),
  24177. 6: uint32(0x000a0a09),
  24178. 7: uint32(0x000a0a09),
  24179. },
  24180. },
  24181. 388: {
  24182. Fmap1: [8]TFcChar32{
  24183. 2: uint32(0x07fffffe),
  24184. 3: uint32(0x07fffffe),
  24185. 6: uint32(0x00400810),
  24186. 7: uint32(0x00400810),
  24187. },
  24188. },
  24189. 389: {
  24190. Fmap1: [8]TFcChar32{
  24191. 2: uint32(0x07fffffe),
  24192. 3: uint32(0x07fffffe),
  24193. 6: uint32(0x0e3c770f),
  24194. 7: uint32(0x0e3c770f),
  24195. },
  24196. },
  24197. 390: {
  24198. Fmap1: [8]TFcChar32{
  24199. 0: uint32(0x0c000000),
  24200. 1: uint32(0x00000300),
  24201. 2: uint32(0x00000018),
  24202. 3: uint32(0x00000300),
  24203. 6: uint32(0x001fe000),
  24204. 7: uint32(0x03000000),
  24205. },
  24206. },
  24207. 391: {
  24208. Fmap1: [8]TFcChar32{
  24209. 0: uint32(0x0000100f),
  24210. },
  24211. },
  24212. 392: {
  24213. Fmap1: [8]TFcChar32{
  24214. 1: uint32(0xc0000000),
  24215. 3: uint32(0x0000000c),
  24216. 5: uint32(0x33000000),
  24217. 6: uint32(0x00003000),
  24218. },
  24219. },
  24220. 393: {
  24221. Fmap1: [8]TFcChar32{
  24222. 6: uint32(0x00000280),
  24223. },
  24224. },
  24225. 394: {
  24226. Fmap1: [8]TFcChar32{
  24227. 0: uint32(0x7f7b7f8b),
  24228. 1: uint32(0xef553db4),
  24229. 2: uint32(0xf35dfba8),
  24230. 3: uint32(0x400b0243),
  24231. 4: uint32(0x8d3efb40),
  24232. 5: uint32(0x8c2c7bf7),
  24233. 6: uint32(0xe3fa6eff),
  24234. 7: uint32(0xa8ed1d3a),
  24235. },
  24236. },
  24237. 395: {
  24238. Fmap1: [8]TFcChar32{
  24239. 0: uint32(0xcf83e602),
  24240. 1: uint32(0x35558cf5),
  24241. 2: uint32(0xffabe048),
  24242. 3: uint32(0xd85992b9),
  24243. 4: uint32(0x2892ab18),
  24244. 5: uint32(0x8020d7e9),
  24245. 6: uint32(0xf583c438),
  24246. 7: uint32(0x450ae74a),
  24247. },
  24248. },
  24249. 396: {
  24250. Fmap1: [8]TFcChar32{
  24251. 0: uint32(0x9714b000),
  24252. 1: uint32(0x54007762),
  24253. 2: uint32(0x1420d188),
  24254. 3: uint32(0xc8c01020),
  24255. 4: uint32(0x00002121),
  24256. 5: uint32(0x0c0413a8),
  24257. 6: uint32(0x04408000),
  24258. 7: uint32(0x082870c0),
  24259. },
  24260. },
  24261. 397: {
  24262. Fmap1: [8]TFcChar32{
  24263. 0: uint32(0x000408c0),
  24264. 1: uint32(0x80000002),
  24265. 2: uint32(0x14722b7b),
  24266. 3: uint32(0x3bfb7924),
  24267. 4: uint32(0x1ae43327),
  24268. 5: uint32(0x38ef9835),
  24269. 6: uint32(0x28029ad1),
  24270. 7: uint32(0xbf69a813),
  24271. },
  24272. },
  24273. 398: {
  24274. Fmap1: [8]TFcChar32{
  24275. 0: uint32(0x2fc665cf),
  24276. 1: uint32(0xafc96b11),
  24277. 2: uint32(0x5053340f),
  24278. 3: uint32(0xa00486a2),
  24279. 4: uint32(0xe8090106),
  24280. 5: uint32(0xc00e3f0f),
  24281. 6: uint32(0x81450a88),
  24282. 7: uint32(0xc6010010),
  24283. },
  24284. },
  24285. 399: {
  24286. Fmap1: [8]TFcChar32{
  24287. 0: uint32(0x26e1a161),
  24288. 1: uint32(0xce00444b),
  24289. 2: uint32(0xd4eec7aa),
  24290. 3: uint32(0x85bbcadf),
  24291. 4: uint32(0xa5203a74),
  24292. 5: uint32(0x8840436c),
  24293. 6: uint32(0x8bd23f06),
  24294. 7: uint32(0x3befff79),
  24295. },
  24296. },
  24297. 400: {
  24298. Fmap1: [8]TFcChar32{
  24299. 0: uint32(0xe8eff75a),
  24300. 1: uint32(0x5b36fbcb),
  24301. 2: uint32(0x1bfd0d49),
  24302. 3: uint32(0x39ee0154),
  24303. 4: uint32(0x2e75d855),
  24304. 5: uint32(0xa91abfd8),
  24305. 6: uint32(0xf6bff3d7),
  24306. 7: uint32(0xb40c67e0),
  24307. },
  24308. },
  24309. 401: {
  24310. Fmap1: [8]TFcChar32{
  24311. 0: uint32(0x081382c2),
  24312. 1: uint32(0xd08bd49d),
  24313. 2: uint32(0x1061065a),
  24314. 3: uint32(0x59e074f2),
  24315. 4: uint32(0xb3128f9f),
  24316. 5: uint32(0x6aaa0080),
  24317. 6: uint32(0xb05e3230),
  24318. 7: uint32(0x60ac9d7a),
  24319. },
  24320. },
  24321. 402: {
  24322. Fmap1: [8]TFcChar32{
  24323. 0: uint32(0xc900d303),
  24324. 1: uint32(0x8a563098),
  24325. 2: uint32(0x13907000),
  24326. 3: uint32(0x18421f14),
  24327. 4: uint32(0x0008c060),
  24328. 5: uint32(0x10808008),
  24329. 6: uint32(0xec900400),
  24330. 7: uint32(0xe6332817),
  24331. },
  24332. },
  24333. 403: {
  24334. Fmap1: [8]TFcChar32{
  24335. 0: uint32(0x90000758),
  24336. 1: uint32(0x4e09f708),
  24337. 2: uint32(0xfc83f485),
  24338. 3: uint32(0x18c8af53),
  24339. 4: uint32(0x080c187c),
  24340. 5: uint32(0x01146adf),
  24341. 6: uint32(0xa734c80c),
  24342. 7: uint32(0x2710a011),
  24343. },
  24344. },
  24345. 404: {
  24346. Fmap1: [8]TFcChar32{
  24347. 0: uint32(0x422228c5),
  24348. 1: uint32(0x00210413),
  24349. 2: uint32(0x41123010),
  24350. 3: uint32(0x40001820),
  24351. 4: uint32(0xc60c022b),
  24352. 5: uint32(0x10000300),
  24353. 6: uint32(0x00220022),
  24354. 7: uint32(0x02495810),
  24355. },
  24356. },
  24357. 405: {
  24358. Fmap1: [8]TFcChar32{
  24359. 0: uint32(0x9670a094),
  24360. 1: uint32(0x1792eeb0),
  24361. 2: uint32(0x05f2cb96),
  24362. 3: uint32(0x23580025),
  24363. 4: uint32(0x42cc25de),
  24364. 5: uint32(0x4a04cf38),
  24365. 6: uint32(0x359f0c40),
  24366. 7: uint32(0x8a001128),
  24367. },
  24368. },
  24369. 406: {
  24370. Fmap1: [8]TFcChar32{
  24371. 0: uint32(0x910a13fa),
  24372. 1: uint32(0x10560229),
  24373. 2: uint32(0x04200641),
  24374. 3: uint32(0x84f00484),
  24375. 4: uint32(0x0c040000),
  24376. 5: uint32(0x412c0400),
  24377. 6: uint32(0x11541206),
  24378. 7: uint32(0x00020a4b),
  24379. },
  24380. },
  24381. 407: {
  24382. Fmap1: [8]TFcChar32{
  24383. 0: uint32(0x00c00200),
  24384. 1: uint32(0x00940000),
  24385. 2: uint32(0xbfbb0001),
  24386. 3: uint32(0x242b167c),
  24387. 4: uint32(0x7fa89bbb),
  24388. 5: uint32(0xe3790c7f),
  24389. 6: uint32(0xe00d10f4),
  24390. 7: uint32(0x9f014132),
  24391. },
  24392. },
  24393. 408: {
  24394. Fmap1: [8]TFcChar32{
  24395. 0: uint32(0x35728652),
  24396. 1: uint32(0xff1210b4),
  24397. 2: uint32(0x4223cf27),
  24398. 3: uint32(0x8602c06b),
  24399. 4: uint32(0x1fd33106),
  24400. 5: uint32(0xa1aa3a0c),
  24401. 6: uint32(0x02040812),
  24402. 7: uint32(0x08012572),
  24403. },
  24404. },
  24405. 409: {
  24406. Fmap1: [8]TFcChar32{
  24407. 0: uint32(0x485040cc),
  24408. 1: uint32(0x601062d0),
  24409. 2: uint32(0x29001c80),
  24410. 3: uint32(0x00109a00),
  24411. 4: uint32(0x22000004),
  24412. 5: uint32(0x00800000),
  24413. 6: uint32(0x68002020),
  24414. 7: uint32(0x609ecbe6),
  24415. },
  24416. },
  24417. 410: {
  24418. Fmap1: [8]TFcChar32{
  24419. 0: uint32(0x3f73916e),
  24420. 1: uint32(0x398260c0),
  24421. 2: uint32(0x48301034),
  24422. 3: uint32(0xbd5c0006),
  24423. 4: uint32(0xd6fb8cd1),
  24424. 5: uint32(0x43e820e1),
  24425. 6: uint32(0x084e0600),
  24426. 7: uint32(0xc4d00500),
  24427. },
  24428. },
  24429. 411: {
  24430. Fmap1: [8]TFcChar32{
  24431. 0: uint32(0x89aa8d1f),
  24432. 1: uint32(0x1602a6e1),
  24433. 2: uint32(0x21ed0001),
  24434. 3: uint32(0x1a8b3656),
  24435. 4: uint32(0x13a51fb7),
  24436. 5: uint32(0x30a06502),
  24437. 6: uint32(0x23c7b278),
  24438. 7: uint32(0xe9226c93),
  24439. },
  24440. },
  24441. 412: {
  24442. Fmap1: [8]TFcChar32{
  24443. 0: uint32(0x3a74e47f),
  24444. 1: uint32(0x98208fe3),
  24445. 2: uint32(0x2625280e),
  24446. 3: uint32(0xbf49bf9c),
  24447. 4: uint32(0xac543218),
  24448. 5: uint32(0x1916b949),
  24449. 6: uint32(0xb5220c60),
  24450. 7: uint32(0x0659fbc1),
  24451. },
  24452. },
  24453. 413: {
  24454. Fmap1: [8]TFcChar32{
  24455. 0: uint32(0x8420e343),
  24456. 1: uint32(0x800008d9),
  24457. 2: uint32(0x20225500),
  24458. 3: uint32(0x00a10184),
  24459. 4: uint32(0x20104800),
  24460. 5: uint32(0x40801380),
  24461. 6: uint32(0x00160d04),
  24462. 7: uint32(0x80200040),
  24463. },
  24464. },
  24465. 414: {
  24466. Fmap1: [8]TFcChar32{
  24467. 0: uint32(0x8de7fd40),
  24468. 1: uint32(0xe0985436),
  24469. 2: uint32(0x091e7b8b),
  24470. 3: uint32(0xd249fec8),
  24471. 4: uint32(0x8dee0611),
  24472. 5: uint32(0xba221937),
  24473. 6: uint32(0x9fdd77f4),
  24474. 7: uint32(0xf0daf3ec),
  24475. },
  24476. },
  24477. 415: {
  24478. Fmap1: [8]TFcChar32{
  24479. 0: uint32(0xec424386),
  24480. 1: uint32(0x26048d3f),
  24481. 2: uint32(0xc021fa6c),
  24482. 3: uint32(0x0cc2628e),
  24483. 4: uint32(0x0145d785),
  24484. 5: uint32(0x559977ad),
  24485. 6: uint32(0x4045e250),
  24486. 7: uint32(0xa154260b),
  24487. },
  24488. },
  24489. 416: {
  24490. Fmap1: [8]TFcChar32{
  24491. 0: uint32(0x58199827),
  24492. 1: uint32(0xa4103443),
  24493. 2: uint32(0x411405f2),
  24494. 3: uint32(0x07002280),
  24495. 4: uint32(0x426600b4),
  24496. 5: uint32(0x15a17210),
  24497. 6: uint32(0x41856025),
  24498. 7: uint32(0x00000054),
  24499. },
  24500. },
  24501. 417: {
  24502. Fmap1: [8]TFcChar32{
  24503. 0: uint32(0x01040201),
  24504. 1: uint32(0xcb70c820),
  24505. 2: uint32(0x6a629320),
  24506. 3: uint32(0x0095184c),
  24507. 4: uint32(0x9a8b1880),
  24508. 5: uint32(0x3201aab2),
  24509. 6: uint32(0x00c4d87a),
  24510. 7: uint32(0x04c3f3e5),
  24511. },
  24512. },
  24513. 418: {
  24514. Fmap1: [8]TFcChar32{
  24515. 0: uint32(0xa238d44d),
  24516. 1: uint32(0x5072a1a1),
  24517. 2: uint32(0x84fc980a),
  24518. 3: uint32(0x44d1c152),
  24519. 4: uint32(0x20c21094),
  24520. 5: uint32(0x42104180),
  24521. 6: uint32(0x3a000000),
  24522. 7: uint32(0xd29d0240),
  24523. },
  24524. },
  24525. 419: {
  24526. Fmap1: [8]TFcChar32{
  24527. 0: uint32(0xa8b12f01),
  24528. 1: uint32(0x2432bd40),
  24529. 2: uint32(0xd04bd34d),
  24530. 3: uint32(0xd0ada723),
  24531. 4: uint32(0x75a10a92),
  24532. 5: uint32(0x01e9adac),
  24533. 6: uint32(0x771f801a),
  24534. 7: uint32(0xa01b9225),
  24535. },
  24536. },
  24537. 420: {
  24538. Fmap1: [8]TFcChar32{
  24539. 0: uint32(0x20cadfa1),
  24540. 1: uint32(0x738c0602),
  24541. 2: uint32(0x003b577f),
  24542. 3: uint32(0x00d00bff),
  24543. 4: uint32(0x0088806a),
  24544. 5: uint32(0x0029a1c4),
  24545. 6: uint32(0x05242a05),
  24546. 7: uint32(0x16234009),
  24547. },
  24548. },
  24549. 421: {
  24550. Fmap1: [8]TFcChar32{
  24551. 0: uint32(0x80056822),
  24552. 1: uint32(0xa2112011),
  24553. 2: uint32(0x64900004),
  24554. 3: uint32(0x13824849),
  24555. 4: uint32(0x193023d5),
  24556. 5: uint32(0x08922980),
  24557. 6: uint32(0x88115402),
  24558. 7: uint32(0xa0042001),
  24559. },
  24560. },
  24561. 422: {
  24562. Fmap1: [8]TFcChar32{
  24563. 0: uint32(0x81800400),
  24564. 1: uint32(0x60228502),
  24565. 2: uint32(0x0b010090),
  24566. 3: uint32(0x12020022),
  24567. 4: uint32(0x00834011),
  24568. 5: uint32(0x00001a01),
  24569. },
  24570. },
  24571. 423: {
  24572. Fmap1: [8]TFcChar32{
  24573. 1: uint32(0x4684009f),
  24574. 2: uint32(0x020012c8),
  24575. 3: uint32(0x1a0004fc),
  24576. 4: uint32(0x0c4c2ede),
  24577. 5: uint32(0x80b80402),
  24578. 6: uint32(0x0afca826),
  24579. 7: uint32(0x22288c02),
  24580. },
  24581. },
  24582. 424: {
  24583. Fmap1: [8]TFcChar32{
  24584. 0: uint32(0x8f7ba0e0),
  24585. 1: uint32(0x2135c7d6),
  24586. 2: uint32(0xf8b106c7),
  24587. 3: uint32(0x62550713),
  24588. 4: uint32(0x8a19936e),
  24589. 5: uint32(0xfb0e6efa),
  24590. 6: uint32(0x48f91630),
  24591. 7: uint32(0x7debcd2f),
  24592. },
  24593. },
  24594. 425: {
  24595. Fmap1: [8]TFcChar32{
  24596. 0: uint32(0x4e845892),
  24597. 1: uint32(0x7a2e4ca0),
  24598. 2: uint32(0x561eedea),
  24599. 3: uint32(0x1190c649),
  24600. 4: uint32(0xe83a5324),
  24601. 5: uint32(0x8124cfdb),
  24602. 6: uint32(0x634218f1),
  24603. 7: uint32(0x1a8a5853),
  24604. },
  24605. },
  24606. 426: {
  24607. Fmap1: [8]TFcChar32{
  24608. 0: uint32(0x24d37420),
  24609. 1: uint32(0x0514aa3b),
  24610. 2: uint32(0x89586018),
  24611. 3: uint32(0xc0004800),
  24612. 4: uint32(0x91018268),
  24613. 5: uint32(0x2cd684a4),
  24614. 6: uint32(0xc4ba8886),
  24615. 7: uint32(0x02100377),
  24616. },
  24617. },
  24618. 427: {
  24619. Fmap1: [8]TFcChar32{
  24620. 0: uint32(0x00388244),
  24621. 1: uint32(0x404aae11),
  24622. 2: uint32(0x510028c0),
  24623. 3: uint32(0x15146044),
  24624. 4: uint32(0x10007310),
  24625. 5: uint32(0x02480082),
  24626. 6: uint32(0x40060205),
  24627. 7: uint32(0x0000c003),
  24628. },
  24629. },
  24630. 428: {
  24631. Fmap1: [8]TFcChar32{
  24632. 0: uint32(0x0c020000),
  24633. 1: uint32(0x02200008),
  24634. 2: uint32(0x40009000),
  24635. 3: uint32(0xd161b800),
  24636. 4: uint32(0x32744621),
  24637. 5: uint32(0x3b8af800),
  24638. 6: uint32(0x8b00050f),
  24639. 7: uint32(0x2280bbd0),
  24640. },
  24641. },
  24642. 429: {
  24643. Fmap1: [8]TFcChar32{
  24644. 0: uint32(0x07690600),
  24645. 1: uint32(0x00438040),
  24646. 2: uint32(0x50005420),
  24647. 3: uint32(0x250c41d0),
  24648. 4: uint32(0x83108410),
  24649. 5: uint32(0x02281101),
  24650. 6: uint32(0x00304008),
  24651. 7: uint32(0x020040a1),
  24652. },
  24653. },
  24654. 430: {
  24655. Fmap1: [8]TFcChar32{
  24656. 0: uint32(0x20000040),
  24657. 1: uint32(0xabe31500),
  24658. 2: uint32(0xaa443180),
  24659. 3: uint32(0xc624c2c6),
  24660. 4: uint32(0x8004ac13),
  24661. 5: uint32(0x03d1b000),
  24662. 6: uint32(0x4285611e),
  24663. 7: uint32(0x1d9ff303),
  24664. },
  24665. },
  24666. 431: {
  24667. Fmap1: [8]TFcChar32{
  24668. 0: uint32(0x78e8440a),
  24669. 1: uint32(0xc3925e26),
  24670. 2: uint32(0x00852000),
  24671. 3: uint32(0x4000b001),
  24672. 4: uint32(0x88424a90),
  24673. 5: uint32(0x0c8dca04),
  24674. 6: uint32(0x4203a705),
  24675. 7: uint32(0x000422a1),
  24676. },
  24677. },
  24678. 432: {
  24679. Fmap1: [8]TFcChar32{
  24680. 0: uint32(0x0c018668),
  24681. 1: uint32(0x10795564),
  24682. 2: uint32(0xdea00002),
  24683. 3: uint32(0x40c12000),
  24684. 4: uint32(0x5001488b),
  24685. 5: uint32(0x04000380),
  24686. 6: uint32(0x50040000),
  24687. 7: uint32(0x80d0c05d),
  24688. },
  24689. },
  24690. 433: {
  24691. Fmap1: [8]TFcChar32{
  24692. 0: uint32(0x970aa010),
  24693. 1: uint32(0x4dafbb20),
  24694. 2: uint32(0x1e10d921),
  24695. 3: uint32(0x83140460),
  24696. 4: uint32(0xa6d68848),
  24697. 5: uint32(0x733fd83b),
  24698. 6: uint32(0x497427bc),
  24699. 7: uint32(0x92130ddc),
  24700. },
  24701. },
  24702. 434: {
  24703. Fmap1: [8]TFcChar32{
  24704. 0: uint32(0x8ba1142b),
  24705. 1: uint32(0xd1392e75),
  24706. 2: uint32(0x50503009),
  24707. 3: uint32(0x69008808),
  24708. 4: uint32(0x024a49d4),
  24709. 5: uint32(0x80164010),
  24710. 6: uint32(0x89d7e564),
  24711. 7: uint32(0x5316c020),
  24712. },
  24713. },
  24714. 435: {
  24715. Fmap1: [8]TFcChar32{
  24716. 0: uint32(0x86002b92),
  24717. 1: uint32(0x15e0a345),
  24718. 2: uint32(0x0c03008b),
  24719. 3: uint32(0xe200196e),
  24720. 4: uint32(0x80067031),
  24721. 5: uint32(0xa82916a5),
  24722. 6: uint32(0x18802000),
  24723. 7: uint32(0xe1487aac),
  24724. },
  24725. },
  24726. 436: {
  24727. Fmap1: [8]TFcChar32{
  24728. 0: uint32(0xb5d63207),
  24729. 1: uint32(0x5f9132e8),
  24730. 2: uint32(0x20e550a1),
  24731. 3: uint32(0x10807c00),
  24732. 4: uint32(0x9d8a7280),
  24733. 5: uint32(0x421f00aa),
  24734. 6: uint32(0x02310e22),
  24735. 7: uint32(0x04941100),
  24736. },
  24737. },
  24738. 437: {
  24739. Fmap1: [8]TFcChar32{
  24740. 0: uint32(0x40080022),
  24741. 1: uint32(0x5c100010),
  24742. 2: uint32(0xfcc80343),
  24743. 3: uint32(0x0580a1a5),
  24744. 4: uint32(0x04008433),
  24745. 5: uint32(0x6e080080),
  24746. 6: uint32(0x81262a4b),
  24747. 7: uint32(0x2901aad8),
  24748. },
  24749. },
  24750. 438: {
  24751. Fmap1: [8]TFcChar32{
  24752. 0: uint32(0x4490684d),
  24753. 1: uint32(0xba880009),
  24754. 2: uint32(0x00820040),
  24755. 3: uint32(0x87d10000),
  24756. 4: uint32(0xb1e6215b),
  24757. 5: uint32(0x80083161),
  24758. 6: uint32(0xc2400800),
  24759. 7: uint32(0xa600a069),
  24760. },
  24761. },
  24762. 439: {
  24763. Fmap1: [8]TFcChar32{
  24764. 0: uint32(0x4a328d58),
  24765. 1: uint32(0x550a5d71),
  24766. 2: uint32(0x2d579aa0),
  24767. 3: uint32(0x4aa64005),
  24768. 4: uint32(0x30b12021),
  24769. 5: uint32(0x01123fc6),
  24770. 6: uint32(0x260a10c2),
  24771. 7: uint32(0x50824462),
  24772. },
  24773. },
  24774. 440: {
  24775. Fmap1: [8]TFcChar32{
  24776. 0: uint32(0x80409880),
  24777. 1: uint32(0x810004c0),
  24778. 2: uint32(0x00002003),
  24779. 3: uint32(0x38180000),
  24780. 4: uint32(0xf1a60200),
  24781. 5: uint32(0x720e4434),
  24782. 6: uint32(0x92e035a2),
  24783. 7: uint32(0x09008101),
  24784. },
  24785. },
  24786. 441: {
  24787. Fmap1: [8]TFcChar32{
  24788. 0: uint32(0x00000400),
  24789. 1: uint32(0x00008885),
  24790. 3: uint32(0x00804000),
  24791. 5: uint32(0x00004040),
  24792. },
  24793. },
  24794. 442: {
  24795. Fmap1: [8]TFcChar32{
  24796. 1: uint32(0x08000000),
  24797. 2: uint32(0x00000082),
  24798. 4: uint32(0x88000004),
  24799. 5: uint32(0xe7efbfff),
  24800. 6: uint32(0xffbfffff),
  24801. 7: uint32(0xfdffefef),
  24802. },
  24803. },
  24804. 443: {
  24805. Fmap1: [8]TFcChar32{
  24806. 0: uint32(0xbffefbff),
  24807. 1: uint32(0x057fffff),
  24808. 2: uint32(0x85b30034),
  24809. 3: uint32(0x42164706),
  24810. 4: uint32(0xe4105402),
  24811. 5: uint32(0xb3058092),
  24812. 6: uint32(0x81305422),
  24813. 7: uint32(0x180b4263),
  24814. },
  24815. },
  24816. 444: {
  24817. Fmap1: [8]TFcChar32{
  24818. 0: uint32(0x13f5387b),
  24819. 1: uint32(0xa9ea07e5),
  24820. 2: uint32(0x05143c4c),
  24821. 3: uint32(0x80020600),
  24822. 4: uint32(0xbd481ad9),
  24823. 5: uint32(0xf496ee37),
  24824. 6: uint32(0x7ec0705f),
  24825. 7: uint32(0x355fbfb2),
  24826. },
  24827. },
  24828. 445: {
  24829. Fmap1: [8]TFcChar32{
  24830. 0: uint32(0x455fe644),
  24831. 1: uint32(0x41469000),
  24832. 2: uint32(0x063b1d40),
  24833. 3: uint32(0xfe1362a1),
  24834. 4: uint32(0x39028505),
  24835. 5: uint32(0x0c080548),
  24836. 6: uint32(0x0000144f),
  24837. 7: uint32(0x58183488),
  24838. },
  24839. },
  24840. 446: {
  24841. Fmap1: [8]TFcChar32{
  24842. 0: uint32(0xd8153077),
  24843. 1: uint32(0x4bfbbd0e),
  24844. 2: uint32(0x85008a90),
  24845. 3: uint32(0xe61dc100),
  24846. 4: uint32(0xb386ed14),
  24847. 5: uint32(0x639bff72),
  24848. 6: uint32(0xd9befd92),
  24849. 7: uint32(0x0a92887b),
  24850. },
  24851. },
  24852. 447: {
  24853. Fmap1: [8]TFcChar32{
  24854. 0: uint32(0x1cb2d3fe),
  24855. 1: uint32(0x177ab980),
  24856. 2: uint32(0xdc1782c9),
  24857. 3: uint32(0x3980fffb),
  24858. 4: uint32(0x590c4260),
  24859. 5: uint32(0x37df0f01),
  24860. 6: uint32(0xb15094a3),
  24861. 7: uint32(0x23070623),
  24862. },
  24863. },
  24864. 448: {
  24865. Fmap1: [8]TFcChar32{
  24866. 0: uint32(0x3102f85a),
  24867. 1: uint32(0x310201f0),
  24868. 2: uint32(0x1e820040),
  24869. 3: uint32(0x056a3a0a),
  24870. 4: uint32(0x12805b84),
  24871. 5: uint32(0xa7148002),
  24872. 6: uint32(0xa04b2612),
  24873. 7: uint32(0x90011069),
  24874. },
  24875. },
  24876. 449: {
  24877. Fmap1: [8]TFcChar32{
  24878. 0: uint32(0x848a1000),
  24879. 1: uint32(0x3f801802),
  24880. 2: uint32(0x42400708),
  24881. 3: uint32(0x4e140110),
  24882. 4: uint32(0x180080b0),
  24883. 5: uint32(0x0281c510),
  24884. 6: uint32(0x10298202),
  24885. 7: uint32(0x88000210),
  24886. },
  24887. },
  24888. 450: {
  24889. Fmap1: [8]TFcChar32{
  24890. 0: uint32(0x00420020),
  24891. 1: uint32(0x11000280),
  24892. 2: uint32(0x4413e000),
  24893. 3: uint32(0xfe025804),
  24894. 4: uint32(0x30283c07),
  24895. 5: uint32(0x04739798),
  24896. 6: uint32(0xcb13ced1),
  24897. 7: uint32(0x431f6210),
  24898. },
  24899. },
  24900. 451: {
  24901. Fmap1: [8]TFcChar32{
  24902. 0: uint32(0x55ac278d),
  24903. 1: uint32(0xc892422e),
  24904. 2: uint32(0x02885380),
  24905. 3: uint32(0x78514039),
  24906. 4: uint32(0x8088292c),
  24907. 5: uint32(0x2428b900),
  24908. 6: uint32(0x080e0c41),
  24909. 7: uint32(0x42004421),
  24910. },
  24911. },
  24912. 452: {
  24913. Fmap1: [8]TFcChar32{
  24914. 0: uint32(0x08680408),
  24915. 1: uint32(0x12040006),
  24916. 2: uint32(0x02903031),
  24917. 3: uint32(0xe0855b3e),
  24918. 4: uint32(0x10442936),
  24919. 5: uint32(0x10822814),
  24920. 6: uint32(0x83344266),
  24921. 7: uint32(0x531b013c),
  24922. },
  24923. },
  24924. 453: {
  24925. Fmap1: [8]TFcChar32{
  24926. 0: uint32(0x0e0d0404),
  24927. 1: uint32(0x00510c22),
  24928. 2: uint32(0xc0000012),
  24929. 3: uint32(0x88000040),
  24930. 4: uint32(0x0000004a),
  24931. 6: uint32(0x5447dff6),
  24932. 7: uint32(0x00088868),
  24933. },
  24934. },
  24935. 454: {
  24936. Fmap1: [8]TFcChar32{
  24937. 0: uint32(0x00000081),
  24938. 1: uint32(0x40000000),
  24939. 2: uint32(0x00000100),
  24940. 3: uint32(0x02000000),
  24941. 4: uint32(0x00080600),
  24942. },
  24943. },
  24944. 455: {
  24945. Fmap1: [8]TFcChar32{
  24946. 0: uint32(0x00000080),
  24947. 1: uint32(0x00000040),
  24948. 3: uint32(0x00001040),
  24949. 5: uint32(0xf7fdefff),
  24950. 6: uint32(0xfffeff7f),
  24951. 7: uint32(0xfffffbff),
  24952. },
  24953. },
  24954. 456: {
  24955. Fmap1: [8]TFcChar32{
  24956. 0: uint32(0xbffffdff),
  24957. 1: uint32(0x00ffffff),
  24958. 2: uint32(0x042012c2),
  24959. 3: uint32(0x07080c06),
  24960. 4: uint32(0x01101624),
  24961. },
  24962. },
  24963. 457: {
  24964. Fmap1: [8]TFcChar32{
  24965. 0: uint32(0xe0000000),
  24966. 1: uint32(0xfffffffe),
  24967. 2: uint32(0x7f79ffff),
  24968. 3: uint32(0x00f928df),
  24969. 4: uint32(0x80120c32),
  24970. 5: uint32(0xd53a0008),
  24971. 6: uint32(0xecc2d858),
  24972. 7: uint32(0x2fa89d18),
  24973. },
  24974. },
  24975. 458: {
  24976. Fmap1: [8]TFcChar32{
  24977. 0: uint32(0xe0109620),
  24978. 1: uint32(0x2622d60c),
  24979. 2: uint32(0x02060f97),
  24980. 3: uint32(0x9055b240),
  24981. 4: uint32(0x501180a2),
  24982. 5: uint32(0x04049800),
  24983. 6: uint32(0x00004000),
  24984. },
  24985. },
  24986. 459: {
  24987. Fmap1: [8]TFcChar32{
  24988. 3: uint32(0xfffffbc0),
  24989. 4: uint32(0xdffbeffe),
  24990. 5: uint32(0x62430b08),
  24991. 6: uint32(0xfb3b41b6),
  24992. 7: uint32(0x23896f74),
  24993. },
  24994. },
  24995. 460: {
  24996. Fmap1: [8]TFcChar32{
  24997. 0: uint32(0xecd7ae7f),
  24998. 1: uint32(0x5960e047),
  24999. 2: uint32(0x098fa096),
  25000. 3: uint32(0xa030612c),
  25001. 4: uint32(0x2aaa090d),
  25002. 5: uint32(0x4f7bd44e),
  25003. 6: uint32(0x388bc4b2),
  25004. 7: uint32(0x6110a9c6),
  25005. },
  25006. },
  25007. 461: {
  25008. Fmap1: [8]TFcChar32{
  25009. 0: uint32(0x42000014),
  25010. 1: uint32(0x0202800c),
  25011. 2: uint32(0x6485fe48),
  25012. 3: uint32(0xe3f7d63e),
  25013. 4: uint32(0x0c073aa0),
  25014. 5: uint32(0x0430e40c),
  25015. 6: uint32(0x1002f680),
  25016. },
  25017. },
  25018. 462: {
  25019. Fmap1: [8]TFcChar32{
  25020. 3: uint32(0x00100000),
  25021. 4: uint32(0x00004000),
  25022. 5: uint32(0x00004000),
  25023. 6: uint32(0x00000100),
  25024. },
  25025. },
  25026. 463: {
  25027. Fmap1: [8]TFcChar32{
  25028. 1: uint32(0x40000000),
  25029. 3: uint32(0x00000400),
  25030. 4: uint32(0x00008000),
  25031. 6: uint32(0x00400400),
  25032. },
  25033. },
  25034. 464: {
  25035. Fmap1: [8]TFcChar32{
  25036. 1: uint32(0x40000000),
  25037. 3: uint32(0x00000800),
  25038. 4: uint32(0xfebdffe0),
  25039. 5: uint32(0xffffffff),
  25040. 6: uint32(0xfbe77f7f),
  25041. 7: uint32(0xf7ffffbf),
  25042. },
  25043. },
  25044. 465: {
  25045. Fmap1: [8]TFcChar32{
  25046. 0: uint32(0xefffffff),
  25047. 1: uint32(0xdff7ff7e),
  25048. 2: uint32(0xfbdff6f7),
  25049. 3: uint32(0x804fbffe),
  25050. 7: uint32(0x7fffef00),
  25051. },
  25052. },
  25053. 466: {
  25054. Fmap1: [8]TFcChar32{
  25055. 0: uint32(0xb6f7ff7f),
  25056. 1: uint32(0xb87e4406),
  25057. 2: uint32(0x88313bf5),
  25058. 3: uint32(0x00f41796),
  25059. 4: uint32(0x1391a960),
  25060. 5: uint32(0x72490080),
  25061. 6: uint32(0x0024f2f3),
  25062. 7: uint32(0x42c88701),
  25063. },
  25064. },
  25065. 467: {
  25066. Fmap1: [8]TFcChar32{
  25067. 0: uint32(0x5048e3d3),
  25068. 1: uint32(0x43052400),
  25069. 2: uint32(0x4a4c0000),
  25070. 3: uint32(0x10580227),
  25071. 4: uint32(0x01162820),
  25072. 5: uint32(0x0014a809),
  25073. 7: uint32(0x00683ec0),
  25074. },
  25075. },
  25076. 468: {
  25077. Fmap1: [8]TFcChar32{
  25078. 3: uint32(0xffe00000),
  25079. 4: uint32(0xfddbb7ff),
  25080. 5: uint32(0x000000f7),
  25081. 6: uint32(0xc72e4000),
  25082. 7: uint32(0x00000180),
  25083. },
  25084. },
  25085. 469: {
  25086. Fmap1: [8]TFcChar32{
  25087. 0: uint32(0x00012000),
  25088. 1: uint32(0x00004000),
  25089. 2: uint32(0x00300000),
  25090. 3: uint32(0xb4f7ffa8),
  25091. 4: uint32(0x03ffadf3),
  25092. 5: uint32(0x00000120),
  25093. },
  25094. },
  25095. 470: {
  25096. Fmap1: [8]TFcChar32{
  25097. 3: uint32(0xfffbf000),
  25098. 4: uint32(0xfdcf9df7),
  25099. 5: uint32(0x15c301bf),
  25100. 6: uint32(0x810a1827),
  25101. 7: uint32(0x0a00a842),
  25102. },
  25103. },
  25104. 471: {
  25105. Fmap1: [8]TFcChar32{
  25106. 0: uint32(0x80088108),
  25107. 1: uint32(0x18048008),
  25108. 2: uint32(0x0012a3be),
  25109. },
  25110. },
  25111. 472: {
  25112. Fmap1: [8]TFcChar32{
  25113. 3: uint32(0x90000000),
  25114. 4: uint32(0xdc3769e6),
  25115. 5: uint32(0x3dff6bff),
  25116. 6: uint32(0xf3f9fcf8),
  25117. 7: uint32(0x00000004),
  25118. },
  25119. },
  25120. 473: {
  25121. Fmap1: [8]TFcChar32{
  25122. 0: uint32(0x80000000),
  25123. 1: uint32(0xe7eebf6f),
  25124. 2: uint32(0x5da2dffe),
  25125. 3: uint32(0xc00b3fd8),
  25126. 4: uint32(0xa00c0984),
  25127. 5: uint32(0x69100040),
  25128. 6: uint32(0xb912e210),
  25129. 7: uint32(0x5a0086a5),
  25130. },
  25131. },
  25132. 474: {
  25133. Fmap1: [8]TFcChar32{
  25134. 0: uint32(0x02896800),
  25135. 1: uint32(0x6a809005),
  25136. 2: uint32(0x00030010),
  25137. 3: uint32(0x80000000),
  25138. 4: uint32(0x8e001ff9),
  25139. 5: uint32(0x00000001),
  25140. },
  25141. },
  25142. 475: {
  25143. Fmap1: [8]TFcChar32{
  25144. 0: uint32(0x00000080),
  25145. },
  25146. },
  25147. 476: {
  25148. Fmap1: [8]TFcChar32{
  25149. 2: uint32(0x00001000),
  25150. 3: uint32(0x64080010),
  25151. 4: uint32(0x00480000),
  25152. 5: uint32(0x10000020),
  25153. 6: uint32(0x80000102),
  25154. 7: uint32(0x08000010),
  25155. },
  25156. },
  25157. 477: {
  25158. Fmap1: [8]TFcChar32{
  25159. 0: uint32(0x00000040),
  25160. 1: uint32(0x40000000),
  25161. 2: uint32(0x00020000),
  25162. 3: uint32(0x01852002),
  25163. 4: uint32(0x00800010),
  25164. 5: uint32(0x80002022),
  25165. 6: uint32(0x084444a2),
  25166. 7: uint32(0x480e0000),
  25167. },
  25168. },
  25169. 478: {
  25170. Fmap1: [8]TFcChar32{
  25171. 0: uint32(0x04000200),
  25172. 1: uint32(0x02202008),
  25173. 2: uint32(0x80004380),
  25174. 3: uint32(0x04000000),
  25175. 4: uint32(0x00000002),
  25176. 5: uint32(0x12231420),
  25177. 6: uint32(0x2058003a),
  25178. 7: uint32(0x00200060),
  25179. },
  25180. },
  25181. 479: {
  25182. Fmap1: [8]TFcChar32{
  25183. 0: uint32(0x10002508),
  25184. 1: uint32(0x040d0028),
  25185. 2: uint32(0x00000009),
  25186. 3: uint32(0x00008004),
  25187. 4: uint32(0x00800000),
  25188. 5: uint32(0x42000001),
  25189. 7: uint32(0x09040000),
  25190. },
  25191. },
  25192. 480: {
  25193. Fmap1: [8]TFcChar32{
  25194. 0: uint32(0x02008000),
  25195. 1: uint32(0x01402001),
  25196. 3: uint32(0x00000008),
  25197. 5: uint32(0x00000001),
  25198. 6: uint32(0x00021008),
  25199. 7: uint32(0x04000000),
  25200. },
  25201. },
  25202. 481: {
  25203. Fmap1: [8]TFcChar32{
  25204. 0: uint32(0x00100100),
  25205. 1: uint32(0x80040080),
  25206. 2: uint32(0x00002000),
  25207. 3: uint32(0x00000008),
  25208. 4: uint32(0x08040601),
  25209. 5: uint32(0x01000012),
  25210. 6: uint32(0x10000000),
  25211. 7: uint32(0x49001024),
  25212. },
  25213. },
  25214. 482: {
  25215. Fmap1: [8]TFcChar32{
  25216. 0: uint32(0x0180004a),
  25217. 1: uint32(0x00100600),
  25218. 2: uint32(0x50840800),
  25219. 3: uint32(0x000000c0),
  25220. 4: uint32(0x00800000),
  25221. 5: uint32(0x20000800),
  25222. 6: uint32(0x40000000),
  25223. 7: uint32(0x08050000),
  25224. },
  25225. },
  25226. 483: {
  25227. Fmap1: [8]TFcChar32{
  25228. 0: uint32(0x02004000),
  25229. 1: uint32(0x02000804),
  25230. 2: uint32(0x01000004),
  25231. 3: uint32(0x18060001),
  25232. 4: uint32(0x02400001),
  25233. 5: uint32(0x40000002),
  25234. 6: uint32(0x20800014),
  25235. 7: uint32(0x000c1000),
  25236. },
  25237. },
  25238. 484: {
  25239. Fmap1: [8]TFcChar32{
  25240. 0: uint32(0x00222000),
  25241. 2: uint32(0x00100000),
  25242. 6: uint32(0x10422800),
  25243. 7: uint32(0x00000800),
  25244. },
  25245. },
  25246. 485: {
  25247. Fmap1: [8]TFcChar32{
  25248. 0: uint32(0x20080000),
  25249. 1: uint32(0x00040000),
  25250. 2: uint32(0x80025040),
  25251. 3: uint32(0x20208604),
  25252. 4: uint32(0x00028020),
  25253. 5: uint32(0x80102020),
  25254. 6: uint32(0x080820c0),
  25255. 7: uint32(0x10880800),
  25256. },
  25257. },
  25258. 486: {
  25259. Fmap1: [8]TFcChar32{
  25260. 2: uint32(0x00200109),
  25261. 3: uint32(0x00100000),
  25262. 5: uint32(0x81022700),
  25263. 6: uint32(0x40c21404),
  25264. 7: uint32(0x84010882),
  25265. },
  25266. },
  25267. 487: {
  25268. Fmap1: [8]TFcChar32{
  25269. 0: uint32(0x00004010),
  25270. 2: uint32(0x03000000),
  25271. 3: uint32(0x00000008),
  25272. 4: uint32(0x00080000),
  25273. 6: uint32(0x10800001),
  25274. 7: uint32(0x06002020),
  25275. },
  25276. },
  25277. 488: {
  25278. Fmap1: [8]TFcChar32{
  25279. 0: uint32(0x00000010),
  25280. 1: uint32(0x02000000),
  25281. 2: uint32(0x00880020),
  25282. 3: uint32(0x00008424),
  25283. 5: uint32(0x88000000),
  25284. 6: uint32(0x81000100),
  25285. 7: uint32(0x04000000),
  25286. },
  25287. },
  25288. 489: {
  25289. Fmap1: [8]TFcChar32{
  25290. 0: uint32(0x00004218),
  25291. 1: uint32(0x00040000),
  25292. 3: uint32(0x80005080),
  25293. 4: uint32(0x00010000),
  25294. 5: uint32(0x00040000),
  25295. 6: uint32(0x08008000),
  25296. 7: uint32(0x02008000),
  25297. },
  25298. },
  25299. 490: {
  25300. Fmap1: [8]TFcChar32{
  25301. 0: uint32(0x00020000),
  25302. 2: uint32(0x00000001),
  25303. 3: uint32(0x04000401),
  25304. 4: uint32(0x00100000),
  25305. 5: uint32(0x12200004),
  25306. 7: uint32(0x18100000),
  25307. },
  25308. },
  25309. 491: {
  25310. Fmap1: [8]TFcChar32{
  25311. 1: uint32(0x00000800),
  25312. 3: uint32(0x00004000),
  25313. 4: uint32(0x00800000),
  25314. 5: uint32(0x04000000),
  25315. 6: uint32(0x82000002),
  25316. 7: uint32(0x00042000),
  25317. },
  25318. },
  25319. 492: {
  25320. Fmap1: [8]TFcChar32{
  25321. 0: uint32(0x00080006),
  25322. 3: uint32(0x04000000),
  25323. 4: uint32(0x80008000),
  25324. 5: uint32(0x00810001),
  25325. 6: uint32(0xa0000000),
  25326. 7: uint32(0x00100410),
  25327. },
  25328. },
  25329. 493: {
  25330. Fmap1: [8]TFcChar32{
  25331. 0: uint32(0x00400218),
  25332. 1: uint32(0x88084080),
  25333. 2: uint32(0x00260008),
  25334. 3: uint32(0x00800404),
  25335. 4: uint32(0x00000020),
  25336. 7: uint32(0x00000200),
  25337. },
  25338. },
  25339. 494: {
  25340. Fmap1: [8]TFcChar32{
  25341. 0: uint32(0x00a08048),
  25342. 2: uint32(0x08000000),
  25343. 3: uint32(0x04000000),
  25344. 6: uint32(0x00018000),
  25345. 7: uint32(0x00200000),
  25346. },
  25347. },
  25348. 495: {
  25349. Fmap1: [8]TFcChar32{
  25350. 0: uint32(0x01000000),
  25351. 3: uint32(0x10000000),
  25352. 6: uint32(0x00200000),
  25353. 7: uint32(0x00102000),
  25354. },
  25355. },
  25356. 496: {
  25357. Fmap1: [8]TFcChar32{
  25358. 0: uint32(0x00000801),
  25359. 3: uint32(0x00020000),
  25360. 4: uint32(0x08000000),
  25361. 5: uint32(0x00002000),
  25362. 6: uint32(0x20010000),
  25363. 7: uint32(0x04002000),
  25364. },
  25365. },
  25366. 497: {
  25367. Fmap1: [8]TFcChar32{
  25368. 0: uint32(0x40000040),
  25369. 1: uint32(0x50202400),
  25370. 2: uint32(0x000a0020),
  25371. 3: uint32(0x00040420),
  25372. 4: uint32(0x00000200),
  25373. 5: uint32(0x00000080),
  25374. 6: uint32(0x80000000),
  25375. 7: uint32(0x00000020),
  25376. },
  25377. },
  25378. 498: {
  25379. Fmap1: [8]TFcChar32{
  25380. 0: uint32(0x20008000),
  25381. 1: uint32(0x00200010),
  25382. 4: uint32(0x00400000),
  25383. 5: uint32(0x01100000),
  25384. 6: uint32(0x00020000),
  25385. 7: uint32(0x80000010),
  25386. },
  25387. },
  25388. 499: {
  25389. Fmap1: [8]TFcChar32{
  25390. 0: uint32(0x02000000),
  25391. 1: uint32(0x00801000),
  25392. 3: uint32(0x48058000),
  25393. 4: uint32(0x20c94000),
  25394. 5: uint32(0x60000000),
  25395. 6: uint32(0x00000001),
  25396. },
  25397. },
  25398. 500: {
  25399. Fmap1: [8]TFcChar32{
  25400. 0: uint32(0x00004090),
  25401. 1: uint32(0x48000000),
  25402. 2: uint32(0x08000000),
  25403. 3: uint32(0x28802000),
  25404. 4: uint32(0x00000002),
  25405. 5: uint32(0x00014000),
  25406. 6: uint32(0x00002000),
  25407. 7: uint32(0x00002002),
  25408. },
  25409. },
  25410. 501: {
  25411. Fmap1: [8]TFcChar32{
  25412. 0: uint32(0x00010200),
  25413. 1: uint32(0x00100000),
  25414. 3: uint32(0x00800000),
  25415. 4: uint32(0x10020000),
  25416. },
  25417. },
  25418. 502: {
  25419. Fmap1: [8]TFcChar32{
  25420. 0: uint32(0x00000010),
  25421. 1: uint32(0x00000402),
  25422. 2: uint32(0x0c000000),
  25423. 3: uint32(0x01000400),
  25424. 4: uint32(0x01000021),
  25425. 6: uint32(0x00004000),
  25426. 7: uint32(0x00004000),
  25427. },
  25428. },
  25429. 503: {
  25430. Fmap1: [8]TFcChar32{
  25431. 1: uint32(0x00800000),
  25432. 7: uint32(0x02000020),
  25433. },
  25434. },
  25435. 504: {
  25436. Fmap1: [8]TFcChar32{
  25437. 0: uint32(0x00000100),
  25438. 1: uint32(0x08000000),
  25439. 6: uint32(0x00002000),
  25440. },
  25441. },
  25442. 505: {
  25443. Fmap1: [8]TFcChar32{
  25444. 0: uint32(0x00006000),
  25445. 3: uint32(0x00000400),
  25446. 4: uint32(0x04000040),
  25447. 5: uint32(0x003c0180),
  25448. 6: uint32(0x00000200),
  25449. 7: uint32(0x00102000),
  25450. },
  25451. },
  25452. 506: {
  25453. Fmap1: [8]TFcChar32{
  25454. 0: uint32(0x00000800),
  25455. 1: uint32(0x101000c0),
  25456. 2: uint32(0x00800000),
  25457. 4: uint32(0x00008000),
  25458. 5: uint32(0x02200000),
  25459. 6: uint32(0x00020020),
  25460. },
  25461. },
  25462. 507: {
  25463. Fmap1: [8]TFcChar32{
  25464. 1: uint32(0x01000000),
  25465. 3: uint32(0x20100000),
  25466. 4: uint32(0x00080000),
  25467. 5: uint32(0x00000141),
  25468. 6: uint32(0x02001002),
  25469. 7: uint32(0x40400001),
  25470. },
  25471. },
  25472. 508: {
  25473. Fmap1: [8]TFcChar32{
  25474. 0: uint32(0x00580000),
  25475. 1: uint32(0x00000002),
  25476. 2: uint32(0x00003000),
  25477. 3: uint32(0x00002400),
  25478. 4: uint32(0x00988000),
  25479. 5: uint32(0x00040010),
  25480. 6: uint32(0x00002800),
  25481. 7: uint32(0x00000008),
  25482. },
  25483. },
  25484. 509: {
  25485. Fmap1: [8]TFcChar32{
  25486. 0: uint32(0x40080004),
  25487. 1: uint32(0x00000020),
  25488. 2: uint32(0x20080000),
  25489. 3: uint32(0x02060a00),
  25490. 4: uint32(0x00010040),
  25491. 5: uint32(0x14010200),
  25492. 6: uint32(0x40800000),
  25493. 7: uint32(0x08031000),
  25494. },
  25495. },
  25496. 510: {
  25497. Fmap1: [8]TFcChar32{
  25498. 0: uint32(0x40020020),
  25499. 1: uint32(0x0000202c),
  25500. 2: uint32(0x2014a008),
  25501. 4: uint32(0x80040200),
  25502. 5: uint32(0x82020012),
  25503. 6: uint32(0x00400000),
  25504. 7: uint32(0x20000000),
  25505. },
  25506. },
  25507. 511: {
  25508. Fmap1: [8]TFcChar32{
  25509. 2: uint32(0x00000004),
  25510. 3: uint32(0x04000000),
  25511. 6: uint32(0x40800100),
  25512. },
  25513. },
  25514. 512: {
  25515. Fmap1: [8]TFcChar32{
  25516. 0: uint32(0x00000008),
  25517. 1: uint32(0x04000040),
  25518. 2: uint32(0x00000001),
  25519. 3: uint32(0x000c0200),
  25520. 5: uint32(0x08000400),
  25521. 7: uint32(0x080c0001),
  25522. },
  25523. },
  25524. 513: {
  25525. Fmap1: [8]TFcChar32{
  25526. 0: uint32(0x00000400),
  25527. 3: uint32(0x00200000),
  25528. 4: uint32(0x80000000),
  25529. 5: uint32(0x00001000),
  25530. 6: uint32(0x00000200),
  25531. 7: uint32(0x01000800),
  25532. },
  25533. },
  25534. 514: {
  25535. Fmap1: [8]TFcChar32{
  25536. 1: uint32(0x00000800),
  25537. 3: uint32(0x40000000),
  25538. 7: uint32(0x04040000),
  25539. },
  25540. },
  25541. 515: {
  25542. Fmap1: [8]TFcChar32{
  25543. 2: uint32(0x00000040),
  25544. 3: uint32(0x00002000),
  25545. 4: uint32(0xa0000000),
  25546. 6: uint32(0x08000008),
  25547. 7: uint32(0x00080000),
  25548. },
  25549. },
  25550. 516: {
  25551. Fmap1: [8]TFcChar32{
  25552. 0: uint32(0x00000020),
  25553. 2: uint32(0x40000400),
  25554. 7: uint32(0x00008000),
  25555. },
  25556. },
  25557. 517: {
  25558. Fmap1: [8]TFcChar32{
  25559. 4: uint32(0x00000800),
  25560. 7: uint32(0x00200000),
  25561. },
  25562. },
  25563. 518: {
  25564. Fmap1: [8]TFcChar32{
  25565. 3: uint32(0x04000000),
  25566. 4: uint32(0x00000008),
  25567. 6: uint32(0x00010000),
  25568. 7: uint32(0x1b000000),
  25569. },
  25570. },
  25571. 519: {
  25572. Fmap1: [8]TFcChar32{
  25573. 0: uint32(0x00007000),
  25574. 2: uint32(0x10000000),
  25575. 5: uint32(0x00000080),
  25576. 6: uint32(0x80000000),
  25577. },
  25578. },
  25579. 520: {
  25580. Fmap1: [8]TFcChar32{
  25581. 1: uint32(0x00020000),
  25582. 3: uint32(0x00200000),
  25583. 4: uint32(0x40000000),
  25584. 5: uint32(0x00000010),
  25585. 6: uint32(0x00800000),
  25586. 7: uint32(0x00000008),
  25587. },
  25588. },
  25589. 521: {
  25590. Fmap1: [8]TFcChar32{
  25591. 2: uint32(0x02000000),
  25592. 3: uint32(0x20000010),
  25593. 4: uint32(0x00000080),
  25594. 6: uint32(0x00010000),
  25595. },
  25596. },
  25597. 522: {
  25598. Fmap1: [8]TFcChar32{
  25599. 1: uint32(0x02000000),
  25600. 4: uint32(0x20000000),
  25601. 5: uint32(0x00000040),
  25602. 6: uint32(0x00200028),
  25603. },
  25604. },
  25605. 523: {
  25606. Fmap1: [8]TFcChar32{
  25607. 1: uint32(0x00020000),
  25608. 3: uint32(0x02000000),
  25609. 5: uint32(0x02000000),
  25610. 6: uint32(0x40020000),
  25611. 7: uint32(0x51000040),
  25612. },
  25613. },
  25614. 524: {
  25615. Fmap1: [8]TFcChar32{
  25616. 0: uint32(0x00000080),
  25617. 1: uint32(0x04040000),
  25618. 3: uint32(0x10000000),
  25619. 4: uint32(0x00022000),
  25620. 5: uint32(0x00100000),
  25621. 6: uint32(0x20000000),
  25622. 7: uint32(0x00000082),
  25623. },
  25624. },
  25625. 525: {
  25626. Fmap1: [8]TFcChar32{
  25627. 0: uint32(0x40000000),
  25628. 1: uint32(0x00010000),
  25629. 2: uint32(0x00002000),
  25630. 4: uint32(0x00000240),
  25631. 7: uint32(0x00000008),
  25632. },
  25633. },
  25634. 526: {
  25635. Fmap1: [8]TFcChar32{
  25636. 1: uint32(0x00010000),
  25637. 2: uint32(0x00000810),
  25638. 3: uint32(0x00080880),
  25639. 4: uint32(0x00004000),
  25640. 7: uint32(0x00020000),
  25641. },
  25642. },
  25643. 527: {
  25644. Fmap1: [8]TFcChar32{
  25645. 1: uint32(0x00400020),
  25646. 3: uint32(0x00000082),
  25647. 5: uint32(0x00020001),
  25648. },
  25649. },
  25650. 528: {
  25651. Fmap1: [8]TFcChar32{
  25652. 0: uint32(0x40000018),
  25653. 1: uint32(0x00000004),
  25654. 4: uint32(0x01000000),
  25655. 5: uint32(0x00400000),
  25656. },
  25657. },
  25658. 529: {
  25659. Fmap1: [8]TFcChar32{
  25660. 0: uint32(0x00000001),
  25661. 1: uint32(0x00400000),
  25662. 3: uint32(0x00080002),
  25663. 4: uint32(0x00000400),
  25664. 5: uint32(0x00040000),
  25665. },
  25666. },
  25667. 530: {
  25668. Fmap1: [8]TFcChar32{
  25669. 0: uint32(0x00000800),
  25670. 1: uint32(0x00000800),
  25671. 6: uint32(0x00000100),
  25672. },
  25673. },
  25674. 531: {
  25675. Fmap1: [8]TFcChar32{
  25676. 1: uint32(0x00200000),
  25677. 3: uint32(0x04108000),
  25678. 7: uint32(0x00000002),
  25679. },
  25680. },
  25681. 532: {
  25682. Fmap1: [8]TFcChar32{
  25683. 1: uint32(0x02800000),
  25684. 2: uint32(0x04000000),
  25685. 5: uint32(0x00000004),
  25686. 7: uint32(0x00000400),
  25687. },
  25688. },
  25689. 533: {
  25690. Fmap1: [8]TFcChar32{
  25691. 2: uint32(0x10000000),
  25692. 3: uint32(0x00040000),
  25693. 4: uint32(0x00400000),
  25694. },
  25695. },
  25696. 534: {
  25697. Fmap1: [8]TFcChar32{
  25698. 0: uint32(0x00200000),
  25699. 1: uint32(0x00000200),
  25700. 3: uint32(0x10000000),
  25701. 6: uint32(0x2a000000),
  25702. },
  25703. },
  25704. 535: {
  25705. Fmap1: [8]TFcChar32{
  25706. 0: uint32(0x00400000),
  25707. 2: uint32(0x00400000),
  25708. 4: uint32(0x00000002),
  25709. 5: uint32(0x40000000),
  25710. 7: uint32(0x00400000),
  25711. },
  25712. },
  25713. 536: {
  25714. Fmap1: [8]TFcChar32{
  25715. 0: uint32(0x40000000),
  25716. 1: uint32(0x00001000),
  25717. 4: uint32(0x00000202),
  25718. 5: uint32(0x02000000),
  25719. 6: uint32(0x80000000),
  25720. 7: uint32(0x00020000),
  25721. },
  25722. },
  25723. 537: {
  25724. Fmap1: [8]TFcChar32{
  25725. 0: uint32(0x00000020),
  25726. 1: uint32(0x00000800),
  25727. 2: uint32(0x00020421),
  25728. 3: uint32(0x00020000),
  25729. 7: uint32(0x00400000),
  25730. },
  25731. },
  25732. 538: {
  25733. Fmap1: [8]TFcChar32{
  25734. 0: uint32(0x00200000),
  25735. 2: uint32(0x00000001),
  25736. 4: uint32(0x00000084),
  25737. },
  25738. },
  25739. 539: {
  25740. Fmap1: [8]TFcChar32{
  25741. 1: uint32(0x00004400),
  25742. 2: uint32(0x00000002),
  25743. 3: uint32(0x00100000),
  25744. 6: uint32(0x00008200),
  25745. },
  25746. },
  25747. 540: {
  25748. Fmap1: [8]TFcChar32{
  25749. 1: uint32(0x12000000),
  25750. 2: uint32(0x00000100),
  25751. 3: uint32(0x00000001),
  25752. },
  25753. },
  25754. 541: {
  25755. Fmap1: [8]TFcChar32{
  25756. 0: uint32(0x00000020),
  25757. 1: uint32(0x08100000),
  25758. 2: uint32(0x000a0400),
  25759. 3: uint32(0x00000081),
  25760. 4: uint32(0x00006000),
  25761. 5: uint32(0x00120000),
  25762. },
  25763. },
  25764. 542: {
  25765. Fmap1: [8]TFcChar32{
  25766. 0: uint32(0x00000004),
  25767. 1: uint32(0x08000000),
  25768. 2: uint32(0x00004000),
  25769. 3: uint32(0x044000c0),
  25770. },
  25771. },
  25772. 543: {
  25773. Fmap1: [8]TFcChar32{
  25774. 0: uint32(0x40001000),
  25775. 2: uint32(0x01000001),
  25776. 3: uint32(0x05000000),
  25777. 4: uint32(0x00080000),
  25778. 5: uint32(0x02000000),
  25779. 6: uint32(0x00000800),
  25780. },
  25781. },
  25782. 544: {
  25783. Fmap1: [8]TFcChar32{
  25784. 0: uint32(0x00000100),
  25785. 4: uint32(0x00002002),
  25786. 5: uint32(0x01020000),
  25787. 6: uint32(0x00800000),
  25788. },
  25789. },
  25790. 545: {
  25791. Fmap1: [8]TFcChar32{
  25792. 0: uint32(0x00000040),
  25793. 1: uint32(0x00004000),
  25794. 2: uint32(0x01000000),
  25795. 3: uint32(0x00000004),
  25796. 4: uint32(0x00020000),
  25797. 6: uint32(0x00000010),
  25798. },
  25799. },
  25800. 546: {
  25801. Fmap1: [8]TFcChar32{
  25802. 4: uint32(0x00080000),
  25803. 5: uint32(0x00010000),
  25804. 6: uint32(0x30000300),
  25805. 7: uint32(0x00000400),
  25806. },
  25807. },
  25808. 547: {
  25809. Fmap1: [8]TFcChar32{
  25810. 0: uint32(0x00000800),
  25811. 1: uint32(0x02000000),
  25812. 3: uint32(0x00008000),
  25813. },
  25814. },
  25815. 548: {
  25816. Fmap1: [8]TFcChar32{
  25817. 0: uint32(0x00200000),
  25818. 5: uint32(0x000040c0),
  25819. 6: uint32(0x00002200),
  25820. 7: uint32(0x12002000),
  25821. },
  25822. },
  25823. 549: {
  25824. Fmap1: [8]TFcChar32{
  25825. 1: uint32(0x00000020),
  25826. 2: uint32(0x20000000),
  25827. 4: uint32(0x00000200),
  25828. 5: uint32(0x00080800),
  25829. 6: uint32(0x1000a000),
  25830. },
  25831. },
  25832. 550: {
  25833. Fmap1: [8]TFcChar32{
  25834. 3: uint32(0x00004000),
  25835. },
  25836. },
  25837. 551: {
  25838. Fmap1: [8]TFcChar32{
  25839. 2: uint32(0x00004280),
  25840. 3: uint32(0x01000000),
  25841. 4: uint32(0x00800000),
  25842. 5: uint32(0x00000008),
  25843. },
  25844. },
  25845. 552: {
  25846. Fmap1: [8]TFcChar32{
  25847. 3: uint32(0x00000002),
  25848. 5: uint32(0x20400000),
  25849. 6: uint32(0x00000040),
  25850. },
  25851. },
  25852. 553: {
  25853. Fmap1: [8]TFcChar32{
  25854. 0: uint32(0x00800080),
  25855. 1: uint32(0x00800000),
  25856. 5: uint32(0x00400020),
  25857. 7: uint32(0x00008000),
  25858. },
  25859. },
  25860. 554: {
  25861. Fmap1: [8]TFcChar32{
  25862. 0: uint32(0x01000000),
  25863. 1: uint32(0x00000040),
  25864. 3: uint32(0x00400000),
  25865. 5: uint32(0x00000440),
  25866. 7: uint32(0x00800000),
  25867. },
  25868. },
  25869. 555: {
  25870. Fmap1: [8]TFcChar32{
  25871. 0: uint32(0x01000000),
  25872. 6: uint32(0x00080000),
  25873. },
  25874. },
  25875. 556: {
  25876. Fmap1: [8]TFcChar32{
  25877. 0: uint32(0x01000000),
  25878. 1: uint32(0x00000001),
  25879. 3: uint32(0x00020000),
  25880. 5: uint32(0x20002000),
  25881. 7: uint32(0x00000004),
  25882. },
  25883. },
  25884. 557: {
  25885. Fmap1: [8]TFcChar32{
  25886. 0: uint32(0x00000008),
  25887. 1: uint32(0x00100000),
  25888. 3: uint32(0x00010000),
  25889. },
  25890. },
  25891. 558: {
  25892. Fmap1: [8]TFcChar32{
  25893. 0: uint32(0x00000004),
  25894. 1: uint32(0x00008000),
  25895. 7: uint32(0x00008000),
  25896. },
  25897. },
  25898. 559: {
  25899. Fmap1: [8]TFcChar32{
  25900. 4: uint32(0x00000040),
  25901. 6: uint32(0x00004000),
  25902. },
  25903. },
  25904. 560: {
  25905. Fmap1: [8]TFcChar32{
  25906. 0: uint32(0x00000010),
  25907. 1: uint32(0x00002000),
  25908. 2: uint32(0x40000040),
  25909. 4: uint32(0x10000000),
  25910. 6: uint32(0x00008080),
  25911. },
  25912. },
  25913. 561: {
  25914. Fmap1: [8]TFcChar32{
  25915. 2: uint32(0x00000080),
  25916. 4: uint32(0x00100080),
  25917. 5: uint32(0x000000a0),
  25918. },
  25919. },
  25920. 562: {
  25921. Fmap1: [8]TFcChar32{
  25922. 4: uint32(0x00100000),
  25923. },
  25924. },
  25925. 563: {
  25926. Fmap1: [8]TFcChar32{
  25927. 2: uint32(0x00001000),
  25928. 4: uint32(0x0001000a),
  25929. },
  25930. },
  25931. 564: {
  25932. Fmap1: [8]TFcChar32{
  25933. 6: uint32(0x08002000),
  25934. },
  25935. },
  25936. 565: {
  25937. Fmap1: [8]TFcChar32{
  25938. 0: uint32(0x00000808),
  25939. },
  25940. },
  25941. 566: {
  25942. Fmap1: [8]TFcChar32{
  25943. 0: uint32(0x00004000),
  25944. 1: uint32(0x00002400),
  25945. 2: uint32(0x00008000),
  25946. 3: uint32(0x40000000),
  25947. 4: uint32(0x00000001),
  25948. 5: uint32(0x00002000),
  25949. 6: uint32(0x04000000),
  25950. 7: uint32(0x00040004),
  25951. },
  25952. },
  25953. 567: {
  25954. Fmap1: [8]TFcChar32{
  25955. 1: uint32(0x00002000),
  25956. 5: uint32(0x1c200000),
  25957. 7: uint32(0x02000000),
  25958. },
  25959. },
  25960. 568: {
  25961. Fmap1: [8]TFcChar32{
  25962. 1: uint32(0x00080000),
  25963. 2: uint32(0x00400000),
  25964. 3: uint32(0x00000002),
  25965. 5: uint32(0x00000100),
  25966. },
  25967. },
  25968. 569: {
  25969. Fmap1: [8]TFcChar32{
  25970. 3: uint32(0x00400000),
  25971. },
  25972. },
  25973. 570: {
  25974. Fmap1: [8]TFcChar32{
  25975. 0: uint32(0x00004100),
  25976. 1: uint32(0x00000400),
  25977. 2: uint32(0x20200010),
  25978. 3: uint32(0x00004004),
  25979. 5: uint32(0x42000000),
  25980. },
  25981. },
  25982. 571: {
  25983. Fmap1: [8]TFcChar32{
  25984. 0: uint32(0x00000080),
  25985. 2: uint32(0x00000121),
  25986. 3: uint32(0x00000200),
  25987. 4: uint32(0x000000b0),
  25988. 5: uint32(0x80002000),
  25989. 7: uint32(0x00010000),
  25990. },
  25991. },
  25992. 572: {
  25993. Fmap1: [8]TFcChar32{
  25994. 0: uint32(0x00000010),
  25995. 1: uint32(0x000000c0),
  25996. 2: uint32(0x08100000),
  25997. 3: uint32(0x00000020),
  25998. },
  25999. },
  26000. 573: {
  26001. Fmap1: [8]TFcChar32{
  26002. 4: uint32(0x02000000),
  26003. 5: uint32(0x00000404),
  26004. },
  26005. },
  26006. 574: {
  26007. Fmap1: [8]TFcChar32{
  26008. 4: uint32(0x00400000),
  26009. 5: uint32(0x00000008),
  26010. },
  26011. },
  26012. 575: {
  26013. Fmap1: [8]TFcChar32{
  26014. 1: uint32(0x00000002),
  26015. 2: uint32(0x00020000),
  26016. 3: uint32(0x00002000),
  26017. 7: uint32(0x00204000),
  26018. },
  26019. },
  26020. 576: {
  26021. Fmap1: [8]TFcChar32{
  26022. 1: uint32(0x00100000),
  26023. 5: uint32(0x00800000),
  26024. 6: uint32(0x00000100),
  26025. 7: uint32(0x00000001),
  26026. },
  26027. },
  26028. 577: {
  26029. Fmap1: [8]TFcChar32{
  26030. 0: uint32(0x10000000),
  26031. 1: uint32(0x01000000),
  26032. 2: uint32(0x00002400),
  26033. 3: uint32(0x00000004),
  26034. 6: uint32(0x00000020),
  26035. 7: uint32(0x00000002),
  26036. },
  26037. },
  26038. 578: {
  26039. Fmap1: [8]TFcChar32{
  26040. 0: uint32(0x00010000),
  26041. },
  26042. },
  26043. 579: {
  26044. Fmap1: [8]TFcChar32{
  26045. 1: uint32(0x00002400),
  26046. 4: uint32(0x00004802),
  26047. 7: uint32(0x80022000),
  26048. },
  26049. },
  26050. 580: {
  26051. Fmap1: [8]TFcChar32{
  26052. 0: uint32(0x00001004),
  26053. 1: uint32(0x04208000),
  26054. 2: uint32(0x20000020),
  26055. 3: uint32(0x00040000),
  26056. },
  26057. },
  26058. 581: {
  26059. Fmap1: [8]TFcChar32{
  26060. 1: uint32(0x00100000),
  26061. 2: uint32(0x40010000),
  26062. 4: uint32(0x00080000),
  26063. 6: uint32(0x00100211),
  26064. },
  26065. },
  26066. 582: {
  26067. Fmap1: [8]TFcChar32{
  26068. 0: uint32(0x00001400),
  26069. 4: uint32(0x00610000),
  26070. 5: uint32(0x80008c00),
  26071. },
  26072. },
  26073. 583: {
  26074. Fmap1: [8]TFcChar32{
  26075. 0: uint32(0x00000100),
  26076. 1: uint32(0x00000040),
  26077. 3: uint32(0x00000004),
  26078. 4: uint32(0x00004000),
  26079. },
  26080. },
  26081. 584: {
  26082. Fmap1: [8]TFcChar32{
  26083. 6: uint32(0x00000400),
  26084. },
  26085. },
  26086. 585: {
  26087. Fmap1: [8]TFcChar32{
  26088. 5: uint32(0x00000210),
  26089. },
  26090. },
  26091. 586: {
  26092. Fmap1: [8]TFcChar32{
  26093. 1: uint32(0x00000020),
  26094. 2: uint32(0x00000002),
  26095. },
  26096. },
  26097. 587: {
  26098. Fmap1: [8]TFcChar32{
  26099. 0: uint32(0x00004000),
  26100. 3: uint32(0x02000000),
  26101. },
  26102. },
  26103. 588: {
  26104. Fmap1: [8]TFcChar32{
  26105. 2: uint32(0x00080002),
  26106. 3: uint32(0x01000020),
  26107. 4: uint32(0x00400000),
  26108. 5: uint32(0x00200000),
  26109. 6: uint32(0x00008000),
  26110. },
  26111. },
  26112. 589: {
  26113. Fmap1: [8]TFcChar32{
  26114. 1: uint32(0x00020000),
  26115. 3: uint32(0xc0020000),
  26116. 4: uint32(0x10000000),
  26117. 5: uint32(0x00000080),
  26118. },
  26119. },
  26120. 590: {
  26121. Fmap1: [8]TFcChar32{
  26122. 0: uint32(0x00000210),
  26123. 2: uint32(0x00001000),
  26124. 3: uint32(0x04480000),
  26125. 4: uint32(0x20000000),
  26126. 5: uint32(0x00000004),
  26127. 6: uint32(0x00800000),
  26128. 7: uint32(0x02000000),
  26129. },
  26130. },
  26131. 591: {
  26132. Fmap1: [8]TFcChar32{
  26133. 1: uint32(0x08006000),
  26134. 2: uint32(0x00001000),
  26135. 5: uint32(0x00100000),
  26136. 7: uint32(0x00000400),
  26137. },
  26138. },
  26139. 592: {
  26140. Fmap1: [8]TFcChar32{
  26141. 0: uint32(0x00100000),
  26142. 2: uint32(0x10000000),
  26143. 3: uint32(0x08608000),
  26144. 6: uint32(0x00080002),
  26145. },
  26146. },
  26147. 593: {
  26148. Fmap1: [8]TFcChar32{
  26149. 1: uint32(0x20000000),
  26150. 2: uint32(0x00008020),
  26151. },
  26152. },
  26153. 594: {
  26154. Fmap1: [8]TFcChar32{
  26155. 3: uint32(0x10000000),
  26156. },
  26157. },
  26158. 595: {
  26159. Fmap1: [8]TFcChar32{
  26160. 1: uint32(0x00100000),
  26161. },
  26162. },
  26163. 596: {
  26164. Fmap1: [8]TFcChar32{
  26165. 1: uint32(0x00000400),
  26166. },
  26167. },
  26168. 597: {
  26169. Fmap1: [8]TFcChar32{
  26170. 7: uint32(0x02000000),
  26171. },
  26172. },
  26173. 598: {
  26174. Fmap1: [8]TFcChar32{
  26175. 6: uint32(0x00000080),
  26176. },
  26177. },
  26178. 599: {
  26179. Fmap1: [8]TFcChar32{
  26180. 5: uint32(0x00000002),
  26181. },
  26182. },
  26183. 600: {
  26184. Fmap1: [8]TFcChar32{
  26185. 6: uint32(0x00008000),
  26186. },
  26187. },
  26188. 601: {
  26189. Fmap1: [8]TFcChar32{
  26190. 2: uint32(0x00000008),
  26191. 6: uint32(0x00000400),
  26192. },
  26193. },
  26194. 602: {
  26195. Fmap1: [8]TFcChar32{
  26196. 2: uint32(0x00220000),
  26197. 3: uint32(0x00000004),
  26198. 5: uint32(0x00040000),
  26199. 6: uint32(0x00000004),
  26200. },
  26201. },
  26202. 603: {
  26203. Fmap1: [8]TFcChar32{
  26204. 2: uint32(0x00001000),
  26205. 3: uint32(0x00000080),
  26206. 4: uint32(0x00002000),
  26207. 7: uint32(0x00004000),
  26208. },
  26209. },
  26210. 604: {
  26211. Fmap1: [8]TFcChar32{
  26212. 3: uint32(0x00100000),
  26213. },
  26214. },
  26215. 605: {
  26216. Fmap1: [8]TFcChar32{
  26217. 4: uint32(0x00200000),
  26218. },
  26219. },
  26220. 606: {
  26221. Fmap1: [8]TFcChar32{
  26222. 5: uint32(0x04000000),
  26223. },
  26224. },
  26225. 607: {
  26226. Fmap1: [8]TFcChar32{
  26227. 4: uint32(0x00000200),
  26228. },
  26229. },
  26230. 608: {
  26231. Fmap1: [8]TFcChar32{
  26232. 4: uint32(0x00000001),
  26233. },
  26234. },
  26235. 609: {
  26236. Fmap1: [8]TFcChar32{
  26237. 6: uint32(0x00080000),
  26238. },
  26239. },
  26240. 610: {
  26241. Fmap1: [8]TFcChar32{
  26242. 5: uint32(0x01000000),
  26243. 7: uint32(0x00000400),
  26244. },
  26245. },
  26246. 611: {
  26247. Fmap1: [8]TFcChar32{
  26248. 5: uint32(0x00000080),
  26249. },
  26250. },
  26251. 612: {
  26252. Fmap1: [8]TFcChar32{
  26253. 1: uint32(0x00000800),
  26254. 2: uint32(0x00000100),
  26255. 3: uint32(0x40000000),
  26256. },
  26257. },
  26258. 613: {
  26259. Fmap1: [8]TFcChar32{
  26260. 1: uint32(0x00200000),
  26261. },
  26262. },
  26263. 614: {
  26264. Fmap1: [8]TFcChar32{
  26265. 2: uint32(0x01000000),
  26266. },
  26267. },
  26268. 615: {
  26269. Fmap1: [8]TFcChar32{
  26270. 6: uint32(0x04000000),
  26271. },
  26272. },
  26273. 616: {
  26274. Fmap1: [8]TFcChar32{
  26275. 6: uint32(0x00001000),
  26276. },
  26277. },
  26278. 617: {
  26279. Fmap1: [8]TFcChar32{
  26280. 4: uint32(0x00000400),
  26281. },
  26282. },
  26283. 618: {
  26284. Fmap1: [8]TFcChar32{
  26285. 7: uint32(0x04040000),
  26286. },
  26287. },
  26288. 619: {
  26289. Fmap1: [8]TFcChar32{
  26290. 4: uint32(0x00000020),
  26291. },
  26292. },
  26293. 620: {
  26294. Fmap1: [8]TFcChar32{
  26295. 2: uint32(0x00800000),
  26296. },
  26297. },
  26298. 621: {
  26299. Fmap1: [8]TFcChar32{
  26300. 1: uint32(0x00200000),
  26301. 2: uint32(0x40000000),
  26302. },
  26303. },
  26304. 622: {
  26305. Fmap1: [8]TFcChar32{
  26306. 4: uint32(0x20000000),
  26307. },
  26308. },
  26309. 623: {
  26310. Fmap1: [8]TFcChar32{
  26311. 3: uint32(0x04000000),
  26312. 5: uint32(0x00000001),
  26313. },
  26314. },
  26315. 624: {
  26316. Fmap1: [8]TFcChar32{
  26317. 1: uint32(0x40000000),
  26318. 2: uint32(0x02000000),
  26319. },
  26320. },
  26321. 625: {
  26322. Fmap1: [8]TFcChar32{
  26323. 3: uint32(0x00080000),
  26324. },
  26325. },
  26326. 626: {
  26327. Fmap1: [8]TFcChar32{
  26328. 1: uint32(0x00000010),
  26329. 5: uint32(0x20000000),
  26330. },
  26331. },
  26332. 627: {
  26333. Fmap1: [8]TFcChar32{
  26334. 2: uint32(0x20000000),
  26335. },
  26336. },
  26337. 628: {
  26338. Fmap1: [8]TFcChar32{
  26339. 0: uint32(0x00000080),
  26340. 7: uint32(0x00000004),
  26341. },
  26342. },
  26343. 629: {
  26344. Fmap1: [8]TFcChar32{
  26345. 3: uint32(0x00002000),
  26346. },
  26347. },
  26348. 630: {
  26349. Fmap1: [8]TFcChar32{
  26350. 6: uint32(0x10000001),
  26351. },
  26352. },
  26353. 631: {
  26354. Fmap1: [8]TFcChar32{
  26355. 0: uint32(0x00008000),
  26356. },
  26357. },
  26358. 632: {
  26359. Fmap1: [8]TFcChar32{
  26360. 2: uint32(0x00004040),
  26361. },
  26362. },
  26363. 633: {
  26364. Fmap1: [8]TFcChar32{
  26365. 6: uint32(0x00042400),
  26366. },
  26367. },
  26368. 634: {
  26369. Fmap1: [8]TFcChar32{
  26370. 4: uint32(0x02000000),
  26371. },
  26372. },
  26373. 635: {
  26374. Fmap1: [8]TFcChar32{
  26375. 7: uint32(0x00000080),
  26376. },
  26377. },
  26378. 636: {
  26379. Fmap1: [8]TFcChar32{
  26380. 7: uint32(0x00000020),
  26381. },
  26382. },
  26383. 637: {
  26384. Fmap1: [8]TFcChar32{
  26385. 1: uint32(0x00000001),
  26386. },
  26387. },
  26388. 638: {
  26389. Fmap1: [8]TFcChar32{
  26390. 6: uint32(0x00020000),
  26391. },
  26392. },
  26393. 639: {
  26394. Fmap1: [8]TFcChar32{
  26395. 2: uint32(0x00002000),
  26396. },
  26397. },
  26398. 640: {
  26399. Fmap1: [8]TFcChar32{
  26400. 4: uint32(0x01000000),
  26401. },
  26402. },
  26403. 641: {
  26404. Fmap1: [8]TFcChar32{
  26405. 1: uint32(0x00040000),
  26406. 2: uint32(0x08000000),
  26407. },
  26408. },
  26409. 642: {
  26410. Fmap1: [8]TFcChar32{
  26411. 0: uint32(0xc373ff8b),
  26412. 1: uint32(0x1b0f6840),
  26413. 2: uint32(0xf34ce9ac),
  26414. 3: uint32(0xc0080200),
  26415. 4: uint32(0xca3e795c),
  26416. 5: uint32(0x06487976),
  26417. 6: uint32(0xf7f02fdf),
  26418. 7: uint32(0xa8ff033a),
  26419. },
  26420. },
  26421. 643: {
  26422. Fmap1: [8]TFcChar32{
  26423. 0: uint32(0x233fef37),
  26424. 1: uint32(0xfd59b004),
  26425. 2: uint32(0xfffff3ca),
  26426. 3: uint32(0xfff9de9f),
  26427. 4: uint32(0x7df7abff),
  26428. 5: uint32(0x8eecc000),
  26429. 6: uint32(0xffdbeebf),
  26430. 7: uint32(0x45fad003),
  26431. },
  26432. },
  26433. 644: {
  26434. Fmap1: [8]TFcChar32{
  26435. 0: uint32(0xdffefae1),
  26436. 1: uint32(0x10abbfef),
  26437. 2: uint32(0xfcaaffeb),
  26438. 3: uint32(0x24fdef3f),
  26439. 4: uint32(0x7f7678ad),
  26440. 5: uint32(0xedfff00c),
  26441. 6: uint32(0x2cfacff6),
  26442. 7: uint32(0xeb6bf7f9),
  26443. },
  26444. },
  26445. 645: {
  26446. Fmap1: [8]TFcChar32{
  26447. 0: uint32(0x95bf1ffd),
  26448. 1: uint32(0xbfbf6677),
  26449. 2: uint32(0xfeb43bfb),
  26450. 3: uint32(0x11e27bae),
  26451. 4: uint32(0x41bea681),
  26452. 5: uint32(0x72c31435),
  26453. 6: uint32(0x71917d70),
  26454. 7: uint32(0x276b0003),
  26455. },
  26456. },
  26457. 646: {
  26458. Fmap1: [8]TFcChar32{
  26459. 0: uint32(0x70cf57cb),
  26460. 1: uint32(0x0def4732),
  26461. 2: uint32(0xfc747eda),
  26462. 3: uint32(0xbdb4fe06),
  26463. 4: uint32(0x8bca3f9f),
  26464. 5: uint32(0x58007e49),
  26465. 6: uint32(0xebec228f),
  26466. 7: uint32(0xddbb8a5c),
  26467. },
  26468. },
  26469. 647: {
  26470. Fmap1: [8]TFcChar32{
  26471. 0: uint32(0xb6e7ef60),
  26472. 1: uint32(0xf293a40f),
  26473. 2: uint32(0x549e37bb),
  26474. 3: uint32(0x9bafd04b),
  26475. 4: uint32(0xf7d4c414),
  26476. 5: uint32(0x0a1430b0),
  26477. 6: uint32(0x88d02f08),
  26478. 7: uint32(0x192fff7e),
  26479. },
  26480. },
  26481. 648: {
  26482. Fmap1: [8]TFcChar32{
  26483. 0: uint32(0xfb07ffda),
  26484. 1: uint32(0x7beb7ff1),
  26485. 2: uint32(0x0010c5ef),
  26486. 3: uint32(0xfdff99ff),
  26487. 4: uint32(0x056779d7),
  26488. 5: uint32(0xfdcbffe7),
  26489. 6: uint32(0x4040c3ff),
  26490. 7: uint32(0xbd8e6ff7),
  26491. },
  26492. },
  26493. 649: {
  26494. Fmap1: [8]TFcChar32{
  26495. 0: uint32(0x0497dffa),
  26496. 1: uint32(0x5bfff4c0),
  26497. 2: uint32(0xd0e7ed7b),
  26498. 3: uint32(0xf8e0047e),
  26499. 4: uint32(0xb73eff9f),
  26500. 5: uint32(0x882e7dfe),
  26501. 6: uint32(0xbe7ffffd),
  26502. 7: uint32(0xf6c483fe),
  26503. },
  26504. },
  26505. 650: {
  26506. Fmap1: [8]TFcChar32{
  26507. 0: uint32(0xb8fdf357),
  26508. 1: uint32(0xef7dd680),
  26509. 2: uint32(0x47885767),
  26510. 3: uint32(0xc3dfff7d),
  26511. 4: uint32(0x37a9f0ff),
  26512. 5: uint32(0x70fc7de0),
  26513. 6: uint32(0xec9a3f6f),
  26514. 7: uint32(0x86814cb3),
  26515. },
  26516. },
  26517. 651: {
  26518. Fmap1: [8]TFcChar32{
  26519. 0: uint32(0xdd5c3f9e),
  26520. 1: uint32(0x4819f70d),
  26521. 2: uint32(0x0007fea3),
  26522. 3: uint32(0x38ffaf56),
  26523. 4: uint32(0xefb8980d),
  26524. 5: uint32(0xb760403d),
  26525. 6: uint32(0x9035d8ce),
  26526. 7: uint32(0x3fff72bf),
  26527. },
  26528. },
  26529. 652: {
  26530. Fmap1: [8]TFcChar32{
  26531. 0: uint32(0x7a117ff7),
  26532. 1: uint32(0xabfff7bb),
  26533. 2: uint32(0x6fbeff00),
  26534. 3: uint32(0xfe72a93c),
  26535. 4: uint32(0xf11bcfef),
  26536. 5: uint32(0xf40adb6b),
  26537. 6: uint32(0xef7ec3e6),
  26538. 7: uint32(0xf6109b9c),
  26539. },
  26540. },
  26541. 653: {
  26542. Fmap1: [8]TFcChar32{
  26543. 0: uint32(0x16f4f048),
  26544. 1: uint32(0x5182feb5),
  26545. 2: uint32(0x15bbc7b1),
  26546. 3: uint32(0xfbdf6e87),
  26547. 4: uint32(0x63cde43f),
  26548. 5: uint32(0x7e7ec1ff),
  26549. 6: uint32(0x7d5ffdeb),
  26550. 7: uint32(0xfcfe777b),
  26551. },
  26552. },
  26553. 654: {
  26554. Fmap1: [8]TFcChar32{
  26555. 0: uint32(0xdbea960b),
  26556. 1: uint32(0x53e86229),
  26557. 2: uint32(0xfdef37df),
  26558. 3: uint32(0xbd8136f5),
  26559. 4: uint32(0xfcbddc18),
  26560. 5: uint32(0xffffd2e4),
  26561. 6: uint32(0xffe03fd7),
  26562. 7: uint32(0xabf87f6f),
  26563. },
  26564. },
  26565. 655: {
  26566. Fmap1: [8]TFcChar32{
  26567. 0: uint32(0x6ed99bae),
  26568. 1: uint32(0xf115f5fb),
  26569. 2: uint32(0xbdfb79a9),
  26570. 3: uint32(0xadaf5a3c),
  26571. 4: uint32(0x1facdbba),
  26572. 5: uint32(0x837971fc),
  26573. 6: uint32(0xc35f7cf7),
  26574. 7: uint32(0x0567dfff),
  26575. },
  26576. },
  26577. 656: {
  26578. Fmap1: [8]TFcChar32{
  26579. 0: uint32(0x8467ff9a),
  26580. 1: uint32(0xdf8b1534),
  26581. 2: uint32(0x3373f9f3),
  26582. 3: uint32(0x5e1af7bd),
  26583. 4: uint32(0xa03fbf40),
  26584. 5: uint32(0x01ebffff),
  26585. 6: uint32(0xcfdddfc0),
  26586. 7: uint32(0xabd37500),
  26587. },
  26588. },
  26589. 657: {
  26590. Fmap1: [8]TFcChar32{
  26591. 0: uint32(0xeed6f8c3),
  26592. 1: uint32(0xb7ff43fd),
  26593. 2: uint32(0x42275eaf),
  26594. 3: uint32(0xf6869bac),
  26595. 4: uint32(0xf6bc27d7),
  26596. 5: uint32(0x35b7f787),
  26597. 6: uint32(0xe176aacd),
  26598. 7: uint32(0xe29f49e7),
  26599. },
  26600. },
  26601. 658: {
  26602. Fmap1: [8]TFcChar32{
  26603. 0: uint32(0xaff2545c),
  26604. 1: uint32(0x61d82b3f),
  26605. 2: uint32(0xbbb8fc3b),
  26606. 3: uint32(0x7b7dffcf),
  26607. 4: uint32(0x1ce0bf95),
  26608. 5: uint32(0x43ff7dfd),
  26609. 6: uint32(0xfffe5ff6),
  26610. 7: uint32(0xc4ced3ef),
  26611. },
  26612. },
  26613. 659: {
  26614. Fmap1: [8]TFcChar32{
  26615. 0: uint32(0xadbc8db6),
  26616. 1: uint32(0x11eb63dc),
  26617. 2: uint32(0x23d0df59),
  26618. 3: uint32(0xf3dbbeb4),
  26619. 4: uint32(0xdbc71fe7),
  26620. 5: uint32(0xfae4ff63),
  26621. 6: uint32(0x63f7b22b),
  26622. 7: uint32(0xadbaed3b),
  26623. },
  26624. },
  26625. 660: {
  26626. Fmap1: [8]TFcChar32{
  26627. 0: uint32(0x7efffe01),
  26628. 1: uint32(0x02bcfff7),
  26629. 2: uint32(0xef3932ff),
  26630. 3: uint32(0x8005fffc),
  26631. 4: uint32(0xbcf577fb),
  26632. 5: uint32(0xfff7010d),
  26633. 6: uint32(0xbf3afffb),
  26634. 7: uint32(0xdfff0057),
  26635. },
  26636. },
  26637. 661: {
  26638. Fmap1: [8]TFcChar32{
  26639. 0: uint32(0xbd7def7b),
  26640. 1: uint32(0xc8d4db88),
  26641. 2: uint32(0xed7cfff3),
  26642. 3: uint32(0x56ff5dee),
  26643. 4: uint32(0xac5f7e0d),
  26644. 5: uint32(0xd57fff96),
  26645. 6: uint32(0xc1403fee),
  26646. 7: uint32(0xffe76ff9),
  26647. },
  26648. },
  26649. 662: {
  26650. Fmap1: [8]TFcChar32{
  26651. 0: uint32(0x8e77779b),
  26652. 1: uint32(0xe45d6ebf),
  26653. 2: uint32(0x5f1f6fcf),
  26654. 3: uint32(0xfedfe07f),
  26655. 4: uint32(0x01fed7db),
  26656. 5: uint32(0xfb7bff00),
  26657. 6: uint32(0x1fdfffd4),
  26658. 7: uint32(0xfffff800),
  26659. },
  26660. },
  26661. 663: {
  26662. Fmap1: [8]TFcChar32{
  26663. 0: uint32(0x007bfb8f),
  26664. 1: uint32(0x7f5cbf00),
  26665. 2: uint32(0x07f3ffff),
  26666. 3: uint32(0x3de7eba0),
  26667. 4: uint32(0xfbd7f7bf),
  26668. 5: uint32(0x6003ffbf),
  26669. 6: uint32(0xbfedfffd),
  26670. 7: uint32(0x027fefbb),
  26671. },
  26672. },
  26673. 664: {
  26674. Fmap1: [8]TFcChar32{
  26675. 0: uint32(0xddfdfe40),
  26676. 1: uint32(0xe2f9fdff),
  26677. 2: uint32(0xfb1f680b),
  26678. 3: uint32(0xaffdfbe3),
  26679. 4: uint32(0xf7ed9fa4),
  26680. 5: uint32(0xf80f7a7d),
  26681. 6: uint32(0x0fd5eebe),
  26682. 7: uint32(0xfd9fbb5d),
  26683. },
  26684. },
  26685. 665: {
  26686. Fmap1: [8]TFcChar32{
  26687. 0: uint32(0x3bf9f2db),
  26688. 1: uint32(0xebccfe7f),
  26689. 2: uint32(0x73fa876a),
  26690. 3: uint32(0x9ffc95fc),
  26691. 4: uint32(0xfaf7109f),
  26692. 5: uint32(0xbbcdddb7),
  26693. 6: uint32(0xeccdf87e),
  26694. 7: uint32(0x3c3ff366),
  26695. },
  26696. },
  26697. 666: {
  26698. Fmap1: [8]TFcChar32{
  26699. 0: uint32(0xb03ffffd),
  26700. 1: uint32(0x067ee9f7),
  26701. 2: uint32(0xfe0696ae),
  26702. 3: uint32(0x5fd7d576),
  26703. 4: uint32(0xa3f33fd1),
  26704. 5: uint32(0x6fb7cf07),
  26705. 6: uint32(0x7f449fd1),
  26706. 7: uint32(0xd3dd7b59),
  26707. },
  26708. },
  26709. 667: {
  26710. Fmap1: [8]TFcChar32{
  26711. 0: uint32(0xa9bdaf3b),
  26712. 1: uint32(0xff3a7dcf),
  26713. 2: uint32(0xf6ebfbe0),
  26714. 3: uint32(0xffffb401),
  26715. 4: uint32(0xb7bf7afa),
  26716. 5: uint32(0x0ffdc000),
  26717. 6: uint32(0xff1fff7f),
  26718. 7: uint32(0x95fffefc),
  26719. },
  26720. },
  26721. 668: {
  26722. Fmap1: [8]TFcChar32{
  26723. 0: uint32(0xb5dc0000),
  26724. 1: uint32(0x3f3eef63),
  26725. 2: uint32(0x001bfb7f),
  26726. 3: uint32(0xfbf6e800),
  26727. 4: uint32(0xb8df9eef),
  26728. 5: uint32(0x003fff9f),
  26729. 6: uint32(0xf5ff7bd0),
  26730. 7: uint32(0x3fffdfdb),
  26731. },
  26732. },
  26733. 669: {
  26734. Fmap1: [8]TFcChar32{
  26735. 0: uint32(0x00bffdf0),
  26736. 1: uint32(0xbbbd8420),
  26737. 2: uint32(0xffdedf37),
  26738. 3: uint32(0x0ff3ff6d),
  26739. 4: uint32(0x5efb604c),
  26740. 5: uint32(0xfafbfffb),
  26741. 6: uint32(0x0219fe5e),
  26742. 7: uint32(0xf9de79f4),
  26743. },
  26744. },
  26745. 670: {
  26746. Fmap1: [8]TFcChar32{
  26747. 0: uint32(0xebfaa7f7),
  26748. 1: uint32(0xff3401eb),
  26749. 2: uint32(0xef73ebd3),
  26750. 3: uint32(0xc040afd7),
  26751. 4: uint32(0xdcff72bb),
  26752. 5: uint32(0x2fd8f17f),
  26753. 6: uint32(0xfe0bb8ec),
  26754. 7: uint32(0x1f0bdda3),
  26755. },
  26756. },
  26757. 671: {
  26758. Fmap1: [8]TFcChar32{
  26759. 0: uint32(0x47cf8f1d),
  26760. 1: uint32(0xffdeb12b),
  26761. 2: uint32(0xda737fee),
  26762. 3: uint32(0xcbc424ff),
  26763. 4: uint32(0xcbf2f75d),
  26764. 5: uint32(0xb4edecfd),
  26765. 6: uint32(0x4dddbff9),
  26766. 7: uint32(0xfb8d99dd),
  26767. },
  26768. },
  26769. 672: {
  26770. Fmap1: [8]TFcChar32{
  26771. 0: uint32(0xaf7bbb7f),
  26772. 1: uint32(0xc959ddfb),
  26773. 2: uint32(0xfab5fc4f),
  26774. 3: uint32(0x6d5fafe3),
  26775. 4: uint32(0x3f7dffff),
  26776. 5: uint32(0xffdb7800),
  26777. 6: uint32(0x7effb6ff),
  26778. 7: uint32(0x022ffbaf),
  26779. },
  26780. },
  26781. 673: {
  26782. Fmap1: [8]TFcChar32{
  26783. 0: uint32(0xefc7ff9b),
  26784. 1: uint32(0xffffffa5),
  26785. 2: uint32(0xc7000007),
  26786. 3: uint32(0xfff1f7ff),
  26787. 4: uint32(0x01bf7ffd),
  26788. 5: uint32(0xfdbcdc00),
  26789. 6: uint32(0xffffbff5),
  26790. 7: uint32(0x3effff7f),
  26791. },
  26792. },
  26793. 674: {
  26794. Fmap1: [8]TFcChar32{
  26795. 0: uint32(0xbe000029),
  26796. 1: uint32(0xff7ff9ff),
  26797. 2: uint32(0xfd7e6efb),
  26798. 3: uint32(0x039ecbff),
  26799. 4: uint32(0xfbdde300),
  26800. 5: uint32(0xf6dfccff),
  26801. 6: uint32(0x117fffff),
  26802. 7: uint32(0xfbf6f800),
  26803. },
  26804. },
  26805. 675: {
  26806. Fmap1: [8]TFcChar32{
  26807. 0: uint32(0xd73ce7ef),
  26808. 1: uint32(0xdfeffeef),
  26809. 2: uint32(0xedbfc00b),
  26810. 3: uint32(0xfdcdfedf),
  26811. 4: uint32(0x40fd7bf5),
  26812. 5: uint32(0xb75fffff),
  26813. 6: uint32(0xf930ffdf),
  26814. 7: uint32(0xdc97fbdf),
  26815. },
  26816. },
  26817. 676: {
  26818. Fmap1: [8]TFcChar32{
  26819. 0: uint32(0xbff2fef3),
  26820. 1: uint32(0xdfbf8fdf),
  26821. 2: uint32(0xede6177f),
  26822. 3: uint32(0x35530f7f),
  26823. 4: uint32(0x877e447c),
  26824. 5: uint32(0x45bbfa12),
  26825. 6: uint32(0x779eede0),
  26826. 7: uint32(0xbfd98017),
  26827. },
  26828. },
  26829. 677: {
  26830. Fmap1: [8]TFcChar32{
  26831. 0: uint32(0xde897e55),
  26832. 1: uint32(0x0447c16f),
  26833. 2: uint32(0xf75d7ade),
  26834. 3: uint32(0x290557ff),
  26835. 4: uint32(0xfe9586f7),
  26836. 5: uint32(0xf32f97b3),
  26837. 6: uint32(0x9f75cfff),
  26838. 7: uint32(0xfb1771f7),
  26839. },
  26840. },
  26841. 678: {
  26842. Fmap1: [8]TFcChar32{
  26843. 0: uint32(0xee1934ee),
  26844. 1: uint32(0xef6137cc),
  26845. 2: uint32(0xef4c9fd6),
  26846. 3: uint32(0xfbddd68f),
  26847. 4: uint32(0x6def7b73),
  26848. 5: uint32(0xa431d7fe),
  26849. 6: uint32(0x97d75e7f),
  26850. 7: uint32(0xffd80f5b),
  26851. },
  26852. },
  26853. 679: {
  26854. Fmap1: [8]TFcChar32{
  26855. 0: uint32(0x7bce9d83),
  26856. 1: uint32(0xdcff22ec),
  26857. 2: uint32(0xef87763d),
  26858. 3: uint32(0xfdeddfe7),
  26859. 4: uint32(0xa0fc4fff),
  26860. 5: uint32(0xdbfc3b77),
  26861. 6: uint32(0x7fdc3ded),
  26862. 7: uint32(0xf5706fa9),
  26863. },
  26864. },
  26865. 680: {
  26866. Fmap1: [8]TFcChar32{
  26867. 0: uint32(0x2c403ffb),
  26868. 1: uint32(0x847fff7f),
  26869. 2: uint32(0xdeb7ec57),
  26870. 3: uint32(0xf22fe69c),
  26871. 4: uint32(0xd5b50feb),
  26872. 5: uint32(0xede7afeb),
  26873. 6: uint32(0xfff08c2f),
  26874. 7: uint32(0xe8f0537f),
  26875. },
  26876. },
  26877. 681: {
  26878. Fmap1: [8]TFcChar32{
  26879. 0: uint32(0xb5ffb99d),
  26880. 1: uint32(0xe78fff66),
  26881. 2: uint32(0xbe10d981),
  26882. 3: uint32(0xe3c19c7c),
  26883. 4: uint32(0x27339cd1),
  26884. 5: uint32(0xff6d0cbc),
  26885. 6: uint32(0xefb7fcb7),
  26886. 7: uint32(0xffffa0df),
  26887. },
  26888. },
  26889. 682: {
  26890. Fmap1: [8]TFcChar32{
  26891. 0: uint32(0xfe7bbf0b),
  26892. 1: uint32(0x353fa3ff),
  26893. 2: uint32(0x97cd13cc),
  26894. 3: uint32(0xfb277637),
  26895. 4: uint32(0x7e6ccfd6),
  26896. 5: uint32(0xed31ec50),
  26897. 6: uint32(0xfc1c677c),
  26898. 7: uint32(0x5fbff6fa),
  26899. },
  26900. },
  26901. 683: {
  26902. Fmap1: [8]TFcChar32{
  26903. 0: uint32(0xae2f0fba),
  26904. 1: uint32(0x7ffea3ad),
  26905. 2: uint32(0xde74fcf0),
  26906. 3: uint32(0xf200ffef),
  26907. 4: uint32(0xfea2fbbf),
  26908. 5: uint32(0xbcff3daf),
  26909. 6: uint32(0x5fb9f694),
  26910. 7: uint32(0x3f8ff3ad),
  26911. },
  26912. },
  26913. 684: {
  26914. Fmap1: [8]TFcChar32{
  26915. 0: uint32(0xa01ff26c),
  26916. 1: uint32(0x01bfffef),
  26917. 2: uint32(0x70057728),
  26918. 3: uint32(0xda03ff35),
  26919. 4: uint32(0xc7fad2f9),
  26920. 5: uint32(0x5c1d3fbf),
  26921. 6: uint32(0xec33ff3a),
  26922. 7: uint32(0xfe9cb7af),
  26923. },
  26924. },
  26925. 685: {
  26926. Fmap1: [8]TFcChar32{
  26927. 0: uint32(0x7a9f5236),
  26928. 1: uint32(0xe722bffa),
  26929. 2: uint32(0xfcff9ff7),
  26930. 3: uint32(0xb61d2fbb),
  26931. 4: uint32(0x1dfded06),
  26932. 5: uint32(0xefdf7dd7),
  26933. 6: uint32(0xf166eb23),
  26934. 7: uint32(0x0dc07ed9),
  26935. },
  26936. },
  26937. 686: {
  26938. Fmap1: [8]TFcChar32{
  26939. 0: uint32(0xdfbf3d3d),
  26940. 1: uint32(0xba83c945),
  26941. 2: uint32(0x9dd07dd1),
  26942. 3: uint32(0xcf737b87),
  26943. 4: uint32(0xc3f59ff3),
  26944. 5: uint32(0xc5fedf0d),
  26945. 6: uint32(0x83020cb3),
  26946. 7: uint32(0xaec0e879),
  26947. },
  26948. },
  26949. 687: {
  26950. Fmap1: [8]TFcChar32{
  26951. 0: uint32(0x6f0fc773),
  26952. 1: uint32(0x093ffd7d),
  26953. 2: uint32(0x0157fff1),
  26954. 3: uint32(0x01ff62fb),
  26955. 4: uint32(0x3bf3fdb4),
  26956. 5: uint32(0x43b2b013),
  26957. 6: uint32(0xff305ed3),
  26958. 7: uint32(0xeb9f0fff),
  26959. },
  26960. },
  26961. 688: {
  26962. Fmap1: [8]TFcChar32{
  26963. 0: uint32(0xf203feef),
  26964. 1: uint32(0xfb893fef),
  26965. 2: uint32(0x9e9937a9),
  26966. 3: uint32(0xa72cdef9),
  26967. 4: uint32(0xc1f63733),
  26968. 5: uint32(0xfe3e812e),
  26969. 6: uint32(0xf2f75d20),
  26970. 7: uint32(0x69d7d585),
  26971. },
  26972. },
  26973. 689: {
  26974. Fmap1: [8]TFcChar32{
  26975. 0: uint32(0xffffffff),
  26976. 1: uint32(0xff6fdb07),
  26977. 2: uint32(0xd97fc4ff),
  26978. 3: uint32(0xbe0fefce),
  26979. 4: uint32(0xf05ef17b),
  26980. 5: uint32(0xffb7f6cf),
  26981. 6: uint32(0xef845ef7),
  26982. 7: uint32(0x0edfd7cb),
  26983. },
  26984. },
  26985. 690: {
  26986. Fmap1: [8]TFcChar32{
  26987. 0: uint32(0xfcffff08),
  26988. 1: uint32(0xffffee3f),
  26989. 2: uint32(0xd7ff13ff),
  26990. 3: uint32(0x7ffdaf0f),
  26991. 4: uint32(0x1ffabdc7),
  26992. },
  26993. },
  26994. 691: {
  26995. Fmap1: [8]TFcChar32{
  26996. 1: uint32(0xe7400000),
  26997. 2: uint32(0xf933bd38),
  26998. 3: uint32(0xfeed7feb),
  26999. 4: uint32(0x7c767fe8),
  27000. 5: uint32(0xffefb3f7),
  27001. 6: uint32(0xd8b7feaf),
  27002. 7: uint32(0xfbbfff6f),
  27003. },
  27004. },
  27005. 692: {
  27006. Fmap1: [8]TFcChar32{
  27007. 0: uint32(0xdbf7f8fb),
  27008. 1: uint32(0xe2f91752),
  27009. 2: uint32(0x754785c8),
  27010. 3: uint32(0xe3ef9090),
  27011. 4: uint32(0x3f6d9ef4),
  27012. 5: uint32(0x0536ee2e),
  27013. 6: uint32(0x7ff3f7bc),
  27014. 7: uint32(0x7f3fa07b),
  27015. },
  27016. },
  27017. 693: {
  27018. Fmap1: [8]TFcChar32{
  27019. 0: uint32(0xeb600567),
  27020. 1: uint32(0x6601babe),
  27021. 2: uint32(0x583ffcd8),
  27022. 3: uint32(0x87dfcaf7),
  27023. 4: uint32(0xffa0bfcd),
  27024. 5: uint32(0xfebf5bcd),
  27025. 6: uint32(0xefa7b6fd),
  27026. 7: uint32(0xdf9c77ef),
  27027. },
  27028. },
  27029. 694: {
  27030. Fmap1: [8]TFcChar32{
  27031. 0: uint32(0xf8773fb7),
  27032. 1: uint32(0xb7fc9d27),
  27033. 2: uint32(0xdfefcab5),
  27034. 3: uint32(0xf1b6fb5a),
  27035. 4: uint32(0xef1fec39),
  27036. 5: uint32(0x7ffbfbbf),
  27037. 6: uint32(0xdafe000d),
  27038. 7: uint32(0x4e7fbdfb),
  27039. },
  27040. },
  27041. 695: {
  27042. Fmap1: [8]TFcChar32{
  27043. 0: uint32(0x5ac033ff),
  27044. 1: uint32(0x9ffebff5),
  27045. 2: uint32(0x005fffbf),
  27046. 3: uint32(0xfdf80000),
  27047. 4: uint32(0x6ffdffca),
  27048. 5: uint32(0xa001cffd),
  27049. 6: uint32(0xfbf2dfff),
  27050. 7: uint32(0xff7fdfbf),
  27051. },
  27052. },
  27053. 696: {
  27054. Fmap1: [8]TFcChar32{
  27055. 0: uint32(0x080ffeda),
  27056. 1: uint32(0xbfffba08),
  27057. 2: uint32(0xeed77afd),
  27058. 3: uint32(0x67f9fbeb),
  27059. 4: uint32(0xff93e044),
  27060. 5: uint32(0x9f57df97),
  27061. 6: uint32(0x08dffef7),
  27062. 7: uint32(0xfedfdf80),
  27063. },
  27064. },
  27065. 697: {
  27066. Fmap1: [8]TFcChar32{
  27067. 0: uint32(0xf7feffc5),
  27068. 1: uint32(0x6803fffb),
  27069. 2: uint32(0x6bfa67fb),
  27070. 3: uint32(0x5fe27fff),
  27071. 4: uint32(0xff73ffff),
  27072. 5: uint32(0xe7fb87df),
  27073. 6: uint32(0xf7a7ebfd),
  27074. 7: uint32(0xefc7bf7e),
  27075. },
  27076. },
  27077. 698: {
  27078. Fmap1: [8]TFcChar32{
  27079. 0: uint32(0xdf821ef3),
  27080. 1: uint32(0xdf7e76ff),
  27081. 2: uint32(0xda7d79c9),
  27082. 3: uint32(0x1e9befbe),
  27083. 4: uint32(0x77fb7ce0),
  27084. 5: uint32(0xfffb87be),
  27085. 6: uint32(0xffdb1bff),
  27086. 7: uint32(0x4fe03f5c),
  27087. },
  27088. },
  27089. 699: {
  27090. Fmap1: [8]TFcChar32{
  27091. 0: uint32(0x5f0e7fff),
  27092. 1: uint32(0xddbf77ff),
  27093. 2: uint32(0xfffff04f),
  27094. 3: uint32(0x0ff8ffff),
  27095. 4: uint32(0xfddfa3be),
  27096. 5: uint32(0xfffdfc1c),
  27097. 6: uint32(0xfb9e1f7d),
  27098. 7: uint32(0xdedcbdff),
  27099. },
  27100. },
  27101. 700: {
  27102. Fmap1: [8]TFcChar32{
  27103. 0: uint32(0xbafb3f6f),
  27104. 1: uint32(0xfbefdf7f),
  27105. 2: uint32(0x2eec7d1b),
  27106. 3: uint32(0xf2f7af8e),
  27107. 4: uint32(0xcfee7b0f),
  27108. 5: uint32(0x77c61d96),
  27109. 6: uint32(0xfff57e07),
  27110. 7: uint32(0x7fdfd982),
  27111. },
  27112. },
  27113. 701: {
  27114. Fmap1: [8]TFcChar32{
  27115. 0: uint32(0xc7ff5ee6),
  27116. 1: uint32(0x79effeee),
  27117. 2: uint32(0xffcf9a56),
  27118. 3: uint32(0xde5efe5f),
  27119. 4: uint32(0xf9e8896e),
  27120. 5: uint32(0xe6c4f45e),
  27121. 6: uint32(0xbe7c0001),
  27122. 7: uint32(0xdddf3b7f),
  27123. },
  27124. },
  27125. 702: {
  27126. Fmap1: [8]TFcChar32{
  27127. 0: uint32(0xe9efd59d),
  27128. 1: uint32(0xde5334ac),
  27129. 2: uint32(0x4bf7f573),
  27130. 3: uint32(0x9eff7b4f),
  27131. 4: uint32(0x476eb8fe),
  27132. 5: uint32(0xff450dfb),
  27133. 6: uint32(0xfbfeabfd),
  27134. 7: uint32(0xddffe9d7),
  27135. },
  27136. },
  27137. 703: {
  27138. Fmap1: [8]TFcChar32{
  27139. 0: uint32(0x7fffedf7),
  27140. 1: uint32(0x7eebddfd),
  27141. 2: uint32(0xb7ffcfe7),
  27142. 3: uint32(0xef91bde9),
  27143. 4: uint32(0xd77c5d75),
  27144. },
  27145. },
  27146. 704: {
  27147. Fmap1: [8]TFcChar32{
  27148. 1: uint32(0xfa800000),
  27149. 2: uint32(0xb4f1ffee),
  27150. 3: uint32(0x2fefbf76),
  27151. 4: uint32(0x77bfb677),
  27152. 5: uint32(0xfffd9fbf),
  27153. 6: uint32(0xf6ae95bf),
  27154. 7: uint32(0x7f3b75ff),
  27155. },
  27156. },
  27157. 705: {
  27158. Fmap1: [8]TFcChar32{
  27159. 0: uint32(0x0af9a7f5),
  27160. 3: uint32(0x2bddfbd0),
  27161. 4: uint32(0x9a7ff633),
  27162. 5: uint32(0xd6fcfdab),
  27163. 6: uint32(0xbfebf9e6),
  27164. 7: uint32(0xf41fdfdf),
  27165. },
  27166. },
  27167. 706: {
  27168. Fmap1: [8]TFcChar32{
  27169. 0: uint32(0xffffa6fd),
  27170. 1: uint32(0xf37b4aff),
  27171. 2: uint32(0xfef97fb7),
  27172. 3: uint32(0x1d5cb6ff),
  27173. 4: uint32(0xe5ff7ff6),
  27174. 5: uint32(0x24041f7b),
  27175. 6: uint32(0xf99ebe05),
  27176. 7: uint32(0xdff2dbe3),
  27177. },
  27178. },
  27179. 707: {
  27180. Fmap1: [8]TFcChar32{
  27181. 0: uint32(0xfdff6fef),
  27182. 1: uint32(0xcbfcd679),
  27183. 2: uint32(0xefffebfd),
  27184. 3: uint32(0x0000001f),
  27185. 4: uint32(0x98000000),
  27186. 5: uint32(0x8017e148),
  27187. 6: uint32(0x00fe6a74),
  27188. 7: uint32(0xfdf16d7f),
  27189. },
  27190. },
  27191. 708: {
  27192. Fmap1: [8]TFcChar32{
  27193. 0: uint32(0xfef3b87f),
  27194. 1: uint32(0xf176e01f),
  27195. 2: uint32(0x7b3fee96),
  27196. 3: uint32(0xfffdeb8d),
  27197. 4: uint32(0xcbb3adff),
  27198. 5: uint32(0xe17f84ef),
  27199. 6: uint32(0xbff04daa),
  27200. 7: uint32(0xfe3fbf3f),
  27201. },
  27202. },
  27203. 709: {
  27204. Fmap1: [8]TFcChar32{
  27205. 0: uint32(0xffd7ebff),
  27206. 1: uint32(0xcf7fffdf),
  27207. 2: uint32(0x85edfffb),
  27208. 3: uint32(0x07bcd73f),
  27209. 4: uint32(0xfe0faeff),
  27210. 5: uint32(0x76bffdaf),
  27211. 6: uint32(0x37bbfaef),
  27212. 7: uint32(0xa3ba7fdc),
  27213. },
  27214. },
  27215. 710: {
  27216. Fmap1: [8]TFcChar32{
  27217. 0: uint32(0x56f7b6ff),
  27218. 1: uint32(0xe7df60f8),
  27219. 2: uint32(0x4cdfff61),
  27220. 3: uint32(0xff45b0fb),
  27221. 4: uint32(0x3ffa7ded),
  27222. 5: uint32(0x18fc1fff),
  27223. 6: uint32(0xe3afffff),
  27224. 7: uint32(0xdf83c7d3),
  27225. },
  27226. },
  27227. 711: {
  27228. Fmap1: [8]TFcChar32{
  27229. 0: uint32(0xef7dfb57),
  27230. 1: uint32(0x1378efff),
  27231. 2: uint32(0x5ff7fec0),
  27232. 3: uint32(0x5ee334bb),
  27233. 4: uint32(0xeff6f70d),
  27234. 5: uint32(0x00bfd7fe),
  27235. 6: uint32(0xf7f7f59d),
  27236. 7: uint32(0xffe051de),
  27237. },
  27238. },
  27239. 712: {
  27240. Fmap1: [8]TFcChar32{
  27241. 0: uint32(0x037ffec9),
  27242. 1: uint32(0xbfef5f01),
  27243. 2: uint32(0x60a79ff1),
  27244. 3: uint32(0xf1ffef1d),
  27245. 4: uint32(0x0000000f),
  27246. },
  27247. },
  27248. 713: {
  27249. Fmap1: [8]TFcChar32{
  27250. 3: uint32(0x3c800000),
  27251. 4: uint32(0xd91ffb4d),
  27252. 5: uint32(0xfee37b3a),
  27253. 6: uint32(0xdc7f3fe9),
  27254. 7: uint32(0x0000003f),
  27255. },
  27256. },
  27257. 714: {
  27258. Fmap1: [8]TFcChar32{
  27259. 0: uint32(0x50000000),
  27260. 1: uint32(0xbe07f51f),
  27261. 2: uint32(0xf91bfc1d),
  27262. 3: uint32(0x71ffbc1e),
  27263. 4: uint32(0x5bbe6ff9),
  27264. 5: uint32(0x9b1b5796),
  27265. 6: uint32(0xfffc7fff),
  27266. 7: uint32(0xafe7872e),
  27267. },
  27268. },
  27269. 715: {
  27270. Fmap1: [8]TFcChar32{
  27271. 0: uint32(0xf34febf5),
  27272. 1: uint32(0xe725dffd),
  27273. 2: uint32(0x5d440bdc),
  27274. 3: uint32(0xfddd5747),
  27275. 4: uint32(0x7790ed3f),
  27276. 5: uint32(0x8ac87d7f),
  27277. 6: uint32(0xf3f9fafa),
  27278. 7: uint32(0xef4b202a),
  27279. },
  27280. },
  27281. 716: {
  27282. Fmap1: [8]TFcChar32{
  27283. 0: uint32(0x79cff5ff),
  27284. 1: uint32(0x0ba5abd3),
  27285. 2: uint32(0xfb8ff77a),
  27286. 3: uint32(0x001f8ebd),
  27287. 5: uint32(0xfd4ef300),
  27288. 6: uint32(0x88001a57),
  27289. 7: uint32(0x7654aeac),
  27290. },
  27291. },
  27292. 717: {
  27293. Fmap1: [8]TFcChar32{
  27294. 0: uint32(0xcdff17ad),
  27295. 1: uint32(0xf42fffb2),
  27296. 2: uint32(0xdbff5baa),
  27297. 3: uint32(0x00000002),
  27298. 4: uint32(0x73c00000),
  27299. 5: uint32(0x2e3ff9ea),
  27300. 6: uint32(0xbbfffa8e),
  27301. 7: uint32(0xffd376bc),
  27302. },
  27303. },
  27304. 718: {
  27305. Fmap1: [8]TFcChar32{
  27306. 0: uint32(0x7e72eefe),
  27307. 1: uint32(0xe7f77ebd),
  27308. 2: uint32(0xcefdf77f),
  27309. 3: uint32(0x00000ff5),
  27310. 5: uint32(0xdb9ba900),
  27311. 6: uint32(0x917fa4c7),
  27312. 7: uint32(0x7ecef8ca),
  27313. },
  27314. },
  27315. 719: {
  27316. Fmap1: [8]TFcChar32{
  27317. 0: uint32(0xc7e77d7a),
  27318. 1: uint32(0xdcaecbbd),
  27319. 2: uint32(0x8f76fd7e),
  27320. 3: uint32(0x7cf391d3),
  27321. 4: uint32(0x4c2f01e5),
  27322. 5: uint32(0xa360ed77),
  27323. 6: uint32(0x5ef807db),
  27324. 7: uint32(0x21811df7),
  27325. },
  27326. },
  27327. 720: {
  27328. Fmap1: [8]TFcChar32{
  27329. 0: uint32(0x309c6be0),
  27330. 1: uint32(0xfade3b3a),
  27331. 2: uint32(0xc3f57f53),
  27332. 3: uint32(0x07ba61cd),
  27333. 7: uint32(0xbefe26e0),
  27334. },
  27335. },
  27336. 721: {
  27337. Fmap1: [8]TFcChar32{
  27338. 0: uint32(0xebb503f9),
  27339. 1: uint32(0xe9cbe36d),
  27340. 2: uint32(0xbfde9c2f),
  27341. 3: uint32(0xabbf9f83),
  27342. 4: uint32(0xffd51ff7),
  27343. 5: uint32(0xdffeb7df),
  27344. 6: uint32(0xffeffdae),
  27345. 7: uint32(0xeffdfb7e),
  27346. },
  27347. },
  27348. 722: {
  27349. Fmap1: [8]TFcChar32{
  27350. 0: uint32(0x6ebfaaff),
  27351. 3: uint32(0xb6200000),
  27352. 4: uint32(0xbe9e7fcd),
  27353. 5: uint32(0x58f162b3),
  27354. 6: uint32(0xfd7bf10d),
  27355. 7: uint32(0xbefde9f1),
  27356. },
  27357. },
  27358. 723: {
  27359. Fmap1: [8]TFcChar32{
  27360. 0: uint32(0x5f6dc6c3),
  27361. 1: uint32(0x69ffff3d),
  27362. 2: uint32(0xfbf4ffcf),
  27363. 3: uint32(0x4ff7dcfb),
  27364. 4: uint32(0x11372000),
  27365. 5: uint32(0x00000015),
  27366. },
  27367. },
  27368. 724: {
  27369. Fmap1: [8]TFcChar32{
  27370. 0: uint32(0x00003000),
  27371. },
  27372. },
  27373. },
  27374. Fleaf_offsets: [779]Tuintptr_t{
  27375. 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)),
  27376. 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)),
  27377. 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)),
  27378. 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)),
  27379. 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)),
  27380. 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)),
  27381. 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)),
  27382. 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)),
  27383. 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)),
  27384. 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)),
  27385. 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)),
  27386. 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)),
  27387. 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)),
  27388. 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)),
  27389. 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)),
  27390. 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)),
  27391. 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)),
  27392. 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)),
  27393. 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)),
  27394. 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)),
  27395. 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)),
  27396. 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)),
  27397. 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)),
  27398. 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)),
  27399. 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)),
  27400. 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)),
  27401. 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)),
  27402. 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)),
  27403. 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)),
  27404. 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)),
  27405. 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)),
  27406. 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)),
  27407. 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)),
  27408. 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)),
  27409. 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)),
  27410. 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)),
  27411. 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)),
  27412. 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)),
  27413. 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)),
  27414. 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)),
  27415. 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)),
  27416. 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)),
  27417. 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)),
  27418. 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)),
  27419. 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)),
  27420. 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)),
  27421. 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)),
  27422. 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)),
  27423. 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)),
  27424. 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)),
  27425. 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)),
  27426. 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)),
  27427. 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)),
  27428. 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)),
  27429. 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)),
  27430. 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)),
  27431. 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)),
  27432. 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)),
  27433. 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)),
  27434. 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)),
  27435. 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)),
  27436. 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)),
  27437. 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)),
  27438. 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)),
  27439. 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)),
  27440. 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)),
  27441. 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)),
  27442. 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)),
  27443. 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)),
  27444. 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)),
  27445. 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)),
  27446. 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)),
  27447. 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)),
  27448. 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)),
  27449. 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)),
  27450. 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)),
  27451. 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)),
  27452. 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)),
  27453. 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)),
  27454. 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)),
  27455. 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)),
  27456. 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)),
  27457. 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)),
  27458. 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)),
  27459. 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)),
  27460. 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)),
  27461. 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)),
  27462. 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)),
  27463. 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)),
  27464. 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)),
  27465. 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)),
  27466. 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)),
  27467. 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)),
  27468. 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)),
  27469. 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)),
  27470. 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)),
  27471. 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)),
  27472. 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)),
  27473. 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)),
  27474. 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)),
  27475. 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)),
  27476. 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)),
  27477. 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)),
  27478. 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)),
  27479. 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)),
  27480. 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)),
  27481. 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)),
  27482. 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)),
  27483. 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)),
  27484. 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)),
  27485. 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)),
  27486. 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)),
  27487. 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)),
  27488. 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)),
  27489. 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)),
  27490. 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)),
  27491. 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)),
  27492. 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)),
  27493. 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)),
  27494. 119: 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(119)*libc.Uint64FromInt64(8)),
  27495. 120: 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(119)*libc.Uint64FromInt64(8)),
  27496. 121: 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(121)*libc.Uint64FromInt64(8)),
  27497. 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(121)*libc.Uint64FromInt64(8)),
  27498. 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(121)*libc.Uint64FromInt64(8)),
  27499. 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(121)*libc.Uint64FromInt64(8)),
  27500. 125: 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(121)*libc.Uint64FromInt64(8)),
  27501. 126: 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(126)*libc.Uint64FromInt64(8)),
  27502. 127: 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(127)*libc.Uint64FromInt64(8)),
  27503. 128: 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(128)*libc.Uint64FromInt64(8)),
  27504. 129: 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(129)*libc.Uint64FromInt64(8)),
  27505. 130: 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(129)*libc.Uint64FromInt64(8)),
  27506. 131: 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(129)*libc.Uint64FromInt64(8)),
  27507. 132: 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(132)*libc.Uint64FromInt64(8)),
  27508. 133: 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(132)*libc.Uint64FromInt64(8)),
  27509. 134: 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(132)*libc.Uint64FromInt64(8)),
  27510. 135: 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(132)*libc.Uint64FromInt64(8)),
  27511. 136: 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(132)*libc.Uint64FromInt64(8)),
  27512. 137: 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(132)*libc.Uint64FromInt64(8)),
  27513. 138: 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(132)*libc.Uint64FromInt64(8)),
  27514. 139: 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(132)*libc.Uint64FromInt64(8)),
  27515. 140: 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(132)*libc.Uint64FromInt64(8)),
  27516. 141: 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(132)*libc.Uint64FromInt64(8)),
  27517. 142: 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(132)*libc.Uint64FromInt64(8)),
  27518. 143: 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(132)*libc.Uint64FromInt64(8)),
  27519. 144: 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(132)*libc.Uint64FromInt64(8)),
  27520. 145: 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(132)*libc.Uint64FromInt64(8)),
  27521. 146: 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(132)*libc.Uint64FromInt64(8)),
  27522. 147: 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(132)*libc.Uint64FromInt64(8)),
  27523. 148: 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(132)*libc.Uint64FromInt64(8)),
  27524. 149: 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(132)*libc.Uint64FromInt64(8)),
  27525. 150: 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(132)*libc.Uint64FromInt64(8)),
  27526. 151: 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(132)*libc.Uint64FromInt64(8)),
  27527. 152: 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(132)*libc.Uint64FromInt64(8)),
  27528. 153: 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(132)*libc.Uint64FromInt64(8)),
  27529. 154: 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(132)*libc.Uint64FromInt64(8)),
  27530. 155: 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(132)*libc.Uint64FromInt64(8)),
  27531. 156: 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(132)*libc.Uint64FromInt64(8)),
  27532. 157: 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(132)*libc.Uint64FromInt64(8)),
  27533. 158: 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(132)*libc.Uint64FromInt64(8)),
  27534. 159: 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(132)*libc.Uint64FromInt64(8)),
  27535. 160: 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(132)*libc.Uint64FromInt64(8)),
  27536. 161: 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(132)*libc.Uint64FromInt64(8)),
  27537. 162: 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(132)*libc.Uint64FromInt64(8)),
  27538. 163: 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(132)*libc.Uint64FromInt64(8)),
  27539. 164: 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(132)*libc.Uint64FromInt64(8)),
  27540. 165: 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(132)*libc.Uint64FromInt64(8)),
  27541. 166: 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(132)*libc.Uint64FromInt64(8)),
  27542. 167: 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(132)*libc.Uint64FromInt64(8)),
  27543. 168: 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(132)*libc.Uint64FromInt64(8)),
  27544. 169: 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(132)*libc.Uint64FromInt64(8)),
  27545. 170: 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(132)*libc.Uint64FromInt64(8)),
  27546. 171: 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(132)*libc.Uint64FromInt64(8)),
  27547. 172: 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(132)*libc.Uint64FromInt64(8)),
  27548. 173: 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(132)*libc.Uint64FromInt64(8)),
  27549. 174: 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(132)*libc.Uint64FromInt64(8)),
  27550. 175: 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(132)*libc.Uint64FromInt64(8)),
  27551. 176: 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(132)*libc.Uint64FromInt64(8)),
  27552. 177: 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(132)*libc.Uint64FromInt64(8)),
  27553. 178: 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(132)*libc.Uint64FromInt64(8)),
  27554. 179: 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(132)*libc.Uint64FromInt64(8)),
  27555. 180: 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(132)*libc.Uint64FromInt64(8)),
  27556. 181: 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(132)*libc.Uint64FromInt64(8)),
  27557. 182: 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(132)*libc.Uint64FromInt64(8)),
  27558. 183: 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(132)*libc.Uint64FromInt64(8)),
  27559. 184: 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(132)*libc.Uint64FromInt64(8)),
  27560. 185: 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(132)*libc.Uint64FromInt64(8)),
  27561. 186: 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(132)*libc.Uint64FromInt64(8)),
  27562. 187: 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(132)*libc.Uint64FromInt64(8)),
  27563. 188: 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(132)*libc.Uint64FromInt64(8)),
  27564. 189: 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(132)*libc.Uint64FromInt64(8)),
  27565. 190: 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(132)*libc.Uint64FromInt64(8)),
  27566. 191: 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(132)*libc.Uint64FromInt64(8)),
  27567. 192: 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(132)*libc.Uint64FromInt64(8)),
  27568. 193: 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(132)*libc.Uint64FromInt64(8)),
  27569. 194: 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(132)*libc.Uint64FromInt64(8)),
  27570. 195: 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(132)*libc.Uint64FromInt64(8)),
  27571. 196: 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(132)*libc.Uint64FromInt64(8)),
  27572. 197: 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(132)*libc.Uint64FromInt64(8)),
  27573. 198: 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(132)*libc.Uint64FromInt64(8)),
  27574. 199: 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(132)*libc.Uint64FromInt64(8)),
  27575. 200: 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(132)*libc.Uint64FromInt64(8)),
  27576. 201: 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(132)*libc.Uint64FromInt64(8)),
  27577. 202: 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(132)*libc.Uint64FromInt64(8)),
  27578. 203: 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(132)*libc.Uint64FromInt64(8)),
  27579. 204: 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(132)*libc.Uint64FromInt64(8)),
  27580. 205: 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(132)*libc.Uint64FromInt64(8)),
  27581. 206: 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(132)*libc.Uint64FromInt64(8)),
  27582. 207: 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(132)*libc.Uint64FromInt64(8)),
  27583. 208: 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(132)*libc.Uint64FromInt64(8)),
  27584. 209: 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(132)*libc.Uint64FromInt64(8)),
  27585. 210: 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(132)*libc.Uint64FromInt64(8)),
  27586. 211: 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(132)*libc.Uint64FromInt64(8)),
  27587. 212: 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(132)*libc.Uint64FromInt64(8)),
  27588. 213: 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(132)*libc.Uint64FromInt64(8)),
  27589. 214: 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(132)*libc.Uint64FromInt64(8)),
  27590. 215: 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(215)*libc.Uint64FromInt64(8)),
  27591. 216: 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(216)*libc.Uint64FromInt64(8)),
  27592. 217: 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(217)*libc.Uint64FromInt64(8)),
  27593. 218: 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(218)*libc.Uint64FromInt64(8)),
  27594. 219: 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(218)*libc.Uint64FromInt64(8)),
  27595. 220: 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(220)*libc.Uint64FromInt64(8)),
  27596. 221: 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(221)*libc.Uint64FromInt64(8)),
  27597. 222: 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(221)*libc.Uint64FromInt64(8)),
  27598. 223: 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(223)*libc.Uint64FromInt64(8)),
  27599. 224: 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(224)*libc.Uint64FromInt64(8)),
  27600. 225: 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(225)*libc.Uint64FromInt64(8)),
  27601. 226: 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(225)*libc.Uint64FromInt64(8)),
  27602. 227: 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(225)*libc.Uint64FromInt64(8)),
  27603. 228: 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(225)*libc.Uint64FromInt64(8)),
  27604. 229: 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(225)*libc.Uint64FromInt64(8)),
  27605. 230: 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(225)*libc.Uint64FromInt64(8)),
  27606. 231: 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(225)*libc.Uint64FromInt64(8)),
  27607. 232: 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(225)*libc.Uint64FromInt64(8)),
  27608. 233: 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(225)*libc.Uint64FromInt64(8)),
  27609. 234: 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(225)*libc.Uint64FromInt64(8)),
  27610. 235: 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(225)*libc.Uint64FromInt64(8)),
  27611. 236: 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(225)*libc.Uint64FromInt64(8)),
  27612. 237: 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(225)*libc.Uint64FromInt64(8)),
  27613. 238: 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(225)*libc.Uint64FromInt64(8)),
  27614. 239: 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(225)*libc.Uint64FromInt64(8)),
  27615. 240: 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(225)*libc.Uint64FromInt64(8)),
  27616. 241: 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(225)*libc.Uint64FromInt64(8)),
  27617. 242: 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(225)*libc.Uint64FromInt64(8)),
  27618. 243: 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(225)*libc.Uint64FromInt64(8)),
  27619. 244: 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(225)*libc.Uint64FromInt64(8)),
  27620. 245: 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(225)*libc.Uint64FromInt64(8)),
  27621. 246: 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(225)*libc.Uint64FromInt64(8)),
  27622. 247: 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(225)*libc.Uint64FromInt64(8)),
  27623. 248: 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(225)*libc.Uint64FromInt64(8)),
  27624. 249: 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(225)*libc.Uint64FromInt64(8)),
  27625. 250: 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(225)*libc.Uint64FromInt64(8)),
  27626. 251: 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(225)*libc.Uint64FromInt64(8)),
  27627. 252: 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(225)*libc.Uint64FromInt64(8)),
  27628. 253: 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(225)*libc.Uint64FromInt64(8)),
  27629. 254: 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(225)*libc.Uint64FromInt64(8)),
  27630. 255: 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(225)*libc.Uint64FromInt64(8)),
  27631. 256: 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(225)*libc.Uint64FromInt64(8)),
  27632. 257: 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(225)*libc.Uint64FromInt64(8)),
  27633. 258: 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(225)*libc.Uint64FromInt64(8)),
  27634. 259: 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(225)*libc.Uint64FromInt64(8)),
  27635. 260: 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(225)*libc.Uint64FromInt64(8)),
  27636. 261: 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(225)*libc.Uint64FromInt64(8)),
  27637. 262: 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(225)*libc.Uint64FromInt64(8)),
  27638. 263: 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(225)*libc.Uint64FromInt64(8)),
  27639. 264: 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(225)*libc.Uint64FromInt64(8)),
  27640. 265: 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(225)*libc.Uint64FromInt64(8)),
  27641. 266: 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(225)*libc.Uint64FromInt64(8)),
  27642. 267: 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(225)*libc.Uint64FromInt64(8)),
  27643. 268: 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(225)*libc.Uint64FromInt64(8)),
  27644. 269: 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(225)*libc.Uint64FromInt64(8)),
  27645. 270: 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(270)*libc.Uint64FromInt64(8)),
  27646. 271: 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(270)*libc.Uint64FromInt64(8)),
  27647. 272: 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(270)*libc.Uint64FromInt64(8)),
  27648. 273: 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(273)*libc.Uint64FromInt64(8)),
  27649. 274: 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(274)*libc.Uint64FromInt64(8)),
  27650. 275: 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(274)*libc.Uint64FromInt64(8)),
  27651. 276: 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(276)*libc.Uint64FromInt64(8)),
  27652. 277: 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(277)*libc.Uint64FromInt64(8)),
  27653. 278: 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(277)*libc.Uint64FromInt64(8)),
  27654. 279: 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(279)*libc.Uint64FromInt64(8)),
  27655. 280: 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(280)*libc.Uint64FromInt64(8)),
  27656. 281: 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(281)*libc.Uint64FromInt64(8)),
  27657. 282: 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(281)*libc.Uint64FromInt64(8)),
  27658. 283: 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(281)*libc.Uint64FromInt64(8)),
  27659. 284: 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(284)*libc.Uint64FromInt64(8)),
  27660. 285: 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(285)*libc.Uint64FromInt64(8)),
  27661. 286: 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(285)*libc.Uint64FromInt64(8)),
  27662. 287: 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(287)*libc.Uint64FromInt64(8)),
  27663. 288: 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(288)*libc.Uint64FromInt64(8)),
  27664. 289: 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(289)*libc.Uint64FromInt64(8)),
  27665. 290: 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(289)*libc.Uint64FromInt64(8)),
  27666. 291: 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(291)*libc.Uint64FromInt64(8)),
  27667. 292: 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(292)*libc.Uint64FromInt64(8)),
  27668. 293: 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(292)*libc.Uint64FromInt64(8)),
  27669. 294: 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(292)*libc.Uint64FromInt64(8)),
  27670. 295: 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(292)*libc.Uint64FromInt64(8)),
  27671. 296: 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(296)*libc.Uint64FromInt64(8)),
  27672. 297: 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(297)*libc.Uint64FromInt64(8)),
  27673. 298: 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(297)*libc.Uint64FromInt64(8)),
  27674. 299: 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(299)*libc.Uint64FromInt64(8)),
  27675. 300: 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(299)*libc.Uint64FromInt64(8)),
  27676. 301: 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(301)*libc.Uint64FromInt64(8)),
  27677. 302: 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(302)*libc.Uint64FromInt64(8)),
  27678. 303: 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(302)*libc.Uint64FromInt64(8)),
  27679. 304: 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(304)*libc.Uint64FromInt64(8)),
  27680. 305: 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(304)*libc.Uint64FromInt64(8)),
  27681. 306: 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(304)*libc.Uint64FromInt64(8)),
  27682. 307: 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(307)*libc.Uint64FromInt64(8)),
  27683. 308: 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(308)*libc.Uint64FromInt64(8)),
  27684. 309: 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(309)*libc.Uint64FromInt64(8)),
  27685. 310: 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(310)*libc.Uint64FromInt64(8)),
  27686. 311: 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(311)*libc.Uint64FromInt64(8)),
  27687. 312: 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(312)*libc.Uint64FromInt64(8)),
  27688. 313: 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(312)*libc.Uint64FromInt64(8)),
  27689. 314: 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(312)*libc.Uint64FromInt64(8)),
  27690. 315: 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(312)*libc.Uint64FromInt64(8)),
  27691. 316: 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(316)*libc.Uint64FromInt64(8)),
  27692. 317: 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(316)*libc.Uint64FromInt64(8)),
  27693. 318: 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(318)*libc.Uint64FromInt64(8)),
  27694. 319: 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(319)*libc.Uint64FromInt64(8)),
  27695. 320: 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(319)*libc.Uint64FromInt64(8)),
  27696. 321: 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(321)*libc.Uint64FromInt64(8)),
  27697. 322: 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(322)*libc.Uint64FromInt64(8)),
  27698. 323: 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(323)*libc.Uint64FromInt64(8)),
  27699. 324: 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(324)*libc.Uint64FromInt64(8)),
  27700. 325: 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(325)*libc.Uint64FromInt64(8)),
  27701. 326: 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(326)*libc.Uint64FromInt64(8)),
  27702. 327: 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(326)*libc.Uint64FromInt64(8)),
  27703. 328: 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(328)*libc.Uint64FromInt64(8)),
  27704. 329: 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(328)*libc.Uint64FromInt64(8)),
  27705. 330: 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(328)*libc.Uint64FromInt64(8)),
  27706. 331: 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(328)*libc.Uint64FromInt64(8)),
  27707. 332: 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(332)*libc.Uint64FromInt64(8)),
  27708. 333: 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(332)*libc.Uint64FromInt64(8)),
  27709. 334: 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(334)*libc.Uint64FromInt64(8)),
  27710. 335: 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(335)*libc.Uint64FromInt64(8)),
  27711. 336: 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(336)*libc.Uint64FromInt64(8)),
  27712. 337: 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(337)*libc.Uint64FromInt64(8)),
  27713. 338: 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(338)*libc.Uint64FromInt64(8)),
  27714. 339: 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(339)*libc.Uint64FromInt64(8)),
  27715. 340: 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(340)*libc.Uint64FromInt64(8)),
  27716. 341: 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(340)*libc.Uint64FromInt64(8)),
  27717. 342: 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(342)*libc.Uint64FromInt64(8)),
  27718. 343: 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(343)*libc.Uint64FromInt64(8)),
  27719. 344: 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(344)*libc.Uint64FromInt64(8)),
  27720. 345: 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(345)*libc.Uint64FromInt64(8)),
  27721. 346: 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(345)*libc.Uint64FromInt64(8)),
  27722. 347: 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(347)*libc.Uint64FromInt64(8)),
  27723. 348: 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(348)*libc.Uint64FromInt64(8)),
  27724. 349: 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(348)*libc.Uint64FromInt64(8)),
  27725. 350: 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(348)*libc.Uint64FromInt64(8)),
  27726. 351: 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(351)*libc.Uint64FromInt64(8)),
  27727. 352: 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(352)*libc.Uint64FromInt64(8)),
  27728. 353: 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(353)*libc.Uint64FromInt64(8)),
  27729. 354: 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(354)*libc.Uint64FromInt64(8)),
  27730. 355: 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(354)*libc.Uint64FromInt64(8)),
  27731. 356: 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(354)*libc.Uint64FromInt64(8)),
  27732. 357: 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(357)*libc.Uint64FromInt64(8)),
  27733. 358: 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(358)*libc.Uint64FromInt64(8)),
  27734. 359: 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(358)*libc.Uint64FromInt64(8)),
  27735. 360: 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(360)*libc.Uint64FromInt64(8)),
  27736. 361: 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(361)*libc.Uint64FromInt64(8)),
  27737. 362: 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(361)*libc.Uint64FromInt64(8)),
  27738. 363: 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(361)*libc.Uint64FromInt64(8)),
  27739. 364: 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(364)*libc.Uint64FromInt64(8)),
  27740. 365: 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(364)*libc.Uint64FromInt64(8)),
  27741. 366: 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(366)*libc.Uint64FromInt64(8)),
  27742. 367: 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(367)*libc.Uint64FromInt64(8)),
  27743. 368: 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(367)*libc.Uint64FromInt64(8)),
  27744. 369: 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(369)*libc.Uint64FromInt64(8)),
  27745. 370: 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(369)*libc.Uint64FromInt64(8)),
  27746. 371: 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(371)*libc.Uint64FromInt64(8)),
  27747. 372: 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(371)*libc.Uint64FromInt64(8)),
  27748. 373: 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(373)*libc.Uint64FromInt64(8)),
  27749. 374: 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(374)*libc.Uint64FromInt64(8)),
  27750. 375: 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(375)*libc.Uint64FromInt64(8)),
  27751. 376: 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(375)*libc.Uint64FromInt64(8)),
  27752. 377: 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(377)*libc.Uint64FromInt64(8)),
  27753. 378: 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(377)*libc.Uint64FromInt64(8)),
  27754. 379: 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(377)*libc.Uint64FromInt64(8)),
  27755. 380: 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(380)*libc.Uint64FromInt64(8)),
  27756. 381: 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(381)*libc.Uint64FromInt64(8)),
  27757. 382: 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(382)*libc.Uint64FromInt64(8)),
  27758. 383: 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(383)*libc.Uint64FromInt64(8)),
  27759. 384: 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(384)*libc.Uint64FromInt64(8)),
  27760. 385: 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(385)*libc.Uint64FromInt64(8)),
  27761. 386: 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(386)*libc.Uint64FromInt64(8)),
  27762. 387: 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(387)*libc.Uint64FromInt64(8)),
  27763. 388: 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(388)*libc.Uint64FromInt64(8)),
  27764. 389: 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(388)*libc.Uint64FromInt64(8)),
  27765. 390: 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(390)*libc.Uint64FromInt64(8)),
  27766. 391: 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(390)*libc.Uint64FromInt64(8)),
  27767. 392: 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(392)*libc.Uint64FromInt64(8)),
  27768. 393: 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(392)*libc.Uint64FromInt64(8)),
  27769. 394: 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(394)*libc.Uint64FromInt64(8)),
  27770. 395: 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(395)*libc.Uint64FromInt64(8)),
  27771. 396: 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(395)*libc.Uint64FromInt64(8)),
  27772. 397: 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(395)*libc.Uint64FromInt64(8)),
  27773. 398: 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(398)*libc.Uint64FromInt64(8)),
  27774. 399: 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(399)*libc.Uint64FromInt64(8)),
  27775. 400: 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(400)*libc.Uint64FromInt64(8)),
  27776. 401: 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(400)*libc.Uint64FromInt64(8)),
  27777. 402: 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(400)*libc.Uint64FromInt64(8)),
  27778. 403: 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(400)*libc.Uint64FromInt64(8)),
  27779. 404: 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(400)*libc.Uint64FromInt64(8)),
  27780. 405: 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(400)*libc.Uint64FromInt64(8)),
  27781. 406: 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(400)*libc.Uint64FromInt64(8)),
  27782. 407: 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(400)*libc.Uint64FromInt64(8)),
  27783. 408: 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(400)*libc.Uint64FromInt64(8)),
  27784. 409: 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(400)*libc.Uint64FromInt64(8)),
  27785. 410: 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(400)*libc.Uint64FromInt64(8)),
  27786. 411: 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(400)*libc.Uint64FromInt64(8)),
  27787. 412: 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(412)*libc.Uint64FromInt64(8)),
  27788. 413: 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(412)*libc.Uint64FromInt64(8)),
  27789. 414: 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(412)*libc.Uint64FromInt64(8)),
  27790. 415: 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(412)*libc.Uint64FromInt64(8)),
  27791. 416: 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(412)*libc.Uint64FromInt64(8)),
  27792. 417: 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(412)*libc.Uint64FromInt64(8)),
  27793. 418: 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(412)*libc.Uint64FromInt64(8)),
  27794. 419: 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(412)*libc.Uint64FromInt64(8)),
  27795. 420: 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(412)*libc.Uint64FromInt64(8)),
  27796. 421: 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(412)*libc.Uint64FromInt64(8)),
  27797. 422: 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(412)*libc.Uint64FromInt64(8)),
  27798. 423: 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(412)*libc.Uint64FromInt64(8)),
  27799. 424: 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(424)*libc.Uint64FromInt64(8)),
  27800. 425: 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(424)*libc.Uint64FromInt64(8)),
  27801. 426: 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(426)*libc.Uint64FromInt64(8)),
  27802. 427: 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(426)*libc.Uint64FromInt64(8)),
  27803. 428: 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(426)*libc.Uint64FromInt64(8)),
  27804. 429: 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(426)*libc.Uint64FromInt64(8)),
  27805. 430: 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(430)*libc.Uint64FromInt64(8)),
  27806. 431: 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(431)*libc.Uint64FromInt64(8)),
  27807. 432: 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(431)*libc.Uint64FromInt64(8)),
  27808. 433: 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(433)*libc.Uint64FromInt64(8)),
  27809. 434: 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(434)*libc.Uint64FromInt64(8)),
  27810. 435: 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(434)*libc.Uint64FromInt64(8)),
  27811. 436: 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(436)*libc.Uint64FromInt64(8)),
  27812. 437: 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(436)*libc.Uint64FromInt64(8)),
  27813. 438: 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(438)*libc.Uint64FromInt64(8)),
  27814. 439: 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(439)*libc.Uint64FromInt64(8)),
  27815. 440: 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(439)*libc.Uint64FromInt64(8)),
  27816. 441: 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(439)*libc.Uint64FromInt64(8)),
  27817. 442: 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(439)*libc.Uint64FromInt64(8)),
  27818. 443: 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(443)*libc.Uint64FromInt64(8)),
  27819. 444: 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(443)*libc.Uint64FromInt64(8)),
  27820. 445: 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(443)*libc.Uint64FromInt64(8)),
  27821. 446: 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(443)*libc.Uint64FromInt64(8)),
  27822. 447: 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(443)*libc.Uint64FromInt64(8)),
  27823. 448: 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(443)*libc.Uint64FromInt64(8)),
  27824. 449: 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(443)*libc.Uint64FromInt64(8)),
  27825. 450: 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(443)*libc.Uint64FromInt64(8)),
  27826. 451: 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(443)*libc.Uint64FromInt64(8)),
  27827. 452: 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(443)*libc.Uint64FromInt64(8)),
  27828. 453: 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(443)*libc.Uint64FromInt64(8)),
  27829. 454: 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(443)*libc.Uint64FromInt64(8)),
  27830. 455: 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(443)*libc.Uint64FromInt64(8)),
  27831. 456: 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(443)*libc.Uint64FromInt64(8)),
  27832. 457: 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(443)*libc.Uint64FromInt64(8)),
  27833. 458: 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(443)*libc.Uint64FromInt64(8)),
  27834. 459: 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(443)*libc.Uint64FromInt64(8)),
  27835. 460: 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(443)*libc.Uint64FromInt64(8)),
  27836. 461: 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(443)*libc.Uint64FromInt64(8)),
  27837. 462: 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(443)*libc.Uint64FromInt64(8)),
  27838. 463: 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(443)*libc.Uint64FromInt64(8)),
  27839. 464: 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(443)*libc.Uint64FromInt64(8)),
  27840. 465: 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(443)*libc.Uint64FromInt64(8)),
  27841. 466: 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(443)*libc.Uint64FromInt64(8)),
  27842. 467: 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(443)*libc.Uint64FromInt64(8)),
  27843. 468: 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(443)*libc.Uint64FromInt64(8)),
  27844. 469: 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(443)*libc.Uint64FromInt64(8)),
  27845. 470: 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(443)*libc.Uint64FromInt64(8)),
  27846. 471: 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(443)*libc.Uint64FromInt64(8)),
  27847. 472: 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(443)*libc.Uint64FromInt64(8)),
  27848. 473: 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(443)*libc.Uint64FromInt64(8)),
  27849. 474: 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(443)*libc.Uint64FromInt64(8)),
  27850. 475: 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(443)*libc.Uint64FromInt64(8)),
  27851. 476: 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(443)*libc.Uint64FromInt64(8)),
  27852. 477: 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(443)*libc.Uint64FromInt64(8)),
  27853. 478: 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(443)*libc.Uint64FromInt64(8)),
  27854. 479: 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(443)*libc.Uint64FromInt64(8)),
  27855. 480: 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(443)*libc.Uint64FromInt64(8)),
  27856. 481: 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(443)*libc.Uint64FromInt64(8)),
  27857. 482: 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(443)*libc.Uint64FromInt64(8)),
  27858. 483: 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(443)*libc.Uint64FromInt64(8)),
  27859. 484: 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(443)*libc.Uint64FromInt64(8)),
  27860. 485: 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(443)*libc.Uint64FromInt64(8)),
  27861. 486: 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(443)*libc.Uint64FromInt64(8)),
  27862. 487: 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(443)*libc.Uint64FromInt64(8)),
  27863. 488: 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(443)*libc.Uint64FromInt64(8)),
  27864. 489: 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(443)*libc.Uint64FromInt64(8)),
  27865. 490: 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(443)*libc.Uint64FromInt64(8)),
  27866. 491: 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(443)*libc.Uint64FromInt64(8)),
  27867. 492: 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(443)*libc.Uint64FromInt64(8)),
  27868. 493: 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(443)*libc.Uint64FromInt64(8)),
  27869. 494: 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(443)*libc.Uint64FromInt64(8)),
  27870. 495: 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(443)*libc.Uint64FromInt64(8)),
  27871. 496: 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(443)*libc.Uint64FromInt64(8)),
  27872. 497: 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(443)*libc.Uint64FromInt64(8)),
  27873. 498: 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(443)*libc.Uint64FromInt64(8)),
  27874. 499: 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(443)*libc.Uint64FromInt64(8)),
  27875. 500: 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(443)*libc.Uint64FromInt64(8)),
  27876. 501: 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(443)*libc.Uint64FromInt64(8)),
  27877. 502: 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(443)*libc.Uint64FromInt64(8)),
  27878. 503: 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(443)*libc.Uint64FromInt64(8)),
  27879. 504: 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(443)*libc.Uint64FromInt64(8)),
  27880. 505: 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(443)*libc.Uint64FromInt64(8)),
  27881. 506: 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(443)*libc.Uint64FromInt64(8)),
  27882. 507: 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(443)*libc.Uint64FromInt64(8)),
  27883. 508: 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(443)*libc.Uint64FromInt64(8)),
  27884. 509: 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(443)*libc.Uint64FromInt64(8)),
  27885. 510: 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(443)*libc.Uint64FromInt64(8)),
  27886. 511: 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(443)*libc.Uint64FromInt64(8)),
  27887. 512: 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(443)*libc.Uint64FromInt64(8)),
  27888. 513: 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(443)*libc.Uint64FromInt64(8)),
  27889. 514: 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(443)*libc.Uint64FromInt64(8)),
  27890. 515: 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(443)*libc.Uint64FromInt64(8)),
  27891. 516: 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(443)*libc.Uint64FromInt64(8)),
  27892. 517: 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(443)*libc.Uint64FromInt64(8)),
  27893. 518: 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(443)*libc.Uint64FromInt64(8)),
  27894. 519: 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(443)*libc.Uint64FromInt64(8)),
  27895. 520: 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(443)*libc.Uint64FromInt64(8)),
  27896. 521: 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(443)*libc.Uint64FromInt64(8)),
  27897. 522: 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(443)*libc.Uint64FromInt64(8)),
  27898. 523: 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(443)*libc.Uint64FromInt64(8)),
  27899. 524: 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(443)*libc.Uint64FromInt64(8)),
  27900. 525: 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(525)*libc.Uint64FromInt64(8)),
  27901. 526: 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(525)*libc.Uint64FromInt64(8)),
  27902. 527: 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(525)*libc.Uint64FromInt64(8)),
  27903. 528: 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(525)*libc.Uint64FromInt64(8)),
  27904. 529: 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(525)*libc.Uint64FromInt64(8)),
  27905. 530: 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(525)*libc.Uint64FromInt64(8)),
  27906. 531: 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(525)*libc.Uint64FromInt64(8)),
  27907. 532: 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(525)*libc.Uint64FromInt64(8)),
  27908. 533: 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(525)*libc.Uint64FromInt64(8)),
  27909. 534: 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(525)*libc.Uint64FromInt64(8)),
  27910. 535: 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(525)*libc.Uint64FromInt64(8)),
  27911. 536: 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(525)*libc.Uint64FromInt64(8)),
  27912. 537: 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(525)*libc.Uint64FromInt64(8)),
  27913. 538: 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(525)*libc.Uint64FromInt64(8)),
  27914. 539: 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(525)*libc.Uint64FromInt64(8)),
  27915. 540: 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(525)*libc.Uint64FromInt64(8)),
  27916. 541: 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(525)*libc.Uint64FromInt64(8)),
  27917. 542: 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(525)*libc.Uint64FromInt64(8)),
  27918. 543: 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(525)*libc.Uint64FromInt64(8)),
  27919. 544: 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(525)*libc.Uint64FromInt64(8)),
  27920. 545: 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(525)*libc.Uint64FromInt64(8)),
  27921. 546: 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(525)*libc.Uint64FromInt64(8)),
  27922. 547: 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(525)*libc.Uint64FromInt64(8)),
  27923. 548: 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(525)*libc.Uint64FromInt64(8)),
  27924. 549: 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(525)*libc.Uint64FromInt64(8)),
  27925. 550: 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(525)*libc.Uint64FromInt64(8)),
  27926. 551: 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(525)*libc.Uint64FromInt64(8)),
  27927. 552: 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(525)*libc.Uint64FromInt64(8)),
  27928. 553: 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(525)*libc.Uint64FromInt64(8)),
  27929. 554: 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(525)*libc.Uint64FromInt64(8)),
  27930. 555: 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(525)*libc.Uint64FromInt64(8)),
  27931. 556: 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(525)*libc.Uint64FromInt64(8)),
  27932. 557: 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(525)*libc.Uint64FromInt64(8)),
  27933. 558: 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(525)*libc.Uint64FromInt64(8)),
  27934. 559: 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(525)*libc.Uint64FromInt64(8)),
  27935. 560: 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(525)*libc.Uint64FromInt64(8)),
  27936. 561: 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(525)*libc.Uint64FromInt64(8)),
  27937. 562: 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(525)*libc.Uint64FromInt64(8)),
  27938. 563: 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(525)*libc.Uint64FromInt64(8)),
  27939. 564: 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(525)*libc.Uint64FromInt64(8)),
  27940. 565: 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(525)*libc.Uint64FromInt64(8)),
  27941. 566: 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(525)*libc.Uint64FromInt64(8)),
  27942. 567: 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(525)*libc.Uint64FromInt64(8)),
  27943. 568: 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(525)*libc.Uint64FromInt64(8)),
  27944. 569: 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(525)*libc.Uint64FromInt64(8)),
  27945. 570: 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(525)*libc.Uint64FromInt64(8)),
  27946. 571: 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(525)*libc.Uint64FromInt64(8)),
  27947. 572: 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(525)*libc.Uint64FromInt64(8)),
  27948. 573: 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(525)*libc.Uint64FromInt64(8)),
  27949. 574: 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(525)*libc.Uint64FromInt64(8)),
  27950. 575: 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(525)*libc.Uint64FromInt64(8)),
  27951. 576: 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(525)*libc.Uint64FromInt64(8)),
  27952. 577: 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(525)*libc.Uint64FromInt64(8)),
  27953. 578: 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(525)*libc.Uint64FromInt64(8)),
  27954. 579: 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(525)*libc.Uint64FromInt64(8)),
  27955. 580: 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(525)*libc.Uint64FromInt64(8)),
  27956. 581: 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(525)*libc.Uint64FromInt64(8)),
  27957. 582: 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(525)*libc.Uint64FromInt64(8)),
  27958. 583: 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(525)*libc.Uint64FromInt64(8)),
  27959. 584: 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(525)*libc.Uint64FromInt64(8)),
  27960. 585: 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(525)*libc.Uint64FromInt64(8)),
  27961. 586: 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(525)*libc.Uint64FromInt64(8)),
  27962. 587: 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(525)*libc.Uint64FromInt64(8)),
  27963. 588: 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(525)*libc.Uint64FromInt64(8)),
  27964. 589: 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(525)*libc.Uint64FromInt64(8)),
  27965. 590: 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(525)*libc.Uint64FromInt64(8)),
  27966. 591: 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(525)*libc.Uint64FromInt64(8)),
  27967. 592: 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(525)*libc.Uint64FromInt64(8)),
  27968. 593: 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(525)*libc.Uint64FromInt64(8)),
  27969. 594: 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(525)*libc.Uint64FromInt64(8)),
  27970. 595: 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(525)*libc.Uint64FromInt64(8)),
  27971. 596: 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(525)*libc.Uint64FromInt64(8)),
  27972. 597: 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(525)*libc.Uint64FromInt64(8)),
  27973. 598: 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(525)*libc.Uint64FromInt64(8)),
  27974. 599: 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(525)*libc.Uint64FromInt64(8)),
  27975. 600: 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(525)*libc.Uint64FromInt64(8)),
  27976. 601: 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(525)*libc.Uint64FromInt64(8)),
  27977. 602: 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(525)*libc.Uint64FromInt64(8)),
  27978. 603: 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(525)*libc.Uint64FromInt64(8)),
  27979. 604: 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(525)*libc.Uint64FromInt64(8)),
  27980. 605: 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(525)*libc.Uint64FromInt64(8)),
  27981. 606: 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(525)*libc.Uint64FromInt64(8)),
  27982. 607: 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(525)*libc.Uint64FromInt64(8)),
  27983. 608: 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(525)*libc.Uint64FromInt64(8)),
  27984. 609: 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(525)*libc.Uint64FromInt64(8)),
  27985. 610: 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(525)*libc.Uint64FromInt64(8)),
  27986. 611: 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(525)*libc.Uint64FromInt64(8)),
  27987. 612: 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(525)*libc.Uint64FromInt64(8)),
  27988. 613: 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(525)*libc.Uint64FromInt64(8)),
  27989. 614: 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(525)*libc.Uint64FromInt64(8)),
  27990. 615: 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(525)*libc.Uint64FromInt64(8)),
  27991. 616: 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(525)*libc.Uint64FromInt64(8)),
  27992. 617: 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(525)*libc.Uint64FromInt64(8)),
  27993. 618: 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(525)*libc.Uint64FromInt64(8)),
  27994. 619: 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(525)*libc.Uint64FromInt64(8)),
  27995. 620: 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(525)*libc.Uint64FromInt64(8)),
  27996. 621: 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(525)*libc.Uint64FromInt64(8)),
  27997. 622: 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(525)*libc.Uint64FromInt64(8)),
  27998. 623: 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(525)*libc.Uint64FromInt64(8)),
  27999. 624: 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(525)*libc.Uint64FromInt64(8)),
  28000. 625: 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(525)*libc.Uint64FromInt64(8)),
  28001. 626: 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(525)*libc.Uint64FromInt64(8)),
  28002. 627: 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(525)*libc.Uint64FromInt64(8)),
  28003. 628: 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(525)*libc.Uint64FromInt64(8)),
  28004. 629: 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(525)*libc.Uint64FromInt64(8)),
  28005. 630: 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(525)*libc.Uint64FromInt64(8)),
  28006. 631: 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(525)*libc.Uint64FromInt64(8)),
  28007. 632: 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(525)*libc.Uint64FromInt64(8)),
  28008. 633: 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(525)*libc.Uint64FromInt64(8)),
  28009. 634: 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(525)*libc.Uint64FromInt64(8)),
  28010. 635: 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(525)*libc.Uint64FromInt64(8)),
  28011. 636: 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(525)*libc.Uint64FromInt64(8)),
  28012. 637: 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(525)*libc.Uint64FromInt64(8)),
  28013. 638: 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(525)*libc.Uint64FromInt64(8)),
  28014. 639: 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(525)*libc.Uint64FromInt64(8)),
  28015. 640: 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(525)*libc.Uint64FromInt64(8)),
  28016. 641: 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(525)*libc.Uint64FromInt64(8)),
  28017. 642: 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(525)*libc.Uint64FromInt64(8)),
  28018. 643: 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(525)*libc.Uint64FromInt64(8)),
  28019. 644: 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(525)*libc.Uint64FromInt64(8)),
  28020. 645: 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(525)*libc.Uint64FromInt64(8)),
  28021. 646: 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(525)*libc.Uint64FromInt64(8)),
  28022. 647: 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(525)*libc.Uint64FromInt64(8)),
  28023. 648: 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(525)*libc.Uint64FromInt64(8)),
  28024. 649: 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(525)*libc.Uint64FromInt64(8)),
  28025. 650: 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(525)*libc.Uint64FromInt64(8)),
  28026. 651: 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(525)*libc.Uint64FromInt64(8)),
  28027. 652: 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(525)*libc.Uint64FromInt64(8)),
  28028. 653: 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(525)*libc.Uint64FromInt64(8)),
  28029. 654: 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(525)*libc.Uint64FromInt64(8)),
  28030. 655: 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(525)*libc.Uint64FromInt64(8)),
  28031. 656: 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(525)*libc.Uint64FromInt64(8)),
  28032. 657: 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(525)*libc.Uint64FromInt64(8)),
  28033. 658: 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(525)*libc.Uint64FromInt64(8)),
  28034. 659: 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(525)*libc.Uint64FromInt64(8)),
  28035. 660: 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(525)*libc.Uint64FromInt64(8)),
  28036. 661: 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(525)*libc.Uint64FromInt64(8)),
  28037. 662: 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(525)*libc.Uint64FromInt64(8)),
  28038. 663: 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(525)*libc.Uint64FromInt64(8)),
  28039. 664: 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(525)*libc.Uint64FromInt64(8)),
  28040. 665: 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(525)*libc.Uint64FromInt64(8)),
  28041. 666: 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(525)*libc.Uint64FromInt64(8)),
  28042. 667: 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(525)*libc.Uint64FromInt64(8)),
  28043. 668: 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(525)*libc.Uint64FromInt64(8)),
  28044. 669: 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(525)*libc.Uint64FromInt64(8)),
  28045. 670: 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(525)*libc.Uint64FromInt64(8)),
  28046. 671: 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(525)*libc.Uint64FromInt64(8)),
  28047. 672: 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(525)*libc.Uint64FromInt64(8)),
  28048. 673: 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(525)*libc.Uint64FromInt64(8)),
  28049. 674: 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(525)*libc.Uint64FromInt64(8)),
  28050. 675: 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(525)*libc.Uint64FromInt64(8)),
  28051. 676: 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(525)*libc.Uint64FromInt64(8)),
  28052. 677: 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(525)*libc.Uint64FromInt64(8)),
  28053. 678: 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(525)*libc.Uint64FromInt64(8)),
  28054. 679: 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(525)*libc.Uint64FromInt64(8)),
  28055. 680: 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(525)*libc.Uint64FromInt64(8)),
  28056. 681: 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(525)*libc.Uint64FromInt64(8)),
  28057. 682: 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(525)*libc.Uint64FromInt64(8)),
  28058. 683: 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(525)*libc.Uint64FromInt64(8)),
  28059. 684: 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(525)*libc.Uint64FromInt64(8)),
  28060. 685: 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(525)*libc.Uint64FromInt64(8)),
  28061. 686: 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(525)*libc.Uint64FromInt64(8)),
  28062. 687: 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(525)*libc.Uint64FromInt64(8)),
  28063. 688: 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(525)*libc.Uint64FromInt64(8)),
  28064. 689: 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(525)*libc.Uint64FromInt64(8)),
  28065. 690: 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(525)*libc.Uint64FromInt64(8)),
  28066. 691: 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(525)*libc.Uint64FromInt64(8)),
  28067. 692: 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(525)*libc.Uint64FromInt64(8)),
  28068. 693: 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(525)*libc.Uint64FromInt64(8)),
  28069. 694: 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(525)*libc.Uint64FromInt64(8)),
  28070. 695: 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(525)*libc.Uint64FromInt64(8)),
  28071. 696: 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(696)*libc.Uint64FromInt64(8)),
  28072. 697: 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(696)*libc.Uint64FromInt64(8)),
  28073. 698: 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(696)*libc.Uint64FromInt64(8)),
  28074. 699: 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(696)*libc.Uint64FromInt64(8)),
  28075. 700: 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(696)*libc.Uint64FromInt64(8)),
  28076. 701: 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(696)*libc.Uint64FromInt64(8)),
  28077. 702: 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(696)*libc.Uint64FromInt64(8)),
  28078. 703: 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(696)*libc.Uint64FromInt64(8)),
  28079. 704: 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(696)*libc.Uint64FromInt64(8)),
  28080. 705: 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(696)*libc.Uint64FromInt64(8)),
  28081. 706: 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(696)*libc.Uint64FromInt64(8)),
  28082. 707: 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(696)*libc.Uint64FromInt64(8)),
  28083. 708: 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(696)*libc.Uint64FromInt64(8)),
  28084. 709: 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(696)*libc.Uint64FromInt64(8)),
  28085. 710: 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(696)*libc.Uint64FromInt64(8)),
  28086. 711: 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(696)*libc.Uint64FromInt64(8)),
  28087. 712: 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(696)*libc.Uint64FromInt64(8)),
  28088. 713: 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(696)*libc.Uint64FromInt64(8)),
  28089. 714: 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(696)*libc.Uint64FromInt64(8)),
  28090. 715: 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(696)*libc.Uint64FromInt64(8)),
  28091. 716: 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(696)*libc.Uint64FromInt64(8)),
  28092. 717: 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(696)*libc.Uint64FromInt64(8)),
  28093. 718: 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(696)*libc.Uint64FromInt64(8)),
  28094. 719: 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(696)*libc.Uint64FromInt64(8)),
  28095. 720: 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(696)*libc.Uint64FromInt64(8)),
  28096. 721: 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(696)*libc.Uint64FromInt64(8)),
  28097. 722: 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(696)*libc.Uint64FromInt64(8)),
  28098. 723: 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(696)*libc.Uint64FromInt64(8)),
  28099. 724: 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(696)*libc.Uint64FromInt64(8)),
  28100. 725: 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(696)*libc.Uint64FromInt64(8)),
  28101. 726: 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(696)*libc.Uint64FromInt64(8)),
  28102. 727: 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(696)*libc.Uint64FromInt64(8)),
  28103. 728: 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(696)*libc.Uint64FromInt64(8)),
  28104. 729: 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(696)*libc.Uint64FromInt64(8)),
  28105. 730: 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(696)*libc.Uint64FromInt64(8)),
  28106. 731: 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(696)*libc.Uint64FromInt64(8)),
  28107. 732: 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(696)*libc.Uint64FromInt64(8)),
  28108. 733: 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(696)*libc.Uint64FromInt64(8)),
  28109. 734: 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(696)*libc.Uint64FromInt64(8)),
  28110. 735: 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(696)*libc.Uint64FromInt64(8)),
  28111. 736: 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(696)*libc.Uint64FromInt64(8)),
  28112. 737: 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(696)*libc.Uint64FromInt64(8)),
  28113. 738: 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(696)*libc.Uint64FromInt64(8)),
  28114. 739: 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(696)*libc.Uint64FromInt64(8)),
  28115. 740: 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(696)*libc.Uint64FromInt64(8)),
  28116. 741: 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(696)*libc.Uint64FromInt64(8)),
  28117. 742: 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(696)*libc.Uint64FromInt64(8)),
  28118. 743: 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(696)*libc.Uint64FromInt64(8)),
  28119. 744: 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(696)*libc.Uint64FromInt64(8)),
  28120. 745: 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(696)*libc.Uint64FromInt64(8)),
  28121. 746: 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(696)*libc.Uint64FromInt64(8)),
  28122. 747: 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(696)*libc.Uint64FromInt64(8)),
  28123. 748: 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(696)*libc.Uint64FromInt64(8)),
  28124. 749: 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(696)*libc.Uint64FromInt64(8)),
  28125. 750: 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(696)*libc.Uint64FromInt64(8)),
  28126. 751: 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(696)*libc.Uint64FromInt64(8)),
  28127. 752: 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(696)*libc.Uint64FromInt64(8)),
  28128. 753: 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(696)*libc.Uint64FromInt64(8)),
  28129. 754: 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(696)*libc.Uint64FromInt64(8)),
  28130. 755: 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(696)*libc.Uint64FromInt64(8)),
  28131. 756: 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(696)*libc.Uint64FromInt64(8)),
  28132. 757: 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(696)*libc.Uint64FromInt64(8)),
  28133. 758: 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(696)*libc.Uint64FromInt64(8)),
  28134. 759: 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(696)*libc.Uint64FromInt64(8)),
  28135. 760: 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(696)*libc.Uint64FromInt64(8)),
  28136. 761: 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(696)*libc.Uint64FromInt64(8)),
  28137. 762: 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(696)*libc.Uint64FromInt64(8)),
  28138. 763: 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(696)*libc.Uint64FromInt64(8)),
  28139. 764: 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(696)*libc.Uint64FromInt64(8)),
  28140. 765: 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(696)*libc.Uint64FromInt64(8)),
  28141. 766: 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(696)*libc.Uint64FromInt64(8)),
  28142. 767: 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(696)*libc.Uint64FromInt64(8)),
  28143. 768: 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(696)*libc.Uint64FromInt64(8)),
  28144. 769: 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(696)*libc.Uint64FromInt64(8)),
  28145. 770: 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(696)*libc.Uint64FromInt64(8)),
  28146. 771: 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(696)*libc.Uint64FromInt64(8)),
  28147. 772: 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(696)*libc.Uint64FromInt64(8)),
  28148. 773: 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(696)*libc.Uint64FromInt64(8)),
  28149. 774: 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(696)*libc.Uint64FromInt64(8)),
  28150. 775: 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(696)*libc.Uint64FromInt64(8)),
  28151. 776: 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(696)*libc.Uint64FromInt64(8)),
  28152. 777: 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(696)*libc.Uint64FromInt64(8)),
  28153. 778: 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(696)*libc.Uint64FromInt64(8)),
  28154. },
  28155. Fnumbers: [779]TFcChar16{
  28156. 1: uint16(0x0004),
  28157. 3: uint16(0x0001),
  28158. 5: uint16(0x0001),
  28159. 6: uint16(0x0002),
  28160. 7: uint16(0x0003),
  28161. 8: uint16(0x001e),
  28162. 9: uint16(0x0012),
  28163. 10: uint16(0x0013),
  28164. 12: uint16(0x0006),
  28165. 13: uint16(0x0009),
  28166. 15: uint16(0x001e),
  28167. 16: uint16(0x0004),
  28168. 19: uint16(0x0001),
  28169. 20: uint16(0x0002),
  28170. 21: uint16(0x0006),
  28171. 22: uint16(0x0004),
  28172. 23: uint16(0x0004),
  28173. 25: uint16(0x0001),
  28174. 26: uint16(0x0002),
  28175. 27: uint16(0x001e),
  28176. 28: uint16(0x002d),
  28177. 29: uint16(0x0004),
  28178. 30: uint16(0x0009),
  28179. 33: uint16(0x0003),
  28180. 34: uint16(0x001e),
  28181. 36: uint16(0x0001),
  28182. 37: uint16(0x0002),
  28183. 38: uint16(0x0009),
  28184. 39: uint16(0x000f),
  28185. 41: uint16(0x0009),
  28186. 43: uint16(0x0001),
  28187. 44: uint16(0x0004),
  28188. 45: uint16(0x0012),
  28189. 46: uint16(0x0013),
  28190. 48: uint16(0x0001),
  28191. 50: uint16(0x0004),
  28192. 51: uint16(0x0013),
  28193. 53: uint16(0x0001),
  28194. 55: uint16(0x0001),
  28195. 57: uint16(0x0001),
  28196. 59: uint16(0x0001),
  28197. 60: uint16(0x0004),
  28198. 61: uint16(0x0001),
  28199. 62: uint16(0x0004),
  28200. 64: uint16(0x0001),
  28201. 65: uint16(0x001e),
  28202. 68: uint16(0x0009),
  28203. 69: uint16(0x0007),
  28204. 71: uint16(0x0001),
  28205. 72: uint16(0x0002),
  28206. 73: uint16(0x0003),
  28207. 74: uint16(0x0003),
  28208. 77: uint16(0x0001),
  28209. 79: uint16(0x0001),
  28210. 82: uint16(0x0001),
  28211. 83: uint16(0x0002),
  28212. 85: uint16(0x0001),
  28213. 92: uint16(0x0001),
  28214. 93: uint16(0x001e),
  28215. 95: uint16(0x0012),
  28216. 96: uint16(0x0013),
  28217. 98: uint16(0x0001),
  28218. 99: uint16(0x001e),
  28219. 100: uint16(0x000a),
  28220. 103: uint16(0x0001),
  28221. 104: uint16(0x0002),
  28222. 106: uint16(0x0001),
  28223. 107: uint16(0x0002),
  28224. 108: uint16(0x0005),
  28225. 110: uint16(0x0001),
  28226. 113: uint16(0x0001),
  28227. 114: uint16(0x0005),
  28228. 116: uint16(0x0003),
  28229. 117: uint16(0x001e),
  28230. 120: uint16(0x001e),
  28231. 121: uint16(0x00a0),
  28232. 122: uint16(0x00a1),
  28233. 123: uint16(0x00a2),
  28234. 124: uint16(0x00a3),
  28235. 125: uint16(0x00a4),
  28236. 126: uint16(0x0004),
  28237. 129: uint16(0x0014),
  28238. 130: uint16(0x0015),
  28239. 131: uint16(0x0016),
  28240. 132: uint16(0x0030),
  28241. 133: uint16(0x004e),
  28242. 134: uint16(0x004f),
  28243. 135: uint16(0x0050),
  28244. 136: uint16(0x0051),
  28245. 137: uint16(0x0052),
  28246. 138: uint16(0x0053),
  28247. 139: uint16(0x0054),
  28248. 140: uint16(0x0055),
  28249. 141: uint16(0x0056),
  28250. 142: uint16(0x0057),
  28251. 143: uint16(0x0058),
  28252. 144: uint16(0x0059),
  28253. 145: uint16(0x005a),
  28254. 146: uint16(0x005b),
  28255. 147: uint16(0x005c),
  28256. 148: uint16(0x005d),
  28257. 149: uint16(0x005e),
  28258. 150: uint16(0x005f),
  28259. 151: uint16(0x0060),
  28260. 152: uint16(0x0061),
  28261. 153: uint16(0x0062),
  28262. 154: uint16(0x0063),
  28263. 155: uint16(0x0064),
  28264. 156: uint16(0x0065),
  28265. 157: uint16(0x0066),
  28266. 158: uint16(0x0067),
  28267. 159: uint16(0x0068),
  28268. 160: uint16(0x0069),
  28269. 161: uint16(0x006a),
  28270. 162: uint16(0x006b),
  28271. 163: uint16(0x006c),
  28272. 164: uint16(0x006d),
  28273. 165: uint16(0x006e),
  28274. 166: uint16(0x006f),
  28275. 167: uint16(0x0070),
  28276. 168: uint16(0x0071),
  28277. 169: uint16(0x0072),
  28278. 170: uint16(0x0073),
  28279. 171: uint16(0x0074),
  28280. 172: uint16(0x0075),
  28281. 173: uint16(0x0076),
  28282. 174: uint16(0x0077),
  28283. 175: uint16(0x0078),
  28284. 176: uint16(0x0079),
  28285. 177: uint16(0x007a),
  28286. 178: uint16(0x007b),
  28287. 179: uint16(0x007c),
  28288. 180: uint16(0x007d),
  28289. 181: uint16(0x007e),
  28290. 182: uint16(0x007f),
  28291. 183: uint16(0x0080),
  28292. 184: uint16(0x0081),
  28293. 185: uint16(0x0082),
  28294. 186: uint16(0x0083),
  28295. 187: uint16(0x0084),
  28296. 188: uint16(0x0085),
  28297. 189: uint16(0x0086),
  28298. 190: uint16(0x0087),
  28299. 191: uint16(0x0088),
  28300. 192: uint16(0x0089),
  28301. 193: uint16(0x008a),
  28302. 194: uint16(0x008b),
  28303. 195: uint16(0x008c),
  28304. 196: uint16(0x008d),
  28305. 197: uint16(0x008e),
  28306. 198: uint16(0x008f),
  28307. 199: uint16(0x0090),
  28308. 200: uint16(0x0091),
  28309. 201: uint16(0x0092),
  28310. 202: uint16(0x0093),
  28311. 203: uint16(0x0094),
  28312. 204: uint16(0x0095),
  28313. 205: uint16(0x0096),
  28314. 206: uint16(0x0097),
  28315. 207: uint16(0x0098),
  28316. 208: uint16(0x0099),
  28317. 209: uint16(0x009a),
  28318. 210: uint16(0x009b),
  28319. 211: uint16(0x009c),
  28320. 212: uint16(0x009d),
  28321. 213: uint16(0x009e),
  28322. 214: uint16(0x009f),
  28323. 216: uint16(0x0010),
  28324. 217: uint16(0x0004),
  28325. 219: uint16(0x0001),
  28326. 220: uint16(0x0004),
  28327. 222: uint16(0x0001),
  28328. 223: uint16(0x0017),
  28329. 224: uint16(0x000c),
  28330. 225: uint16(0x0031),
  28331. 226: uint16(0x00ac),
  28332. 227: uint16(0x00ad),
  28333. 228: uint16(0x00ae),
  28334. 229: uint16(0x00af),
  28335. 230: uint16(0x00b0),
  28336. 231: uint16(0x00b1),
  28337. 232: uint16(0x00b2),
  28338. 233: uint16(0x00b3),
  28339. 234: uint16(0x00b4),
  28340. 235: uint16(0x00b5),
  28341. 236: uint16(0x00b6),
  28342. 237: uint16(0x00b7),
  28343. 238: uint16(0x00b8),
  28344. 239: uint16(0x00b9),
  28345. 240: uint16(0x00ba),
  28346. 241: uint16(0x00bb),
  28347. 242: uint16(0x00bc),
  28348. 243: uint16(0x00bd),
  28349. 244: uint16(0x00be),
  28350. 245: uint16(0x00bf),
  28351. 246: uint16(0x00c0),
  28352. 247: uint16(0x00c1),
  28353. 248: uint16(0x00c2),
  28354. 249: uint16(0x00c3),
  28355. 250: uint16(0x00c4),
  28356. 251: uint16(0x00c5),
  28357. 252: uint16(0x00c6),
  28358. 253: uint16(0x00c7),
  28359. 254: uint16(0x00c8),
  28360. 255: uint16(0x00c9),
  28361. 256: uint16(0x00ca),
  28362. 257: uint16(0x00cb),
  28363. 258: uint16(0x00cc),
  28364. 259: uint16(0x00cd),
  28365. 260: uint16(0x00ce),
  28366. 261: uint16(0x00cf),
  28367. 262: uint16(0x00d0),
  28368. 263: uint16(0x00d1),
  28369. 264: uint16(0x00d2),
  28370. 265: uint16(0x00d3),
  28371. 266: uint16(0x00d4),
  28372. 267: uint16(0x00d5),
  28373. 268: uint16(0x00d6),
  28374. 269: uint16(0x00d7),
  28375. 271: uint16(0x0001),
  28376. 272: uint16(0x0002),
  28377. 273: uint16(0x0006),
  28378. 274: uint16(0x0004),
  28379. 275: uint16(0x0005),
  28380. 276: uint16(0x0006),
  28381. 278: uint16(0x0001),
  28382. 279: uint16(0x0004),
  28383. 280: uint16(0x0004),
  28384. 282: uint16(0x0001),
  28385. 283: uint16(0x0002),
  28386. 284: uint16(0x0004),
  28387. 286: uint16(0x0001),
  28388. 287: uint16(0x0006),
  28389. 290: uint16(0x0001),
  28390. 293: uint16(0x0001),
  28391. 294: uint16(0x0002),
  28392. 295: uint16(0x0003),
  28393. 296: uint16(0x000e),
  28394. 298: uint16(0x0001),
  28395. 300: uint16(0x0001),
  28396. 303: uint16(0x0001),
  28397. 305: uint16(0x0001),
  28398. 306: uint16(0x001e),
  28399. 307: uint16(0x0004),
  28400. 308: uint16(0x000d),
  28401. 309: uint16(0x0018),
  28402. 310: uint16(0x0004),
  28403. 311: uint16(0x0009),
  28404. 313: uint16(0x0001),
  28405. 314: uint16(0x0002),
  28406. 315: uint16(0x0004),
  28407. 317: uint16(0x0001),
  28408. 318: uint16(0x0010),
  28409. 320: uint16(0x0001),
  28410. 322: uint16(0x0009),
  28411. 325: uint16(0x0007),
  28412. 327: uint16(0x0001),
  28413. 329: uint16(0x0001),
  28414. 330: uint16(0x0002),
  28415. 331: uint16(0x0003),
  28416. 333: uint16(0x0001),
  28417. 335: uint16(0x000b),
  28418. 336: uint16(0x0006),
  28419. 337: uint16(0x000a),
  28420. 341: uint16(0x0001),
  28421. 342: uint16(0x0006),
  28422. 343: uint16(0x0006),
  28423. 346: uint16(0x0002),
  28424. 349: uint16(0x0001),
  28425. 350: uint16(0x0002),
  28426. 351: uint16(0x0004),
  28427. 352: uint16(0x0009),
  28428. 355: uint16(0x0001),
  28429. 356: uint16(0x0002),
  28430. 357: uint16(0x0006),
  28431. 359: uint16(0x0001),
  28432. 362: uint16(0x0001),
  28433. 363: uint16(0x0004),
  28434. 365: uint16(0x0003),
  28435. 366: uint16(0x000d),
  28436. 367: uint16(0x0012),
  28437. 368: uint16(0x0013),
  28438. 370: uint16(0x0001),
  28439. 372: uint16(0x0002),
  28440. 376: uint16(0x0001),
  28441. 378: uint16(0x0001),
  28442. 379: uint16(0x0002),
  28443. 381: uint16(0x0004),
  28444. 383: uint16(0x0007),
  28445. 384: uint16(0x000b),
  28446. 385: uint16(0x000c),
  28447. 386: uint16(0x0004),
  28448. 387: uint16(0x000e),
  28449. 388: uint16(0x0012),
  28450. 389: uint16(0x0013),
  28451. 391: uint16(0x0001),
  28452. 393: uint16(0x0001),
  28453. 394: uint16(0x0004),
  28454. 396: uint16(0x0001),
  28455. 397: uint16(0x0002),
  28456. 398: uint16(0x0006),
  28457. 399: uint16(0x0004),
  28458. 401: uint16(0x0001),
  28459. 402: uint16(0x0003),
  28460. 403: uint16(0x0020),
  28461. 404: uint16(0x0021),
  28462. 405: uint16(0x0022),
  28463. 406: uint16(0x0023),
  28464. 407: uint16(0x0025),
  28465. 408: uint16(0x0027),
  28466. 409: uint16(0x01d4),
  28467. 410: uint16(0x01d5),
  28468. 411: uint16(0x01d6),
  28469. 412: uint16(0x0023),
  28470. 413: uint16(0x0025),
  28471. 414: uint16(0x0026),
  28472. 415: uint16(0x0027),
  28473. 416: uint16(0x002b),
  28474. 417: uint16(0x01f0),
  28475. 418: uint16(0x01f1),
  28476. 419: uint16(0x01f2),
  28477. 420: uint16(0x01f3),
  28478. 421: uint16(0x01f4),
  28479. 422: uint16(0x01f5),
  28480. 423: uint16(0x01f6),
  28481. 425: uint16(0x001e),
  28482. 427: uint16(0x0001),
  28483. 428: uint16(0x0003),
  28484. 429: uint16(0x001e),
  28485. 432: uint16(0x0001),
  28486. 435: uint16(0x0001),
  28487. 437: uint16(0x0001),
  28488. 440: uint16(0x0001),
  28489. 441: uint16(0x0003),
  28490. 442: uint16(0x001e),
  28491. 443: uint16(0x0002),
  28492. 444: uint16(0x004e),
  28493. 445: uint16(0x004f),
  28494. 446: uint16(0x0050),
  28495. 447: uint16(0x0051),
  28496. 448: uint16(0x0052),
  28497. 449: uint16(0x0053),
  28498. 450: uint16(0x0054),
  28499. 451: uint16(0x0055),
  28500. 452: uint16(0x0056),
  28501. 453: uint16(0x0057),
  28502. 454: uint16(0x0058),
  28503. 455: uint16(0x0059),
  28504. 456: uint16(0x005a),
  28505. 457: uint16(0x005b),
  28506. 458: uint16(0x005c),
  28507. 459: uint16(0x005d),
  28508. 460: uint16(0x005e),
  28509. 461: uint16(0x005f),
  28510. 462: uint16(0x0060),
  28511. 463: uint16(0x0061),
  28512. 464: uint16(0x0062),
  28513. 465: uint16(0x0063),
  28514. 466: uint16(0x0064),
  28515. 467: uint16(0x0065),
  28516. 468: uint16(0x0066),
  28517. 469: uint16(0x0067),
  28518. 470: uint16(0x0068),
  28519. 471: uint16(0x0069),
  28520. 472: uint16(0x006a),
  28521. 473: uint16(0x006b),
  28522. 474: uint16(0x006c),
  28523. 475: uint16(0x006d),
  28524. 476: uint16(0x006e),
  28525. 477: uint16(0x006f),
  28526. 478: uint16(0x0070),
  28527. 479: uint16(0x0071),
  28528. 480: uint16(0x0072),
  28529. 481: uint16(0x0073),
  28530. 482: uint16(0x0074),
  28531. 483: uint16(0x0075),
  28532. 484: uint16(0x0076),
  28533. 485: uint16(0x0077),
  28534. 486: uint16(0x0078),
  28535. 487: uint16(0x0079),
  28536. 488: uint16(0x007a),
  28537. 489: uint16(0x007b),
  28538. 490: uint16(0x007c),
  28539. 491: uint16(0x007d),
  28540. 492: uint16(0x007e),
  28541. 493: uint16(0x007f),
  28542. 494: uint16(0x0080),
  28543. 495: uint16(0x0081),
  28544. 496: uint16(0x0082),
  28545. 497: uint16(0x0083),
  28546. 498: uint16(0x0084),
  28547. 499: uint16(0x0085),
  28548. 500: uint16(0x0086),
  28549. 501: uint16(0x0087),
  28550. 502: uint16(0x0088),
  28551. 503: uint16(0x0089),
  28552. 504: uint16(0x008a),
  28553. 505: uint16(0x008b),
  28554. 506: uint16(0x008c),
  28555. 507: uint16(0x008d),
  28556. 508: uint16(0x008e),
  28557. 509: uint16(0x008f),
  28558. 510: uint16(0x0090),
  28559. 511: uint16(0x0091),
  28560. 512: uint16(0x0092),
  28561. 513: uint16(0x0093),
  28562. 514: uint16(0x0094),
  28563. 515: uint16(0x0095),
  28564. 516: uint16(0x0096),
  28565. 517: uint16(0x0097),
  28566. 518: uint16(0x0098),
  28567. 519: uint16(0x0099),
  28568. 520: uint16(0x009a),
  28569. 521: uint16(0x009b),
  28570. 522: uint16(0x009c),
  28571. 523: uint16(0x009e),
  28572. 524: uint16(0x009f),
  28573. 525: uint16(0x0030),
  28574. 526: uint16(0x0034),
  28575. 527: uint16(0x0035),
  28576. 528: uint16(0x0036),
  28577. 529: uint16(0x0037),
  28578. 530: uint16(0x0038),
  28579. 531: uint16(0x0039),
  28580. 532: uint16(0x003a),
  28581. 533: uint16(0x003b),
  28582. 534: uint16(0x003c),
  28583. 535: uint16(0x003d),
  28584. 536: uint16(0x003e),
  28585. 537: uint16(0x003f),
  28586. 538: uint16(0x0040),
  28587. 539: uint16(0x0041),
  28588. 540: uint16(0x0042),
  28589. 541: uint16(0x0043),
  28590. 542: uint16(0x0044),
  28591. 543: uint16(0x0045),
  28592. 544: uint16(0x0046),
  28593. 545: uint16(0x0047),
  28594. 546: uint16(0x0048),
  28595. 547: uint16(0x0049),
  28596. 548: uint16(0x004a),
  28597. 549: uint16(0x004b),
  28598. 550: uint16(0x004c),
  28599. 551: uint16(0x004d),
  28600. 552: uint16(0x004e),
  28601. 553: uint16(0x004f),
  28602. 554: uint16(0x0050),
  28603. 555: uint16(0x0051),
  28604. 556: uint16(0x0052),
  28605. 557: uint16(0x0053),
  28606. 558: uint16(0x0054),
  28607. 559: uint16(0x0055),
  28608. 560: uint16(0x0056),
  28609. 561: uint16(0x0057),
  28610. 562: uint16(0x0058),
  28611. 563: uint16(0x0059),
  28612. 564: uint16(0x005a),
  28613. 565: uint16(0x005b),
  28614. 566: uint16(0x005c),
  28615. 567: uint16(0x005d),
  28616. 568: uint16(0x005e),
  28617. 569: uint16(0x005f),
  28618. 570: uint16(0x0060),
  28619. 571: uint16(0x0061),
  28620. 572: uint16(0x0062),
  28621. 573: uint16(0x0063),
  28622. 574: uint16(0x0064),
  28623. 575: uint16(0x0065),
  28624. 576: uint16(0x0066),
  28625. 577: uint16(0x0067),
  28626. 578: uint16(0x0068),
  28627. 579: uint16(0x0069),
  28628. 580: uint16(0x006a),
  28629. 581: uint16(0x006b),
  28630. 582: uint16(0x006c),
  28631. 583: uint16(0x006d),
  28632. 584: uint16(0x006e),
  28633. 585: uint16(0x006f),
  28634. 586: uint16(0x0070),
  28635. 587: uint16(0x0071),
  28636. 588: uint16(0x0072),
  28637. 589: uint16(0x0073),
  28638. 590: uint16(0x0074),
  28639. 591: uint16(0x0075),
  28640. 592: uint16(0x0076),
  28641. 593: uint16(0x0077),
  28642. 594: uint16(0x0078),
  28643. 595: uint16(0x0079),
  28644. 596: uint16(0x007a),
  28645. 597: uint16(0x007b),
  28646. 598: uint16(0x007c),
  28647. 599: uint16(0x007d),
  28648. 600: uint16(0x007e),
  28649. 601: uint16(0x007f),
  28650. 602: uint16(0x0080),
  28651. 603: uint16(0x0081),
  28652. 604: uint16(0x0082),
  28653. 605: uint16(0x0083),
  28654. 606: uint16(0x0084),
  28655. 607: uint16(0x0085),
  28656. 608: uint16(0x0086),
  28657. 609: uint16(0x0087),
  28658. 610: uint16(0x0088),
  28659. 611: uint16(0x0089),
  28660. 612: uint16(0x008a),
  28661. 613: uint16(0x008b),
  28662. 614: uint16(0x008c),
  28663. 615: uint16(0x008d),
  28664. 616: uint16(0x008e),
  28665. 617: uint16(0x008f),
  28666. 618: uint16(0x0090),
  28667. 619: uint16(0x0091),
  28668. 620: uint16(0x0092),
  28669. 621: uint16(0x0093),
  28670. 622: uint16(0x0094),
  28671. 623: uint16(0x0095),
  28672. 624: uint16(0x0096),
  28673. 625: uint16(0x0097),
  28674. 626: uint16(0x0098),
  28675. 627: uint16(0x0099),
  28676. 628: uint16(0x009a),
  28677. 629: uint16(0x009b),
  28678. 630: uint16(0x009c),
  28679. 631: uint16(0x009d),
  28680. 632: uint16(0x009e),
  28681. 633: uint16(0x009f),
  28682. 634: uint16(0x0200),
  28683. 635: uint16(0x0201),
  28684. 636: uint16(0x0203),
  28685. 637: uint16(0x0207),
  28686. 638: uint16(0x020c),
  28687. 639: uint16(0x020d),
  28688. 640: uint16(0x020e),
  28689. 641: uint16(0x020f),
  28690. 642: uint16(0x0210),
  28691. 643: uint16(0x0211),
  28692. 644: uint16(0x0219),
  28693. 645: uint16(0x021a),
  28694. 646: uint16(0x021c),
  28695. 647: uint16(0x021d),
  28696. 648: uint16(0x0220),
  28697. 649: uint16(0x0221),
  28698. 650: uint16(0x022a),
  28699. 651: uint16(0x022b),
  28700. 652: uint16(0x022c),
  28701. 653: uint16(0x022d),
  28702. 654: uint16(0x022f),
  28703. 655: uint16(0x0232),
  28704. 656: uint16(0x0235),
  28705. 657: uint16(0x0236),
  28706. 658: uint16(0x023c),
  28707. 659: uint16(0x023e),
  28708. 660: uint16(0x023f),
  28709. 661: uint16(0x0244),
  28710. 662: uint16(0x024d),
  28711. 663: uint16(0x024e),
  28712. 664: uint16(0x0251),
  28713. 665: uint16(0x0255),
  28714. 666: uint16(0x025e),
  28715. 667: uint16(0x0262),
  28716. 668: uint16(0x0266),
  28717. 669: uint16(0x0267),
  28718. 670: uint16(0x0268),
  28719. 671: uint16(0x0269),
  28720. 672: uint16(0x0272),
  28721. 673: uint16(0x0275),
  28722. 674: uint16(0x0276),
  28723. 675: uint16(0x0277),
  28724. 676: uint16(0x0278),
  28725. 677: uint16(0x0279),
  28726. 678: uint16(0x027a),
  28727. 679: uint16(0x027d),
  28728. 680: uint16(0x0280),
  28729. 681: uint16(0x0281),
  28730. 682: uint16(0x0282),
  28731. 683: uint16(0x0283),
  28732. 684: uint16(0x0289),
  28733. 685: uint16(0x028a),
  28734. 686: uint16(0x028b),
  28735. 687: uint16(0x028c),
  28736. 688: uint16(0x028d),
  28737. 689: uint16(0x028e),
  28738. 690: uint16(0x0294),
  28739. 691: uint16(0x0297),
  28740. 692: uint16(0x0298),
  28741. 693: uint16(0x029a),
  28742. 694: uint16(0x029d),
  28743. 695: uint16(0x02a6),
  28744. 696: uint16(0x004e),
  28745. 697: uint16(0x004f),
  28746. 698: uint16(0x0050),
  28747. 699: uint16(0x0051),
  28748. 700: uint16(0x0052),
  28749. 701: uint16(0x0053),
  28750. 702: uint16(0x0054),
  28751. 703: uint16(0x0055),
  28752. 704: uint16(0x0056),
  28753. 705: uint16(0x0057),
  28754. 706: uint16(0x0058),
  28755. 707: uint16(0x0059),
  28756. 708: uint16(0x005a),
  28757. 709: uint16(0x005b),
  28758. 710: uint16(0x005c),
  28759. 711: uint16(0x005d),
  28760. 712: uint16(0x005e),
  28761. 713: uint16(0x005f),
  28762. 714: uint16(0x0060),
  28763. 715: uint16(0x0061),
  28764. 716: uint16(0x0062),
  28765. 717: uint16(0x0063),
  28766. 718: uint16(0x0064),
  28767. 719: uint16(0x0065),
  28768. 720: uint16(0x0066),
  28769. 721: uint16(0x0067),
  28770. 722: uint16(0x0068),
  28771. 723: uint16(0x0069),
  28772. 724: uint16(0x006a),
  28773. 725: uint16(0x006b),
  28774. 726: uint16(0x006c),
  28775. 727: uint16(0x006d),
  28776. 728: uint16(0x006e),
  28777. 729: uint16(0x006f),
  28778. 730: uint16(0x0070),
  28779. 731: uint16(0x0071),
  28780. 732: uint16(0x0072),
  28781. 733: uint16(0x0073),
  28782. 734: uint16(0x0074),
  28783. 735: uint16(0x0075),
  28784. 736: uint16(0x0076),
  28785. 737: uint16(0x0077),
  28786. 738: uint16(0x0078),
  28787. 739: uint16(0x0079),
  28788. 740: uint16(0x007a),
  28789. 741: uint16(0x007b),
  28790. 742: uint16(0x007c),
  28791. 743: uint16(0x007d),
  28792. 744: uint16(0x007e),
  28793. 745: uint16(0x007f),
  28794. 746: uint16(0x0080),
  28795. 747: uint16(0x0081),
  28796. 748: uint16(0x0082),
  28797. 749: uint16(0x0083),
  28798. 750: uint16(0x0084),
  28799. 751: uint16(0x0085),
  28800. 752: uint16(0x0086),
  28801. 753: uint16(0x0087),
  28802. 754: uint16(0x0088),
  28803. 755: uint16(0x0089),
  28804. 756: uint16(0x008a),
  28805. 757: uint16(0x008b),
  28806. 758: uint16(0x008c),
  28807. 759: uint16(0x008d),
  28808. 760: uint16(0x008e),
  28809. 761: uint16(0x008f),
  28810. 762: uint16(0x0090),
  28811. 763: uint16(0x0091),
  28812. 764: uint16(0x0092),
  28813. 765: uint16(0x0093),
  28814. 766: uint16(0x0094),
  28815. 767: uint16(0x0095),
  28816. 768: uint16(0x0096),
  28817. 769: uint16(0x0097),
  28818. 770: uint16(0x0098),
  28819. 771: uint16(0x0099),
  28820. 772: uint16(0x009a),
  28821. 773: uint16(0x009b),
  28822. 774: uint16(0x009c),
  28823. 775: uint16(0x009d),
  28824. 776: uint16(0x009e),
  28825. 777: uint16(0x009f),
  28826. 778: uint16(0x00fa),
  28827. },
  28828. FlangIndices: [246]TFcChar8{
  28829. 1: uint8(1),
  28830. 2: uint8(2),
  28831. 3: uint8(190),
  28832. 4: uint8(3),
  28833. 5: uint8(191),
  28834. 6: uint8(4),
  28835. 7: uint8(5),
  28836. 8: uint8(6),
  28837. 9: uint8(7),
  28838. 10: uint8(8),
  28839. 11: uint8(9),
  28840. 12: uint8(10),
  28841. 13: uint8(11),
  28842. 14: uint8(13),
  28843. 15: uint8(192),
  28844. 16: uint8(193),
  28845. 17: uint8(14),
  28846. 18: uint8(15),
  28847. 19: uint8(16),
  28848. 20: uint8(17),
  28849. 21: uint8(18),
  28850. 22: uint8(12),
  28851. 23: uint8(19),
  28852. 24: uint8(20),
  28853. 25: uint8(21),
  28854. 26: uint8(240),
  28855. 27: uint8(22),
  28856. 28: uint8(23),
  28857. 29: uint8(194),
  28858. 30: uint8(24),
  28859. 31: uint8(25),
  28860. 32: uint8(26),
  28861. 33: uint8(27),
  28862. 34: uint8(28),
  28863. 35: uint8(29),
  28864. 36: uint8(195),
  28865. 37: uint8(30),
  28866. 38: uint8(196),
  28867. 39: uint8(31),
  28868. 40: uint8(32),
  28869. 41: uint8(33),
  28870. 42: uint8(34),
  28871. 43: uint8(35),
  28872. 44: uint8(242),
  28873. 45: uint8(197),
  28874. 46: uint8(36),
  28875. 47: uint8(198),
  28876. 48: uint8(37),
  28877. 49: uint8(38),
  28878. 50: uint8(39),
  28879. 51: uint8(40),
  28880. 52: uint8(41),
  28881. 53: uint8(42),
  28882. 54: uint8(43),
  28883. 55: uint8(199),
  28884. 56: uint8(48),
  28885. 57: uint8(44),
  28886. 58: uint8(200),
  28887. 59: uint8(45),
  28888. 60: uint8(46),
  28889. 61: uint8(47),
  28890. 62: uint8(49),
  28891. 63: uint8(50),
  28892. 64: uint8(51),
  28893. 65: uint8(52),
  28894. 66: uint8(53),
  28895. 67: uint8(54),
  28896. 68: uint8(55),
  28897. 69: uint8(56),
  28898. 70: uint8(57),
  28899. 71: uint8(58),
  28900. 72: uint8(59),
  28901. 73: uint8(60),
  28902. 74: uint8(61),
  28903. 75: uint8(201),
  28904. 76: uint8(62),
  28905. 77: uint8(63),
  28906. 78: uint8(202),
  28907. 79: uint8(203),
  28908. 80: uint8(64),
  28909. 81: uint8(65),
  28910. 82: uint8(204),
  28911. 83: uint8(66),
  28912. 84: uint8(68),
  28913. 85: uint8(69),
  28914. 86: uint8(67),
  28915. 87: uint8(205),
  28916. 88: uint8(70),
  28917. 89: uint8(71),
  28918. 90: uint8(72),
  28919. 91: uint8(73),
  28920. 92: uint8(74),
  28921. 93: uint8(75),
  28922. 94: uint8(206),
  28923. 95: uint8(76),
  28924. 96: uint8(77),
  28925. 97: uint8(207),
  28926. 98: uint8(78),
  28927. 99: uint8(208),
  28928. 100: uint8(79),
  28929. 101: uint8(80),
  28930. 102: uint8(81),
  28931. 103: uint8(82),
  28932. 104: uint8(83),
  28933. 105: uint8(84),
  28934. 106: uint8(209),
  28935. 107: uint8(85),
  28936. 108: uint8(86),
  28937. 109: uint8(210),
  28938. 110: uint8(87),
  28939. 111: uint8(211),
  28940. 112: uint8(88),
  28941. 113: uint8(89),
  28942. 114: uint8(90),
  28943. 115: uint8(212),
  28944. 116: uint8(91),
  28945. 117: uint8(92),
  28946. 118: uint8(238),
  28947. 119: uint8(93),
  28948. 120: uint8(94),
  28949. 121: uint8(213),
  28950. 122: uint8(214),
  28951. 123: uint8(95),
  28952. 124: uint8(96),
  28953. 125: uint8(97),
  28954. 126: uint8(98),
  28955. 127: uint8(215),
  28956. 128: uint8(99),
  28957. 129: uint8(100),
  28958. 130: uint8(101),
  28959. 131: uint8(102),
  28960. 132: uint8(103),
  28961. 133: uint8(104),
  28962. 134: uint8(216),
  28963. 135: uint8(243),
  28964. 136: uint8(105),
  28965. 137: uint8(106),
  28966. 138: uint8(217),
  28967. 139: uint8(107),
  28968. 140: uint8(108),
  28969. 141: uint8(218),
  28970. 142: uint8(109),
  28971. 143: uint8(110),
  28972. 144: uint8(111),
  28973. 145: uint8(219),
  28974. 146: uint8(112),
  28975. 147: uint8(113),
  28976. 148: uint8(114),
  28977. 149: uint8(239),
  28978. 150: uint8(115),
  28979. 151: uint8(116),
  28980. 152: uint8(220),
  28981. 153: uint8(117),
  28982. 154: uint8(118),
  28983. 155: uint8(119),
  28984. 156: uint8(120),
  28985. 157: uint8(121),
  28986. 158: uint8(221),
  28987. 159: uint8(122),
  28988. 160: uint8(222),
  28989. 161: uint8(223),
  28990. 162: uint8(224),
  28991. 163: uint8(123),
  28992. 164: uint8(124),
  28993. 165: uint8(125),
  28994. 166: uint8(126),
  28995. 167: uint8(225),
  28996. 168: uint8(226),
  28997. 169: uint8(127),
  28998. 170: uint8(227),
  28999. 171: uint8(128),
  29000. 172: uint8(129),
  29001. 173: uint8(228),
  29002. 174: uint8(130),
  29003. 175: uint8(131),
  29004. 176: uint8(241),
  29005. 177: uint8(229),
  29006. 178: uint8(132),
  29007. 179: uint8(230),
  29008. 180: uint8(133),
  29009. 181: uint8(134),
  29010. 182: uint8(231),
  29011. 183: uint8(135),
  29012. 184: uint8(136),
  29013. 185: uint8(137),
  29014. 186: uint8(232),
  29015. 187: uint8(138),
  29016. 188: uint8(139),
  29017. 189: uint8(140),
  29018. 190: uint8(141),
  29019. 191: uint8(142),
  29020. 192: uint8(143),
  29021. 193: uint8(144),
  29022. 194: uint8(233),
  29023. 195: uint8(145),
  29024. 196: uint8(146),
  29025. 197: uint8(147),
  29026. 198: uint8(148),
  29027. 199: uint8(149),
  29028. 200: uint8(234),
  29029. 201: uint8(150),
  29030. 202: uint8(151),
  29031. 203: uint8(152),
  29032. 204: uint8(153),
  29033. 205: uint8(154),
  29034. 206: uint8(155),
  29035. 207: uint8(156),
  29036. 208: uint8(157),
  29037. 209: uint8(158),
  29038. 210: uint8(159),
  29039. 211: uint8(160),
  29040. 212: uint8(161),
  29041. 213: uint8(162),
  29042. 214: uint8(163),
  29043. 215: uint8(164),
  29044. 216: uint8(165),
  29045. 217: uint8(166),
  29046. 218: uint8(167),
  29047. 219: uint8(235),
  29048. 220: uint8(168),
  29049. 221: uint8(169),
  29050. 222: uint8(170),
  29051. 223: uint8(245),
  29052. 224: uint8(244),
  29053. 225: uint8(171),
  29054. 226: uint8(172),
  29055. 227: uint8(173),
  29056. 228: uint8(174),
  29057. 229: uint8(175),
  29058. 230: uint8(176),
  29059. 231: uint8(177),
  29060. 232: uint8(236),
  29061. 233: uint8(178),
  29062. 234: uint8(179),
  29063. 235: uint8(180),
  29064. 236: uint8(181),
  29065. 237: uint8(182),
  29066. 238: uint8(183),
  29067. 239: uint8(237),
  29068. 240: uint8(184),
  29069. 241: uint8(185),
  29070. 242: uint8(186),
  29071. 243: uint8(187),
  29072. 244: uint8(188),
  29073. 245: uint8(189),
  29074. },
  29075. FlangIndicesInv: [246]TFcChar8{
  29076. 1: uint8(1),
  29077. 2: uint8(2),
  29078. 3: uint8(4),
  29079. 4: uint8(6),
  29080. 5: uint8(7),
  29081. 6: uint8(8),
  29082. 7: uint8(9),
  29083. 8: uint8(10),
  29084. 9: uint8(11),
  29085. 10: uint8(12),
  29086. 11: uint8(13),
  29087. 12: uint8(22),
  29088. 13: uint8(14),
  29089. 14: uint8(17),
  29090. 15: uint8(18),
  29091. 16: uint8(19),
  29092. 17: uint8(20),
  29093. 18: uint8(21),
  29094. 19: uint8(23),
  29095. 20: uint8(24),
  29096. 21: uint8(25),
  29097. 22: uint8(27),
  29098. 23: uint8(28),
  29099. 24: uint8(30),
  29100. 25: uint8(31),
  29101. 26: uint8(32),
  29102. 27: uint8(33),
  29103. 28: uint8(34),
  29104. 29: uint8(35),
  29105. 30: uint8(37),
  29106. 31: uint8(39),
  29107. 32: uint8(40),
  29108. 33: uint8(41),
  29109. 34: uint8(42),
  29110. 35: uint8(43),
  29111. 36: uint8(46),
  29112. 37: uint8(48),
  29113. 38: uint8(49),
  29114. 39: uint8(50),
  29115. 40: uint8(51),
  29116. 41: uint8(52),
  29117. 42: uint8(53),
  29118. 43: uint8(54),
  29119. 44: uint8(57),
  29120. 45: uint8(59),
  29121. 46: uint8(60),
  29122. 47: uint8(61),
  29123. 48: uint8(56),
  29124. 49: uint8(62),
  29125. 50: uint8(63),
  29126. 51: uint8(64),
  29127. 52: uint8(65),
  29128. 53: uint8(66),
  29129. 54: uint8(67),
  29130. 55: uint8(68),
  29131. 56: uint8(69),
  29132. 57: uint8(70),
  29133. 58: uint8(71),
  29134. 59: uint8(72),
  29135. 60: uint8(73),
  29136. 61: uint8(74),
  29137. 62: uint8(76),
  29138. 63: uint8(77),
  29139. 64: uint8(80),
  29140. 65: uint8(81),
  29141. 66: uint8(83),
  29142. 67: uint8(86),
  29143. 68: uint8(84),
  29144. 69: uint8(85),
  29145. 70: uint8(88),
  29146. 71: uint8(89),
  29147. 72: uint8(90),
  29148. 73: uint8(91),
  29149. 74: uint8(92),
  29150. 75: uint8(93),
  29151. 76: uint8(95),
  29152. 77: uint8(96),
  29153. 78: uint8(98),
  29154. 79: uint8(100),
  29155. 80: uint8(101),
  29156. 81: uint8(102),
  29157. 82: uint8(103),
  29158. 83: uint8(104),
  29159. 84: uint8(105),
  29160. 85: uint8(107),
  29161. 86: uint8(108),
  29162. 87: uint8(110),
  29163. 88: uint8(112),
  29164. 89: uint8(113),
  29165. 90: uint8(114),
  29166. 91: uint8(116),
  29167. 92: uint8(117),
  29168. 93: uint8(119),
  29169. 94: uint8(120),
  29170. 95: uint8(123),
  29171. 96: uint8(124),
  29172. 97: uint8(125),
  29173. 98: uint8(126),
  29174. 99: uint8(128),
  29175. 100: uint8(129),
  29176. 101: uint8(130),
  29177. 102: uint8(131),
  29178. 103: uint8(132),
  29179. 104: uint8(133),
  29180. 105: uint8(136),
  29181. 106: uint8(137),
  29182. 107: uint8(139),
  29183. 108: uint8(140),
  29184. 109: uint8(142),
  29185. 110: uint8(143),
  29186. 111: uint8(144),
  29187. 112: uint8(146),
  29188. 113: uint8(147),
  29189. 114: uint8(148),
  29190. 115: uint8(150),
  29191. 116: uint8(151),
  29192. 117: uint8(153),
  29193. 118: uint8(154),
  29194. 119: uint8(155),
  29195. 120: uint8(156),
  29196. 121: uint8(157),
  29197. 122: uint8(159),
  29198. 123: uint8(163),
  29199. 124: uint8(164),
  29200. 125: uint8(165),
  29201. 126: uint8(166),
  29202. 127: uint8(169),
  29203. 128: uint8(171),
  29204. 129: uint8(172),
  29205. 130: uint8(174),
  29206. 131: uint8(175),
  29207. 132: uint8(178),
  29208. 133: uint8(180),
  29209. 134: uint8(181),
  29210. 135: uint8(183),
  29211. 136: uint8(184),
  29212. 137: uint8(185),
  29213. 138: uint8(187),
  29214. 139: uint8(188),
  29215. 140: uint8(189),
  29216. 141: uint8(190),
  29217. 142: uint8(191),
  29218. 143: uint8(192),
  29219. 144: uint8(193),
  29220. 145: uint8(195),
  29221. 146: uint8(196),
  29222. 147: uint8(197),
  29223. 148: uint8(198),
  29224. 149: uint8(199),
  29225. 150: uint8(201),
  29226. 151: uint8(202),
  29227. 152: uint8(203),
  29228. 153: uint8(204),
  29229. 154: uint8(205),
  29230. 155: uint8(206),
  29231. 156: uint8(207),
  29232. 157: uint8(208),
  29233. 158: uint8(209),
  29234. 159: uint8(210),
  29235. 160: uint8(211),
  29236. 161: uint8(212),
  29237. 162: uint8(213),
  29238. 163: uint8(214),
  29239. 164: uint8(215),
  29240. 165: uint8(216),
  29241. 166: uint8(217),
  29242. 167: uint8(218),
  29243. 168: uint8(220),
  29244. 169: uint8(221),
  29245. 170: uint8(222),
  29246. 171: uint8(225),
  29247. 172: uint8(226),
  29248. 173: uint8(227),
  29249. 174: uint8(228),
  29250. 175: uint8(229),
  29251. 176: uint8(230),
  29252. 177: uint8(231),
  29253. 178: uint8(233),
  29254. 179: uint8(234),
  29255. 180: uint8(235),
  29256. 181: uint8(236),
  29257. 182: uint8(237),
  29258. 183: uint8(238),
  29259. 184: uint8(240),
  29260. 185: uint8(241),
  29261. 186: uint8(242),
  29262. 187: uint8(243),
  29263. 188: uint8(244),
  29264. 189: uint8(245),
  29265. 190: uint8(3),
  29266. 191: uint8(5),
  29267. 192: uint8(15),
  29268. 193: uint8(16),
  29269. 194: uint8(29),
  29270. 195: uint8(36),
  29271. 196: uint8(38),
  29272. 197: uint8(45),
  29273. 198: uint8(47),
  29274. 199: uint8(55),
  29275. 200: uint8(58),
  29276. 201: uint8(75),
  29277. 202: uint8(78),
  29278. 203: uint8(79),
  29279. 204: uint8(82),
  29280. 205: uint8(87),
  29281. 206: uint8(94),
  29282. 207: uint8(97),
  29283. 208: uint8(99),
  29284. 209: uint8(106),
  29285. 210: uint8(109),
  29286. 211: uint8(111),
  29287. 212: uint8(115),
  29288. 213: uint8(121),
  29289. 214: uint8(122),
  29290. 215: uint8(127),
  29291. 216: uint8(134),
  29292. 217: uint8(138),
  29293. 218: uint8(141),
  29294. 219: uint8(145),
  29295. 220: uint8(152),
  29296. 221: uint8(158),
  29297. 222: uint8(160),
  29298. 223: uint8(161),
  29299. 224: uint8(162),
  29300. 225: uint8(167),
  29301. 226: uint8(168),
  29302. 227: uint8(170),
  29303. 228: uint8(173),
  29304. 229: uint8(177),
  29305. 230: uint8(179),
  29306. 231: uint8(182),
  29307. 232: uint8(186),
  29308. 233: uint8(194),
  29309. 234: uint8(200),
  29310. 235: uint8(219),
  29311. 236: uint8(232),
  29312. 237: uint8(239),
  29313. 238: uint8(118),
  29314. 239: uint8(149),
  29315. 240: uint8(26),
  29316. 241: uint8(176),
  29317. 242: uint8(44),
  29318. 243: uint8(135),
  29319. 244: uint8(224),
  29320. 245: uint8(223),
  29321. },
  29322. }
  29323. var _fcLangCountrySets = [10][8]TFcChar32{
  29324. 0: {
  29325. 0: uint32(0x00000600),
  29326. },
  29327. 1: {
  29328. 6: uint32(0x00000003),
  29329. },
  29330. 2: {
  29331. 2: uint32(0x00c00000),
  29332. 6: uint32(0x000c0000),
  29333. },
  29334. 3: {
  29335. 3: uint32(0x00000100),
  29336. 6: uint32(0x01000000),
  29337. },
  29338. 4: {
  29339. 6: uint32(0x40000000),
  29340. },
  29341. 5: {
  29342. 6: uint32(0x80000000),
  29343. 7: uint32(0x00000001),
  29344. },
  29345. 6: {
  29346. 3: uint32(0x30000000),
  29347. },
  29348. 7: {
  29349. 4: uint32(0x60000000),
  29350. },
  29351. 8: {
  29352. 7: uint32(0x00300000),
  29353. },
  29354. 9: {
  29355. 5: uint32(0x1f000000),
  29356. },
  29357. }
  29358. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  29359. 0: {
  29360. Fend: int32(12),
  29361. },
  29362. 1: {
  29363. Fbegin: int32(13),
  29364. Fend: int32(29),
  29365. },
  29366. 2: {
  29367. Fbegin: int32(30),
  29368. Fend: int32(41),
  29369. },
  29370. 3: {
  29371. Fbegin: int32(42),
  29372. Fend: int32(46),
  29373. },
  29374. 4: {
  29375. Fbegin: int32(47),
  29376. Fend: int32(53),
  29377. },
  29378. 5: {
  29379. Fbegin: int32(54),
  29380. Fend: int32(63),
  29381. },
  29382. 6: {
  29383. Fbegin: int32(64),
  29384. Fend: int32(70),
  29385. },
  29386. 7: {
  29387. Fbegin: int32(71),
  29388. Fend: int32(82),
  29389. },
  29390. 8: {
  29391. Fbegin: int32(83),
  29392. Fend: int32(92),
  29393. },
  29394. 9: {
  29395. Fbegin: int32(93),
  29396. Fend: int32(94),
  29397. },
  29398. 10: {
  29399. Fbegin: int32(95),
  29400. Fend: int32(116),
  29401. },
  29402. 11: {
  29403. Fbegin: int32(117),
  29404. Fend: int32(126),
  29405. },
  29406. 12: {
  29407. Fbegin: int32(127),
  29408. Fend: int32(140),
  29409. },
  29410. 13: {
  29411. Fbegin: int32(141),
  29412. Fend: int32(153),
  29413. },
  29414. 14: {
  29415. Fbegin: int32(154),
  29416. Fend: int32(158),
  29417. },
  29418. 15: {
  29419. Fbegin: int32(159),
  29420. Fend: int32(166),
  29421. },
  29422. 16: {
  29423. Fbegin: int32(167),
  29424. Fend: int32(168),
  29425. },
  29426. 17: {
  29427. Fbegin: int32(169),
  29428. Fend: int32(173),
  29429. },
  29430. 18: {
  29431. Fbegin: int32(174),
  29432. Fend: int32(203),
  29433. },
  29434. 19: {
  29435. Fbegin: int32(204),
  29436. Fend: int32(220),
  29437. },
  29438. 20: {
  29439. Fbegin: int32(221),
  29440. Fend: int32(226),
  29441. },
  29442. 21: {
  29443. Fbegin: int32(227),
  29444. Fend: int32(230),
  29445. },
  29446. 22: {
  29447. Fbegin: int32(231),
  29448. Fend: int32(234),
  29449. },
  29450. 23: {
  29451. Fbegin: int32(235),
  29452. Fend: int32(235),
  29453. },
  29454. 24: {
  29455. Fbegin: int32(236),
  29456. Fend: int32(238),
  29457. },
  29458. 25: {
  29459. Fbegin: int32(239),
  29460. Fend: int32(245),
  29461. },
  29462. }
  29463. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  29464. var bucket uint32
  29465. _ = bucket
  29466. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29467. bucket = id >> int32(5)
  29468. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29469. return
  29470. } /* shouldn't happen really */
  29471. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  29472. }
  29473. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  29474. var bucket uint32
  29475. var v1 int32
  29476. _, _ = bucket, v1
  29477. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29478. bucket = id >> int32(5)
  29479. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29480. return m_FcFalse
  29481. }
  29482. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  29483. v1 = int32(m_FcTrue)
  29484. } else {
  29485. v1 = m_FcFalse
  29486. }
  29487. return v1
  29488. }
  29489. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  29490. var bucket uint32
  29491. _ = bucket
  29492. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40830 + uintptr(id))))
  29493. bucket = id >> int32(5)
  29494. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  29495. return
  29496. } /* shouldn't happen really */
  29497. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  29498. }
  29499. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  29500. bp := tls.Alloc(64)
  29501. defer tls.Free(64)
  29502. var exclusiveCharset, ls, missed uintptr
  29503. var i, i1, j, j1 int32
  29504. var missing, ucs4 TFcChar32
  29505. var _ /* map at bp+0 */ [8]TFcChar32
  29506. var _ /* next at bp+32 */ TFcChar32
  29507. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  29508. exclusiveCharset = uintptr(0)
  29509. if exclusiveLang != 0 {
  29510. exclusiveCharset = XIA__FcLangGetCharSet(tls, exclusiveLang)
  29511. }
  29512. ls = XIA__FcLangSetCreate(tls)
  29513. if !(ls != 0) {
  29514. return uintptr(0)
  29515. }
  29516. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29517. libc.Xprintf(tls, __ccgo_ts+5441, 0)
  29518. XFcCharSetPrint(tls, charset)
  29519. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29520. }
  29521. i = 0
  29522. for {
  29523. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29524. break
  29525. }
  29526. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29527. libc.Xprintf(tls, __ccgo_ts+5454, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  29528. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  29529. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29530. }
  29531. /*
  29532. * Check for Han charsets to make fonts
  29533. * which advertise support for a single language
  29534. * not support other Han languages
  29535. */
  29536. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  29537. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  29538. goto _1
  29539. }
  29540. j = 0
  29541. for {
  29542. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  29543. break
  29544. }
  29545. 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))) {
  29546. goto _2
  29547. }
  29548. goto _2
  29549. _2:
  29550. ;
  29551. j++
  29552. }
  29553. }
  29554. missing = XIA__FcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  29555. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  29556. if missing != 0 && missing < uint32(10) {
  29557. missed = XIA__FcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  29558. libc.Xprintf(tls, __ccgo_ts+5465, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  29559. libc.Xprintf(tls, __ccgo_ts+5474, 0)
  29560. ucs4 = XIA__FcCharSetFirstPage(tls, missed, bp, bp+32)
  29561. for {
  29562. if !(ucs4 != libc.Uint32FromInt32(-libc.Int32FromInt32(1))) {
  29563. break
  29564. }
  29565. i1 = 0
  29566. for {
  29567. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  29568. break
  29569. }
  29570. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  29571. j1 = 0
  29572. for {
  29573. if !(j1 < int32(32)) {
  29574. break
  29575. }
  29576. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  29577. libc.Xprintf(tls, __ccgo_ts+5476, libc.VaList(bp+48, ucs4+libc.Uint32FromInt32(i1*int32(32))+libc.Uint32FromInt32(j1)))
  29578. }
  29579. goto _5
  29580. _5:
  29581. ;
  29582. j1++
  29583. }
  29584. }
  29585. goto _4
  29586. _4:
  29587. ;
  29588. i1++
  29589. }
  29590. goto _3
  29591. _3:
  29592. ;
  29593. ucs4 = XIA__FcCharSetNextPage(tls, missed, bp, bp+32)
  29594. }
  29595. libc.Xprintf(tls, __ccgo_ts+5482, 0)
  29596. XIA__FcCharSetDestroy(tls, missed)
  29597. } else {
  29598. libc.Xprintf(tls, __ccgo_ts+5487, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  29599. }
  29600. }
  29601. if !(missing != 0) {
  29602. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(i))
  29603. }
  29604. goto _1
  29605. _1:
  29606. ;
  29607. i++
  29608. }
  29609. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  29610. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  29611. }
  29612. return ls
  29613. }
  29614. func XIA__FcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  29615. bp := tls.Alloc(32)
  29616. defer tls.Free(32)
  29617. var encoding, modifier, orig, result, s, territory uintptr
  29618. var llen, mlen, tlen Tsize_t
  29619. var v1 uint64
  29620. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  29621. result = libc.UintptrFromInt32(0)
  29622. tlen = uint64(0)
  29623. mlen = uint64(0)
  29624. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  29625. return libc.UintptrFromInt32(0)
  29626. }
  29627. /* might be called without initialization */
  29628. XFcInitDebug(tls)
  29629. if XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+4692) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5495) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5503) == 0 || XIA__FcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5510) == 0 {
  29630. result = XIA__FcStrCopy(tls, __ccgo_ts+2465)
  29631. goto bail
  29632. }
  29633. s = XIA__FcStrCopy(tls, lang)
  29634. if !(s != 0) {
  29635. goto bail
  29636. }
  29637. /* from the comments in glibc:
  29638. *
  29639. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  29640. *
  29641. * language[_territory[.codeset]][@modifier]
  29642. *
  29643. * Beside the first all of them are allowed to be missing. If the
  29644. * full specified locale is not found, the less specific one are
  29645. * looked for. The various part will be stripped off according to
  29646. * the following order:
  29647. * (1) codeset
  29648. * (2) normalized codeset
  29649. * (3) territory
  29650. * (4) modifier
  29651. *
  29652. * So since we don't take care of the codeset part here, what patterns
  29653. * we need to deal with is:
  29654. *
  29655. * 1. language_territory@modifier
  29656. * 2. language@modifier
  29657. * 3. language
  29658. *
  29659. * then. and maybe no need to try language_territory here.
  29660. */
  29661. modifier = libc.Xstrchr(tls, s, int32('@'))
  29662. if modifier != 0 {
  29663. *(*uint8)(unsafe.Pointer(modifier)) = uint8(0)
  29664. modifier++
  29665. mlen = libc.Xstrlen(tls, modifier)
  29666. }
  29667. encoding = libc.Xstrchr(tls, s, int32('.'))
  29668. if encoding != 0 {
  29669. *(*uint8)(unsafe.Pointer(encoding)) = uint8(0)
  29670. encoding++
  29671. if modifier != 0 {
  29672. libc.Xmemmove(tls, encoding, modifier, mlen+uint64(1))
  29673. modifier = encoding
  29674. }
  29675. }
  29676. territory = libc.Xstrchr(tls, s, int32('_'))
  29677. if !(territory != 0) {
  29678. territory = libc.Xstrchr(tls, s, int32('-'))
  29679. }
  29680. if territory != 0 {
  29681. *(*uint8)(unsafe.Pointer(territory)) = uint8(0)
  29682. territory++
  29683. tlen = libc.Xstrlen(tls, territory)
  29684. }
  29685. llen = libc.Xstrlen(tls, s)
  29686. if llen < uint64(2) || llen > uint64(3) {
  29687. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5516, libc.VaList(bp+8, lang))
  29688. goto bail0
  29689. }
  29690. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  29691. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+5575, libc.VaList(bp+8, lang))
  29692. goto bail0
  29693. }
  29694. if territory != 0 {
  29695. *(*uint8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = uint8('-')
  29696. }
  29697. if modifier != 0 {
  29698. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8('@')
  29699. }
  29700. orig = XIA__FcStrDowncase(tls, s)
  29701. if !(orig != 0) {
  29702. goto bail0
  29703. }
  29704. if territory != 0 {
  29705. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29706. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29707. }
  29708. if _FcLangSetIndex(tls, s) < 0 {
  29709. if mlen > uint64(0) {
  29710. v1 = mlen + uint64(1)
  29711. } else {
  29712. v1 = uint64(0)
  29713. }
  29714. libc.Xmemmove(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1))
  29715. if modifier != 0 {
  29716. modifier = territory
  29717. }
  29718. } else {
  29719. result = s
  29720. /* we'll miss the opportunity to reduce the correct size
  29721. * of the allocated memory for the string after that.
  29722. */
  29723. s = libc.UintptrFromInt32(0)
  29724. goto bail1
  29725. }
  29726. }
  29727. if modifier != 0 {
  29728. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29729. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29730. }
  29731. if _FcLangSetIndex(tls, s) < 0 {
  29732. *(*uint8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = uint8(0)
  29733. } else {
  29734. result = s
  29735. /* we'll miss the opportunity to reduce the correct size
  29736. * of the allocated memory for the string after that.
  29737. */
  29738. s = libc.UintptrFromInt32(0)
  29739. goto bail1
  29740. }
  29741. }
  29742. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29743. libc.Xprintf(tls, __ccgo_ts+5632, libc.VaList(bp+8, s))
  29744. }
  29745. if _FcLangSetIndex(tls, s) < 0 {
  29746. /* there seems no languages matched in orth.
  29747. * add the language as is for fallback.
  29748. */
  29749. result = orig
  29750. orig = libc.UintptrFromInt32(0)
  29751. } else {
  29752. result = s
  29753. /* we'll miss the opportunity to reduce the correct size
  29754. * of the allocated memory for the string after that.
  29755. */
  29756. s = libc.UintptrFromInt32(0)
  29757. }
  29758. goto bail1
  29759. bail1:
  29760. ;
  29761. if orig != 0 {
  29762. XIA__FcStrFree(tls, orig)
  29763. }
  29764. goto bail0
  29765. bail0:
  29766. ;
  29767. if s != 0 {
  29768. libc.Xfree(tls, s)
  29769. }
  29770. goto bail
  29771. bail:
  29772. ;
  29773. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  29774. if result != 0 {
  29775. libc.Xprintf(tls, __ccgo_ts+5667, libc.VaList(bp+8, lang, result))
  29776. } else {
  29777. libc.Xprintf(tls, __ccgo_ts+5689, libc.VaList(bp+8, lang))
  29778. }
  29779. }
  29780. return result
  29781. }
  29782. var XFcLangNormalize = XIA__FcLangNormalize
  29783. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  29784. var c1, c2 TFcChar8
  29785. var is_und TFcBool
  29786. var result TFcLangResult
  29787. var s1_orig, v7, v8 uintptr
  29788. var v1, v10, v11, v2, v4, v9 int32
  29789. var v3, v5 bool
  29790. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  29791. result = int32(_FcLangDifferentLang)
  29792. s1_orig = s1
  29793. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  29794. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  29795. } else {
  29796. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1)))
  29797. }
  29798. if v3 = v1 == int32('u'); v3 {
  29799. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  29800. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  29801. } else {
  29802. v2 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  29803. }
  29804. }
  29805. if v5 = v3 && v2 == int32('n'); v5 {
  29806. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  29807. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  29808. } else {
  29809. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  29810. }
  29811. }
  29812. 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')))
  29813. for {
  29814. v7 = s1
  29815. s1++
  29816. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  29817. v8 = s2
  29818. s2++
  29819. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  29820. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  29821. v9 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  29822. } else {
  29823. v9 = libc.Int32FromUint8(c1)
  29824. }
  29825. c1 = libc.Uint8FromInt32(v9)
  29826. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  29827. v10 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  29828. } else {
  29829. v10 = libc.Int32FromUint8(c2)
  29830. }
  29831. c2 = libc.Uint8FromInt32(v10)
  29832. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  29833. if !(is_und != 0) && (libc.Int32FromUint8(c1) == int32('-') || libc.Int32FromUint8(c1) == int32('\000')) && (libc.Int32FromUint8(c2) == int32('-') || libc.Int32FromUint8(c2) == int32('\000')) {
  29834. result = int32(_FcLangDifferentTerritory)
  29835. }
  29836. return result
  29837. } else {
  29838. if !(c1 != 0) {
  29839. if is_und != 0 {
  29840. v11 = result
  29841. } else {
  29842. v11 = int32(_FcLangEqual)
  29843. }
  29844. return v11
  29845. } else {
  29846. if libc.Int32FromUint8(c1) == int32('-') {
  29847. if !(is_und != 0) {
  29848. result = int32(_FcLangDifferentTerritory)
  29849. }
  29850. }
  29851. }
  29852. }
  29853. /* If we parsed past "und-", then do not consider it undefined anymore,
  29854. * as there's *something* specified. */
  29855. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  29856. is_und = m_FcFalse
  29857. }
  29858. goto _6
  29859. _6:
  29860. }
  29861. return r
  29862. }
  29863. /*
  29864. * Return FcTrue when super contains sub.
  29865. *
  29866. * super contains sub if super and sub have the same
  29867. * language and either the same country or one
  29868. * is missing the country
  29869. */
  29870. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  29871. var c1, c2 TFcChar8
  29872. var v2, v3 uintptr
  29873. var v4, v5 int32
  29874. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  29875. for {
  29876. v2 = super
  29877. super++
  29878. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  29879. v3 = sub
  29880. sub++
  29881. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  29882. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  29883. v4 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  29884. } else {
  29885. v4 = libc.Int32FromUint8(c1)
  29886. }
  29887. c1 = libc.Uint8FromInt32(v4)
  29888. if int32(0101) <= libc.Int32FromUint8(c2) && libc.Int32FromUint8(c2) <= int32(0132) {
  29889. v5 = libc.Int32FromUint8(c2) - int32(0101) + int32(0141)
  29890. } else {
  29891. v5 = libc.Int32FromUint8(c2)
  29892. }
  29893. c2 = libc.Uint8FromInt32(v5)
  29894. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  29895. /* see if super has a country while sub is mising one */
  29896. if libc.Int32FromUint8(c1) == int32('-') && libc.Int32FromUint8(c2) == int32('\000') {
  29897. return int32(m_FcTrue)
  29898. }
  29899. /* see if sub has a country while super is mising one */
  29900. if libc.Int32FromUint8(c1) == int32('\000') && libc.Int32FromUint8(c2) == int32('-') {
  29901. return int32(m_FcTrue)
  29902. }
  29903. return m_FcFalse
  29904. } else {
  29905. if !(c1 != 0) {
  29906. return int32(m_FcTrue)
  29907. }
  29908. }
  29909. goto _1
  29910. _1:
  29911. }
  29912. return r
  29913. }
  29914. func XIA__FcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  29915. var country, i int32
  29916. _, _ = country, i
  29917. country = -int32(1)
  29918. i = 0
  29919. for {
  29920. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29921. break
  29922. }
  29923. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  29924. case int32(_FcLangEqual):
  29925. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  29926. case int32(_FcLangDifferentTerritory):
  29927. if country == -int32(1) {
  29928. country = i
  29929. }
  29930. fallthrough
  29931. case int32(_FcLangDifferentLang):
  29932. fallthrough
  29933. default:
  29934. break
  29935. }
  29936. goto _1
  29937. _1:
  29938. ;
  29939. i++
  29940. }
  29941. if country == -int32(1) {
  29942. return uintptr(0)
  29943. }
  29944. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  29945. }
  29946. var XFcLangGetCharSet = XIA__FcLangGetCharSet
  29947. func XIA__FcGetLangs(tls *libc.TLS) (r uintptr) {
  29948. var i int32
  29949. var langs uintptr
  29950. _, _ = i, langs
  29951. langs = XIA__FcStrSetCreate(tls)
  29952. if !(langs != 0) {
  29953. return uintptr(0)
  29954. }
  29955. i = 0
  29956. for {
  29957. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  29958. break
  29959. }
  29960. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  29961. goto _1
  29962. _1:
  29963. ;
  29964. i++
  29965. }
  29966. return langs
  29967. }
  29968. var XFcGetLangs = XIA__FcGetLangs
  29969. func XIA__FcLangSetCreate(tls *libc.TLS) (r uintptr) {
  29970. var ls uintptr
  29971. _ = ls
  29972. ls = libc.Xmalloc(tls, uint64(48))
  29973. if !(ls != 0) {
  29974. return uintptr(0)
  29975. }
  29976. libc.Xmemset(tls, ls+12, int32('\000'), uint64(32))
  29977. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  29978. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  29979. return ls
  29980. }
  29981. var XFcLangSetCreate = XIA__FcLangSetCreate
  29982. func XIA__FcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  29983. if !(ls != 0) {
  29984. return
  29985. }
  29986. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  29987. XIA__FcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  29988. }
  29989. libc.Xfree(tls, ls)
  29990. }
  29991. var XFcLangSetDestroy = XIA__FcLangSetDestroy
  29992. func XIA__FcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  29993. var extra, list, new1, v2 uintptr
  29994. var v1 uint64
  29995. _, _, _, _, _ = extra, list, new1, v1, v2
  29996. if !(ls != 0) {
  29997. return libc.UintptrFromInt32(0)
  29998. }
  29999. new1 = XIA__FcLangSetCreate(tls)
  30000. if !(new1 != 0) {
  30001. goto bail0
  30002. }
  30003. libc.Xmemset(tls, new1+12, int32('\000'), uint64(32))
  30004. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  30005. v1 = libc.Uint64FromInt64(32)
  30006. } else {
  30007. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  30008. }
  30009. libc.Xmemcpy(tls, new1+12, ls+12, v1)
  30010. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30011. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XIA__FcStrSetCreate(tls)
  30012. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  30013. goto bail1
  30014. }
  30015. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30016. if !(list != 0) {
  30017. goto bail1
  30018. }
  30019. for {
  30020. v2 = XIA__FcStrListNext(tls, list)
  30021. extra = v2
  30022. if !(v2 != 0) {
  30023. break
  30024. }
  30025. if !(XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  30026. XIA__FcStrListDone(tls, list)
  30027. goto bail1
  30028. }
  30029. }
  30030. XIA__FcStrListDone(tls, list)
  30031. }
  30032. return new1
  30033. goto bail1
  30034. bail1:
  30035. ;
  30036. XIA__FcLangSetDestroy(tls, new1)
  30037. goto bail0
  30038. bail0:
  30039. ;
  30040. return uintptr(0)
  30041. return r
  30042. }
  30043. var XFcLangSetCopy = XIA__FcLangSetCopy
  30044. // C documentation
  30045. //
  30046. // /* When the language isn't found, the return value r is such that:
  30047. // * 1) r < 0
  30048. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  30049. // * after the 'lang' argument in lexicographic order.
  30050. // *
  30051. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  30052. // * wouldn't be able to distinguish between “language found, id is 0” and
  30053. // * “language not found, sorts right before the language with id 0”).
  30054. // */
  30055. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  30056. var cmp, high, low, mid, v1, v2, v3 int32
  30057. var firstChar, secondChar TFcChar8
  30058. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  30059. mid = 0
  30060. cmp = 0
  30061. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  30062. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  30063. } else {
  30064. v1 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang)))
  30065. }
  30066. firstChar = libc.Uint8FromInt32(v1)
  30067. if firstChar != 0 {
  30068. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  30069. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  30070. } else {
  30071. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  30072. }
  30073. v2 = v3
  30074. } else {
  30075. v2 = int32('\000')
  30076. }
  30077. secondChar = libc.Uint8FromInt32(v2)
  30078. if libc.Int32FromUint8(firstChar) < int32('a') {
  30079. low = 0
  30080. high = _fcLangCharSetRanges[0].Fbegin
  30081. } else {
  30082. if libc.Int32FromUint8(firstChar) > int32('z') {
  30083. low = _fcLangCharSetRanges[int32(25)].Fbegin
  30084. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  30085. } else {
  30086. low = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fbegin
  30087. high = _fcLangCharSetRanges[libc.Int32FromUint8(firstChar)-int32('a')].Fend
  30088. /* no matches */
  30089. if low > high {
  30090. return -(low + int32(1))
  30091. } /* one past next entry after where it would be */
  30092. }
  30093. }
  30094. for low <= high {
  30095. mid = (high + low) >> int32(1)
  30096. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != libc.Int32FromUint8(firstChar) {
  30097. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  30098. } else {
  30099. /* fast path for resolving 2-letter languages (by far the most common) after
  30100. * finding the first char (probably already true because of the hash table) */
  30101. cmp = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - libc.Int32FromUint8(secondChar)
  30102. 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')) {
  30103. cmp = XIA__FcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  30104. }
  30105. }
  30106. if cmp == 0 {
  30107. return mid
  30108. }
  30109. if cmp < 0 {
  30110. low = mid + int32(1)
  30111. } else {
  30112. high = mid - int32(1)
  30113. }
  30114. }
  30115. if cmp < 0 {
  30116. mid++
  30117. }
  30118. return -(mid + int32(1))
  30119. }
  30120. func XIA__FcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30121. var id int32
  30122. _ = id
  30123. id = _FcLangSetIndex(tls, lang)
  30124. if id >= 0 {
  30125. _FcLangSetBitSet(tls, ls, libc.Uint32FromInt32(id))
  30126. return int32(m_FcTrue)
  30127. }
  30128. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  30129. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XIA__FcStrSetCreate(tls)
  30130. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  30131. return m_FcFalse
  30132. }
  30133. }
  30134. return XIA__FcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  30135. }
  30136. var XFcLangSetAdd = XIA__FcLangSetAdd
  30137. func XIA__FcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30138. var id int32
  30139. _ = id
  30140. id = _FcLangSetIndex(tls, lang)
  30141. if id >= 0 {
  30142. _FcLangSetBitReset(tls, ls, libc.Uint32FromInt32(id))
  30143. } else {
  30144. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30145. XIA__FcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  30146. }
  30147. }
  30148. return int32(m_FcTrue)
  30149. }
  30150. var XFcLangSetDel = XIA__FcLangSetDel
  30151. func XIA__FcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  30152. var best, r TFcLangResult
  30153. var extra, list, v3 uintptr
  30154. var i, id int32
  30155. var v4 bool
  30156. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  30157. id = _FcLangSetIndex(tls, lang)
  30158. if id < 0 {
  30159. id = -id - int32(1)
  30160. } else {
  30161. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  30162. return int32(_FcLangEqual)
  30163. }
  30164. }
  30165. best = int32(_FcLangDifferentLang)
  30166. i = id - int32(1)
  30167. for {
  30168. if !(i >= 0) {
  30169. break
  30170. }
  30171. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30172. if r == int32(_FcLangDifferentLang) {
  30173. break
  30174. }
  30175. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  30176. best = r
  30177. }
  30178. goto _1
  30179. _1:
  30180. ;
  30181. i--
  30182. }
  30183. i = id
  30184. for {
  30185. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30186. break
  30187. }
  30188. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30189. if r == int32(_FcLangDifferentLang) {
  30190. break
  30191. }
  30192. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && r < best {
  30193. best = r
  30194. }
  30195. goto _2
  30196. _2:
  30197. ;
  30198. i++
  30199. }
  30200. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30201. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30202. if list != 0 {
  30203. for {
  30204. if v4 = best > int32(_FcLangEqual); v4 {
  30205. v3 = XIA__FcStrListNext(tls, list)
  30206. extra = v3
  30207. }
  30208. if !(v4 && v3 != 0) {
  30209. break
  30210. }
  30211. r = XFcLangCompare(tls, lang, extra)
  30212. if r < best {
  30213. best = r
  30214. }
  30215. }
  30216. XIA__FcStrListDone(tls, list)
  30217. }
  30218. }
  30219. return best
  30220. }
  30221. var XFcLangSetHasLang = XIA__FcLangSetHasLang
  30222. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  30223. var best, r TFcLangResult
  30224. var extra, list, v1 uintptr
  30225. var v2 bool
  30226. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  30227. list = XIA__FcStrListCreate(tls, set)
  30228. best = int32(_FcLangDifferentLang)
  30229. if list != 0 {
  30230. for {
  30231. if v2 = best > int32(_FcLangEqual); v2 {
  30232. v1 = XIA__FcStrListNext(tls, list)
  30233. extra = v1
  30234. }
  30235. if !(v2 && v1 != 0) {
  30236. break
  30237. }
  30238. r = XIA__FcLangSetHasLang(tls, ls, extra)
  30239. if r < best {
  30240. best = r
  30241. }
  30242. }
  30243. XIA__FcStrListDone(tls, list)
  30244. }
  30245. return best
  30246. }
  30247. func XIA__FcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  30248. var aInCountrySet, bInCountrySet TFcChar32
  30249. var best, r TFcLangResult
  30250. var count, i, j, v2 int32
  30251. var v1 uint32
  30252. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  30253. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30254. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30255. } else {
  30256. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30257. }
  30258. count = libc.Int32FromUint32(v1)
  30259. if int32(m_NUM_LANG_SET_MAP) < count {
  30260. v2 = int32(m_NUM_LANG_SET_MAP)
  30261. } else {
  30262. v2 = count
  30263. }
  30264. count = v2
  30265. i = 0
  30266. for {
  30267. if !(i < count) {
  30268. break
  30269. }
  30270. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  30271. return int32(_FcLangEqual)
  30272. }
  30273. goto _3
  30274. _3:
  30275. ;
  30276. i++
  30277. }
  30278. best = int32(_FcLangDifferentLang)
  30279. j = 0
  30280. for {
  30281. if !(j < int32(m_NUM_COUNTRY_SET)) {
  30282. break
  30283. }
  30284. aInCountrySet = uint32(0)
  30285. bInCountrySet = uint32(0)
  30286. i = 0
  30287. for {
  30288. if !(i < count) {
  30289. break
  30290. }
  30291. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  30292. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  30293. if aInCountrySet != 0 && bInCountrySet != 0 {
  30294. best = int32(_FcLangDifferentTerritory)
  30295. break
  30296. }
  30297. goto _5
  30298. _5:
  30299. ;
  30300. i++
  30301. }
  30302. goto _4
  30303. _4:
  30304. ;
  30305. j++
  30306. }
  30307. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  30308. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  30309. if r < best {
  30310. best = r
  30311. }
  30312. }
  30313. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30314. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30315. if r < best {
  30316. best = r
  30317. }
  30318. }
  30319. return best
  30320. }
  30321. var XFcLangSetCompare = XIA__FcLangSetCompare
  30322. // C documentation
  30323. //
  30324. // /*
  30325. // * Used in computing values -- mustn't allocate any storage
  30326. // */
  30327. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  30328. var buf uintptr
  30329. var id int32
  30330. _, _ = buf, id
  30331. buf = vbuf
  30332. libc.Xmemset(tls, buf+12, int32('\000'), uint64(32))
  30333. (*struct {
  30334. Fls TFcLangSet
  30335. Fstrs TFcStrSet
  30336. Fstr uintptr
  30337. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30338. (*struct {
  30339. Fls TFcLangSet
  30340. Fstrs TFcStrSet
  30341. Fstr uintptr
  30342. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  30343. if lang != 0 {
  30344. id = _FcLangSetIndex(tls, lang)
  30345. if id >= 0 {
  30346. _FcLangSetBitSet(tls, buf, libc.Uint32FromInt32(id))
  30347. } else {
  30348. (*struct {
  30349. Fls TFcLangSet
  30350. Fstrs TFcStrSet
  30351. Fstr uintptr
  30352. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  30353. (*struct {
  30354. Fls TFcLangSet
  30355. Fstrs TFcStrSet
  30356. Fstr uintptr
  30357. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  30358. (*struct {
  30359. Fls TFcLangSet
  30360. Fstrs TFcStrSet
  30361. Fstr uintptr
  30362. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  30363. (*struct {
  30364. Fls TFcLangSet
  30365. Fstrs TFcStrSet
  30366. Fstr uintptr
  30367. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  30368. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  30369. (*struct {
  30370. Fls TFcLangSet
  30371. Fstrs TFcStrSet
  30372. Fstr uintptr
  30373. })(unsafe.Pointer(buf)).Fstr = lang
  30374. }
  30375. }
  30376. return buf
  30377. }
  30378. func XIA__FcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  30379. var count, i int32
  30380. var h TFcChar32
  30381. var v1 uint32
  30382. _, _, _, _ = count, h, i, v1
  30383. h = uint32(0)
  30384. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  30385. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  30386. } else {
  30387. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  30388. }
  30389. count = libc.Int32FromUint32(v1)
  30390. i = 0
  30391. for {
  30392. if !(i < count) {
  30393. break
  30394. }
  30395. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  30396. goto _2
  30397. _2:
  30398. ;
  30399. i++
  30400. }
  30401. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30402. h ^= libc.Uint32FromInt32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  30403. }
  30404. return h
  30405. }
  30406. var XFcLangSetHash = XIA__FcLangSetHash
  30407. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  30408. bp := tls.Alloc(32)
  30409. defer tls.Free(32)
  30410. var c TFcChar8
  30411. var i int32
  30412. var ls, v3 uintptr
  30413. var _ /* lang at bp+0 */ [32]TFcChar8
  30414. _, _, _, _ = c, i, ls, v3
  30415. c = uint8(0)
  30416. ls = XIA__FcLangSetCreate(tls)
  30417. if !(ls != 0) {
  30418. goto bail0
  30419. }
  30420. for {
  30421. i = 0
  30422. for {
  30423. if !(i < int32(31)) {
  30424. break
  30425. }
  30426. v3 = string1
  30427. string1++
  30428. c = *(*TFcChar8)(unsafe.Pointer(v3))
  30429. if libc.Int32FromUint8(c) == int32('\000') || libc.Int32FromUint8(c) == int32('|') {
  30430. break
  30431. } /* end of this code */
  30432. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  30433. goto _2
  30434. _2:
  30435. ;
  30436. i++
  30437. }
  30438. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  30439. if !(XIA__FcLangSetAdd(tls, ls, bp) != 0) {
  30440. goto bail1
  30441. }
  30442. if libc.Int32FromUint8(c) == int32('\000') {
  30443. break
  30444. }
  30445. goto _1
  30446. _1:
  30447. }
  30448. return ls
  30449. goto bail1
  30450. bail1:
  30451. ;
  30452. XIA__FcLangSetDestroy(tls, ls)
  30453. goto bail0
  30454. bail0:
  30455. ;
  30456. return uintptr(0)
  30457. return r
  30458. }
  30459. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  30460. var bit, count, i, id int32
  30461. var bits, v3 TFcChar32
  30462. var extra, list, v5 uintptr
  30463. var first TFcBool
  30464. var v1 uint32
  30465. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  30466. first = int32(m_FcTrue)
  30467. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  30468. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  30469. } else {
  30470. v1 = libc.Uint32FromInt32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  30471. }
  30472. count = libc.Int32FromUint32(v1)
  30473. i = 0
  30474. for {
  30475. if !(i < count) {
  30476. break
  30477. }
  30478. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  30479. bits = v3
  30480. if v3 != 0 {
  30481. bit = 0
  30482. for {
  30483. if !(bit <= int32(31)) {
  30484. break
  30485. }
  30486. if bits&(uint32(1)<<bit) != 0 {
  30487. id = i<<int32(5) | bit
  30488. if !(first != 0) {
  30489. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  30490. return m_FcFalse
  30491. }
  30492. }
  30493. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(id))))*40) != 0) {
  30494. return m_FcFalse
  30495. }
  30496. first = m_FcFalse
  30497. }
  30498. goto _4
  30499. _4:
  30500. ;
  30501. bit++
  30502. }
  30503. }
  30504. goto _2
  30505. _2:
  30506. ;
  30507. i++
  30508. }
  30509. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30510. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30511. if !(list != 0) {
  30512. return m_FcFalse
  30513. }
  30514. for {
  30515. v5 = XIA__FcStrListNext(tls, list)
  30516. extra = v5
  30517. if !(v5 != 0) {
  30518. break
  30519. }
  30520. if !(first != 0) {
  30521. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  30522. XIA__FcStrListDone(tls, list)
  30523. return m_FcFalse
  30524. }
  30525. }
  30526. if !(XFcStrBufString(tls, buf, extra) != 0) {
  30527. XIA__FcStrListDone(tls, list)
  30528. return m_FcFalse
  30529. }
  30530. first = m_FcFalse
  30531. }
  30532. XIA__FcStrListDone(tls, list)
  30533. }
  30534. return int32(m_FcTrue)
  30535. }
  30536. func XIA__FcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  30537. var count, i, v2 int32
  30538. var v1 uint32
  30539. _, _, _, _ = count, i, v1, v2
  30540. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30541. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30542. } else {
  30543. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30544. }
  30545. count = libc.Int32FromUint32(v1)
  30546. if int32(m_NUM_LANG_SET_MAP) < count {
  30547. v2 = int32(m_NUM_LANG_SET_MAP)
  30548. } else {
  30549. v2 = count
  30550. }
  30551. count = v2
  30552. i = 0
  30553. for {
  30554. if !(i < count) {
  30555. break
  30556. }
  30557. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  30558. return m_FcFalse
  30559. }
  30560. goto _3
  30561. _3:
  30562. ;
  30563. i++
  30564. }
  30565. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  30566. return int32(m_FcTrue)
  30567. }
  30568. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30569. return XIA__FcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30570. }
  30571. return m_FcFalse
  30572. }
  30573. var XFcLangSetEqual = XIA__FcLangSetEqual
  30574. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  30575. var extra, list, v3 uintptr
  30576. var i, id int32
  30577. _, _, _, _, _ = extra, i, id, list, v3
  30578. id = _FcLangSetIndex(tls, lang)
  30579. if id < 0 {
  30580. id = -id - int32(1)
  30581. } else {
  30582. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(id)) != 0 {
  30583. return int32(m_FcTrue)
  30584. }
  30585. }
  30586. /*
  30587. * search up and down among equal languages for a match
  30588. */
  30589. i = id - int32(1)
  30590. for {
  30591. if !(i >= 0) {
  30592. break
  30593. }
  30594. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  30595. break
  30596. }
  30597. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  30598. return int32(m_FcTrue)
  30599. }
  30600. goto _1
  30601. _1:
  30602. ;
  30603. i--
  30604. }
  30605. i = id
  30606. for {
  30607. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30608. break
  30609. }
  30610. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  30611. break
  30612. }
  30613. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  30614. return int32(m_FcTrue)
  30615. }
  30616. goto _2
  30617. _2:
  30618. ;
  30619. i++
  30620. }
  30621. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30622. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30623. if list != 0 {
  30624. for {
  30625. v3 = XIA__FcStrListNext(tls, list)
  30626. extra = v3
  30627. if !(v3 != 0) {
  30628. break
  30629. }
  30630. if _FcLangContains(tls, extra, lang) != 0 {
  30631. break
  30632. }
  30633. }
  30634. XIA__FcStrListDone(tls, list)
  30635. if extra != 0 {
  30636. return int32(m_FcTrue)
  30637. }
  30638. }
  30639. }
  30640. return m_FcFalse
  30641. }
  30642. // C documentation
  30643. //
  30644. // /*
  30645. // * return FcTrue if lsa contains every language in lsb
  30646. // */
  30647. func XIA__FcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  30648. bp := tls.Alloc(16)
  30649. defer tls.Free(16)
  30650. var count, i, j, v2 int32
  30651. var extra, list, v5 uintptr
  30652. var missing TFcChar32
  30653. var v1 uint32
  30654. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  30655. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30656. libc.Xprintf(tls, __ccgo_ts+5713, 0)
  30657. XFcLangSetPrint(tls, lsa)
  30658. libc.Xprintf(tls, __ccgo_ts+5724, 0)
  30659. XFcLangSetPrint(tls, lsb)
  30660. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  30661. }
  30662. /*
  30663. * check bitmaps for missing language support
  30664. */
  30665. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  30666. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  30667. } else {
  30668. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  30669. }
  30670. count = libc.Int32FromUint32(v1)
  30671. if int32(m_NUM_LANG_SET_MAP) < count {
  30672. v2 = int32(m_NUM_LANG_SET_MAP)
  30673. } else {
  30674. v2 = count
  30675. }
  30676. count = v2
  30677. i = 0
  30678. for {
  30679. if !(i < count) {
  30680. break
  30681. }
  30682. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  30683. if missing != 0 {
  30684. j = 0
  30685. for {
  30686. if !(j < int32(32)) {
  30687. break
  30688. }
  30689. if missing&(uint32(1)<<j) != 0 {
  30690. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(i*int32(32)+j))))*40) != 0) {
  30691. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30692. libc.Xprintf(tls, __ccgo_ts+5735, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41076 + uintptr(i*int32(32)+j))))*40))
  30693. }
  30694. return m_FcFalse
  30695. }
  30696. }
  30697. goto _4
  30698. _4:
  30699. ;
  30700. j++
  30701. }
  30702. }
  30703. goto _3
  30704. _3:
  30705. ;
  30706. i++
  30707. }
  30708. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  30709. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  30710. if list != 0 {
  30711. for {
  30712. v5 = XIA__FcStrListNext(tls, list)
  30713. extra = v5
  30714. if !(v5 != 0) {
  30715. break
  30716. }
  30717. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  30718. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  30719. libc.Xprintf(tls, __ccgo_ts+5755, libc.VaList(bp+8, extra))
  30720. }
  30721. break
  30722. }
  30723. }
  30724. XIA__FcStrListDone(tls, list)
  30725. if extra != 0 {
  30726. return m_FcFalse
  30727. }
  30728. }
  30729. }
  30730. return int32(m_FcTrue)
  30731. }
  30732. var XFcLangSetContains = XIA__FcLangSetContains
  30733. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  30734. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  30735. return m_FcFalse
  30736. }
  30737. return int32(m_FcTrue)
  30738. }
  30739. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  30740. var l_serialize uintptr
  30741. var v1 uint64
  30742. _, _ = l_serialize, v1
  30743. l_serialize = XFcSerializePtr(tls, serialize, l)
  30744. if !(l_serialize != 0) {
  30745. return libc.UintptrFromInt32(0)
  30746. }
  30747. libc.Xmemset(tls, l_serialize+12, int32('\000'), uint64(32))
  30748. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  30749. v1 = libc.Uint64FromInt64(32)
  30750. } else {
  30751. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  30752. }
  30753. libc.Xmemcpy(tls, l_serialize+12, l+12, v1)
  30754. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  30755. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  30756. return l_serialize
  30757. }
  30758. func XIA__FcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  30759. var extra, langs, list, v2 uintptr
  30760. var i int32
  30761. _, _, _, _, _ = extra, i, langs, list, v2
  30762. langs = XIA__FcStrSetCreate(tls)
  30763. if !(langs != 0) {
  30764. return uintptr(0)
  30765. }
  30766. i = 0
  30767. for {
  30768. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  30769. break
  30770. }
  30771. if _FcLangSetBitGet(tls, ls, libc.Uint32FromInt32(i)) != 0 {
  30772. XIA__FcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  30773. }
  30774. goto _1
  30775. _1:
  30776. ;
  30777. i++
  30778. }
  30779. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  30780. list = XIA__FcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  30781. if list != 0 {
  30782. for {
  30783. v2 = XIA__FcStrListNext(tls, list)
  30784. extra = v2
  30785. if !(v2 != 0) {
  30786. break
  30787. }
  30788. XIA__FcStrSetAdd(tls, langs, extra)
  30789. }
  30790. XIA__FcStrListDone(tls, list)
  30791. }
  30792. }
  30793. return langs
  30794. }
  30795. var XFcLangSetGetLangs = XIA__FcLangSetGetLangs
  30796. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  30797. var langset, set, sl, str, v1 uintptr
  30798. _, _, _, _, _ = langset, set, sl, str, v1
  30799. langset = XIA__FcLangSetCopy(tls, a)
  30800. set = XIA__FcLangSetGetLangs(tls, b)
  30801. sl = XIA__FcStrListCreate(tls, set)
  30802. XIA__FcStrSetDestroy(tls, set)
  30803. for {
  30804. v1 = XIA__FcStrListNext(tls, sl)
  30805. str = v1
  30806. if !(v1 != 0) {
  30807. break
  30808. }
  30809. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  30810. }
  30811. XIA__FcStrListDone(tls, sl)
  30812. return langset
  30813. }
  30814. func XIA__FcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  30815. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetAdd))
  30816. }
  30817. var XFcLangSetUnion = XIA__FcLangSetUnion
  30818. func XIA__FcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  30819. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XIA__FcLangSetDel))
  30820. }
  30821. var XFcLangSetSubtract = XIA__FcLangSetSubtract
  30822. const m_FC_LIST_HASH_SIZE = 4099
  30823. func XIA__FcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  30824. var os uintptr
  30825. _ = os
  30826. os = libc.Xmalloc(tls, uint64(16))
  30827. if !(os != 0) {
  30828. return uintptr(0)
  30829. }
  30830. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  30831. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  30832. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  30833. return os
  30834. }
  30835. var XFcObjectSetCreate = XIA__FcObjectSetCreate
  30836. func XIA__FcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  30837. var c, high, low, mid, s int32
  30838. var objects uintptr
  30839. _, _, _, _, _, _ = c, high, low, mid, objects, s
  30840. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  30841. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  30842. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  30843. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, libc.Uint64FromInt32(s)*uint64(8))
  30844. } else {
  30845. objects = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(8))
  30846. }
  30847. if !(objects != 0) {
  30848. return m_FcFalse
  30849. }
  30850. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  30851. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  30852. }
  30853. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  30854. low = 0
  30855. mid = 0
  30856. c = int32(1)
  30857. object = libc.Xstrdup(tls, object)
  30858. for low <= high {
  30859. mid = (low + high) >> int32(1)
  30860. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  30861. if c == 0 {
  30862. libc.Xfree(tls, object)
  30863. return int32(m_FcTrue)
  30864. }
  30865. if c < 0 {
  30866. low = mid + int32(1)
  30867. } else {
  30868. high = mid - int32(1)
  30869. }
  30870. }
  30871. if c < 0 {
  30872. mid++
  30873. }
  30874. libc.Xmemmove(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))
  30875. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  30876. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  30877. return int32(m_FcTrue)
  30878. }
  30879. var XFcObjectSetAdd = XIA__FcObjectSetAdd
  30880. func XIA__FcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  30881. var i int32
  30882. _ = i
  30883. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  30884. i = 0
  30885. for {
  30886. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  30887. break
  30888. }
  30889. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  30890. goto _1
  30891. _1:
  30892. ;
  30893. i++
  30894. }
  30895. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  30896. }
  30897. libc.Xfree(tls, os)
  30898. }
  30899. var XFcObjectSetDestroy = XIA__FcObjectSetDestroy
  30900. func XIA__FcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  30901. var __ob__, __os__, ret uintptr
  30902. _, _, _ = __ob__, __os__, ret
  30903. ret = uintptr(0)
  30904. __os__ = XIA__FcObjectSetCreate(tls)
  30905. if !(__os__ != 0) {
  30906. goto _FcObjectSetVapBuild_bail0
  30907. }
  30908. __ob__ = first
  30909. for __ob__ != 0 {
  30910. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  30911. goto _FcObjectSetVapBuild_bail1
  30912. }
  30913. __ob__ = libc.VaUintptr(&va)
  30914. }
  30915. ret = __os__
  30916. goto _FcObjectSetVapBuild_bail1
  30917. _FcObjectSetVapBuild_bail1:
  30918. ;
  30919. if !(ret != 0) && __os__ != 0 {
  30920. XIA__FcObjectSetDestroy(tls, __os__)
  30921. }
  30922. goto _FcObjectSetVapBuild_bail0
  30923. _FcObjectSetVapBuild_bail0:
  30924. ;
  30925. return ret
  30926. }
  30927. var XFcObjectSetVaBuild = XIA__FcObjectSetVaBuild
  30928. func XIA__FcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  30929. var __ob__, __os__, os uintptr
  30930. var va Tva_list
  30931. _, _, _, _ = __ob__, __os__, os, va
  30932. va = va1
  30933. os = uintptr(0)
  30934. __os__ = XIA__FcObjectSetCreate(tls)
  30935. if !(__os__ != 0) {
  30936. goto _FcObjectSetVapBuild_bail0
  30937. }
  30938. __ob__ = first
  30939. for __ob__ != 0 {
  30940. if !(XIA__FcObjectSetAdd(tls, __os__, __ob__) != 0) {
  30941. goto _FcObjectSetVapBuild_bail1
  30942. }
  30943. __ob__ = libc.VaUintptr(&va)
  30944. }
  30945. os = __os__
  30946. goto _FcObjectSetVapBuild_bail1
  30947. _FcObjectSetVapBuild_bail1:
  30948. ;
  30949. if !(os != 0) && __os__ != 0 {
  30950. XIA__FcObjectSetDestroy(tls, __os__)
  30951. }
  30952. goto _FcObjectSetVapBuild_bail0
  30953. _FcObjectSetVapBuild_bail0:
  30954. ;
  30955. _ = va
  30956. return os
  30957. }
  30958. var XFcObjectSetBuild = XIA__FcObjectSetBuild
  30959. // C documentation
  30960. //
  30961. // /*
  30962. // * Font must have a containing value for every value in the pattern
  30963. // */
  30964. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  30965. /* font */
  30966. var fnt, pat TFcValueListPtr
  30967. var v3, v4 uintptr
  30968. _, _, _, _ = fnt, pat, v3, v4
  30969. pat = patOrig
  30970. for {
  30971. if !(pat != libc.UintptrFromInt32(0)) {
  30972. break
  30973. }
  30974. fnt = fntOrig
  30975. for {
  30976. if !(fnt != libc.UintptrFromInt32(0)) {
  30977. break
  30978. }
  30979. /*
  30980. * make sure the font 'contains' the pattern.
  30981. * (OpListing is OpContains except for strings
  30982. * where it requires an exact match)
  30983. */
  30984. if XFcConfigCompareValue(tls, fnt+8, libc.Uint32FromInt32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  30985. break
  30986. }
  30987. goto _2
  30988. _2:
  30989. ;
  30990. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  30991. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  30992. } else {
  30993. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  30994. }
  30995. fnt = v3
  30996. }
  30997. if fnt == libc.UintptrFromInt32(0) {
  30998. return m_FcFalse
  30999. }
  31000. goto _1
  31001. _1:
  31002. ;
  31003. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  31004. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31005. } else {
  31006. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  31007. }
  31008. pat = v4
  31009. }
  31010. return int32(m_FcTrue)
  31011. }
  31012. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  31013. var v1, v2 TFcValueListPtr
  31014. var v3, v4, v7, v8 uintptr
  31015. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  31016. v1 = v1orig
  31017. for {
  31018. if !(v1 != libc.UintptrFromInt32(0)) {
  31019. break
  31020. }
  31021. v2 = v2orig
  31022. for {
  31023. if !(v2 != libc.UintptrFromInt32(0)) {
  31024. break
  31025. }
  31026. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  31027. break
  31028. }
  31029. goto _2
  31030. _2:
  31031. ;
  31032. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  31033. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31034. } else {
  31035. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  31036. }
  31037. v2 = v3
  31038. }
  31039. if v2 == libc.UintptrFromInt32(0) {
  31040. return m_FcFalse
  31041. }
  31042. goto _1
  31043. _1:
  31044. ;
  31045. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  31046. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31047. } else {
  31048. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  31049. }
  31050. v1 = v4
  31051. }
  31052. v2 = v2orig
  31053. for {
  31054. if !(v2 != libc.UintptrFromInt32(0)) {
  31055. break
  31056. }
  31057. v1 = v1orig
  31058. for {
  31059. if !(v1 != libc.UintptrFromInt32(0)) {
  31060. break
  31061. }
  31062. if XIA__FcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  31063. break
  31064. }
  31065. goto _6
  31066. _6:
  31067. ;
  31068. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  31069. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31070. } else {
  31071. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  31072. }
  31073. v1 = v7
  31074. }
  31075. if v1 == libc.UintptrFromInt32(0) {
  31076. return m_FcFalse
  31077. }
  31078. goto _5
  31079. _5:
  31080. ;
  31081. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  31082. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31083. } else {
  31084. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  31085. }
  31086. v2 = v8
  31087. }
  31088. return int32(m_FcTrue)
  31089. }
  31090. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  31091. var e1, e2, v2, v3 uintptr
  31092. var i int32
  31093. _, _, _, _, _ = e1, e2, i, v2, v3
  31094. i = 0
  31095. for {
  31096. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31097. break
  31098. }
  31099. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  31100. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  31101. if !(e1 != 0) && !(e2 != 0) {
  31102. goto _1
  31103. }
  31104. if !(e1 != 0) || !(e2 != 0) {
  31105. return m_FcFalse
  31106. }
  31107. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  31108. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31109. } else {
  31110. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  31111. }
  31112. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  31113. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31114. } else {
  31115. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  31116. }
  31117. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  31118. return m_FcFalse
  31119. }
  31120. goto _1
  31121. _1:
  31122. ;
  31123. i++
  31124. }
  31125. return int32(m_FcTrue)
  31126. }
  31127. /*
  31128. * FcTrue iff all objects in "p" match "font"
  31129. */
  31130. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  31131. var fe, pe, v2, v3 uintptr
  31132. var i int32
  31133. _, _, _, _, _ = fe, i, pe, v2, v3
  31134. if !(p != 0) {
  31135. return m_FcFalse
  31136. }
  31137. i = 0
  31138. for {
  31139. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  31140. break
  31141. }
  31142. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  31143. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  31144. /* "namelang" object is the alias object to change "familylang",
  31145. * "stylelang" and "fullnamelang" object alltogether. it won't be
  31146. * available on the font pattern. so checking its availability
  31147. * causes no results. we should ignore it here.
  31148. */
  31149. goto _1
  31150. }
  31151. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  31152. if !(fe != 0) {
  31153. return m_FcFalse
  31154. }
  31155. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  31156. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31157. } else {
  31158. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  31159. }
  31160. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  31161. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31162. } else {
  31163. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  31164. }
  31165. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  31166. return m_FcFalse
  31167. }
  31168. goto _1
  31169. _1:
  31170. ;
  31171. i++
  31172. }
  31173. return int32(m_FcTrue)
  31174. }
  31175. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  31176. var xx, xy, yx, yy int32
  31177. _, _, _, _ = xx, xy, yx, yy
  31178. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  31179. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  31180. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  31181. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  31182. return libc.Uint32FromInt32(xx) ^ libc.Uint32FromInt32(xy) ^ libc.Uint32FromInt32(yx) ^ libc.Uint32FromInt32(yy)
  31183. }
  31184. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  31185. bp := tls.Alloc(16)
  31186. defer tls.Free(16)
  31187. var _ /* v at bp+0 */ TFcValue
  31188. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31189. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  31190. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31191. case int32(_FcTypeUnknown):
  31192. fallthrough
  31193. case int32(_FcTypeVoid):
  31194. return uint32(0)
  31195. case int32(_FcTypeInteger):
  31196. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(bp + 8)))
  31197. case int32(_FcTypeDouble):
  31198. return libc.Uint32FromInt32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  31199. case int32(_FcTypeString):
  31200. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31201. case int32(_FcTypeBool):
  31202. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  31203. case int32(_FcTypeMatrix):
  31204. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31205. case int32(_FcTypeCharSet):
  31206. return XIA__FcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31207. case int32(_FcTypeFTFace):
  31208. return libc.Uint32FromInt64(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  31209. case int32(_FcTypeLangSet):
  31210. return XIA__FcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31211. case int32(_FcTypeRange):
  31212. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  31213. }
  31214. return uint32(0)
  31215. }
  31216. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  31217. var h TFcChar32
  31218. var v1 uintptr
  31219. _, _ = h, v1
  31220. h = uint32(0)
  31221. for list != libc.UintptrFromInt32(0) {
  31222. h = h ^ _FcListValueHash(tls, list+8)
  31223. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  31224. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31225. } else {
  31226. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  31227. }
  31228. list = v1
  31229. }
  31230. return h
  31231. }
  31232. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  31233. var e, v2 uintptr
  31234. var h TFcChar32
  31235. var n int32
  31236. _, _, _, _ = e, h, n, v2
  31237. h = uint32(0)
  31238. n = 0
  31239. for {
  31240. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31241. break
  31242. }
  31243. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  31244. if e != 0 {
  31245. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31246. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31247. } else {
  31248. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31249. }
  31250. h = h ^ _FcListValueListHash(tls, v2)
  31251. }
  31252. goto _1
  31253. _1:
  31254. ;
  31255. n++
  31256. }
  31257. return h
  31258. }
  31259. type TFcListBucket = struct {
  31260. Fnext uintptr
  31261. Fhash TFcChar32
  31262. Fpattern uintptr
  31263. }
  31264. type T_FcListBucket = TFcListBucket
  31265. type TFcListHashTable = struct {
  31266. Fentries int32
  31267. Fbuckets [4099]uintptr
  31268. }
  31269. type T_FcListHashTable = TFcListHashTable
  31270. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  31271. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  31272. libc.Xmemset(tls, table+8, int32('\000'), uint64(32792))
  31273. }
  31274. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  31275. var bucket, next uintptr
  31276. var i int32
  31277. _, _, _ = bucket, i, next
  31278. i = 0
  31279. for {
  31280. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  31281. break
  31282. }
  31283. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  31284. for {
  31285. if !(bucket != 0) {
  31286. break
  31287. }
  31288. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  31289. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  31290. libc.Xfree(tls, bucket)
  31291. goto _2
  31292. _2:
  31293. ;
  31294. bucket = next
  31295. }
  31296. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  31297. goto _1
  31298. _1:
  31299. ;
  31300. i++
  31301. }
  31302. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  31303. }
  31304. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  31305. bp := tls.Alloc(16)
  31306. defer tls.Free(16)
  31307. var defidx, i, idx, v4, v5 int32
  31308. var e, v2, v3 uintptr
  31309. var res TFcLangResult
  31310. var v TFcValueListPtr
  31311. var _ /* value at bp+0 */ TFcValue
  31312. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  31313. e = XFcPatternObjectFindElt(tls, font, object)
  31314. idx = -int32(1)
  31315. defidx = -int32(1)
  31316. if e != 0 {
  31317. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31318. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31319. } else {
  31320. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31321. }
  31322. v = v2
  31323. i = libc.Int32FromInt32(0)
  31324. for {
  31325. if !(v != 0) {
  31326. break
  31327. }
  31328. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  31329. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  31330. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  31331. if res == int32(_FcLangEqual) {
  31332. return i
  31333. }
  31334. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  31335. idx = i
  31336. }
  31337. if defidx < 0 {
  31338. /* workaround for fonts that has non-English value
  31339. * at the head of values.
  31340. */
  31341. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2465)
  31342. if res == int32(_FcLangEqual) {
  31343. defidx = i
  31344. }
  31345. }
  31346. }
  31347. goto _1
  31348. _1:
  31349. ;
  31350. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  31351. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31352. } else {
  31353. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  31354. }
  31355. v = v3
  31356. i++
  31357. }
  31358. }
  31359. if idx > 0 {
  31360. v4 = idx
  31361. } else {
  31362. if defidx > 0 {
  31363. v5 = defidx
  31364. } else {
  31365. v5 = 0
  31366. }
  31367. v4 = v5
  31368. }
  31369. return v4
  31370. }
  31371. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  31372. var bucket, e, prev, v2, v5, v6 uintptr
  31373. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  31374. var hash TFcChar32
  31375. var v TFcValueListPtr
  31376. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  31377. familyidx = -int32(1)
  31378. fullnameidx = -int32(1)
  31379. styleidx = -int32(1)
  31380. defidx = 0
  31381. hash = _FcListPatternHash(tls, font, os)
  31382. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  31383. for {
  31384. v2 = *(*uintptr)(unsafe.Pointer(prev))
  31385. bucket = v2
  31386. if !(v2 != 0) {
  31387. break
  31388. }
  31389. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  31390. return int32(m_FcTrue)
  31391. }
  31392. goto _1
  31393. _1:
  31394. ;
  31395. prev = bucket
  31396. }
  31397. bucket = libc.Xmalloc(tls, uint64(24))
  31398. if !(bucket != 0) {
  31399. goto bail0
  31400. }
  31401. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  31402. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  31403. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XIA__FcPatternCreate(tls)
  31404. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  31405. goto bail1
  31406. }
  31407. o = 0
  31408. for {
  31409. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  31410. break
  31411. }
  31412. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4049) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4056) != 0) {
  31413. if familyidx < 0 {
  31414. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  31415. }
  31416. defidx = familyidx
  31417. } else {
  31418. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4107) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4116) != 0) {
  31419. if fullnameidx < 0 {
  31420. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  31421. }
  31422. defidx = fullnameidx
  31423. } else {
  31424. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4170) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4176) != 0) {
  31425. if styleidx < 0 {
  31426. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  31427. }
  31428. defidx = styleidx
  31429. } else {
  31430. defidx = 0
  31431. }
  31432. }
  31433. }
  31434. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  31435. if e != 0 {
  31436. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  31437. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  31438. } else {
  31439. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  31440. }
  31441. v = v5
  31442. idx = libc.Int32FromInt32(0)
  31443. for {
  31444. if !(v != 0) {
  31445. break
  31446. }
  31447. if !(XIA__FcPatternAdd(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) {
  31448. goto bail2
  31449. }
  31450. goto _4
  31451. _4:
  31452. ;
  31453. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  31454. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  31455. } else {
  31456. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  31457. }
  31458. v = v6
  31459. idx++
  31460. }
  31461. }
  31462. goto _3
  31463. _3:
  31464. ;
  31465. o++
  31466. }
  31467. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  31468. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  31469. return int32(m_FcTrue)
  31470. goto bail2
  31471. bail2:
  31472. ;
  31473. XIA__FcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  31474. goto bail1
  31475. bail1:
  31476. ;
  31477. libc.Xfree(tls, bucket)
  31478. goto bail0
  31479. bail0:
  31480. ;
  31481. return m_FcFalse
  31482. return r
  31483. }
  31484. func XIA__FcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  31485. bp := tls.Alloc(32816)
  31486. defer tls.Free(32816)
  31487. var bucket, ret, s, v4 uintptr
  31488. var destroy_os, f, i, set int32
  31489. var _ /* lang at bp+32800 */ uintptr
  31490. var _ /* table at bp+0 */ TFcListHashTable
  31491. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  31492. destroy_os = 0
  31493. if !(config != 0) {
  31494. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  31495. goto bail0
  31496. }
  31497. config = XIA__FcConfigGetCurrent(tls)
  31498. if !(config != 0) {
  31499. goto bail0
  31500. }
  31501. }
  31502. _FcListHashTableInit(tls, bp)
  31503. if !(os != 0) {
  31504. os = XFcObjectGetSet(tls)
  31505. destroy_os = int32(1)
  31506. }
  31507. /*
  31508. * Walk all available fonts adding those that
  31509. * match to the hash table
  31510. */
  31511. set = 0
  31512. for {
  31513. if !(set < nsets) {
  31514. break
  31515. }
  31516. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  31517. if !(s != 0) {
  31518. goto _1
  31519. }
  31520. f = 0
  31521. for {
  31522. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  31523. break
  31524. }
  31525. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  31526. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  31527. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  31528. }
  31529. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  31530. goto bail1
  31531. }
  31532. }
  31533. goto _2
  31534. _2:
  31535. ;
  31536. f++
  31537. }
  31538. goto _1
  31539. _1:
  31540. ;
  31541. set++
  31542. }
  31543. /*
  31544. * Walk the hash table and build
  31545. * a font set
  31546. */
  31547. ret = XIA__FcFontSetCreate(tls)
  31548. if !(ret != 0) {
  31549. goto bail0
  31550. }
  31551. i = 0
  31552. for {
  31553. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  31554. break
  31555. }
  31556. for {
  31557. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  31558. bucket = v4
  31559. if !(v4 != 0) {
  31560. break
  31561. }
  31562. if !(XIA__FcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  31563. goto bail2
  31564. }
  31565. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  31566. libc.Xfree(tls, bucket)
  31567. }
  31568. goto _3
  31569. _3:
  31570. ;
  31571. i++
  31572. }
  31573. if destroy_os != 0 {
  31574. XIA__FcObjectSetDestroy(tls, os)
  31575. }
  31576. return ret
  31577. goto bail2
  31578. bail2:
  31579. ;
  31580. XIA__FcFontSetDestroy(tls, ret)
  31581. goto bail1
  31582. bail1:
  31583. ;
  31584. _FcListHashTableCleanup(tls, bp)
  31585. goto bail0
  31586. bail0:
  31587. ;
  31588. if destroy_os != 0 {
  31589. XIA__FcObjectSetDestroy(tls, os)
  31590. }
  31591. return uintptr(0)
  31592. }
  31593. var XFcFontSetList = XIA__FcFontSetList
  31594. func XIA__FcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  31595. bp := tls.Alloc(16)
  31596. defer tls.Free(16)
  31597. var nsets, v1, v2 int32
  31598. var _ /* sets at bp+0 */ [2]uintptr
  31599. _, _, _ = nsets, v1, v2
  31600. if !(config != 0) {
  31601. if !(XIA__FcInitBringUptoDate(tls) != 0) {
  31602. return uintptr(0)
  31603. }
  31604. config = XIA__FcConfigGetCurrent(tls)
  31605. if !(config != 0) {
  31606. return uintptr(0)
  31607. }
  31608. }
  31609. nsets = 0
  31610. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  31611. v1 = nsets
  31612. nsets++
  31613. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  31614. }
  31615. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  31616. v2 = nsets
  31617. nsets++
  31618. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  31619. }
  31620. return XIA__FcFontSetList(tls, config, bp, nsets, p, os)
  31621. }
  31622. var XFcFontList = XIA__FcFontList
  31623. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  31624. var v, v1, v2 float64
  31625. _, _, _ = v, v1, v2
  31626. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  31627. case int32(_FcTypeInteger):
  31628. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  31629. case int32(_FcTypeDouble):
  31630. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  31631. default:
  31632. return -libc.Float64FromFloat64(1)
  31633. }
  31634. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  31635. case int32(_FcTypeInteger):
  31636. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  31637. case int32(_FcTypeDouble):
  31638. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  31639. default:
  31640. return -libc.Float64FromFloat64(1)
  31641. }
  31642. v = v2 - v1
  31643. if v < libc.Float64FromInt32(0) {
  31644. v = -v
  31645. }
  31646. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  31647. return v
  31648. }
  31649. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31650. var v11, v21 uintptr
  31651. _, _ = v11, v21
  31652. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31653. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31654. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31655. } else {
  31656. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31657. }
  31658. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31659. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31660. } else {
  31661. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31662. }
  31663. return float64(libc.Bool32(float64(XIA__FcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  31664. }
  31665. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31666. var v1_string, v2_string, v11, v21 uintptr
  31667. var v3, v4 int32
  31668. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  31669. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31670. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31671. } else {
  31672. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31673. }
  31674. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  31675. * families are always FcTypeString. */
  31676. v1_string = v11
  31677. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31678. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31679. } else {
  31680. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31681. }
  31682. v2_string = v21
  31683. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31684. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  31685. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  31686. } else {
  31687. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  31688. }
  31689. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  31690. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  31691. } else {
  31692. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  31693. }
  31694. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  31695. return float64(1)
  31696. }
  31697. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  31698. }
  31699. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31700. var len1 Tsize_t
  31701. var n, v3, v4 int32
  31702. var v1_string, v2_string, v11, v21 uintptr
  31703. _, _, _, _, _, _, _, _ = len1, n, v1_string, v2_string, v11, v21, v3, v4
  31704. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31705. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31706. } else {
  31707. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31708. }
  31709. v1_string = v11
  31710. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31711. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31712. } else {
  31713. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31714. }
  31715. v2_string = v21
  31716. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31717. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  31718. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  31719. } else {
  31720. v3 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  31721. }
  31722. if int32(0101) <= libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  31723. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  31724. } else {
  31725. v4 = libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  31726. }
  31727. if v3 != v4 && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  31728. return float64(1)
  31729. }
  31730. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+5775)
  31731. len1 = libc.Xstrlen(tls, v1_string)
  31732. return float64(len1-libc.Uint64FromInt32(n)) / float64(len1)
  31733. }
  31734. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31735. bp := tls.Alloc(32)
  31736. defer tls.Free(32)
  31737. var result TFcLangResult
  31738. var _ /* value1 at bp+0 */ TFcValue
  31739. var _ /* value2 at bp+16 */ TFcValue
  31740. _ = result
  31741. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31742. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31743. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31744. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31745. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31746. case int32(_FcTypeLangSet):
  31747. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31748. case int32(_FcTypeLangSet):
  31749. result = XIA__FcLangSetCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31750. case int32(_FcTypeString):
  31751. result = XIA__FcLangSetHasLang(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31752. default:
  31753. return -libc.Float64FromFloat64(1)
  31754. }
  31755. case int32(_FcTypeString):
  31756. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31757. case int32(_FcTypeLangSet):
  31758. result = XIA__FcLangSetHasLang(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), *(*uintptr)(unsafe.Pointer(bp + 8)))
  31759. case int32(_FcTypeString):
  31760. result = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  31761. default:
  31762. return -libc.Float64FromFloat64(1)
  31763. }
  31764. default:
  31765. return -libc.Float64FromFloat64(1)
  31766. }
  31767. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31768. switch result {
  31769. case int32(_FcLangEqual):
  31770. return libc.Float64FromInt32(0)
  31771. case int32(_FcLangDifferentCountry):
  31772. return libc.Float64FromInt32(1)
  31773. case int32(_FcLangDifferentLang):
  31774. fallthrough
  31775. default:
  31776. return libc.Float64FromInt32(2)
  31777. }
  31778. return r
  31779. }
  31780. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31781. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  31782. return -libc.Float64FromFloat64(1)
  31783. }
  31784. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  31785. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31786. } else {
  31787. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v1)
  31788. }
  31789. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  31790. }
  31791. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31792. var v11, v21 uintptr
  31793. _, _ = v11, v21
  31794. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  31795. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31796. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31797. } else {
  31798. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31799. }
  31800. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31801. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31802. } else {
  31803. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31804. }
  31805. return float64(XIA__FcCharSetSubtractCount(tls, v11, v21))
  31806. }
  31807. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31808. bp := tls.Alloc(32)
  31809. defer tls.Free(32)
  31810. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  31811. var _ /* value1 at bp+0 */ TFcValue
  31812. var _ /* value2 at bp+16 */ TFcValue
  31813. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  31814. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31815. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31816. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31817. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31818. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31819. case int32(_FcTypeInteger):
  31820. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  31821. e1 = v11
  31822. b1 = v11
  31823. case int32(_FcTypeDouble):
  31824. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  31825. e1 = v21
  31826. b1 = v21
  31827. case int32(_FcTypeRange):
  31828. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  31829. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  31830. default:
  31831. return float64(-libc.Int32FromInt32(1))
  31832. }
  31833. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31834. case int32(_FcTypeInteger):
  31835. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  31836. e2 = v3
  31837. b2 = v3
  31838. case int32(_FcTypeDouble):
  31839. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  31840. e2 = v4
  31841. b2 = v4
  31842. case int32(_FcTypeRange):
  31843. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  31844. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  31845. default:
  31846. return float64(-libc.Int32FromInt32(1))
  31847. }
  31848. if e1 < b2 {
  31849. d = b2
  31850. } else {
  31851. if e2 < b1 {
  31852. d = e2
  31853. } else {
  31854. if b1 > b2 {
  31855. v5 = b1
  31856. } else {
  31857. v5 = b2
  31858. }
  31859. if e1 < e2 {
  31860. v6 = e1
  31861. } else {
  31862. v6 = e2
  31863. }
  31864. d = (v5 + v6) * float64(0.5)
  31865. }
  31866. }
  31867. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  31868. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  31869. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  31870. if e1 < b2 || e2 < b1 {
  31871. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  31872. v7 = libc.Xfabs(tls, b2-e1)
  31873. } else {
  31874. v7 = libc.Xfabs(tls, b1-e2)
  31875. }
  31876. return v7
  31877. } else {
  31878. return float64(0)
  31879. }
  31880. return r
  31881. }
  31882. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31883. bp := tls.Alloc(32)
  31884. defer tls.Free(32)
  31885. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  31886. var _ /* value1 at bp+0 */ TFcValue
  31887. var _ /* value2 at bp+16 */ TFcValue
  31888. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  31889. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  31890. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  31891. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  31892. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  31893. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  31894. case int32(_FcTypeInteger):
  31895. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  31896. e1 = v11
  31897. b1 = v11
  31898. case int32(_FcTypeDouble):
  31899. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  31900. e1 = v21
  31901. b1 = v21
  31902. case int32(_FcTypeRange):
  31903. libc.Xabort(tls)
  31904. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  31905. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  31906. default:
  31907. return float64(-libc.Int32FromInt32(1))
  31908. }
  31909. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  31910. case int32(_FcTypeInteger):
  31911. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  31912. e2 = v3
  31913. b2 = v3
  31914. case int32(_FcTypeDouble):
  31915. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  31916. e2 = v4
  31917. b2 = v4
  31918. case int32(_FcTypeRange):
  31919. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  31920. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  31921. default:
  31922. return float64(-libc.Int32FromInt32(1))
  31923. }
  31924. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  31925. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  31926. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  31927. if e1 < b2 || e2 < b1 {
  31928. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  31929. v5 = libc.Xfabs(tls, b2-e1)
  31930. } else {
  31931. v5 = libc.Xfabs(tls, b1-e2)
  31932. }
  31933. return v5
  31934. }
  31935. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  31936. return float64(1e-15)
  31937. } else {
  31938. return float64(0)
  31939. }
  31940. return r
  31941. }
  31942. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  31943. var s1, s2, v11, v21 uintptr
  31944. _, _, _, _ = s1, s2, v11, v21
  31945. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  31946. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  31947. } else {
  31948. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  31949. }
  31950. s1 = v11
  31951. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  31952. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  31953. } else {
  31954. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  31955. }
  31956. s2 = v21
  31957. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  31958. if XIA__FcStrCmp(tls, s1, s2) == 0 {
  31959. return float64(0)
  31960. } else {
  31961. if XIA__FcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  31962. return float64(1)
  31963. } else {
  31964. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  31965. return float64(2)
  31966. } else {
  31967. return float64(3)
  31968. }
  31969. }
  31970. }
  31971. return r
  31972. }
  31973. /* Define priorities to -1 for objects that don't have a compare function. */
  31974. type TFcMatcherPriorityDummy = int32
  31975. /* Define priorities to -1 for objects that don't have a compare function. */
  31976. type __FcMatcherPriorityDummy = int32
  31977. const _PRI_FAMILYLANG_STRONG = -1
  31978. const _PRI_FAMILYLANG_WEAK = -1
  31979. const _PRI_STYLELANG_STRONG = -1
  31980. const _PRI_STYLELANG_WEAK = -1
  31981. const _PRI_FULLNAME_STRONG = -1
  31982. const _PRI_FULLNAME_WEAK = -1
  31983. const _PRI_FULLNAMELANG_STRONG = -1
  31984. const _PRI_FULLNAMELANG_WEAK = -1
  31985. const _PRI_ASPECT_STRONG = -1
  31986. const _PRI_ASPECT_WEAK = -1
  31987. const _PRI_HINT_STYLE_STRONG = -1
  31988. const _PRI_HINT_STYLE_WEAK = -1
  31989. const _PRI_HINTING_STRONG = -1
  31990. const _PRI_HINTING_WEAK = -1
  31991. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  31992. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  31993. const _PRI_AUTOHINT_STRONG = -1
  31994. const _PRI_AUTOHINT_WEAK = -1
  31995. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  31996. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  31997. const _PRI_INDEX_STRONG = -1
  31998. const _PRI_INDEX_WEAK = -1
  31999. const _PRI_DPI_STRONG = -1
  32000. const _PRI_DPI_WEAK = -1
  32001. const _PRI_RGBA_STRONG = -1
  32002. const _PRI_RGBA_WEAK = -1
  32003. const _PRI_SCALE_STRONG = -1
  32004. const _PRI_SCALE_WEAK = -1
  32005. const _PRI_MINSPACE_STRONG = -1
  32006. const _PRI_MINSPACE_WEAK = -1
  32007. const _PRI_CHARWIDTH_STRONG = -1
  32008. const _PRI_CHARWIDTH_WEAK = -1
  32009. const _PRI_CHAR_HEIGHT_STRONG = -1
  32010. const _PRI_CHAR_HEIGHT_WEAK = -1
  32011. const _PRI_MATRIX_STRONG = -1
  32012. const _PRI_MATRIX_WEAK = -1
  32013. const _PRI_CAPABILITY_STRONG = -1
  32014. const _PRI_CAPABILITY_WEAK = -1
  32015. const _PRI_EMBOLDEN_STRONG = -1
  32016. const _PRI_EMBOLDEN_WEAK = -1
  32017. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  32018. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  32019. const _PRI_LCD_FILTER_STRONG = -1
  32020. const _PRI_LCD_FILTER_WEAK = -1
  32021. const _PRI_NAMELANG_STRONG = -1
  32022. const _PRI_NAMELANG_WEAK = -1
  32023. const _PRI_FONT_FEATURES_STRONG = -1
  32024. const _PRI_FONT_FEATURES_WEAK = -1
  32025. const _PRI_PRGNAME_STRONG = -1
  32026. const _PRI_PRGNAME_WEAK = -1
  32027. const _PRI_HASH_STRONG = -1
  32028. const _PRI_HASH_WEAK = -1
  32029. const _PRI_FONT_VARIATIONS_STRONG = -1
  32030. const _PRI_FONT_VARIATIONS_WEAK = -1
  32031. /* Canonical match priority order. */
  32032. type TFcMatcherPriority = int32
  32033. /* Canonical match priority order. */
  32034. type __FcMatcherPriority = int32
  32035. const _PRI_FILE = 0
  32036. const _PRI_FILE_STRONG = 0
  32037. const _PRI_FILE_WEAK = 0
  32038. const _PRI_FONTFORMAT = 1
  32039. const _PRI_FONTFORMAT_STRONG = 1
  32040. const _PRI_FONTFORMAT_WEAK = 1
  32041. const _PRI_VARIABLE = 2
  32042. const _PRI_VARIABLE_STRONG = 2
  32043. const _PRI_VARIABLE_WEAK = 2
  32044. const _PRI_SCALABLE = 3
  32045. const _PRI_SCALABLE_STRONG = 3
  32046. const _PRI_SCALABLE_WEAK = 3
  32047. const _PRI_COLOR = 4
  32048. const _PRI_COLOR_STRONG = 4
  32049. const _PRI_COLOR_WEAK = 4
  32050. const _PRI_FOUNDRY = 5
  32051. const _PRI_FOUNDRY_STRONG = 5
  32052. const _PRI_FOUNDRY_WEAK = 5
  32053. const _PRI_CHARSET = 6
  32054. const _PRI_CHARSET_STRONG = 6
  32055. const _PRI_CHARSET_WEAK = 6
  32056. const _PRI_FAMILY_STRONG = 7
  32057. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  32058. const _PRI_LANG = 9
  32059. const _PRI_LANG_STRONG = 9
  32060. const _PRI_LANG_WEAK = 9
  32061. const _PRI_FAMILY_WEAK = 10
  32062. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  32063. const _PRI_SYMBOL = 12
  32064. const _PRI_SYMBOL_STRONG = 12
  32065. const _PRI_SYMBOL_WEAK = 12
  32066. const _PRI_SPACING = 13
  32067. const _PRI_SPACING_STRONG = 13
  32068. const _PRI_SPACING_WEAK = 13
  32069. const _PRI_SIZE = 14
  32070. const _PRI_SIZE_STRONG = 14
  32071. const _PRI_SIZE_WEAK = 14
  32072. const _PRI_PIXEL_SIZE = 15
  32073. const _PRI_PIXEL_SIZE_STRONG = 15
  32074. const _PRI_PIXEL_SIZE_WEAK = 15
  32075. const _PRI_STYLE = 16
  32076. const _PRI_STYLE_STRONG = 16
  32077. const _PRI_STYLE_WEAK = 16
  32078. const _PRI_SLANT = 17
  32079. const _PRI_SLANT_STRONG = 17
  32080. const _PRI_SLANT_WEAK = 17
  32081. const _PRI_WEIGHT = 18
  32082. const _PRI_WEIGHT_STRONG = 18
  32083. const _PRI_WEIGHT_WEAK = 18
  32084. const _PRI_WIDTH = 19
  32085. const _PRI_WIDTH_STRONG = 19
  32086. const _PRI_WIDTH_WEAK = 19
  32087. const _PRI_DECORATIVE = 20
  32088. const _PRI_DECORATIVE_STRONG = 20
  32089. const _PRI_DECORATIVE_WEAK = 20
  32090. const _PRI_ANTIALIAS = 21
  32091. const _PRI_ANTIALIAS_STRONG = 21
  32092. const _PRI_ANTIALIAS_WEAK = 21
  32093. const _PRI_RASTERIZER = 22
  32094. const _PRI_RASTERIZER_STRONG = 22
  32095. const _PRI_RASTERIZER_WEAK = 22
  32096. const _PRI_OUTLINE = 23
  32097. const _PRI_OUTLINE_STRONG = 23
  32098. const _PRI_OUTLINE_WEAK = 23
  32099. const _PRI_FONTVERSION = 24
  32100. const _PRI_FONTVERSION_STRONG = 24
  32101. const _PRI_FONTVERSION_WEAK = 24
  32102. const _PRI_END = 25
  32103. type TFcMatcher = struct {
  32104. Fobject TFcObject
  32105. Fcompare uintptr
  32106. Fstrong int32
  32107. Fweak int32
  32108. }
  32109. type T_FcMatcher = TFcMatcher
  32110. // C documentation
  32111. //
  32112. // /*
  32113. // * Order is significant, it defines the precedence of
  32114. // * each value, earlier values are more significant than
  32115. // * later values
  32116. // */
  32117. var __FcMatchers = [51]TFcMatcher{
  32118. 0: {
  32119. Fstrong: -int32(1),
  32120. Fweak: -int32(1),
  32121. },
  32122. 1: {
  32123. Fobject: int32(_FC_FAMILY_OBJECT),
  32124. Fstrong: int32(_PRI_FAMILY_STRONG),
  32125. Fweak: int32(_PRI_FAMILY_WEAK),
  32126. },
  32127. 2: {
  32128. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  32129. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  32130. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  32131. },
  32132. 3: {
  32133. Fobject: int32(_FC_STYLE_OBJECT),
  32134. Fstrong: int32(_PRI_STYLE_STRONG),
  32135. Fweak: int32(_PRI_STYLE_WEAK),
  32136. },
  32137. 4: {
  32138. Fobject: int32(_FC_STYLELANG_OBJECT),
  32139. Fstrong: int32(_PRI_STYLELANG_STRONG),
  32140. Fweak: int32(_PRI_STYLELANG_WEAK),
  32141. },
  32142. 5: {
  32143. Fobject: int32(_FC_FULLNAME_OBJECT),
  32144. Fstrong: int32(_PRI_FULLNAME_STRONG),
  32145. Fweak: int32(_PRI_FULLNAME_WEAK),
  32146. },
  32147. 6: {
  32148. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  32149. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  32150. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  32151. },
  32152. 7: {
  32153. Fobject: int32(_FC_SLANT_OBJECT),
  32154. Fstrong: int32(_PRI_SLANT_STRONG),
  32155. Fweak: int32(_PRI_SLANT_WEAK),
  32156. },
  32157. 8: {
  32158. Fobject: int32(_FC_WEIGHT_OBJECT),
  32159. Fstrong: int32(_PRI_WEIGHT_STRONG),
  32160. Fweak: int32(_PRI_WEIGHT_WEAK),
  32161. },
  32162. 9: {
  32163. Fobject: int32(_FC_WIDTH_OBJECT),
  32164. Fstrong: int32(_PRI_WIDTH_STRONG),
  32165. Fweak: int32(_PRI_WIDTH_WEAK),
  32166. },
  32167. 10: {
  32168. Fobject: int32(_FC_SIZE_OBJECT),
  32169. Fstrong: int32(_PRI_SIZE_STRONG),
  32170. Fweak: int32(_PRI_SIZE_WEAK),
  32171. },
  32172. 11: {
  32173. Fobject: int32(_FC_ASPECT_OBJECT),
  32174. Fstrong: int32(_PRI_ASPECT_STRONG),
  32175. Fweak: int32(_PRI_ASPECT_WEAK),
  32176. },
  32177. 12: {
  32178. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  32179. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  32180. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  32181. },
  32182. 13: {
  32183. Fobject: int32(_FC_SPACING_OBJECT),
  32184. Fstrong: int32(_PRI_SPACING_STRONG),
  32185. Fweak: int32(_PRI_SPACING_WEAK),
  32186. },
  32187. 14: {
  32188. Fobject: int32(_FC_FOUNDRY_OBJECT),
  32189. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  32190. Fweak: int32(_PRI_FOUNDRY_WEAK),
  32191. },
  32192. 15: {
  32193. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  32194. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  32195. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  32196. },
  32197. 16: {
  32198. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  32199. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  32200. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  32201. },
  32202. 17: {
  32203. Fobject: int32(_FC_HINTING_OBJECT),
  32204. Fstrong: int32(_PRI_HINTING_STRONG),
  32205. Fweak: int32(_PRI_HINTING_WEAK),
  32206. },
  32207. 18: {
  32208. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  32209. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  32210. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  32211. },
  32212. 19: {
  32213. Fobject: int32(_FC_AUTOHINT_OBJECT),
  32214. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  32215. Fweak: int32(_PRI_AUTOHINT_WEAK),
  32216. },
  32217. 20: {
  32218. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  32219. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  32220. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  32221. },
  32222. 21: {
  32223. Fobject: int32(_FC_FILE_OBJECT),
  32224. },
  32225. 22: {
  32226. Fobject: int32(_FC_INDEX_OBJECT),
  32227. Fstrong: int32(_PRI_INDEX_STRONG),
  32228. Fweak: int32(_PRI_INDEX_WEAK),
  32229. },
  32230. 23: {
  32231. Fobject: int32(_FC_RASTERIZER_OBJECT),
  32232. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  32233. Fweak: int32(_PRI_RASTERIZER_WEAK),
  32234. },
  32235. 24: {
  32236. Fobject: int32(_FC_OUTLINE_OBJECT),
  32237. Fstrong: int32(_PRI_OUTLINE_STRONG),
  32238. Fweak: int32(_PRI_OUTLINE_WEAK),
  32239. },
  32240. 25: {
  32241. Fobject: int32(_FC_SCALABLE_OBJECT),
  32242. Fstrong: int32(_PRI_SCALABLE_STRONG),
  32243. Fweak: int32(_PRI_SCALABLE_WEAK),
  32244. },
  32245. 26: {
  32246. Fobject: int32(_FC_DPI_OBJECT),
  32247. Fstrong: int32(_PRI_DPI_STRONG),
  32248. Fweak: int32(_PRI_DPI_WEAK),
  32249. },
  32250. 27: {
  32251. Fobject: int32(_FC_RGBA_OBJECT),
  32252. Fstrong: int32(_PRI_RGBA_STRONG),
  32253. Fweak: int32(_PRI_RGBA_WEAK),
  32254. },
  32255. 28: {
  32256. Fobject: int32(_FC_SCALE_OBJECT),
  32257. Fstrong: int32(_PRI_SCALE_STRONG),
  32258. Fweak: int32(_PRI_SCALE_WEAK),
  32259. },
  32260. 29: {
  32261. Fobject: int32(_FC_MINSPACE_OBJECT),
  32262. Fstrong: int32(_PRI_MINSPACE_STRONG),
  32263. Fweak: int32(_PRI_MINSPACE_WEAK),
  32264. },
  32265. 30: {
  32266. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  32267. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  32268. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  32269. },
  32270. 31: {
  32271. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  32272. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  32273. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  32274. },
  32275. 32: {
  32276. Fobject: int32(_FC_MATRIX_OBJECT),
  32277. Fstrong: int32(_PRI_MATRIX_STRONG),
  32278. Fweak: int32(_PRI_MATRIX_WEAK),
  32279. },
  32280. 33: {
  32281. Fobject: int32(_FC_CHARSET_OBJECT),
  32282. Fstrong: int32(_PRI_CHARSET_STRONG),
  32283. Fweak: int32(_PRI_CHARSET_WEAK),
  32284. },
  32285. 34: {
  32286. Fobject: int32(_FC_LANG_OBJECT),
  32287. Fstrong: int32(_PRI_LANG_STRONG),
  32288. Fweak: int32(_PRI_LANG_WEAK),
  32289. },
  32290. 35: {
  32291. Fobject: int32(_FC_FONTVERSION_OBJECT),
  32292. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  32293. Fweak: int32(_PRI_FONTVERSION_WEAK),
  32294. },
  32295. 36: {
  32296. Fobject: int32(_FC_CAPABILITY_OBJECT),
  32297. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  32298. Fweak: int32(_PRI_CAPABILITY_WEAK),
  32299. },
  32300. 37: {
  32301. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  32302. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  32303. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  32304. },
  32305. 38: {
  32306. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  32307. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  32308. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  32309. },
  32310. 39: {
  32311. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  32312. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  32313. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  32314. },
  32315. 40: {
  32316. Fobject: int32(_FC_DECORATIVE_OBJECT),
  32317. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  32318. Fweak: int32(_PRI_DECORATIVE_WEAK),
  32319. },
  32320. 41: {
  32321. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  32322. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  32323. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  32324. },
  32325. 42: {
  32326. Fobject: int32(_FC_NAMELANG_OBJECT),
  32327. Fstrong: int32(_PRI_NAMELANG_STRONG),
  32328. Fweak: int32(_PRI_NAMELANG_WEAK),
  32329. },
  32330. 43: {
  32331. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  32332. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  32333. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  32334. },
  32335. 44: {
  32336. Fobject: int32(_FC_PRGNAME_OBJECT),
  32337. Fstrong: int32(_PRI_PRGNAME_STRONG),
  32338. Fweak: int32(_PRI_PRGNAME_WEAK),
  32339. },
  32340. 45: {
  32341. Fobject: int32(_FC_HASH_OBJECT),
  32342. Fstrong: int32(_PRI_HASH_STRONG),
  32343. Fweak: int32(_PRI_HASH_WEAK),
  32344. },
  32345. 46: {
  32346. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  32347. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  32348. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  32349. },
  32350. 47: {
  32351. Fobject: int32(_FC_COLOR_OBJECT),
  32352. Fstrong: int32(_PRI_COLOR_STRONG),
  32353. Fweak: int32(_PRI_COLOR_WEAK),
  32354. },
  32355. 48: {
  32356. Fobject: int32(_FC_SYMBOL_OBJECT),
  32357. Fstrong: int32(_PRI_SYMBOL_STRONG),
  32358. Fweak: int32(_PRI_SYMBOL_WEAK),
  32359. },
  32360. 49: {
  32361. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  32362. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  32363. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  32364. },
  32365. 50: {
  32366. Fobject: int32(_FC_VARIABLE_OBJECT),
  32367. Fstrong: int32(_PRI_VARIABLE_STRONG),
  32368. Fweak: int32(_PRI_VARIABLE_WEAK),
  32369. },
  32370. }
  32371. func init() {
  32372. p := unsafe.Pointer(&__FcMatchers)
  32373. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  32374. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  32375. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  32376. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  32377. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  32378. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  32379. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  32380. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  32381. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  32382. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  32383. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  32384. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  32385. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  32386. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  32387. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  32388. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  32389. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  32390. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  32391. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  32392. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  32393. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  32394. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  32395. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  32396. }
  32397. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  32398. if include_lang != 0 {
  32399. switch object {
  32400. case int32(_FC_FAMILYLANG_OBJECT):
  32401. fallthrough
  32402. case int32(_FC_STYLELANG_OBJECT):
  32403. fallthrough
  32404. case int32(_FC_FULLNAMELANG_OBJECT):
  32405. object = int32(_FC_LANG_OBJECT)
  32406. break
  32407. }
  32408. }
  32409. 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) {
  32410. return libc.UintptrFromInt32(0)
  32411. }
  32412. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  32413. }
  32414. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  32415. bp := tls.Alloc(48)
  32416. defer tls.Free(48)
  32417. var best, bestStrong, bestWeak, v float64
  32418. var j, k, pos, strong, weak int32
  32419. var v1, v2 TFcValueListPtr
  32420. var v3, v4 uintptr
  32421. var _ /* matchValue at bp+0 */ TFcValue
  32422. _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4
  32423. pos = 0
  32424. if !(match != 0) {
  32425. if bestValue != 0 {
  32426. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  32427. }
  32428. if n != 0 {
  32429. *(*int32)(unsafe.Pointer(n)) = 0
  32430. }
  32431. return int32(m_FcTrue)
  32432. }
  32433. best = float64(1e+99)
  32434. bestStrong = float64(1e+99)
  32435. bestWeak = float64(1e+99)
  32436. j = 0
  32437. v1 = v1orig
  32438. for {
  32439. if !(v1 != 0) {
  32440. break
  32441. }
  32442. v2 = v2orig
  32443. k = libc.Int32FromInt32(0)
  32444. for {
  32445. if !(v2 != 0) {
  32446. break
  32447. }
  32448. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  32449. if v < libc.Float64FromInt32(0) {
  32450. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  32451. return m_FcFalse
  32452. }
  32453. v = v*libc.Float64FromInt32(1000) + float64(j)
  32454. if v < best {
  32455. if bestValue != 0 {
  32456. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  32457. }
  32458. best = v
  32459. pos = k
  32460. }
  32461. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  32462. if v < bestStrong {
  32463. bestStrong = v
  32464. }
  32465. } else {
  32466. if v < bestWeak {
  32467. bestWeak = v
  32468. }
  32469. }
  32470. goto _2
  32471. _2:
  32472. ;
  32473. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  32474. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32475. } else {
  32476. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  32477. }
  32478. v2 = v3
  32479. k++
  32480. }
  32481. j++
  32482. goto _1
  32483. _1:
  32484. ;
  32485. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  32486. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32487. } else {
  32488. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  32489. }
  32490. v1 = v4
  32491. }
  32492. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32493. libc.Xprintf(tls, __ccgo_ts+5778, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  32494. XFcValueListPrint(tls, v1orig)
  32495. libc.Xprintf(tls, __ccgo_ts+5787, 0)
  32496. XFcValueListPrint(tls, v2orig)
  32497. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32498. }
  32499. if value != 0 {
  32500. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  32501. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  32502. if weak == strong {
  32503. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  32504. } else {
  32505. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  32506. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  32507. }
  32508. }
  32509. if n != 0 {
  32510. *(*int32)(unsafe.Pointer(n)) = pos
  32511. }
  32512. return int32(m_FcTrue)
  32513. }
  32514. /*
  32515. * Return a value indicating the distance between the two lists of
  32516. * values
  32517. */
  32518. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr) (r TFcBool) {
  32519. var elt_i1, elt_i2, match, v2, v3 uintptr
  32520. var i, i1, i2 int32
  32521. _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3
  32522. i = 0
  32523. for {
  32524. if !(i < int32(_PRI_END)) {
  32525. break
  32526. }
  32527. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  32528. goto _1
  32529. _1:
  32530. ;
  32531. i++
  32532. }
  32533. i1 = 0
  32534. i2 = 0
  32535. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  32536. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  32537. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  32538. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  32539. if i > 0 {
  32540. i2++
  32541. } else {
  32542. if i < 0 {
  32543. i1++
  32544. } else {
  32545. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  32546. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  32547. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32548. } else {
  32549. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  32550. }
  32551. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  32552. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32553. } else {
  32554. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  32555. }
  32556. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  32557. return m_FcFalse
  32558. }
  32559. i1++
  32560. i2++
  32561. }
  32562. }
  32563. }
  32564. return int32(m_FcTrue)
  32565. }
  32566. func XIA__FcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  32567. bp := tls.Alloc(352)
  32568. defer tls.Free(352)
  32569. var fe, fel, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  32570. var i, j int32
  32571. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  32572. var num float64
  32573. var v16 bool
  32574. var _ /* n at bp+176 */ int32
  32575. var _ /* result at bp+16 */ TFcResult
  32576. var _ /* temp at bp+180 */ [128]TFcChar8
  32577. var _ /* v at bp+0 */ TFcValue
  32578. var _ /* variable at bp+20 */ TFcBool
  32579. var _ /* variations at bp+24 */ TFcStrBuf
  32580. var _ /* vars at bp+312 */ uintptr
  32581. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = fe, fel, 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
  32582. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  32583. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  32584. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  32585. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  32586. }
  32587. new1 = XIA__FcPatternCreate(tls)
  32588. if !(new1 != 0) {
  32589. return libc.UintptrFromInt32(0)
  32590. }
  32591. i = 0
  32592. for {
  32593. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  32594. break
  32595. }
  32596. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  32597. 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) {
  32598. /* ignore those objects. we need to deal with them
  32599. * another way */
  32600. goto _1
  32601. }
  32602. 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) {
  32603. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  32604. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  32605. if fel != 0 && pel != 0 {
  32606. /* The font has name languages, and pattern asks for specific language(s).
  32607. * Match on language and and prefer that result.
  32608. * Note: Currently the code only give priority to first matching language.
  32609. */
  32610. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  32611. ln = libc.UintptrFromInt32(0)
  32612. ll = libc.UintptrFromInt32(0)
  32613. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  32614. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  32615. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32616. } else {
  32617. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  32618. }
  32619. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32620. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32621. } else {
  32622. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32623. }
  32624. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  32625. XIA__FcPatternDestroy(tls, new1)
  32626. return libc.UintptrFromInt32(0)
  32627. }
  32628. j = 0
  32629. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32630. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32631. } else {
  32632. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32633. }
  32634. l1 = v5
  32635. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32636. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32637. } else {
  32638. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32639. }
  32640. l2 = v6
  32641. for {
  32642. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  32643. break
  32644. }
  32645. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  32646. if l1 != 0 {
  32647. ln = XFcValueListPrepend(tls, ln, XFcValueCanonicalize(tls, l1+8), int32(_FcValueBindingStrong))
  32648. }
  32649. if l2 != 0 {
  32650. ll = XFcValueListPrepend(tls, ll, XFcValueCanonicalize(tls, l2+8), int32(_FcValueBindingStrong))
  32651. }
  32652. } else {
  32653. if l1 != 0 {
  32654. ln = XFcValueListAppend(tls, ln, XFcValueCanonicalize(tls, l1+8), int32(_FcValueBindingStrong))
  32655. }
  32656. if l2 != 0 {
  32657. ll = XFcValueListAppend(tls, ll, XFcValueCanonicalize(tls, l2+8), int32(_FcValueBindingStrong))
  32658. }
  32659. }
  32660. goto _4
  32661. _4:
  32662. ;
  32663. j++
  32664. if l1 != 0 {
  32665. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  32666. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32667. } else {
  32668. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  32669. }
  32670. v7 = v8
  32671. } else {
  32672. v7 = libc.UintptrFromInt32(0)
  32673. }
  32674. l1 = v7
  32675. if l2 != 0 {
  32676. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  32677. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  32678. } else {
  32679. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  32680. }
  32681. v9 = v10
  32682. } else {
  32683. v9 = libc.UintptrFromInt32(0)
  32684. }
  32685. l2 = v9
  32686. }
  32687. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  32688. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  32689. goto _1
  32690. } else {
  32691. if fel != 0 {
  32692. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32693. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32694. } else {
  32695. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32696. }
  32697. l11 = XFcValueListDuplicate(tls, v11)
  32698. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  32699. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32700. } else {
  32701. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  32702. }
  32703. l21 = XFcValueListDuplicate(tls, v12)
  32704. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  32705. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  32706. goto _1
  32707. }
  32708. }
  32709. }
  32710. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  32711. if pe != 0 {
  32712. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  32713. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  32714. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32715. } else {
  32716. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32717. }
  32718. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32719. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32720. } else {
  32721. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32722. }
  32723. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  32724. XIA__FcPatternDestroy(tls, new1)
  32725. return libc.UintptrFromInt32(0)
  32726. }
  32727. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  32728. /* Set font-variations settings for standard axes in variable fonts. */
  32729. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  32730. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32731. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32732. } else {
  32733. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32734. }
  32735. }
  32736. 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)) {
  32737. tag = __ccgo_ts + 5790
  32738. num = *(*float64)(unsafe.Pointer(bp + 8))
  32739. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  32740. XFcStrBufChar(tls, bp+24, uint8(','))
  32741. }
  32742. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  32743. case int32(_FC_WEIGHT_OBJECT):
  32744. tag = __ccgo_ts + 5795
  32745. num = float64(XIA__FcWeightToOpenType(tls, int32(num)))
  32746. case int32(_FC_WIDTH_OBJECT):
  32747. tag = __ccgo_ts + 5800
  32748. case int32(_FC_SIZE_OBJECT):
  32749. tag = __ccgo_ts + 5805
  32750. break
  32751. }
  32752. libc.Xsprintf(tls, bp+180, __ccgo_ts+5810, libc.VaList(bp+328, tag, num))
  32753. XFcStrBufString(tls, bp+24, bp+180)
  32754. }
  32755. } else {
  32756. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  32757. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32758. } else {
  32759. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  32760. }
  32761. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  32762. }
  32763. goto _1
  32764. _1:
  32765. ;
  32766. i++
  32767. }
  32768. i = 0
  32769. for {
  32770. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  32771. break
  32772. }
  32773. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  32774. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  32775. 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) {
  32776. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  32777. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  32778. } else {
  32779. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  32780. }
  32781. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  32782. }
  32783. goto _18
  32784. _18:
  32785. ;
  32786. i++
  32787. }
  32788. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  32789. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  32790. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  32791. XFcStrBufChar(tls, bp+24, uint8(','))
  32792. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  32793. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  32794. }
  32795. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  32796. XFcStrBufDestroy(tls, bp+24)
  32797. }
  32798. XIA__FcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  32799. return new1
  32800. }
  32801. var XFcFontRenderPrepare = XIA__FcFontRenderPrepare
  32802. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  32803. bp := tls.Alloc(224)
  32804. defer tls.Free(224)
  32805. var best, env, os, p1, s, s1, ss, x, v8, v9 uintptr
  32806. var bestscore [25]float64
  32807. var f, i, set int32
  32808. var f1 TFcBool
  32809. var len1 Tsize_t
  32810. var _ /* score at bp+0 */ [25]float64
  32811. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, env, f, f1, i, len1, os, p1, s, s1, set, ss, x, v8, v9
  32812. i = 0
  32813. for {
  32814. if !(i < int32(_PRI_END)) {
  32815. break
  32816. }
  32817. bestscore[i] = libc.Float64FromInt32(0)
  32818. goto _1
  32819. _1:
  32820. ;
  32821. i++
  32822. }
  32823. best = uintptr(0)
  32824. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  32825. libc.Xprintf(tls, __ccgo_ts+5817, 0)
  32826. XIA__FcPatternPrint(tls, p)
  32827. }
  32828. set = 0
  32829. for {
  32830. if !(set < nsets) {
  32831. break
  32832. }
  32833. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  32834. if !(s != 0) {
  32835. goto _2
  32836. }
  32837. f = 0
  32838. for {
  32839. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  32840. break
  32841. }
  32842. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32843. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+208, f))
  32844. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  32845. }
  32846. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result) != 0) {
  32847. return uintptr(0)
  32848. }
  32849. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  32850. libc.Xprintf(tls, __ccgo_ts+5824, 0)
  32851. i = 0
  32852. for {
  32853. if !(i < int32(_PRI_END)) {
  32854. break
  32855. }
  32856. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+208, (*(*[25]float64)(unsafe.Pointer(bp)))[i]))
  32857. goto _4
  32858. _4:
  32859. ;
  32860. i++
  32861. }
  32862. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32863. }
  32864. i = 0
  32865. for {
  32866. if !(i < int32(_PRI_END)) {
  32867. break
  32868. }
  32869. if best != 0 && bestscore[i] < (*(*[25]float64)(unsafe.Pointer(bp)))[i] {
  32870. break
  32871. }
  32872. if !(best != 0) || (*(*[25]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  32873. i = 0
  32874. for {
  32875. if !(i < int32(_PRI_END)) {
  32876. break
  32877. }
  32878. bestscore[i] = (*(*[25]float64)(unsafe.Pointer(bp)))[i]
  32879. goto _6
  32880. _6:
  32881. ;
  32882. i++
  32883. }
  32884. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  32885. break
  32886. }
  32887. goto _5
  32888. _5:
  32889. ;
  32890. i++
  32891. }
  32892. goto _3
  32893. _3:
  32894. ;
  32895. f++
  32896. }
  32897. goto _2
  32898. _2:
  32899. ;
  32900. set++
  32901. }
  32902. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  32903. libc.Xprintf(tls, __ccgo_ts+5834, 0)
  32904. i = 0
  32905. for {
  32906. if !(i < int32(_PRI_END)) {
  32907. break
  32908. }
  32909. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+208, bestscore[i]))
  32910. goto _7
  32911. _7:
  32912. ;
  32913. i++
  32914. }
  32915. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  32916. XIA__FcPatternPrint(tls, best)
  32917. }
  32918. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  32919. env = libc.Xgetenv(tls, __ccgo_ts+5845)
  32920. os = libc.UintptrFromInt32(0)
  32921. if env != 0 {
  32922. f1 = int32(m_FcTrue)
  32923. v8 = libc.Xstrdup(tls, env)
  32924. s1 = v8
  32925. ss = v8
  32926. os = XIA__FcObjectSetCreate(tls)
  32927. for f1 != 0 {
  32928. v9 = libc.Xstrchr(tls, s1, int32(','))
  32929. p1 = v9
  32930. if !(v9 != 0) {
  32931. f1 = m_FcFalse
  32932. len1 = libc.Xstrlen(tls, s1)
  32933. } else {
  32934. len1 = libc.Uint64FromInt64(int64(p1) - int64(s1))
  32935. }
  32936. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  32937. if x != 0 {
  32938. libc.Xstrcpy(tls, x, s1)
  32939. if XFcObjectFromName(tls, x) > 0 {
  32940. XIA__FcObjectSetAdd(tls, os, x)
  32941. }
  32942. s1 = p1 + uintptr(1)
  32943. libc.Xfree(tls, x)
  32944. }
  32945. }
  32946. libc.Xfree(tls, ss)
  32947. }
  32948. XFcPatternPrint2(tls, p, best, os)
  32949. if os != 0 {
  32950. XIA__FcObjectSetDestroy(tls, os)
  32951. }
  32952. }
  32953. /* assuming that 'result' is initialized with FcResultNoMatch
  32954. * outside this function */
  32955. if best != 0 {
  32956. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  32957. }
  32958. return best
  32959. }
  32960. func XIA__FcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  32961. var best uintptr
  32962. _ = best
  32963. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  32964. if !(config != 0) {
  32965. config = XIA__FcConfigGetCurrent(tls)
  32966. if !(config != 0) {
  32967. return uintptr(0)
  32968. }
  32969. }
  32970. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  32971. if best != 0 {
  32972. return XIA__FcFontRenderPrepare(tls, config, p, best)
  32973. } else {
  32974. return libc.UintptrFromInt32(0)
  32975. }
  32976. return r
  32977. }
  32978. var XFcFontSetMatch = XIA__FcFontSetMatch
  32979. func XIA__FcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  32980. bp := tls.Alloc(16)
  32981. defer tls.Free(16)
  32982. var best uintptr
  32983. var nsets, v1, v2 int32
  32984. var _ /* sets at bp+0 */ [2]uintptr
  32985. _, _, _, _ = best, nsets, v1, v2
  32986. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  32987. if !(config != 0) {
  32988. config = XIA__FcConfigGetCurrent(tls)
  32989. if !(config != 0) {
  32990. return uintptr(0)
  32991. }
  32992. }
  32993. nsets = 0
  32994. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  32995. v1 = nsets
  32996. nsets++
  32997. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  32998. }
  32999. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  33000. v2 = nsets
  33001. nsets++
  33002. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  33003. }
  33004. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  33005. if best != 0 {
  33006. return XIA__FcFontRenderPrepare(tls, config, p, best)
  33007. } else {
  33008. return libc.UintptrFromInt32(0)
  33009. }
  33010. return r
  33011. }
  33012. var XFcFontMatch = XIA__FcFontMatch
  33013. type TFcSortNode = struct {
  33014. Fpattern uintptr
  33015. Fscore [25]float64
  33016. }
  33017. type T_FcSortNode = TFcSortNode
  33018. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  33019. var a, as, b, bs, v3, v5 uintptr
  33020. var ad, bd, v2, v4 float64
  33021. var i, v1, v7, v8 int32
  33022. var v6 bool
  33023. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  33024. a = *(*uintptr)(unsafe.Pointer(aa))
  33025. b = *(*uintptr)(unsafe.Pointer(ab))
  33026. as = a + 8
  33027. bs = b + 8
  33028. ad = libc.Float64FromInt32(0)
  33029. bd = libc.Float64FromInt32(0)
  33030. i = int32(_PRI_END)
  33031. for {
  33032. v1 = i
  33033. i--
  33034. if v6 = v1 != 0; v6 {
  33035. v3 = as
  33036. as += 8
  33037. v2 = *(*float64)(unsafe.Pointer(v3))
  33038. ad = v2
  33039. v5 = bs
  33040. bs += 8
  33041. v4 = *(*float64)(unsafe.Pointer(v5))
  33042. bd = v4
  33043. }
  33044. if !(v6 && v2 == v4) {
  33045. break
  33046. }
  33047. }
  33048. if ad < bd {
  33049. v7 = -int32(1)
  33050. } else {
  33051. if ad > bd {
  33052. v8 = int32(1)
  33053. } else {
  33054. v8 = 0
  33055. }
  33056. v7 = v8
  33057. }
  33058. return v7
  33059. }
  33060. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  33061. bp := tls.Alloc(16)
  33062. defer tls.Free(16)
  33063. var cs, node, v2 uintptr
  33064. var i int32
  33065. var ret TFcBool
  33066. var _ /* adds_chars at bp+0 */ TFcBool
  33067. var _ /* ncs at bp+8 */ uintptr
  33068. _, _, _, _, _ = cs, i, node, ret, v2
  33069. ret = m_FcFalse
  33070. cs = uintptr(0)
  33071. if trim != 0 || csp != 0 {
  33072. cs = XIA__FcCharSetCreate(tls)
  33073. if cs == libc.UintptrFromInt32(0) {
  33074. goto bail
  33075. }
  33076. }
  33077. i = 0
  33078. for {
  33079. if !(i < nnode) {
  33080. break
  33081. }
  33082. v2 = n
  33083. n += 8
  33084. node = *(*uintptr)(unsafe.Pointer(v2))
  33085. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  33086. /*
  33087. * Only fetch node charset if we'd need it
  33088. */
  33089. if cs != 0 {
  33090. if XIA__FcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+4702, 0, bp+8) != int32(_FcResultMatch) {
  33091. goto _1
  33092. }
  33093. if !(XIA__FcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  33094. goto bail
  33095. }
  33096. }
  33097. /*
  33098. * If this font isn't a subset of the previous fonts,
  33099. * add it to the list
  33100. */
  33101. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  33102. XIA__FcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33103. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33104. libc.Xprintf(tls, __ccgo_ts+5865, 0)
  33105. XIA__FcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33106. }
  33107. if !(XIA__FcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  33108. XIA__FcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  33109. goto bail
  33110. }
  33111. }
  33112. goto _1
  33113. _1:
  33114. ;
  33115. i++
  33116. }
  33117. if csp != 0 {
  33118. *(*uintptr)(unsafe.Pointer(csp)) = cs
  33119. cs = uintptr(0)
  33120. }
  33121. ret = int32(m_FcTrue)
  33122. goto bail
  33123. bail:
  33124. ;
  33125. if cs != 0 {
  33126. XIA__FcCharSetDestroy(tls, cs)
  33127. }
  33128. return ret
  33129. }
  33130. func XIA__FcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  33131. XIA__FcFontSetDestroy(tls, fs)
  33132. }
  33133. var XFcFontSetSortDestroy = XIA__FcFontSetSortDestroy
  33134. func XIA__FcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  33135. bp := tls.Alloc(96)
  33136. defer tls.Free(96)
  33137. var compare float64
  33138. var f, i, nPatternLang, nnodes, set int32
  33139. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  33140. var satisfies TFcBool
  33141. var _ /* family at bp+48 */ uintptr
  33142. var _ /* matchValue at bp+32 */ TFcValue
  33143. var _ /* nodeLang at bp+16 */ TFcValue
  33144. var _ /* patternLang at bp+0 */ TFcValue
  33145. var _ /* style at bp+56 */ uintptr
  33146. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  33147. /* There are some implementation that relying on the result of
  33148. * "result" to check if the return value of FcFontSetSort
  33149. * is valid or not.
  33150. * So we should initialize it to the conservative way since
  33151. * this function doesn't return NULL anymore.
  33152. */
  33153. if result != 0 {
  33154. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  33155. }
  33156. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  33157. libc.Xprintf(tls, __ccgo_ts+5870, 0)
  33158. XIA__FcPatternPrint(tls, p)
  33159. }
  33160. nnodes = 0
  33161. set = 0
  33162. for {
  33163. if !(set < nsets) {
  33164. break
  33165. }
  33166. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  33167. if !(s != 0) {
  33168. goto _1
  33169. }
  33170. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  33171. goto _1
  33172. _1:
  33173. ;
  33174. set++
  33175. }
  33176. if !(nnodes != 0) {
  33177. return XIA__FcFontSetCreate(tls)
  33178. }
  33179. nPatternLang = 0
  33180. for {
  33181. if !(XIA__FcPatternGet(tls, p, __ccgo_ts+4710, nPatternLang, bp) == int32(_FcResultMatch)) {
  33182. break
  33183. }
  33184. goto _2
  33185. _2:
  33186. ;
  33187. nPatternLang++
  33188. }
  33189. /* freed below */
  33190. nodes = libc.Xmalloc(tls, libc.Uint64FromInt32(nnodes)*uint64(208)+libc.Uint64FromInt32(nnodes)*uint64(8)+libc.Uint64FromInt32(nPatternLang)*uint64(4))
  33191. if !(nodes != 0) {
  33192. goto bail0
  33193. }
  33194. nodeps = nodes + uintptr(nnodes)*208
  33195. patternLangSat = nodeps + uintptr(nnodes)*8
  33196. new1 = nodes
  33197. nodep = nodeps
  33198. set = 0
  33199. for {
  33200. if !(set < nsets) {
  33201. break
  33202. }
  33203. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  33204. if !(s != 0) {
  33205. goto _3
  33206. }
  33207. f = 0
  33208. for {
  33209. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  33210. break
  33211. }
  33212. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33213. libc.Xprintf(tls, __ccgo_ts+2405, libc.VaList(bp+72, f))
  33214. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  33215. }
  33216. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  33217. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result) != 0) {
  33218. goto bail1
  33219. }
  33220. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33221. libc.Xprintf(tls, __ccgo_ts+5824, 0)
  33222. i = 0
  33223. for {
  33224. if !(i < int32(_PRI_END)) {
  33225. break
  33226. }
  33227. libc.Xprintf(tls, __ccgo_ts+5830, libc.VaList(bp+72, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  33228. goto _5
  33229. _5:
  33230. ;
  33231. i++
  33232. }
  33233. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  33234. }
  33235. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  33236. new1 += 208
  33237. nodep += 8
  33238. goto _4
  33239. _4:
  33240. ;
  33241. f++
  33242. }
  33243. goto _3
  33244. _3:
  33245. ;
  33246. set++
  33247. }
  33248. nnodes = int32((int64(new1) - int64(nodes)) / 208)
  33249. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  33250. i = 0
  33251. for {
  33252. if !(i < nPatternLang) {
  33253. break
  33254. }
  33255. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  33256. goto _6
  33257. _6:
  33258. ;
  33259. i++
  33260. }
  33261. f = 0
  33262. for {
  33263. if !(f < nnodes) {
  33264. break
  33265. }
  33266. satisfies = m_FcFalse
  33267. /*
  33268. * If this node matches any language, go check
  33269. * which ones and satisfy those entries
  33270. */
  33271. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  33272. i = 0
  33273. for {
  33274. if !(i < nPatternLang) {
  33275. break
  33276. }
  33277. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XIA__FcPatternGet(tls, p, __ccgo_ts+4710, i, bp) == int32(_FcResultMatch) && XIA__FcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4710, 0, bp+16) == int32(_FcResultMatch) {
  33278. compare = _FcCompareLang(tls, bp, bp+16, bp+32)
  33279. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  33280. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  33281. if XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4049, 0, bp+48) == int32(_FcResultMatch) && XIA__FcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4170, 0, bp+56) == int32(_FcResultMatch) {
  33282. libc.Xprintf(tls, __ccgo_ts+5876, libc.VaList(bp+72, *(*uintptr)(unsafe.Pointer(bp + 48)), *(*uintptr)(unsafe.Pointer(bp + 56)), i))
  33283. }
  33284. }
  33285. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  33286. satisfies = int32(m_FcTrue)
  33287. break
  33288. }
  33289. }
  33290. goto _8
  33291. _8:
  33292. ;
  33293. i++
  33294. }
  33295. }
  33296. if !(satisfies != 0) {
  33297. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  33298. }
  33299. goto _7
  33300. _7:
  33301. ;
  33302. f++
  33303. }
  33304. /*
  33305. * Re-sort once the language issues have been settled
  33306. */
  33307. libc.Xqsort(tls, nodeps, libc.Uint64FromInt32(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  33308. ret = XIA__FcFontSetCreate(tls)
  33309. if !(ret != 0) {
  33310. goto bail1
  33311. }
  33312. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  33313. goto bail2
  33314. }
  33315. libc.Xfree(tls, nodes)
  33316. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  33317. libc.Xprintf(tls, __ccgo_ts+5908, 0)
  33318. XIA__FcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  33319. }
  33320. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  33321. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  33322. }
  33323. return ret
  33324. goto bail2
  33325. bail2:
  33326. ;
  33327. XIA__FcFontSetDestroy(tls, ret)
  33328. goto bail1
  33329. bail1:
  33330. ;
  33331. libc.Xfree(tls, nodes)
  33332. goto bail0
  33333. bail0:
  33334. ;
  33335. return uintptr(0)
  33336. return r
  33337. }
  33338. var XFcFontSetSort = XIA__FcFontSetSort
  33339. func XIA__FcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  33340. bp := tls.Alloc(16)
  33341. defer tls.Free(16)
  33342. var nsets, v1, v2 int32
  33343. var _ /* sets at bp+0 */ [2]uintptr
  33344. _, _, _ = nsets, v1, v2
  33345. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  33346. if !(config != 0) {
  33347. config = XIA__FcConfigGetCurrent(tls)
  33348. if !(config != 0) {
  33349. return uintptr(0)
  33350. }
  33351. }
  33352. nsets = 0
  33353. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8)) != 0 {
  33354. v1 = nsets
  33355. nsets++
  33356. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetSystem)*8))
  33357. }
  33358. if *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8)) != 0 {
  33359. v2 = nsets
  33360. nsets++
  33361. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 96 + uintptr(_FcSetApplication)*8))
  33362. }
  33363. return XIA__FcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  33364. }
  33365. var XFcFontSort = XIA__FcFontSort
  33366. func XIA__FcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  33367. var r uintptr
  33368. _ = r
  33369. if !(mat != 0) {
  33370. return uintptr(0)
  33371. }
  33372. r = libc.Xmalloc(tls, uint64(32))
  33373. if !(r != 0) {
  33374. return uintptr(0)
  33375. }
  33376. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  33377. return r
  33378. }
  33379. var XFcMatrixCopy = XIA__FcMatrixCopy
  33380. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  33381. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  33382. libc.Xfree(tls, mat)
  33383. }
  33384. }
  33385. func XIA__FcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  33386. if mat1 == mat2 {
  33387. return int32(m_FcTrue)
  33388. }
  33389. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  33390. return m_FcFalse
  33391. }
  33392. 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)
  33393. }
  33394. var XFcMatrixEqual = XIA__FcMatrixEqual
  33395. func XIA__FcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  33396. var r TFcMatrix
  33397. _ = r
  33398. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  33399. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  33400. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  33401. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  33402. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  33403. }
  33404. var XFcMatrixMultiply = XIA__FcMatrixMultiply
  33405. func XIA__FcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  33406. bp := tls.Alloc(32)
  33407. defer tls.Free(32)
  33408. var _ /* r at bp+0 */ TFcMatrix
  33409. /*
  33410. * X Coordinate system is upside down, swap to make
  33411. * rotations counterclockwise
  33412. */
  33413. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  33414. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  33415. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  33416. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  33417. XIA__FcMatrixMultiply(tls, m, bp, m)
  33418. }
  33419. var XFcMatrixRotate = XIA__FcMatrixRotate
  33420. func XIA__FcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  33421. bp := tls.Alloc(32)
  33422. defer tls.Free(32)
  33423. var _ /* r at bp+0 */ TFcMatrix
  33424. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  33425. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  33426. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  33427. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  33428. XIA__FcMatrixMultiply(tls, m, bp, m)
  33429. }
  33430. var XFcMatrixScale = XIA__FcMatrixScale
  33431. func XIA__FcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  33432. bp := tls.Alloc(32)
  33433. defer tls.Free(32)
  33434. var _ /* r at bp+0 */ TFcMatrix
  33435. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  33436. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  33437. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  33438. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  33439. XIA__FcMatrixMultiply(tls, m, bp, m)
  33440. }
  33441. var XFcMatrixShear = XIA__FcMatrixShear
  33442. const m_FC_ESCAPE_FIXED = "\\-:,"
  33443. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  33444. var _FcObjects = [50]TFcObjectType{
  33445. 0: {
  33446. Fobject: __ccgo_ts + 4049,
  33447. Ftype1: int32(_FcTypeString),
  33448. },
  33449. 1: {
  33450. Fobject: __ccgo_ts + 4056,
  33451. Ftype1: int32(_FcTypeString),
  33452. },
  33453. 2: {
  33454. Fobject: __ccgo_ts + 4170,
  33455. Ftype1: int32(_FcTypeString),
  33456. },
  33457. 3: {
  33458. Fobject: __ccgo_ts + 4176,
  33459. Ftype1: int32(_FcTypeString),
  33460. },
  33461. 4: {
  33462. Fobject: __ccgo_ts + 4107,
  33463. Ftype1: int32(_FcTypeString),
  33464. },
  33465. 5: {
  33466. Fobject: __ccgo_ts + 4116,
  33467. Ftype1: int32(_FcTypeString),
  33468. },
  33469. 6: {
  33470. Fobject: __ccgo_ts + 4650,
  33471. Ftype1: int32(_FcTypeInteger),
  33472. },
  33473. 7: {
  33474. Fobject: __ccgo_ts + 3982,
  33475. Ftype1: int32(_FcTypeRange),
  33476. },
  33477. 8: {
  33478. Fobject: __ccgo_ts + 3989,
  33479. Ftype1: int32(_FcTypeRange),
  33480. },
  33481. 9: {
  33482. Fobject: __ccgo_ts + 3995,
  33483. Ftype1: int32(_FcTypeRange),
  33484. },
  33485. 10: {
  33486. Fobject: __ccgo_ts + 5920,
  33487. Ftype1: int32(_FcTypeDouble),
  33488. },
  33489. 11: {
  33490. Fobject: __ccgo_ts + 4723,
  33491. Ftype1: int32(_FcTypeDouble),
  33492. },
  33493. 12: {
  33494. Fobject: __ccgo_ts + 4715,
  33495. Ftype1: int32(_FcTypeInteger),
  33496. },
  33497. 13: {
  33498. Fobject: __ccgo_ts + 4656,
  33499. Ftype1: int32(_FcTypeString),
  33500. },
  33501. 14: {
  33502. Fobject: __ccgo_ts + 4733,
  33503. Ftype1: int32(_FcTypeBool),
  33504. },
  33505. 15: {
  33506. Fobject: __ccgo_ts + 5927,
  33507. Ftype1: int32(_FcTypeInteger),
  33508. },
  33509. 16: {
  33510. Fobject: __ccgo_ts + 5937,
  33511. Ftype1: int32(_FcTypeBool),
  33512. },
  33513. 17: {
  33514. Fobject: __ccgo_ts + 5945,
  33515. Ftype1: int32(_FcTypeBool),
  33516. },
  33517. 18: {
  33518. Fobject: __ccgo_ts + 5960,
  33519. Ftype1: int32(_FcTypeBool),
  33520. },
  33521. 19: {
  33522. Fobject: __ccgo_ts + 5969,
  33523. Ftype1: int32(_FcTypeBool),
  33524. },
  33525. 20: {
  33526. Fobject: __ccgo_ts + 4290,
  33527. Ftype1: int32(_FcTypeString),
  33528. },
  33529. 21: {
  33530. Fobject: __ccgo_ts + 4295,
  33531. Ftype1: int32(_FcTypeInteger),
  33532. },
  33533. 22: {
  33534. Fobject: __ccgo_ts + 5983,
  33535. Ftype1: int32(_FcTypeString),
  33536. },
  33537. 23: {
  33538. Fobject: __ccgo_ts + 3959,
  33539. Ftype1: int32(_FcTypeBool),
  33540. },
  33541. 24: {
  33542. Fobject: __ccgo_ts + 3973,
  33543. Ftype1: int32(_FcTypeBool),
  33544. },
  33545. 25: {
  33546. Fobject: __ccgo_ts + 5994,
  33547. Ftype1: int32(_FcTypeDouble),
  33548. },
  33549. 26: {
  33550. Fobject: __ccgo_ts + 5998,
  33551. Ftype1: int32(_FcTypeInteger),
  33552. },
  33553. 27: {
  33554. Fobject: __ccgo_ts + 6003,
  33555. Ftype1: int32(_FcTypeDouble),
  33556. },
  33557. 28: {
  33558. Fobject: __ccgo_ts + 6009,
  33559. Ftype1: int32(_FcTypeBool),
  33560. },
  33561. 29: {
  33562. Fobject: __ccgo_ts + 6018,
  33563. Ftype1: int32(_FcTypeInteger),
  33564. },
  33565. 30: {
  33566. Fobject: __ccgo_ts + 6028,
  33567. Ftype1: int32(_FcTypeInteger),
  33568. },
  33569. 31: {
  33570. Fobject: __ccgo_ts + 6039,
  33571. Ftype1: int32(_FcTypeMatrix),
  33572. },
  33573. 32: {
  33574. Fobject: __ccgo_ts + 4702,
  33575. Ftype1: int32(_FcTypeCharSet),
  33576. },
  33577. 33: {
  33578. Fobject: __ccgo_ts + 4710,
  33579. Ftype1: int32(_FcTypeLangSet),
  33580. },
  33581. 34: {
  33582. Fobject: __ccgo_ts + 4301,
  33583. Ftype1: int32(_FcTypeInteger),
  33584. },
  33585. 35: {
  33586. Fobject: __ccgo_ts + 4419,
  33587. Ftype1: int32(_FcTypeString),
  33588. },
  33589. 36: {
  33590. Fobject: __ccgo_ts + 4743,
  33591. Ftype1: int32(_FcTypeString),
  33592. },
  33593. 37: {
  33594. Fobject: __ccgo_ts + 6046,
  33595. Ftype1: int32(_FcTypeBool),
  33596. },
  33597. 38: {
  33598. Fobject: __ccgo_ts + 6055,
  33599. Ftype1: int32(_FcTypeBool),
  33600. },
  33601. 39: {
  33602. Fobject: __ccgo_ts + 4664,
  33603. Ftype1: int32(_FcTypeBool),
  33604. },
  33605. 40: {
  33606. Fobject: __ccgo_ts + 6070,
  33607. Ftype1: int32(_FcTypeInteger),
  33608. },
  33609. 41: {
  33610. Fobject: __ccgo_ts + 6080,
  33611. Ftype1: int32(_FcTypeString),
  33612. },
  33613. 42: {
  33614. Fobject: __ccgo_ts + 6089,
  33615. Ftype1: int32(_FcTypeString),
  33616. },
  33617. 43: {
  33618. Fobject: __ccgo_ts + 6102,
  33619. Ftype1: int32(_FcTypeString),
  33620. },
  33621. 44: {
  33622. Fobject: __ccgo_ts + 6110,
  33623. Ftype1: int32(_FcTypeString),
  33624. },
  33625. 45: {
  33626. Fobject: __ccgo_ts + 4275,
  33627. Ftype1: int32(_FcTypeString),
  33628. },
  33629. 46: {
  33630. Fobject: __ccgo_ts + 3967,
  33631. Ftype1: int32(_FcTypeBool),
  33632. },
  33633. 47: {
  33634. Fobject: __ccgo_ts + 4675,
  33635. Ftype1: int32(_FcTypeBool),
  33636. },
  33637. 48: {
  33638. Fobject: __ccgo_ts + 6115,
  33639. Ftype1: int32(_FcTypeString),
  33640. },
  33641. 49: {
  33642. Fobject: __ccgo_ts + 4000,
  33643. Ftype1: int32(_FcTypeBool),
  33644. },
  33645. }
  33646. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  33647. if int32(1) <= object && object <= libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16)) {
  33648. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  33649. }
  33650. return XFcObjectLookupOtherTypeById(tls, object)
  33651. }
  33652. func XIA__FcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  33653. /* Deprecated. */
  33654. return m_FcFalse
  33655. }
  33656. var XFcNameRegisterObjectTypes = XIA__FcNameRegisterObjectTypes
  33657. func XIA__FcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  33658. /* Deprecated. */
  33659. return m_FcFalse
  33660. }
  33661. var XFcNameUnregisterObjectTypes = XIA__FcNameUnregisterObjectTypes
  33662. func XIA__FcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  33663. var id int32
  33664. _ = id
  33665. id = XFcObjectLookupBuiltinIdByName(tls, object)
  33666. if !(id != 0) {
  33667. return XFcObjectLookupOtherTypeByName(tls, object)
  33668. }
  33669. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  33670. }
  33671. var XFcNameGetObjectType = XIA__FcNameGetObjectType
  33672. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  33673. var t uintptr
  33674. _ = t
  33675. t = _FcObjectFindById(tls, object)
  33676. if t != 0 {
  33677. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  33678. case int32(_FcTypeUnknown):
  33679. return int32(m_FcTrue)
  33680. case int32(_FcTypeDouble):
  33681. fallthrough
  33682. case int32(_FcTypeInteger):
  33683. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  33684. return int32(m_FcTrue)
  33685. }
  33686. case int32(_FcTypeLangSet):
  33687. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  33688. return int32(m_FcTrue)
  33689. }
  33690. case int32(_FcTypeRange):
  33691. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  33692. return int32(m_FcTrue)
  33693. }
  33694. default:
  33695. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  33696. return int32(m_FcTrue)
  33697. }
  33698. break
  33699. }
  33700. return m_FcFalse
  33701. }
  33702. return int32(m_FcTrue)
  33703. }
  33704. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  33705. return XFcObjectLookupIdByName(tls, name)
  33706. }
  33707. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  33708. var i int32
  33709. var os uintptr
  33710. _, _ = i, os
  33711. os = libc.UintptrFromInt32(0)
  33712. os = XIA__FcObjectSetCreate(tls)
  33713. i = 0
  33714. for {
  33715. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16))) {
  33716. break
  33717. }
  33718. XIA__FcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  33719. goto _1
  33720. _1:
  33721. ;
  33722. i++
  33723. }
  33724. return os
  33725. }
  33726. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  33727. var o uintptr
  33728. _ = o
  33729. o = _FcObjectFindById(tls, object)
  33730. if o != 0 {
  33731. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  33732. }
  33733. return XFcObjectLookupOtherNameById(tls, object)
  33734. }
  33735. var __FcBaseConstants = [57]TFcConstant{
  33736. 0: {
  33737. Fname: __ccgo_ts + 3579,
  33738. Fobject: __ccgo_ts + 3982,
  33739. },
  33740. 1: {
  33741. Fname: __ccgo_ts + 3584,
  33742. Fobject: __ccgo_ts + 3982,
  33743. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  33744. },
  33745. 2: {
  33746. Fname: __ccgo_ts + 3595,
  33747. Fobject: __ccgo_ts + 3982,
  33748. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  33749. },
  33750. 3: {
  33751. Fname: __ccgo_ts + 3606,
  33752. Fobject: __ccgo_ts + 3982,
  33753. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  33754. },
  33755. 4: {
  33756. Fname: __ccgo_ts + 3616,
  33757. Fobject: __ccgo_ts + 3982,
  33758. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  33759. },
  33760. 5: {
  33761. Fname: __ccgo_ts + 3626,
  33762. Fobject: __ccgo_ts + 3982,
  33763. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  33764. },
  33765. 6: {
  33766. Fname: __ccgo_ts + 3632,
  33767. Fobject: __ccgo_ts + 3982,
  33768. Fvalue: int32(m_FC_WEIGHT_BOOK),
  33769. },
  33770. 7: {
  33771. Fname: __ccgo_ts + 3637,
  33772. Fobject: __ccgo_ts + 3982,
  33773. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  33774. },
  33775. 8: {
  33776. Fname: __ccgo_ts + 3652,
  33777. Fobject: __ccgo_ts + 3982,
  33778. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  33779. },
  33780. 9: {
  33781. Fname: __ccgo_ts + 3659,
  33782. Fobject: __ccgo_ts + 3982,
  33783. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  33784. },
  33785. 10: {
  33786. Fname: __ccgo_ts + 3673,
  33787. Fobject: __ccgo_ts + 3982,
  33788. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  33789. },
  33790. 11: {
  33791. Fname: __ccgo_ts + 3712,
  33792. Fobject: __ccgo_ts + 3982,
  33793. Fvalue: int32(m_FC_WEIGHT_BOLD),
  33794. },
  33795. 12: {
  33796. Fname: __ccgo_ts + 3682,
  33797. Fobject: __ccgo_ts + 3982,
  33798. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  33799. },
  33800. 13: {
  33801. Fname: __ccgo_ts + 3702,
  33802. Fobject: __ccgo_ts + 3982,
  33803. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  33804. },
  33805. 14: {
  33806. Fname: __ccgo_ts + 3757,
  33807. Fobject: __ccgo_ts + 3982,
  33808. Fvalue: int32(m_FC_WEIGHT_BLACK),
  33809. },
  33810. 15: {
  33811. Fname: __ccgo_ts + 3763,
  33812. Fobject: __ccgo_ts + 3982,
  33813. Fvalue: int32(m_FC_WEIGHT_BLACK),
  33814. },
  33815. 16: {
  33816. Fname: __ccgo_ts + 6130,
  33817. Fobject: __ccgo_ts + 4650,
  33818. },
  33819. 17: {
  33820. Fname: __ccgo_ts + 3882,
  33821. Fobject: __ccgo_ts + 4650,
  33822. Fvalue: int32(m_FC_SLANT_ITALIC),
  33823. },
  33824. 18: {
  33825. Fname: __ccgo_ts + 3896,
  33826. Fobject: __ccgo_ts + 4650,
  33827. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  33828. },
  33829. 19: {
  33830. Fname: __ccgo_ts + 3769,
  33831. Fobject: __ccgo_ts + 3989,
  33832. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  33833. },
  33834. 20: {
  33835. Fname: __ccgo_ts + 3784,
  33836. Fobject: __ccgo_ts + 3989,
  33837. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  33838. },
  33839. 21: {
  33840. Fname: __ccgo_ts + 3813,
  33841. Fobject: __ccgo_ts + 3989,
  33842. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  33843. },
  33844. 22: {
  33845. Fname: __ccgo_ts + 3799,
  33846. Fobject: __ccgo_ts + 3989,
  33847. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  33848. },
  33849. 23: {
  33850. Fname: __ccgo_ts + 3645,
  33851. Fobject: __ccgo_ts + 3989,
  33852. Fvalue: int32(m_FC_WIDTH_NORMAL),
  33853. },
  33854. 24: {
  33855. Fname: __ccgo_ts + 3823,
  33856. Fobject: __ccgo_ts + 3989,
  33857. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  33858. },
  33859. 25: {
  33860. Fname: __ccgo_ts + 3864,
  33861. Fobject: __ccgo_ts + 3989,
  33862. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  33863. },
  33864. 26: {
  33865. Fname: __ccgo_ts + 3836,
  33866. Fobject: __ccgo_ts + 3989,
  33867. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  33868. },
  33869. 27: {
  33870. Fname: __ccgo_ts + 3850,
  33871. Fobject: __ccgo_ts + 3989,
  33872. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  33873. },
  33874. 28: {
  33875. Fname: __ccgo_ts + 6136,
  33876. Fobject: __ccgo_ts + 4715,
  33877. },
  33878. 29: {
  33879. Fname: __ccgo_ts + 6149,
  33880. Fobject: __ccgo_ts + 4715,
  33881. Fvalue: int32(m_FC_DUAL),
  33882. },
  33883. 30: {
  33884. Fname: __ccgo_ts + 6154,
  33885. Fobject: __ccgo_ts + 4715,
  33886. Fvalue: int32(m_FC_MONO),
  33887. },
  33888. 31: {
  33889. Fname: __ccgo_ts + 6159,
  33890. Fobject: __ccgo_ts + 4715,
  33891. Fvalue: int32(m_FC_CHARCELL),
  33892. },
  33893. 32: {
  33894. Fname: __ccgo_ts + 4642,
  33895. Fobject: __ccgo_ts + 5998,
  33896. },
  33897. 33: {
  33898. Fname: __ccgo_ts + 6168,
  33899. Fobject: __ccgo_ts + 5998,
  33900. Fvalue: int32(m_FC_RGBA_RGB),
  33901. },
  33902. 34: {
  33903. Fname: __ccgo_ts + 6172,
  33904. Fobject: __ccgo_ts + 5998,
  33905. Fvalue: int32(m_FC_RGBA_BGR),
  33906. },
  33907. 35: {
  33908. Fname: __ccgo_ts + 6176,
  33909. Fobject: __ccgo_ts + 5998,
  33910. Fvalue: int32(m_FC_RGBA_VRGB),
  33911. },
  33912. 36: {
  33913. Fname: __ccgo_ts + 6181,
  33914. Fobject: __ccgo_ts + 5998,
  33915. Fvalue: int32(m_FC_RGBA_VBGR),
  33916. },
  33917. 37: {
  33918. Fname: __ccgo_ts + 2178,
  33919. Fobject: __ccgo_ts + 5998,
  33920. Fvalue: int32(m_FC_RGBA_NONE),
  33921. },
  33922. 38: {
  33923. Fname: __ccgo_ts + 6186,
  33924. Fobject: __ccgo_ts + 5927,
  33925. },
  33926. 39: {
  33927. Fname: __ccgo_ts + 6195,
  33928. Fobject: __ccgo_ts + 5927,
  33929. Fvalue: int32(m_FC_HINT_SLIGHT),
  33930. },
  33931. 40: {
  33932. Fname: __ccgo_ts + 6206,
  33933. Fobject: __ccgo_ts + 5927,
  33934. Fvalue: int32(m_FC_HINT_MEDIUM),
  33935. },
  33936. 41: {
  33937. Fname: __ccgo_ts + 6217,
  33938. Fobject: __ccgo_ts + 5927,
  33939. Fvalue: int32(m_FC_HINT_FULL),
  33940. },
  33941. 42: {
  33942. Fname: __ccgo_ts + 4733,
  33943. Fobject: __ccgo_ts + 4733,
  33944. Fvalue: int32(m_FcTrue),
  33945. },
  33946. 43: {
  33947. Fname: __ccgo_ts + 5937,
  33948. Fobject: __ccgo_ts + 5937,
  33949. Fvalue: int32(m_FcTrue),
  33950. },
  33951. 44: {
  33952. Fname: __ccgo_ts + 5945,
  33953. Fobject: __ccgo_ts + 5945,
  33954. Fvalue: int32(m_FcTrue),
  33955. },
  33956. 45: {
  33957. Fname: __ccgo_ts + 5960,
  33958. Fobject: __ccgo_ts + 5960,
  33959. Fvalue: int32(m_FcTrue),
  33960. },
  33961. 46: {
  33962. Fname: __ccgo_ts + 5969,
  33963. Fobject: __ccgo_ts + 5969,
  33964. Fvalue: int32(m_FcTrue),
  33965. },
  33966. 47: {
  33967. Fname: __ccgo_ts + 3959,
  33968. Fobject: __ccgo_ts + 3959,
  33969. Fvalue: int32(m_FcTrue),
  33970. },
  33971. 48: {
  33972. Fname: __ccgo_ts + 3973,
  33973. Fobject: __ccgo_ts + 3973,
  33974. Fvalue: int32(m_FcTrue),
  33975. },
  33976. 49: {
  33977. Fname: __ccgo_ts + 6009,
  33978. Fobject: __ccgo_ts + 6009,
  33979. Fvalue: int32(m_FcTrue),
  33980. },
  33981. 50: {
  33982. Fname: __ccgo_ts + 6046,
  33983. Fobject: __ccgo_ts + 6046,
  33984. Fvalue: int32(m_FcTrue),
  33985. },
  33986. 51: {
  33987. Fname: __ccgo_ts + 6055,
  33988. Fobject: __ccgo_ts + 6055,
  33989. Fvalue: int32(m_FcTrue),
  33990. },
  33991. 52: {
  33992. Fname: __ccgo_ts + 4664,
  33993. Fobject: __ccgo_ts + 4664,
  33994. Fvalue: int32(m_FcTrue),
  33995. },
  33996. 53: {
  33997. Fname: __ccgo_ts + 6226,
  33998. Fobject: __ccgo_ts + 6070,
  33999. },
  34000. 54: {
  34001. Fname: __ccgo_ts + 6234,
  34002. Fobject: __ccgo_ts + 6070,
  34003. Fvalue: int32(m_FC_LCD_DEFAULT),
  34004. },
  34005. 55: {
  34006. Fname: __ccgo_ts + 6245,
  34007. Fobject: __ccgo_ts + 6070,
  34008. Fvalue: int32(m_FC_LCD_LIGHT),
  34009. },
  34010. 56: {
  34011. Fname: __ccgo_ts + 6254,
  34012. Fobject: __ccgo_ts + 6070,
  34013. Fvalue: int32(m_FC_LCD_LEGACY),
  34014. },
  34015. }
  34016. func XIA__FcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  34017. /* Deprecated. */
  34018. return m_FcFalse
  34019. }
  34020. var XFcNameRegisterConstants = XIA__FcNameRegisterConstants
  34021. func XIA__FcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  34022. /* Deprecated. */
  34023. return m_FcFalse
  34024. }
  34025. var XFcNameUnregisterConstants = XIA__FcNameUnregisterConstants
  34026. func XIA__FcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  34027. var i uint32
  34028. _ = i
  34029. i = uint32(0)
  34030. for {
  34031. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  34032. break
  34033. }
  34034. if !(XIA__FcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  34035. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  34036. }
  34037. goto _1
  34038. _1:
  34039. ;
  34040. i++
  34041. }
  34042. return uintptr(0)
  34043. }
  34044. var XFcNameGetConstant = XIA__FcNameGetConstant
  34045. func XIA__FcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  34046. var c, v1 uintptr
  34047. _, _ = c, v1
  34048. v1 = XIA__FcNameGetConstant(tls, string1)
  34049. c = v1
  34050. if v1 != 0 {
  34051. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  34052. return int32(m_FcTrue)
  34053. }
  34054. return m_FcFalse
  34055. }
  34056. var XFcNameConstant = XIA__FcNameConstant
  34057. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  34058. var c0, c1 uint8
  34059. var v1, v2 int32
  34060. _, _, _, _ = c0, c1, v1, v2
  34061. c0 = *(*TFcChar8)(unsafe.Pointer(v))
  34062. if int32(0101) <= libc.Int32FromUint8(c0) && libc.Int32FromUint8(c0) <= int32(0132) {
  34063. v1 = libc.Int32FromUint8(c0) - int32(0101) + int32(0141)
  34064. } else {
  34065. v1 = libc.Int32FromUint8(c0)
  34066. }
  34067. c0 = libc.Uint8FromInt32(v1)
  34068. if libc.Int32FromUint8(c0) == int32('t') || libc.Int32FromUint8(c0) == int32('y') || libc.Int32FromUint8(c0) == int32('1') {
  34069. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  34070. return int32(m_FcTrue)
  34071. }
  34072. if libc.Int32FromUint8(c0) == int32('f') || libc.Int32FromUint8(c0) == int32('n') || libc.Int32FromUint8(c0) == int32('0') {
  34073. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  34074. return int32(m_FcTrue)
  34075. }
  34076. if libc.Int32FromUint8(c0) == int32('d') || libc.Int32FromUint8(c0) == int32('x') || libc.Int32FromUint8(c0) == int32('2') {
  34077. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  34078. return int32(m_FcTrue)
  34079. }
  34080. if libc.Int32FromUint8(c0) == int32('o') {
  34081. c1 = *(*TFcChar8)(unsafe.Pointer(v + 1))
  34082. if int32(0101) <= libc.Int32FromUint8(c1) && libc.Int32FromUint8(c1) <= int32(0132) {
  34083. v2 = libc.Int32FromUint8(c1) - int32(0101) + int32(0141)
  34084. } else {
  34085. v2 = libc.Int32FromUint8(c1)
  34086. }
  34087. c1 = libc.Uint8FromInt32(v2)
  34088. if libc.Int32FromUint8(c1) == int32('n') {
  34089. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  34090. return int32(m_FcTrue)
  34091. }
  34092. if libc.Int32FromUint8(c1) == int32('f') {
  34093. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  34094. return int32(m_FcTrue)
  34095. }
  34096. if libc.Int32FromUint8(c1) == int32('r') {
  34097. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  34098. return int32(m_FcTrue)
  34099. }
  34100. }
  34101. return m_FcFalse
  34102. }
  34103. func _FcNameConvert(tls *libc.TLS, type1 TFcType, string1 uintptr) (r TFcValue) {
  34104. bp := tls.Alloc(128)
  34105. defer tls.Free(128)
  34106. var ec, sc uintptr
  34107. var len1 Tsize_t
  34108. var v11, v12 float64
  34109. var _ /* b at bp+48 */ float64
  34110. var _ /* e at bp+56 */ float64
  34111. var _ /* ei at bp+76 */ int32
  34112. var _ /* m at bp+16 */ TFcMatrix
  34113. var _ /* p at bp+64 */ uintptr
  34114. var _ /* si at bp+72 */ int32
  34115. var _ /* v at bp+0 */ TFcValue
  34116. _, _, _, _, _ = ec, len1, sc, v11, v12
  34117. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  34118. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  34119. case int32(_FcTypeInteger):
  34120. goto _1
  34121. case int32(_FcTypeString):
  34122. goto _2
  34123. case int32(_FcTypeBool):
  34124. goto _3
  34125. case int32(_FcTypeDouble):
  34126. goto _4
  34127. case int32(_FcTypeMatrix):
  34128. goto _5
  34129. case int32(_FcTypeCharSet):
  34130. goto _6
  34131. case int32(_FcTypeLangSet):
  34132. goto _7
  34133. case int32(_FcTypeRange):
  34134. goto _8
  34135. default:
  34136. goto _9
  34137. }
  34138. goto _10
  34139. _1:
  34140. ;
  34141. if !(XIA__FcNameConstant(tls, string1, bp+8) != 0) {
  34142. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  34143. }
  34144. goto _10
  34145. _2:
  34146. ;
  34147. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  34148. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34149. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34150. }
  34151. goto _10
  34152. _3:
  34153. ;
  34154. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  34155. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  34156. }
  34157. goto _10
  34158. _4:
  34159. ;
  34160. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  34161. goto _10
  34162. _5:
  34163. ;
  34164. v11 = libc.Float64FromInt32(1)
  34165. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  34166. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  34167. v12 = libc.Float64FromInt32(0)
  34168. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  34169. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  34170. libc.Xsscanf(tls, string1, __ccgo_ts+6264, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  34171. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, bp+16)
  34172. goto _10
  34173. _6:
  34174. ;
  34175. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  34176. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34177. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34178. }
  34179. goto _10
  34180. _7:
  34181. ;
  34182. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  34183. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  34184. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34185. }
  34186. goto _10
  34187. _8:
  34188. ;
  34189. if libc.Xsscanf(tls, string1, __ccgo_ts+6280, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  34190. len1 = libc.Xstrlen(tls, string1)
  34191. sc = libc.Xmalloc(tls, len1+uint64(1))
  34192. ec = libc.Xmalloc(tls, len1+uint64(1))
  34193. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6290, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  34194. goto _13
  34195. }
  34196. if XIA__FcNameConstant(tls, sc, bp+72) != 0 && XIA__FcNameConstant(tls, ec, bp+76) != 0 {
  34197. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  34198. } else {
  34199. goto bail1
  34200. }
  34201. goto _14
  34202. _13:
  34203. ;
  34204. goto bail1
  34205. bail1:
  34206. ;
  34207. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  34208. if XIA__FcNameConstant(tls, string1, bp+72) != 0 {
  34209. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  34210. } else {
  34211. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  34212. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  34213. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  34214. }
  34215. }
  34216. _14:
  34217. ;
  34218. if sc != 0 {
  34219. libc.Xfree(tls, sc)
  34220. }
  34221. if ec != 0 {
  34222. libc.Xfree(tls, ec)
  34223. }
  34224. } else {
  34225. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  34226. }
  34227. goto _10
  34228. _9:
  34229. ;
  34230. goto _10
  34231. _10:
  34232. ;
  34233. return *(*TFcValue)(unsafe.Pointer(bp))
  34234. }
  34235. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  34236. var c, v1, v5, v6 TFcChar8
  34237. var v2, v3 int32
  34238. var v7 uintptr
  34239. _, _, _, _, _, _, _ = c, v1, v2, v3, v5, v6, v7
  34240. for {
  34241. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  34242. c = v1
  34243. if !(v1 != 0) {
  34244. break
  34245. }
  34246. v2 = libc.Int32FromUint8(c)
  34247. v3 = libc.BoolInt32(v2 == int32(' ') || libc.Uint32FromInt32(v2)-uint32('\t') < uint32(5))
  34248. goto _4
  34249. _4:
  34250. if !(v3 != 0) {
  34251. break
  34252. }
  34253. cur++
  34254. }
  34255. for {
  34256. v5 = *(*TFcChar8)(unsafe.Pointer(cur))
  34257. c = v5
  34258. if !(v5 != 0) {
  34259. break
  34260. }
  34261. if libc.Int32FromUint8(c) == int32('\\') {
  34262. cur++
  34263. v6 = *(*TFcChar8)(unsafe.Pointer(cur))
  34264. c = v6
  34265. if !(v6 != 0) {
  34266. break
  34267. }
  34268. } else {
  34269. if libc.Xstrchr(tls, delim, libc.Int32FromUint8(c)) != 0 {
  34270. break
  34271. }
  34272. }
  34273. cur++
  34274. v7 = save
  34275. save++
  34276. *(*TFcChar8)(unsafe.Pointer(v7)) = c
  34277. }
  34278. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  34279. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  34280. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  34281. cur++
  34282. }
  34283. return cur
  34284. }
  34285. func XIA__FcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  34286. bp := tls.Alloc(16)
  34287. defer tls.Free(16)
  34288. var c, pat, save, t, v4 uintptr
  34289. var d float64
  34290. var v TFcValue
  34291. var _ /* delim at bp+8 */ TFcChar8
  34292. var _ /* e at bp+0 */ uintptr
  34293. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  34294. /* freed below */
  34295. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  34296. if !(save != 0) {
  34297. goto bail0
  34298. }
  34299. pat = XIA__FcPatternCreate(tls)
  34300. if !(pat != 0) {
  34301. goto bail1
  34302. }
  34303. for {
  34304. name = _FcNameFindNext(tls, name, __ccgo_ts+6301, save, bp+8)
  34305. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  34306. if !(XIA__FcPatternAddString(tls, pat, __ccgo_ts+4049, save) != 0) {
  34307. goto bail2
  34308. }
  34309. }
  34310. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34311. break
  34312. }
  34313. goto _1
  34314. _1:
  34315. }
  34316. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  34317. for {
  34318. name = _FcNameFindNext(tls, name, __ccgo_ts+6301, save, bp+8)
  34319. d = libc.Xstrtod(tls, save, bp)
  34320. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  34321. if !(XIA__FcPatternAddDouble(tls, pat, __ccgo_ts+3995, d) != 0) {
  34322. goto bail2
  34323. }
  34324. }
  34325. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34326. break
  34327. }
  34328. goto _2
  34329. _2:
  34330. }
  34331. }
  34332. for libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  34333. name = _FcNameFindNext(tls, name, __ccgo_ts+6305, save, bp+8)
  34334. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  34335. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  34336. t = XIA__FcNameGetObjectType(tls, save)
  34337. for {
  34338. name = _FcNameFindNext(tls, name, __ccgo_ts+6309, save, bp+8)
  34339. if t != 0 {
  34340. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, save)
  34341. if !(XIA__FcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  34342. XIA__FcValueDestroy(tls, v)
  34343. goto bail2
  34344. }
  34345. XIA__FcValueDestroy(tls, v)
  34346. }
  34347. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  34348. break
  34349. }
  34350. goto _3
  34351. _3:
  34352. }
  34353. } else {
  34354. v4 = XIA__FcNameGetConstant(tls, save)
  34355. c = v4
  34356. if v4 != 0 {
  34357. t = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  34358. if t == libc.UintptrFromInt32(0) {
  34359. goto bail2
  34360. }
  34361. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  34362. case int32(_FcTypeInteger):
  34363. fallthrough
  34364. case int32(_FcTypeDouble):
  34365. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34366. goto bail2
  34367. }
  34368. case int32(_FcTypeBool):
  34369. if !(XIA__FcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34370. goto bail2
  34371. }
  34372. case int32(_FcTypeRange):
  34373. if !(XIA__FcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  34374. goto bail2
  34375. }
  34376. default:
  34377. break
  34378. }
  34379. }
  34380. }
  34381. }
  34382. }
  34383. libc.Xfree(tls, save)
  34384. return pat
  34385. goto bail2
  34386. bail2:
  34387. ;
  34388. XIA__FcPatternDestroy(tls, pat)
  34389. goto bail1
  34390. bail1:
  34391. ;
  34392. libc.Xfree(tls, save)
  34393. goto bail0
  34394. bail0:
  34395. ;
  34396. return uintptr(0)
  34397. return r
  34398. }
  34399. var XFcNameParse = XIA__FcNameParse
  34400. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  34401. var c, v1 TFcChar8
  34402. var v2 uintptr
  34403. _, _, _ = c, v1, v2
  34404. for {
  34405. v2 = string1
  34406. string1++
  34407. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  34408. c = v1
  34409. if !(v1 != 0) {
  34410. break
  34411. }
  34412. if escape != 0 && libc.Xstrchr(tls, escape, libc.Int32FromUint8(c)) != 0 {
  34413. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  34414. return m_FcFalse
  34415. }
  34416. }
  34417. if !(XFcStrBufChar(tls, buf, c) != 0) {
  34418. return m_FcFalse
  34419. }
  34420. }
  34421. return int32(m_FcTrue)
  34422. }
  34423. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  34424. bp := tls.Alloc(1088)
  34425. defer tls.Free(1088)
  34426. var v1, v2 uintptr
  34427. var _ /* temp at bp+0 */ [1024]TFcChar8
  34428. var _ /* v at bp+1024 */ TFcValue
  34429. _, _ = v1, v2
  34430. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  34431. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  34432. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  34433. case int32(_FcTypeUnknown):
  34434. fallthrough
  34435. case int32(_FcTypeVoid):
  34436. return int32(m_FcTrue)
  34437. case int32(_FcTypeInteger):
  34438. libc.Xsprintf(tls, bp, __ccgo_ts+2183, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  34439. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34440. case int32(_FcTypeDouble):
  34441. libc.Xsprintf(tls, bp, __ccgo_ts+2186, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  34442. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34443. case int32(_FcTypeString):
  34444. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  34445. case int32(_FcTypeBool):
  34446. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  34447. v1 = __ccgo_ts + 1617
  34448. } else {
  34449. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  34450. v2 = __ccgo_ts + 1622
  34451. } else {
  34452. v2 = __ccgo_ts + 1628
  34453. }
  34454. v1 = v2
  34455. }
  34456. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  34457. case int32(_FcTypeMatrix):
  34458. libc.Xsprintf(tls, bp, __ccgo_ts+6312, 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))
  34459. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34460. case int32(_FcTypeCharSet):
  34461. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  34462. case int32(_FcTypeLangSet):
  34463. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  34464. case int32(_FcTypeFTFace):
  34465. return int32(m_FcTrue)
  34466. case int32(_FcTypeRange):
  34467. libc.Xsprintf(tls, bp, __ccgo_ts+1657, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  34468. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  34469. }
  34470. return m_FcFalse
  34471. }
  34472. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  34473. var v1 TFcValueListPtr
  34474. var v2 uintptr
  34475. _, _ = v1, v2
  34476. for v != 0 {
  34477. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  34478. return m_FcFalse
  34479. }
  34480. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  34481. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34482. } else {
  34483. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  34484. }
  34485. v1 = v2
  34486. v = v1
  34487. if v1 != libc.UintptrFromInt32(0) {
  34488. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6324, uintptr(0)) != 0) {
  34489. return m_FcFalse
  34490. }
  34491. }
  34492. }
  34493. return int32(m_FcTrue)
  34494. }
  34495. func XIA__FcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  34496. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  34497. }
  34498. var XFcNameUnparse = XIA__FcNameUnparse
  34499. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  34500. bp := tls.Alloc(8752)
  34501. defer tls.Free(8752)
  34502. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  34503. var i int32
  34504. var id TFcObject
  34505. var _ /* buf at bp+0 */ TFcStrBuf
  34506. var _ /* buf2 at bp+152 */ TFcStrBuf
  34507. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  34508. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  34509. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  34510. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  34511. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  34512. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  34513. if e != 0 {
  34514. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34515. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34516. } else {
  34517. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34518. }
  34519. if escape != 0 {
  34520. v2 = __ccgo_ts + 6326
  34521. } else {
  34522. v2 = uintptr(0)
  34523. }
  34524. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  34525. goto bail0
  34526. }
  34527. }
  34528. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  34529. if e != 0 {
  34530. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+6331, uintptr(0)) != 0) {
  34531. goto bail0
  34532. }
  34533. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34534. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34535. } else {
  34536. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34537. }
  34538. if escape != 0 {
  34539. v4 = __ccgo_ts + 6326
  34540. } else {
  34541. v4 = uintptr(0)
  34542. }
  34543. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  34544. goto bail0
  34545. }
  34546. p = XFcStrBufDoneStatic(tls, bp+152)
  34547. XFcStrBufDestroy(tls, bp+152)
  34548. if libc.Xstrlen(tls, p) > uint64(1) {
  34549. if !(XFcStrBufString(tls, bp, p) != 0) {
  34550. goto bail0
  34551. }
  34552. }
  34553. }
  34554. i = 0
  34555. for {
  34556. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(800)/libc.Uint64FromInt64(16))) {
  34557. break
  34558. }
  34559. id = i + int32(1)
  34560. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  34561. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+4049) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+3995) != 0) {
  34562. goto _5
  34563. }
  34564. e = XFcPatternObjectFindElt(tls, pat, id)
  34565. if e != 0 {
  34566. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6333, uintptr(0)) != 0) {
  34567. goto bail0
  34568. }
  34569. if escape != 0 {
  34570. v6 = __ccgo_ts + 6335
  34571. } else {
  34572. v6 = uintptr(0)
  34573. }
  34574. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  34575. goto bail0
  34576. }
  34577. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6341, uintptr(0)) != 0) {
  34578. goto bail0
  34579. }
  34580. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34581. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34582. } else {
  34583. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34584. }
  34585. if escape != 0 {
  34586. v8 = __ccgo_ts + 6335
  34587. } else {
  34588. v8 = uintptr(0)
  34589. }
  34590. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  34591. goto bail0
  34592. }
  34593. }
  34594. goto _5
  34595. _5:
  34596. ;
  34597. i++
  34598. }
  34599. return XFcStrBufDone(tls, bp)
  34600. goto bail0
  34601. bail0:
  34602. ;
  34603. XFcStrBufDestroy(tls, bp)
  34604. return uintptr(0)
  34605. }
  34606. /* ANSI-C code produced by gperf version 3.1 */
  34607. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  34608. /* Computed positions: -k'2-3' */
  34609. type TFcObjectTypeInfo = struct {
  34610. Fname int32
  34611. Fid int32
  34612. }
  34613. /* maximum key range = 65, duplicates = 0 */
  34614. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  34615. return uint32(len1 + uint64(_asso_values[*(*uint8)(unsafe.Pointer(str + 2))]) + uint64(_asso_values[*(*uint8)(unsafe.Pointer(str + 1))]))
  34616. }
  34617. var _asso_values = [256]uint8{
  34618. 0: uint8(69),
  34619. 1: uint8(69),
  34620. 2: uint8(69),
  34621. 3: uint8(69),
  34622. 4: uint8(69),
  34623. 5: uint8(69),
  34624. 6: uint8(69),
  34625. 7: uint8(69),
  34626. 8: uint8(69),
  34627. 9: uint8(69),
  34628. 10: uint8(69),
  34629. 11: uint8(69),
  34630. 12: uint8(69),
  34631. 13: uint8(69),
  34632. 14: uint8(69),
  34633. 15: uint8(69),
  34634. 16: uint8(69),
  34635. 17: uint8(69),
  34636. 18: uint8(69),
  34637. 19: uint8(69),
  34638. 20: uint8(69),
  34639. 21: uint8(69),
  34640. 22: uint8(69),
  34641. 23: uint8(69),
  34642. 24: uint8(69),
  34643. 25: uint8(69),
  34644. 26: uint8(69),
  34645. 27: uint8(69),
  34646. 28: uint8(69),
  34647. 29: uint8(69),
  34648. 30: uint8(69),
  34649. 31: uint8(69),
  34650. 32: uint8(69),
  34651. 33: uint8(69),
  34652. 34: uint8(69),
  34653. 35: uint8(69),
  34654. 36: uint8(69),
  34655. 37: uint8(69),
  34656. 38: uint8(69),
  34657. 39: uint8(69),
  34658. 40: uint8(69),
  34659. 41: uint8(69),
  34660. 42: uint8(69),
  34661. 43: uint8(69),
  34662. 44: uint8(69),
  34663. 45: uint8(69),
  34664. 46: uint8(69),
  34665. 47: uint8(69),
  34666. 48: uint8(69),
  34667. 49: uint8(69),
  34668. 50: uint8(69),
  34669. 51: uint8(69),
  34670. 52: uint8(69),
  34671. 53: uint8(69),
  34672. 54: uint8(69),
  34673. 55: uint8(69),
  34674. 56: uint8(69),
  34675. 57: uint8(69),
  34676. 58: uint8(69),
  34677. 59: uint8(69),
  34678. 60: uint8(69),
  34679. 61: uint8(69),
  34680. 62: uint8(69),
  34681. 63: uint8(69),
  34682. 64: uint8(69),
  34683. 65: uint8(69),
  34684. 66: uint8(69),
  34685. 67: uint8(69),
  34686. 68: uint8(69),
  34687. 69: uint8(69),
  34688. 70: uint8(69),
  34689. 71: uint8(69),
  34690. 72: uint8(69),
  34691. 73: uint8(69),
  34692. 74: uint8(69),
  34693. 75: uint8(69),
  34694. 76: uint8(69),
  34695. 77: uint8(69),
  34696. 78: uint8(69),
  34697. 79: uint8(69),
  34698. 80: uint8(69),
  34699. 81: uint8(69),
  34700. 82: uint8(69),
  34701. 83: uint8(69),
  34702. 84: uint8(69),
  34703. 85: uint8(69),
  34704. 86: uint8(69),
  34705. 87: uint8(69),
  34706. 88: uint8(69),
  34707. 89: uint8(69),
  34708. 90: uint8(69),
  34709. 91: uint8(69),
  34710. 92: uint8(69),
  34711. 93: uint8(69),
  34712. 94: uint8(69),
  34713. 95: uint8(69),
  34714. 96: uint8(69),
  34715. 97: uint8(9),
  34716. 98: uint8(21),
  34717. 99: uint8(18),
  34718. 100: uint8(33),
  34719. 101: uint8(21),
  34720. 102: uint8(69),
  34721. 103: uint8(6),
  34722. 104: uint8(36),
  34723. 106: uint8(69),
  34724. 107: uint8(69),
  34725. 109: uint8(24),
  34726. 110: uint8(9),
  34727. 112: uint8(21),
  34728. 113: uint8(69),
  34729. 114: uint8(33),
  34730. 115: uint8(15),
  34731. 116: uint8(18),
  34732. 118: uint8(69),
  34733. 119: uint8(69),
  34734. 121: uint8(21),
  34735. 122: uint8(6),
  34736. 123: uint8(69),
  34737. 124: uint8(69),
  34738. 125: uint8(69),
  34739. 126: uint8(69),
  34740. 127: uint8(69),
  34741. 128: uint8(69),
  34742. 129: uint8(69),
  34743. 130: uint8(69),
  34744. 131: uint8(69),
  34745. 132: uint8(69),
  34746. 133: uint8(69),
  34747. 134: uint8(69),
  34748. 135: uint8(69),
  34749. 136: uint8(69),
  34750. 137: uint8(69),
  34751. 138: uint8(69),
  34752. 139: uint8(69),
  34753. 140: uint8(69),
  34754. 141: uint8(69),
  34755. 142: uint8(69),
  34756. 143: uint8(69),
  34757. 144: uint8(69),
  34758. 145: uint8(69),
  34759. 146: uint8(69),
  34760. 147: uint8(69),
  34761. 148: uint8(69),
  34762. 149: uint8(69),
  34763. 150: uint8(69),
  34764. 151: uint8(69),
  34765. 152: uint8(69),
  34766. 153: uint8(69),
  34767. 154: uint8(69),
  34768. 155: uint8(69),
  34769. 156: uint8(69),
  34770. 157: uint8(69),
  34771. 158: uint8(69),
  34772. 159: uint8(69),
  34773. 160: uint8(69),
  34774. 161: uint8(69),
  34775. 162: uint8(69),
  34776. 163: uint8(69),
  34777. 164: uint8(69),
  34778. 165: uint8(69),
  34779. 166: uint8(69),
  34780. 167: uint8(69),
  34781. 168: uint8(69),
  34782. 169: uint8(69),
  34783. 170: uint8(69),
  34784. 171: uint8(69),
  34785. 172: uint8(69),
  34786. 173: uint8(69),
  34787. 174: uint8(69),
  34788. 175: uint8(69),
  34789. 176: uint8(69),
  34790. 177: uint8(69),
  34791. 178: uint8(69),
  34792. 179: uint8(69),
  34793. 180: uint8(69),
  34794. 181: uint8(69),
  34795. 182: uint8(69),
  34796. 183: uint8(69),
  34797. 184: uint8(69),
  34798. 185: uint8(69),
  34799. 186: uint8(69),
  34800. 187: uint8(69),
  34801. 188: uint8(69),
  34802. 189: uint8(69),
  34803. 190: uint8(69),
  34804. 191: uint8(69),
  34805. 192: uint8(69),
  34806. 193: uint8(69),
  34807. 194: uint8(69),
  34808. 195: uint8(69),
  34809. 196: uint8(69),
  34810. 197: uint8(69),
  34811. 198: uint8(69),
  34812. 199: uint8(69),
  34813. 200: uint8(69),
  34814. 201: uint8(69),
  34815. 202: uint8(69),
  34816. 203: uint8(69),
  34817. 204: uint8(69),
  34818. 205: uint8(69),
  34819. 206: uint8(69),
  34820. 207: uint8(69),
  34821. 208: uint8(69),
  34822. 209: uint8(69),
  34823. 210: uint8(69),
  34824. 211: uint8(69),
  34825. 212: uint8(69),
  34826. 213: uint8(69),
  34827. 214: uint8(69),
  34828. 215: uint8(69),
  34829. 216: uint8(69),
  34830. 217: uint8(69),
  34831. 218: uint8(69),
  34832. 219: uint8(69),
  34833. 220: uint8(69),
  34834. 221: uint8(69),
  34835. 222: uint8(69),
  34836. 223: uint8(69),
  34837. 224: uint8(69),
  34838. 225: uint8(69),
  34839. 226: uint8(69),
  34840. 227: uint8(69),
  34841. 228: uint8(69),
  34842. 229: uint8(69),
  34843. 230: uint8(69),
  34844. 231: uint8(69),
  34845. 232: uint8(69),
  34846. 233: uint8(69),
  34847. 234: uint8(69),
  34848. 235: uint8(69),
  34849. 236: uint8(69),
  34850. 237: uint8(69),
  34851. 238: uint8(69),
  34852. 239: uint8(69),
  34853. 240: uint8(69),
  34854. 241: uint8(69),
  34855. 242: uint8(69),
  34856. 243: uint8(69),
  34857. 244: uint8(69),
  34858. 245: uint8(69),
  34859. 246: uint8(69),
  34860. 247: uint8(69),
  34861. 248: uint8(69),
  34862. 249: uint8(69),
  34863. 250: uint8(69),
  34864. 251: uint8(69),
  34865. 252: uint8(69),
  34866. 253: uint8(69),
  34867. 254: uint8(69),
  34868. 255: uint8(69),
  34869. }
  34870. type TFcObjectTypeNamePool_t = struct {
  34871. FFcObjectTypeNamePool_str4 [5]uint8
  34872. FFcObjectTypeNamePool_str5 [6]uint8
  34873. FFcObjectTypeNamePool_str7 [8]uint8
  34874. FFcObjectTypeNamePool_str8 [9]uint8
  34875. FFcObjectTypeNamePool_str9 [10]uint8
  34876. FFcObjectTypeNamePool_str10 [5]uint8
  34877. FFcObjectTypeNamePool_str12 [13]uint8
  34878. FFcObjectTypeNamePool_str13 [14]uint8
  34879. FFcObjectTypeNamePool_str14 [6]uint8
  34880. FFcObjectTypeNamePool_str16 [8]uint8
  34881. FFcObjectTypeNamePool_str17 [9]uint8
  34882. FFcObjectTypeNamePool_str18 [10]uint8
  34883. FFcObjectTypeNamePool_str19 [11]uint8
  34884. FFcObjectTypeNamePool_str20 [12]uint8
  34885. FFcObjectTypeNamePool_str21 [13]uint8
  34886. FFcObjectTypeNamePool_str22 [5]uint8
  34887. FFcObjectTypeNamePool_str23 [15]uint8
  34888. FFcObjectTypeNamePool_str24 [4]uint8
  34889. FFcObjectTypeNamePool_str25 [8]uint8
  34890. FFcObjectTypeNamePool_str26 [9]uint8
  34891. FFcObjectTypeNamePool_str27 [7]uint8
  34892. FFcObjectTypeNamePool_str28 [5]uint8
  34893. FFcObjectTypeNamePool_str29 [15]uint8
  34894. FFcObjectTypeNamePool_str31 [5]uint8
  34895. FFcObjectTypeNamePool_str32 [6]uint8
  34896. FFcObjectTypeNamePool_str33 [7]uint8
  34897. FFcObjectTypeNamePool_str34 [11]uint8
  34898. FFcObjectTypeNamePool_str35 [9]uint8
  34899. FFcObjectTypeNamePool_str36 [10]uint8
  34900. FFcObjectTypeNamePool_str37 [8]uint8
  34901. FFcObjectTypeNamePool_str38 [6]uint8
  34902. FFcObjectTypeNamePool_str39 [7]uint8
  34903. FFcObjectTypeNamePool_str40 [11]uint8
  34904. FFcObjectTypeNamePool_str41 [9]uint8
  34905. FFcObjectTypeNamePool_str42 [7]uint8
  34906. FFcObjectTypeNamePool_str43 [11]uint8
  34907. FFcObjectTypeNamePool_str44 [6]uint8
  34908. FFcObjectTypeNamePool_str46 [8]uint8
  34909. FFcObjectTypeNamePool_str47 [6]uint8
  34910. FFcObjectTypeNamePool_str48 [10]uint8
  34911. FFcObjectTypeNamePool_str49 [11]uint8
  34912. FFcObjectTypeNamePool_str50 [9]uint8
  34913. FFcObjectTypeNamePool_str51 [7]uint8
  34914. FFcObjectTypeNamePool_str52 [8]uint8
  34915. FFcObjectTypeNamePool_str53 [9]uint8
  34916. FFcObjectTypeNamePool_str54 [10]uint8
  34917. FFcObjectTypeNamePool_str55 [11]uint8
  34918. FFcObjectTypeNamePool_str59 [15]uint8
  34919. FFcObjectTypeNamePool_str60 [10]uint8
  34920. FFcObjectTypeNamePool_str68 [15]uint8
  34921. }
  34922. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  34923. FFcObjectTypeNamePool_str4: [5]uint8{'f', 'i', 'l', 'e'},
  34924. FFcObjectTypeNamePool_str5: [6]uint8{'c', 'o', 'l', 'o', 'r'},
  34925. FFcObjectTypeNamePool_str7: [8]uint8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  34926. FFcObjectTypeNamePool_str8: [9]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  34927. FFcObjectTypeNamePool_str9: [10]uint8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  34928. FFcObjectTypeNamePool_str10: [5]uint8{'s', 'i', 'z', 'e'},
  34929. FFcObjectTypeNamePool_str12: [13]uint8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  34930. FFcObjectTypeNamePool_str13: [14]uint8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  34931. FFcObjectTypeNamePool_str14: [6]uint8{'s', 'l', 'a', 'n', 't'},
  34932. FFcObjectTypeNamePool_str16: [8]uint8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  34933. FFcObjectTypeNamePool_str17: [9]uint8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  34934. FFcObjectTypeNamePool_str18: [10]uint8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  34935. FFcObjectTypeNamePool_str19: [11]uint8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  34936. FFcObjectTypeNamePool_str20: [12]uint8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  34937. FFcObjectTypeNamePool_str21: [13]uint8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  34938. FFcObjectTypeNamePool_str22: [5]uint8{'l', 'a', 'n', 'g'},
  34939. FFcObjectTypeNamePool_str23: [15]uint8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  34940. FFcObjectTypeNamePool_str24: [4]uint8{'d', 'p', 'i'},
  34941. FFcObjectTypeNamePool_str25: [8]uint8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  34942. FFcObjectTypeNamePool_str26: [9]uint8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  34943. FFcObjectTypeNamePool_str27: [7]uint8{'w', 'e', 'i', 'g', 'h', 't'},
  34944. FFcObjectTypeNamePool_str28: [5]uint8{'h', 'a', 's', 'h'},
  34945. FFcObjectTypeNamePool_str29: [15]uint8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  34946. FFcObjectTypeNamePool_str31: [5]uint8{'r', 'g', 'b', 'a'},
  34947. FFcObjectTypeNamePool_str32: [6]uint8{'s', 'c', 'a', 'l', 'e'},
  34948. FFcObjectTypeNamePool_str33: [7]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  34949. FFcObjectTypeNamePool_str34: [11]uint8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  34950. FFcObjectTypeNamePool_str35: [9]uint8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  34951. FFcObjectTypeNamePool_str36: [10]uint8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  34952. FFcObjectTypeNamePool_str37: [8]uint8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  34953. FFcObjectTypeNamePool_str38: [6]uint8{'w', 'i', 'd', 't', 'h'},
  34954. FFcObjectTypeNamePool_str39: [7]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  34955. FFcObjectTypeNamePool_str40: [11]uint8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  34956. FFcObjectTypeNamePool_str41: [9]uint8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  34957. FFcObjectTypeNamePool_str42: [7]uint8{'a', 's', 'p', 'e', 'c', 't'},
  34958. FFcObjectTypeNamePool_str43: [11]uint8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  34959. FFcObjectTypeNamePool_str44: [6]uint8{'s', 't', 'y', 'l', 'e'},
  34960. FFcObjectTypeNamePool_str46: [8]uint8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  34961. FFcObjectTypeNamePool_str47: [6]uint8{'i', 'n', 'd', 'e', 'x'},
  34962. FFcObjectTypeNamePool_str48: [10]uint8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  34963. FFcObjectTypeNamePool_str49: [11]uint8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  34964. FFcObjectTypeNamePool_str50: [9]uint8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  34965. FFcObjectTypeNamePool_str51: [7]uint8{'s', 'y', 'm', 'b', 'o', 'l'},
  34966. FFcObjectTypeNamePool_str52: [8]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  34967. FFcObjectTypeNamePool_str53: [9]uint8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  34968. FFcObjectTypeNamePool_str54: [10]uint8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  34969. FFcObjectTypeNamePool_str55: [11]uint8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  34970. FFcObjectTypeNamePool_str59: [15]uint8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  34971. FFcObjectTypeNamePool_str60: [10]uint8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  34972. FFcObjectTypeNamePool_str68: [15]uint8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  34973. }
  34974. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  34975. var key uint32
  34976. var o int32
  34977. var s uintptr
  34978. _, _, _ = key, o, s
  34979. if len1 <= libc.Uint64FromInt32(14) && len1 >= libc.Uint64FromInt32(3) {
  34980. key = _FcObjectTypeHash(tls, str, len1)
  34981. if key <= libc.Uint32FromInt32(68) {
  34982. o = _wordlist[key].Fname
  34983. if o >= 0 {
  34984. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  34985. if libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(str))) == libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  34986. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  34987. }
  34988. }
  34989. }
  34990. }
  34991. return uintptr(0)
  34992. }
  34993. var _wordlist = [69]TFcObjectTypeInfo{
  34994. 0: {
  34995. Fname: -int32(1),
  34996. },
  34997. 1: {
  34998. Fname: -int32(1),
  34999. },
  35000. 2: {
  35001. Fname: -int32(1),
  35002. },
  35003. 3: {
  35004. Fname: -int32(1),
  35005. },
  35006. 4: {
  35007. Fid: int32(_FC_FILE_OBJECT),
  35008. },
  35009. 5: {
  35010. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 5)),
  35011. Fid: int32(_FC_COLOR_OBJECT),
  35012. },
  35013. 6: {
  35014. Fname: -int32(1),
  35015. },
  35016. 7: {
  35017. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 11)),
  35018. Fid: int32(_FC_FOUNDRY_OBJECT),
  35019. },
  35020. 8: {
  35021. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  35022. Fid: int32(_FC_FULLNAME_OBJECT),
  35023. },
  35024. 9: {
  35025. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 28)),
  35026. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  35027. },
  35028. 10: {
  35029. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 38)),
  35030. Fid: int32(_FC_SIZE_OBJECT),
  35031. },
  35032. 11: {
  35033. Fname: -int32(1),
  35034. },
  35035. 12: {
  35036. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 43)),
  35037. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  35038. },
  35039. 13: {
  35040. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 56)),
  35041. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  35042. },
  35043. 14: {
  35044. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  35045. Fid: int32(_FC_SLANT_OBJECT),
  35046. },
  35047. 15: {
  35048. Fname: -int32(1),
  35049. },
  35050. 16: {
  35051. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 76)),
  35052. Fid: int32(_FC_HINTING_OBJECT),
  35053. },
  35054. 17: {
  35055. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 84)),
  35056. Fid: int32(_FC_MINSPACE_OBJECT),
  35057. },
  35058. 18: {
  35059. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 93)),
  35060. Fid: int32(_FC_HINT_STYLE_OBJECT),
  35061. },
  35062. 19: {
  35063. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 103)),
  35064. Fid: int32(_FC_FONTFORMAT_OBJECT),
  35065. },
  35066. 20: {
  35067. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 114)),
  35068. Fid: int32(_FC_FONTVERSION_OBJECT),
  35069. },
  35070. 21: {
  35071. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  35072. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  35073. },
  35074. 22: {
  35075. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 139)),
  35076. Fid: int32(_FC_LANG_OBJECT),
  35077. },
  35078. 23: {
  35079. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 144)),
  35080. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  35081. },
  35082. 24: {
  35083. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 159)),
  35084. Fid: int32(_FC_DPI_OBJECT),
  35085. },
  35086. 25: {
  35087. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  35088. Fid: int32(_FC_OUTLINE_OBJECT),
  35089. },
  35090. 26: {
  35091. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 171)),
  35092. Fid: int32(_FC_AUTOHINT_OBJECT),
  35093. },
  35094. 27: {
  35095. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 180)),
  35096. Fid: int32(_FC_WEIGHT_OBJECT),
  35097. },
  35098. 28: {
  35099. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 187)),
  35100. Fid: int32(_FC_HASH_OBJECT),
  35101. },
  35102. 29: {
  35103. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 192)),
  35104. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  35105. },
  35106. 30: {
  35107. Fname: -int32(1),
  35108. },
  35109. 31: {
  35110. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 207)),
  35111. Fid: int32(_FC_RGBA_OBJECT),
  35112. },
  35113. 32: {
  35114. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 212)),
  35115. Fid: int32(_FC_SCALE_OBJECT),
  35116. },
  35117. 33: {
  35118. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 218)),
  35119. Fid: int32(_FC_MATRIX_OBJECT),
  35120. },
  35121. 34: {
  35122. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 225)),
  35123. Fid: int32(_FC_RASTERIZER_OBJECT),
  35124. },
  35125. 35: {
  35126. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  35127. Fid: int32(_FC_SCALABLE_OBJECT),
  35128. },
  35129. 36: {
  35130. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 245)),
  35131. Fid: int32(_FC_ANTIALIAS_OBJECT),
  35132. },
  35133. 37: {
  35134. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 255)),
  35135. Fid: int32(_FC_SPACING_OBJECT),
  35136. },
  35137. 38: {
  35138. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 263)),
  35139. Fid: int32(_FC_WIDTH_OBJECT),
  35140. },
  35141. 39: {
  35142. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 269)),
  35143. Fid: int32(_FC_FAMILY_OBJECT),
  35144. },
  35145. 40: {
  35146. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 276)),
  35147. Fid: int32(_FC_CAPABILITY_OBJECT),
  35148. },
  35149. 41: {
  35150. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  35151. Fid: int32(_FC_NAMELANG_OBJECT),
  35152. },
  35153. 42: {
  35154. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  35155. Fid: int32(_FC_ASPECT_OBJECT),
  35156. },
  35157. 43: {
  35158. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 303)),
  35159. Fid: int32(_FC_FAMILYLANG_OBJECT),
  35160. },
  35161. 44: {
  35162. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 314)),
  35163. Fid: int32(_FC_STYLE_OBJECT),
  35164. },
  35165. 45: {
  35166. Fname: -int32(1),
  35167. },
  35168. 46: {
  35169. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 320)),
  35170. Fid: int32(_FC_PRGNAME_OBJECT),
  35171. },
  35172. 47: {
  35173. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 328)),
  35174. Fid: int32(_FC_INDEX_OBJECT),
  35175. },
  35176. 48: {
  35177. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 334)),
  35178. Fid: int32(_FC_STYLELANG_OBJECT),
  35179. },
  35180. 49: {
  35181. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  35182. Fid: int32(_FC_DECORATIVE_OBJECT),
  35183. },
  35184. 50: {
  35185. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 355)),
  35186. Fid: int32(_FC_VARIABLE_OBJECT),
  35187. },
  35188. 51: {
  35189. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  35190. Fid: int32(_FC_SYMBOL_OBJECT),
  35191. },
  35192. 52: {
  35193. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 371)),
  35194. Fid: int32(_FC_CHARSET_OBJECT),
  35195. },
  35196. 53: {
  35197. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 379)),
  35198. Fid: int32(_FC_EMBOLDEN_OBJECT),
  35199. },
  35200. 54: {
  35201. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 388)),
  35202. Fid: int32(_FC_CHARWIDTH_OBJECT),
  35203. },
  35204. 55: {
  35205. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 398)),
  35206. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  35207. },
  35208. 56: {
  35209. Fname: -int32(1),
  35210. },
  35211. 57: {
  35212. Fname: -int32(1),
  35213. },
  35214. 58: {
  35215. Fname: -int32(1),
  35216. },
  35217. 59: {
  35218. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 409)),
  35219. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  35220. },
  35221. 60: {
  35222. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 424)),
  35223. Fid: int32(_FC_LCD_FILTER_OBJECT),
  35224. },
  35225. 61: {
  35226. Fname: -int32(1),
  35227. },
  35228. 62: {
  35229. Fname: -int32(1),
  35230. },
  35231. 63: {
  35232. Fname: -int32(1),
  35233. },
  35234. 64: {
  35235. Fname: -int32(1),
  35236. },
  35237. 65: {
  35238. Fname: -int32(1),
  35239. },
  35240. 66: {
  35241. Fname: -int32(1),
  35242. },
  35243. 67: {
  35244. Fname: -int32(1),
  35245. },
  35246. 68: {
  35247. Fname: libc.Int32FromUint64(Tsize_t(libc.UintptrFromInt32(0) + 434)),
  35248. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  35249. },
  35250. }
  35251. // C documentation
  35252. //
  35253. // /* The 1000 is to leave some room for future added internal objects, such
  35254. // * that caches from newer fontconfig can still be used with older fontconfig
  35255. // * without getting confused. */
  35256. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  35257. type TFcObjectOtherTypeInfo = struct {
  35258. Fnext uintptr
  35259. Fobject TFcObjectType
  35260. Fid TFcObject
  35261. }
  35262. func XFcObjectFini(tls *libc.TLS) {
  35263. var ot, ots uintptr
  35264. var v1 int32
  35265. _, _, _ = ot, ots, v1
  35266. goto retry
  35267. retry:
  35268. ;
  35269. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35270. if !(ots != 0) {
  35271. return
  35272. }
  35273. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  35274. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  35275. v1 = libc.Int32FromInt32(m_FcTrue)
  35276. } else {
  35277. v1 = m_FcFalse
  35278. }
  35279. if !(v1 != 0) {
  35280. goto retry
  35281. }
  35282. for ots != 0 {
  35283. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  35284. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  35285. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  35286. }
  35287. libc.Xfree(tls, ots)
  35288. ots = ot
  35289. }
  35290. }
  35291. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  35292. var ot, ots uintptr
  35293. var v2 int32
  35294. _, _, _ = ot, ots, v2
  35295. goto retry
  35296. retry:
  35297. ;
  35298. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35299. ot = ots
  35300. for {
  35301. if !(ot != 0) {
  35302. break
  35303. }
  35304. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  35305. break
  35306. }
  35307. goto _1
  35308. _1:
  35309. ;
  35310. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35311. }
  35312. if !(ot != 0) {
  35313. ot = libc.Xmalloc(tls, uint64(32))
  35314. if !(ot != 0) {
  35315. return libc.UintptrFromInt32(0)
  35316. }
  35317. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  35318. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  35319. _next_id += +libc.Int32FromInt32(1)
  35320. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  35321. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  35322. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6343, 0)
  35323. libc.Xabort(tls)
  35324. }
  35325. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  35326. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  35327. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  35328. v2 = libc.Int32FromInt32(m_FcTrue)
  35329. } else {
  35330. v2 = m_FcFalse
  35331. }
  35332. if !(v2 != 0) {
  35333. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  35334. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  35335. }
  35336. libc.Xfree(tls, ot)
  35337. goto retry
  35338. }
  35339. }
  35340. if id != 0 {
  35341. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  35342. }
  35343. return ot + 8
  35344. }
  35345. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  35346. var o uintptr
  35347. _ = o
  35348. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  35349. if o != 0 {
  35350. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  35351. }
  35352. return 0
  35353. }
  35354. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  35355. bp := tls.Alloc(16)
  35356. defer tls.Free(16)
  35357. var o uintptr
  35358. var _ /* id at bp+0 */ TFcObject
  35359. _ = o
  35360. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  35361. if o != 0 {
  35362. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  35363. }
  35364. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  35365. return *(*TFcObject)(unsafe.Pointer(bp))
  35366. }
  35367. return 0
  35368. }
  35369. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  35370. var ot uintptr
  35371. _ = ot
  35372. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35373. for {
  35374. if !(ot != 0) {
  35375. break
  35376. }
  35377. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  35378. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  35379. }
  35380. goto _1
  35381. _1:
  35382. ;
  35383. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35384. }
  35385. return libc.UintptrFromInt32(0)
  35386. }
  35387. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  35388. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  35389. }
  35390. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  35391. var ot uintptr
  35392. _ = ot
  35393. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  35394. for {
  35395. if !(ot != 0) {
  35396. break
  35397. }
  35398. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  35399. return ot + 8
  35400. }
  35401. goto _1
  35402. _1:
  35403. ;
  35404. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  35405. }
  35406. return libc.UintptrFromInt32(0)
  35407. }
  35408. /* Objects MT-safe for readonly access. */
  35409. func XIA__FcPatternCreate(tls *libc.TLS) (r uintptr) {
  35410. var p uintptr
  35411. _ = p
  35412. p = libc.Xmalloc(tls, uint64(24))
  35413. if !(p != 0) {
  35414. return uintptr(0)
  35415. }
  35416. libc.Xmemset(tls, p, 0, uint64(24))
  35417. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  35418. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  35419. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  35420. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  35421. return p
  35422. }
  35423. var XFcPatternCreate = XIA__FcPatternCreate
  35424. func XIA__FcValueDestroy(tls *libc.TLS, _v TFcValue) {
  35425. bp := tls.Alloc(16)
  35426. defer tls.Free(16)
  35427. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  35428. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35429. case int32(_FcTypeString):
  35430. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35431. case int32(_FcTypeMatrix):
  35432. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35433. case int32(_FcTypeCharSet):
  35434. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35435. case int32(_FcTypeLangSet):
  35436. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35437. case int32(_FcTypeRange):
  35438. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35439. default:
  35440. break
  35441. }
  35442. }
  35443. var XFcValueDestroy = XIA__FcValueDestroy
  35444. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  35445. bp := tls.Alloc(16)
  35446. defer tls.Free(16)
  35447. var v1, v2, v3, v4 uintptr
  35448. var _ /* new at bp+0 */ TFcValue
  35449. _, _, _, _ = v1, v2, v3, v4
  35450. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  35451. case int32(_FcTypeString):
  35452. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35453. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35454. } else {
  35455. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  35456. }
  35457. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  35458. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  35459. case int32(_FcTypeCharSet):
  35460. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35461. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35462. } else {
  35463. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  35464. }
  35465. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  35466. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  35467. case int32(_FcTypeLangSet):
  35468. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35469. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35470. } else {
  35471. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  35472. }
  35473. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  35474. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  35475. case int32(_FcTypeRange):
  35476. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35477. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35478. } else {
  35479. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  35480. }
  35481. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  35482. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  35483. default:
  35484. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  35485. break
  35486. }
  35487. return *(*TFcValue)(unsafe.Pointer(bp))
  35488. }
  35489. func XIA__FcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  35490. bp := tls.Alloc(16)
  35491. defer tls.Free(16)
  35492. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  35493. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35494. case int32(_FcTypeString):
  35495. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35496. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35497. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35498. }
  35499. case int32(_FcTypeMatrix):
  35500. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35501. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35502. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35503. }
  35504. case int32(_FcTypeCharSet):
  35505. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35506. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35507. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35508. }
  35509. case int32(_FcTypeLangSet):
  35510. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35511. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35512. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35513. }
  35514. case int32(_FcTypeRange):
  35515. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  35516. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  35517. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  35518. }
  35519. default:
  35520. break
  35521. }
  35522. return *(*TFcValue)(unsafe.Pointer(bp))
  35523. }
  35524. var XFcValueSave = XIA__FcValueSave
  35525. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  35526. return libc.Xcalloc(tls, uint64(1), uint64(32))
  35527. }
  35528. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  35529. var next TFcValueListPtr
  35530. var v2 uintptr
  35531. _, _ = next, v2
  35532. for {
  35533. if !(l != 0) {
  35534. break
  35535. }
  35536. switch (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 {
  35537. case int32(_FcTypeString):
  35538. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35539. case int32(_FcTypeMatrix):
  35540. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35541. case int32(_FcTypeCharSet):
  35542. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35543. case int32(_FcTypeLangSet):
  35544. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35545. case int32(_FcTypeRange):
  35546. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(l + 8 + 8)))
  35547. default:
  35548. break
  35549. }
  35550. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35551. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35552. } else {
  35553. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35554. }
  35555. next = v2
  35556. libc.Xfree(tls, l)
  35557. goto _1
  35558. _1:
  35559. ;
  35560. l = next
  35561. }
  35562. }
  35563. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  35564. var new1 TFcValueListPtr
  35565. _ = new1
  35566. if value.Ftype1 == int32(_FcTypeVoid) {
  35567. return vallist
  35568. }
  35569. new1 = XFcValueListCreate(tls)
  35570. if !(new1 != 0) {
  35571. return vallist
  35572. }
  35573. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  35574. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  35575. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  35576. return new1
  35577. }
  35578. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  35579. var last, new1 TFcValueListPtr
  35580. var v2, v3 uintptr
  35581. _, _, _, _ = last, new1, v2, v3
  35582. if value.Ftype1 == int32(_FcTypeVoid) {
  35583. return vallist
  35584. }
  35585. new1 = XFcValueListCreate(tls)
  35586. if !(new1 != 0) {
  35587. return vallist
  35588. }
  35589. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XIA__FcValueSave(tls, value)
  35590. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  35591. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  35592. if vallist != 0 {
  35593. last = vallist
  35594. for {
  35595. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  35596. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35597. } else {
  35598. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  35599. }
  35600. if !(v2 != 0) {
  35601. break
  35602. }
  35603. goto _1
  35604. _1:
  35605. ;
  35606. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  35607. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35608. } else {
  35609. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  35610. }
  35611. last = v3
  35612. }
  35613. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  35614. } else {
  35615. vallist = new1
  35616. }
  35617. return vallist
  35618. }
  35619. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  35620. var l, new1, t, v2 TFcValueListPtr
  35621. var v TFcValue
  35622. var v3, v4 uintptr
  35623. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  35624. new1 = libc.UintptrFromInt32(0)
  35625. t = libc.UintptrFromInt32(0)
  35626. l = orig
  35627. for {
  35628. if !(l != libc.UintptrFromInt32(0)) {
  35629. break
  35630. }
  35631. if !(new1 != 0) {
  35632. v2 = XFcValueListCreate(tls)
  35633. new1 = v2
  35634. t = v2
  35635. } else {
  35636. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  35637. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  35638. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35639. } else {
  35640. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  35641. }
  35642. t = v3
  35643. }
  35644. v = XFcValueCanonicalize(tls, l+8)
  35645. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XIA__FcValueSave(tls, v)
  35646. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  35647. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  35648. goto _1
  35649. _1:
  35650. ;
  35651. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35652. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35653. } else {
  35654. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35655. }
  35656. l = v4
  35657. }
  35658. return new1
  35659. }
  35660. func XIA__FcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  35661. bp := tls.Alloc(32)
  35662. defer tls.Free(32)
  35663. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  35664. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  35665. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35666. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  35667. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  35668. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  35669. }
  35670. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  35671. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  35672. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35673. }
  35674. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35675. return m_FcFalse
  35676. }
  35677. }
  35678. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35679. case int32(_FcTypeUnknown):
  35680. return m_FcFalse /* don't know how to compare this object */
  35681. case int32(_FcTypeVoid):
  35682. return int32(m_FcTrue)
  35683. case int32(_FcTypeInteger):
  35684. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35685. case int32(_FcTypeDouble):
  35686. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  35687. case int32(_FcTypeString):
  35688. return libc.BoolInt32(XIA__FcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  35689. case int32(_FcTypeBool):
  35690. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  35691. case int32(_FcTypeMatrix):
  35692. return XIA__FcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35693. case int32(_FcTypeCharSet):
  35694. return XIA__FcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35695. case int32(_FcTypeFTFace):
  35696. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35697. case int32(_FcTypeLangSet):
  35698. return XIA__FcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35699. case int32(_FcTypeRange):
  35700. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  35701. }
  35702. return m_FcFalse
  35703. }
  35704. var XFcValueEqual = XIA__FcValueEqual
  35705. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  35706. if d < libc.Float64FromInt32(0) {
  35707. d = -d
  35708. }
  35709. if d > libc.Float64FromUint32(0xffffffff) {
  35710. d = libc.Float64FromUint32(0xffffffff)
  35711. }
  35712. return uint32(d)
  35713. }
  35714. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  35715. var c, v1 TFcChar8
  35716. var h TFcChar32
  35717. var v2 uintptr
  35718. _, _, _, _ = c, h, v1, v2
  35719. h = uint32(0)
  35720. if s != 0 {
  35721. for {
  35722. v2 = s
  35723. s++
  35724. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  35725. c = v1
  35726. if !(v1 != 0) {
  35727. break
  35728. }
  35729. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  35730. }
  35731. }
  35732. return h
  35733. }
  35734. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  35735. var v1, v2, v3 uintptr
  35736. _, _, _ = v1, v2, v3
  35737. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  35738. case int32(_FcTypeUnknown):
  35739. fallthrough
  35740. case int32(_FcTypeVoid):
  35741. return uint32(0)
  35742. case int32(_FcTypeInteger):
  35743. return libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  35744. case int32(_FcTypeDouble):
  35745. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  35746. case int32(_FcTypeString):
  35747. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35748. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35749. } else {
  35750. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  35751. }
  35752. return XFcStringHash(tls, v1)
  35753. case int32(_FcTypeBool):
  35754. return libc.Uint32FromInt32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  35755. case int32(_FcTypeMatrix):
  35756. 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)
  35757. case int32(_FcTypeCharSet):
  35758. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35759. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35760. } else {
  35761. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  35762. }
  35763. return libc.Uint32FromInt32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  35764. case int32(_FcTypeFTFace):
  35765. 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)
  35766. case int32(_FcTypeLangSet):
  35767. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  35768. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  35769. } else {
  35770. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  35771. }
  35772. return XIA__FcLangSetHash(tls, v3)
  35773. case int32(_FcTypeRange):
  35774. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(v + 8)))
  35775. }
  35776. return uint32(0)
  35777. }
  35778. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  35779. var v1, v2 uintptr
  35780. _, _ = v1, v2
  35781. if la == lb {
  35782. return int32(m_FcTrue)
  35783. }
  35784. for la != 0 && lb != 0 {
  35785. if !(XIA__FcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  35786. return m_FcFalse
  35787. }
  35788. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  35789. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35790. } else {
  35791. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  35792. }
  35793. la = v1
  35794. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  35795. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35796. } else {
  35797. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  35798. }
  35799. lb = v2
  35800. }
  35801. if la != 0 || lb != 0 {
  35802. return m_FcFalse
  35803. }
  35804. return int32(m_FcTrue)
  35805. }
  35806. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  35807. var hash TFcChar32
  35808. var v2 uintptr
  35809. _, _ = hash, v2
  35810. hash = uint32(0)
  35811. for {
  35812. if !(l != 0) {
  35813. break
  35814. }
  35815. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  35816. goto _1
  35817. _1:
  35818. ;
  35819. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  35820. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35821. } else {
  35822. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  35823. }
  35824. l = v2
  35825. }
  35826. return hash
  35827. }
  35828. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  35829. var v1 uintptr
  35830. _ = v1
  35831. /* We use a value to find the cache, instead of the FcPattern object
  35832. * because the pattern itself may be a cache allocation if we rewrote the path,
  35833. * so the p may not be in the cached region. */
  35834. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  35835. 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)))
  35836. } else {
  35837. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  35838. }
  35839. return v1
  35840. }
  35841. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  35842. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  35843. var i, j, new_path_len, v2, v4 Tsize_t
  35844. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  35845. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35846. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  35847. /* Allocate space for the patter, the PatternElt headers and
  35848. * the FC_FILE FcValueList and path that will be freed with the
  35849. * cache */
  35850. data = XFcCacheAllocate(tls, cache, uint64(24)+libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  35851. new_p = data
  35852. data += uintptr(24)
  35853. new_elts = data
  35854. data += uintptr(libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  35855. new_value_list = data
  35856. data += uintptr(32)
  35857. new_path = data
  35858. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  35859. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  35860. /* Copy all but the FILE values from the cache */
  35861. i = uint64(0)
  35862. j = libc.Uint64FromInt32(0)
  35863. for {
  35864. if !(i < libc.Uint64FromInt32((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  35865. break
  35866. }
  35867. elt = elts + uintptr(i)*16
  35868. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  35869. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  35870. v2 = j
  35871. j++
  35872. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  35873. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35874. } else {
  35875. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  35876. }
  35877. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  35878. } else {
  35879. v4 = j
  35880. j++
  35881. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  35882. }
  35883. goto _1
  35884. _1:
  35885. ;
  35886. i++
  35887. }
  35888. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  35889. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  35890. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  35891. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  35892. /* Add rewritten path at the end */
  35893. libc.Xstrcpy(tls, new_path, relocated_font_file)
  35894. return new_p
  35895. }
  35896. func XIA__FcPatternDestroy(tls *libc.TLS, p uintptr) {
  35897. var elts, v7, p5 uintptr
  35898. var i, v3 int32
  35899. var v1 TFcBool
  35900. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  35901. if !(p != 0) {
  35902. return
  35903. }
  35904. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  35905. goto _2
  35906. _2:
  35907. if v1 != 0 {
  35908. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  35909. return
  35910. }
  35911. p5 = p + 16
  35912. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  35913. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  35914. goto _4
  35915. _4:
  35916. if v3 != int32(1) {
  35917. return
  35918. }
  35919. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35920. i = 0
  35921. for {
  35922. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  35923. break
  35924. }
  35925. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  35926. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  35927. } else {
  35928. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  35929. }
  35930. XFcValueListDestroy(tls, v7)
  35931. goto _6
  35932. _6:
  35933. ;
  35934. i++
  35935. }
  35936. libc.Xfree(tls, elts)
  35937. libc.Xfree(tls, p)
  35938. }
  35939. var XFcPatternDestroy = XIA__FcPatternDestroy
  35940. func XIA__FcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  35941. if pat != 0 {
  35942. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  35943. }
  35944. return 0
  35945. }
  35946. var XFcPatternObjectCount = XIA__FcPatternObjectCount
  35947. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  35948. var c, high, low, mid int32
  35949. var elts uintptr
  35950. _, _, _, _, _ = c, elts, high, low, mid
  35951. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35952. low = 0
  35953. high = XIA__FcPatternObjectCount(tls, p) - int32(1)
  35954. c = int32(1)
  35955. mid = 0
  35956. for low <= high {
  35957. mid = (low + high) >> int32(1)
  35958. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  35959. if c == 0 {
  35960. return mid
  35961. }
  35962. if c < 0 {
  35963. low = mid + int32(1)
  35964. } else {
  35965. high = mid - int32(1)
  35966. }
  35967. }
  35968. if c < 0 {
  35969. mid++
  35970. }
  35971. return -(mid + int32(1))
  35972. }
  35973. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  35974. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  35975. }
  35976. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  35977. var i int32
  35978. _ = i
  35979. i = _FcPatternObjectPosition(tls, p, object)
  35980. if i < 0 {
  35981. return uintptr(0)
  35982. }
  35983. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  35984. }
  35985. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  35986. var e, e0 uintptr
  35987. var i, s int32
  35988. _, _, _, _ = e, e0, i, s
  35989. i = _FcPatternObjectPosition(tls, p, object)
  35990. if i < 0 {
  35991. i = -i - int32(1)
  35992. /* reallocate array */
  35993. if XIA__FcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  35994. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  35995. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  35996. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  35997. e = libc.Xrealloc(tls, e0, libc.Uint64FromInt32(s)*uint64(16))
  35998. if !(e != 0) { /* maybe it was mmapped */
  35999. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  36000. if e != 0 {
  36001. libc.Xmemcpy(tls, e, e0, libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p))*uint64(16))
  36002. }
  36003. }
  36004. } else {
  36005. e = libc.Xmalloc(tls, libc.Uint64FromInt32(s)*uint64(16))
  36006. }
  36007. if !(e != 0) {
  36008. return uintptr(m_FcFalse)
  36009. }
  36010. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  36011. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  36012. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  36013. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  36014. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  36015. }
  36016. }
  36017. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  36018. /* move elts up */
  36019. libc.Xmemmove(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, p)-i))
  36020. /* bump count */
  36021. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  36022. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  36023. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  36024. }
  36025. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  36026. }
  36027. func XIA__FcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  36028. bp := tls.Alloc(32)
  36029. defer tls.Free(32)
  36030. var ra, rb TFcBool
  36031. var _ /* ia at bp+0 */ TFcPatternIter
  36032. var _ /* ib at bp+16 */ TFcPatternIter
  36033. _, _ = ra, rb
  36034. if pa == pb {
  36035. return int32(m_FcTrue)
  36036. }
  36037. if XIA__FcPatternObjectCount(tls, pa) != XIA__FcPatternObjectCount(tls, pb) {
  36038. return m_FcFalse
  36039. }
  36040. XIA__FcPatternIterStart(tls, pa, bp)
  36041. XIA__FcPatternIterStart(tls, pb, bp+16)
  36042. for cond := true; cond; cond = int32(1) != 0 {
  36043. if !(XIA__FcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  36044. return m_FcFalse
  36045. }
  36046. ra = XIA__FcPatternIterNext(tls, pa, bp)
  36047. rb = XIA__FcPatternIterNext(tls, pb, bp+16)
  36048. if !(ra != 0) && !(rb != 0) {
  36049. break
  36050. }
  36051. }
  36052. return int32(m_FcTrue)
  36053. }
  36054. var XFcPatternEqual = XIA__FcPatternEqual
  36055. func XIA__FcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  36056. var h TFcChar32
  36057. var i int32
  36058. var pe, v2 uintptr
  36059. _, _, _, _ = h, i, pe, v2
  36060. h = uint32(0)
  36061. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  36062. i = 0
  36063. for {
  36064. if !(i < XIA__FcPatternObjectCount(tls, p)) {
  36065. break
  36066. }
  36067. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  36068. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36069. } else {
  36070. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  36071. }
  36072. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ libc.Uint32FromInt32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  36073. goto _1
  36074. _1:
  36075. ;
  36076. i++
  36077. }
  36078. return h
  36079. }
  36080. var XFcPatternHash = XIA__FcPatternHash
  36081. func XIA__FcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  36082. var ea, eb, v2, v3 uintptr
  36083. var i int32
  36084. var object TFcObject
  36085. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  36086. i = 0
  36087. for {
  36088. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  36089. break
  36090. }
  36091. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  36092. ea = XFcPatternObjectFindElt(tls, pai, object)
  36093. eb = XFcPatternObjectFindElt(tls, pbi, object)
  36094. if ea != 0 {
  36095. if !(eb != 0) {
  36096. return m_FcFalse
  36097. }
  36098. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  36099. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36100. } else {
  36101. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  36102. }
  36103. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  36104. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36105. } else {
  36106. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  36107. }
  36108. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  36109. return m_FcFalse
  36110. }
  36111. } else {
  36112. if eb != 0 {
  36113. return m_FcFalse
  36114. }
  36115. }
  36116. goto _1
  36117. _1:
  36118. ;
  36119. i++
  36120. }
  36121. return int32(m_FcTrue)
  36122. }
  36123. var XFcPatternEqualSubset = XIA__FcPatternEqualSubset
  36124. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  36125. bp := tls.Alloc(32)
  36126. defer tls.Free(32)
  36127. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  36128. var e, prev, v4 uintptr
  36129. var l TFcValueListPtr
  36130. var v1 TFcBool
  36131. _, _, _, _, _ = e, l, prev, v1, v4
  36132. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36133. goto _2
  36134. _2:
  36135. if v1 != 0 {
  36136. goto bail0
  36137. }
  36138. /*
  36139. * Make sure the stored type is valid for built-in objects
  36140. */
  36141. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36142. for {
  36143. if !(l != libc.UintptrFromInt32(0)) {
  36144. break
  36145. }
  36146. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  36147. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+16, XFcObjectName(tls, object)))
  36148. XFcValuePrintFile(tls, libc.Xstderr, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  36149. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  36150. goto bail0
  36151. }
  36152. goto _3
  36153. _3:
  36154. ;
  36155. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36156. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36157. } else {
  36158. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36159. }
  36160. l = v4
  36161. }
  36162. e = XFcPatternObjectInsertElt(tls, p, object)
  36163. if !(e != 0) {
  36164. goto bail0
  36165. }
  36166. if append1 != 0 {
  36167. prev = e + 8
  36168. for {
  36169. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36170. break
  36171. }
  36172. goto _5
  36173. _5:
  36174. ;
  36175. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36176. }
  36177. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36178. } else {
  36179. prev = bp
  36180. for {
  36181. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36182. break
  36183. }
  36184. goto _6
  36185. _6:
  36186. ;
  36187. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36188. }
  36189. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36190. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  36191. }
  36192. return int32(m_FcTrue)
  36193. goto bail0
  36194. bail0:
  36195. ;
  36196. return m_FcFalse
  36197. return r
  36198. }
  36199. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  36200. bp := tls.Alloc(16)
  36201. defer tls.Free(16)
  36202. var e, prev uintptr
  36203. var new1 TFcValueListPtr
  36204. var v1 TFcBool
  36205. _, _, _, _ = e, new1, prev, v1
  36206. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36207. goto _2
  36208. _2:
  36209. if v1 != 0 {
  36210. goto bail0
  36211. }
  36212. new1 = XFcValueListCreate(tls)
  36213. if !(new1 != 0) {
  36214. goto bail0
  36215. }
  36216. value = XIA__FcValueSave(tls, value)
  36217. if value.Ftype1 == int32(_FcTypeVoid) {
  36218. goto bail1
  36219. }
  36220. /*
  36221. * Make sure the stored type is valid for built-in objects
  36222. */
  36223. if !(XFcObjectValidType(tls, object, value.Ftype1) != 0) {
  36224. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1035, libc.VaList(bp+8, XFcObjectName(tls, object)))
  36225. XFcValuePrintFile(tls, libc.Xstderr, value)
  36226. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  36227. goto bail1
  36228. }
  36229. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = value
  36230. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  36231. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  36232. e = XFcPatternObjectInsertElt(tls, p, object)
  36233. if !(e != 0) {
  36234. goto bail2
  36235. }
  36236. if append1 != 0 {
  36237. prev = e + 8
  36238. for {
  36239. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  36240. break
  36241. }
  36242. goto _3
  36243. _3:
  36244. ;
  36245. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36246. }
  36247. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  36248. } else {
  36249. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36250. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  36251. }
  36252. return int32(m_FcTrue)
  36253. goto bail2
  36254. bail2:
  36255. ;
  36256. XIA__FcValueDestroy(tls, value)
  36257. goto bail1
  36258. bail1:
  36259. ;
  36260. libc.Xfree(tls, new1)
  36261. goto bail0
  36262. bail0:
  36263. ;
  36264. return m_FcFalse
  36265. return r
  36266. }
  36267. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  36268. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  36269. }
  36270. func XIA__FcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  36271. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  36272. }
  36273. var XFcPatternAdd = XIA__FcPatternAdd
  36274. func XIA__FcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  36275. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  36276. }
  36277. var XFcPatternAddWeak = XIA__FcPatternAddWeak
  36278. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  36279. var e uintptr
  36280. _ = e
  36281. e = XFcPatternObjectFindElt(tls, p, object)
  36282. if !(e != 0) {
  36283. return m_FcFalse
  36284. }
  36285. /* destroy value */
  36286. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  36287. /* shuffle existing ones down */
  36288. libc.Xmemmove(tls, e, e+uintptr(1)*16, libc.Uint64FromInt64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XIA__FcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16))
  36289. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  36290. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XIA__FcPatternObjectCount(tls, p))*16
  36291. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  36292. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  36293. return int32(m_FcTrue)
  36294. }
  36295. func XIA__FcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  36296. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  36297. }
  36298. var XFcPatternDel = XIA__FcPatternDel
  36299. func XIA__FcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  36300. var e, prev uintptr
  36301. var l, v2 TFcValueListPtr
  36302. _, _, _, _ = e, l, prev, v2
  36303. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  36304. if !(e != 0) {
  36305. return m_FcFalse
  36306. }
  36307. prev = e + 8
  36308. for {
  36309. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  36310. l = v2
  36311. if !(v2 != 0) {
  36312. break
  36313. }
  36314. if !(id != 0) {
  36315. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36316. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  36317. XFcValueListDestroy(tls, l)
  36318. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  36319. XIA__FcPatternDel(tls, p, object)
  36320. }
  36321. return int32(m_FcTrue)
  36322. }
  36323. id--
  36324. goto _1
  36325. _1:
  36326. ;
  36327. prev = l
  36328. }
  36329. return m_FcFalse
  36330. }
  36331. var XFcPatternRemove = XIA__FcPatternRemove
  36332. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  36333. bp := tls.Alloc(16)
  36334. defer tls.Free(16)
  36335. var _ /* v at bp+0 */ TFcValue
  36336. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  36337. *(*int32)(unsafe.Pointer(bp + 8)) = i
  36338. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36339. }
  36340. func XIA__FcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  36341. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  36342. }
  36343. var XFcPatternAddInteger = XIA__FcPatternAddInteger
  36344. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  36345. bp := tls.Alloc(16)
  36346. defer tls.Free(16)
  36347. var _ /* v at bp+0 */ TFcValue
  36348. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  36349. *(*float64)(unsafe.Pointer(bp + 8)) = d
  36350. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36351. }
  36352. func XIA__FcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  36353. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  36354. }
  36355. var XFcPatternAddDouble = XIA__FcPatternAddDouble
  36356. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  36357. bp := tls.Alloc(16)
  36358. defer tls.Free(16)
  36359. var _ /* v at bp+0 */ TFcValue
  36360. if !(s != 0) {
  36361. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  36362. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  36363. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36364. }
  36365. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  36366. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  36367. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36368. }
  36369. func XIA__FcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  36370. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  36371. }
  36372. var XFcPatternAddString = XIA__FcPatternAddString
  36373. func XIA__FcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  36374. bp := tls.Alloc(16)
  36375. defer tls.Free(16)
  36376. var _ /* v at bp+0 */ TFcValue
  36377. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  36378. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  36379. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36380. }
  36381. var XFcPatternAddMatrix = XIA__FcPatternAddMatrix
  36382. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  36383. bp := tls.Alloc(16)
  36384. defer tls.Free(16)
  36385. var _ /* v at bp+0 */ TFcValue
  36386. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  36387. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  36388. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36389. }
  36390. func XIA__FcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  36391. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  36392. }
  36393. var XFcPatternAddBool = XIA__FcPatternAddBool
  36394. func XIA__FcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  36395. bp := tls.Alloc(16)
  36396. defer tls.Free(16)
  36397. var _ /* v at bp+0 */ TFcValue
  36398. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  36399. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  36400. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36401. }
  36402. var XFcPatternAddCharSet = XIA__FcPatternAddCharSet
  36403. func XIA__FcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  36404. bp := tls.Alloc(16)
  36405. defer tls.Free(16)
  36406. var _ /* v at bp+0 */ TFcValue
  36407. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  36408. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  36409. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36410. }
  36411. var XFcPatternAddFTFace = XIA__FcPatternAddFTFace
  36412. func XIA__FcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  36413. bp := tls.Alloc(16)
  36414. defer tls.Free(16)
  36415. var _ /* v at bp+0 */ TFcValue
  36416. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  36417. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  36418. return XIA__FcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36419. }
  36420. var XFcPatternAddLangSet = XIA__FcPatternAddLangSet
  36421. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  36422. bp := tls.Alloc(16)
  36423. defer tls.Free(16)
  36424. var _ /* v at bp+0 */ TFcValue
  36425. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  36426. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  36427. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  36428. }
  36429. func XIA__FcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  36430. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  36431. }
  36432. var XFcPatternAddRange = XIA__FcPatternAddRange
  36433. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  36434. var e, v2, v3 uintptr
  36435. var l TFcValueListPtr
  36436. _, _, _, _ = e, l, v2, v3
  36437. if !(p != 0) {
  36438. return int32(_FcResultNoMatch)
  36439. }
  36440. e = XFcPatternObjectFindElt(tls, p, object)
  36441. if !(e != 0) {
  36442. return int32(_FcResultNoMatch)
  36443. }
  36444. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  36445. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36446. } else {
  36447. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36448. }
  36449. l = v2
  36450. for {
  36451. if !(l != 0) {
  36452. break
  36453. }
  36454. if !(id != 0) {
  36455. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  36456. if b != 0 {
  36457. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  36458. }
  36459. return int32(_FcResultMatch)
  36460. }
  36461. id--
  36462. goto _1
  36463. _1:
  36464. ;
  36465. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36466. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36467. } else {
  36468. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36469. }
  36470. l = v3
  36471. }
  36472. return int32(_FcResultNoId)
  36473. }
  36474. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  36475. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  36476. }
  36477. func XIA__FcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  36478. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  36479. }
  36480. var XFcPatternGetWithBinding = XIA__FcPatternGetWithBinding
  36481. func XIA__FcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  36482. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  36483. }
  36484. var XFcPatternGet = XIA__FcPatternGet
  36485. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  36486. bp := tls.Alloc(16)
  36487. defer tls.Free(16)
  36488. var r TFcResult
  36489. var _ /* v at bp+0 */ TFcValue
  36490. _ = r
  36491. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36492. if r != int32(_FcResultMatch) {
  36493. return r
  36494. }
  36495. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36496. case int32(_FcTypeDouble):
  36497. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  36498. case int32(_FcTypeInteger):
  36499. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  36500. default:
  36501. return int32(_FcResultTypeMismatch)
  36502. }
  36503. return int32(_FcResultMatch)
  36504. }
  36505. func XIA__FcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  36506. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  36507. }
  36508. var XFcPatternGetInteger = XIA__FcPatternGetInteger
  36509. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  36510. bp := tls.Alloc(16)
  36511. defer tls.Free(16)
  36512. var r TFcResult
  36513. var _ /* v at bp+0 */ TFcValue
  36514. _ = r
  36515. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36516. if r != int32(_FcResultMatch) {
  36517. return r
  36518. }
  36519. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36520. case int32(_FcTypeDouble):
  36521. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  36522. case int32(_FcTypeInteger):
  36523. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  36524. default:
  36525. return int32(_FcResultTypeMismatch)
  36526. }
  36527. return int32(_FcResultMatch)
  36528. }
  36529. func XIA__FcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  36530. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  36531. }
  36532. var XFcPatternGetDouble = XIA__FcPatternGetDouble
  36533. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  36534. bp := tls.Alloc(16)
  36535. defer tls.Free(16)
  36536. var r TFcResult
  36537. var _ /* v at bp+0 */ TFcValue
  36538. _ = r
  36539. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36540. if r != int32(_FcResultMatch) {
  36541. return r
  36542. }
  36543. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  36544. return int32(_FcResultTypeMismatch)
  36545. }
  36546. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36547. return int32(_FcResultMatch)
  36548. }
  36549. func XIA__FcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  36550. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  36551. }
  36552. var XFcPatternGetString = XIA__FcPatternGetString
  36553. func XIA__FcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  36554. bp := tls.Alloc(16)
  36555. defer tls.Free(16)
  36556. var r TFcResult
  36557. var _ /* v at bp+0 */ TFcValue
  36558. _ = r
  36559. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36560. if r != int32(_FcResultMatch) {
  36561. return r
  36562. }
  36563. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  36564. return int32(_FcResultTypeMismatch)
  36565. }
  36566. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36567. return int32(_FcResultMatch)
  36568. }
  36569. var XFcPatternGetMatrix = XIA__FcPatternGetMatrix
  36570. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  36571. bp := tls.Alloc(16)
  36572. defer tls.Free(16)
  36573. var r TFcResult
  36574. var _ /* v at bp+0 */ TFcValue
  36575. _ = r
  36576. r = XFcPatternObjectGet(tls, p, object, id, bp)
  36577. if r != int32(_FcResultMatch) {
  36578. return r
  36579. }
  36580. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  36581. return int32(_FcResultTypeMismatch)
  36582. }
  36583. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  36584. return int32(_FcResultMatch)
  36585. }
  36586. func XIA__FcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  36587. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  36588. }
  36589. var XFcPatternGetBool = XIA__FcPatternGetBool
  36590. func XIA__FcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  36591. bp := tls.Alloc(16)
  36592. defer tls.Free(16)
  36593. var r TFcResult
  36594. var _ /* v at bp+0 */ TFcValue
  36595. _ = r
  36596. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36597. if r != int32(_FcResultMatch) {
  36598. return r
  36599. }
  36600. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  36601. return int32(_FcResultTypeMismatch)
  36602. }
  36603. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36604. return int32(_FcResultMatch)
  36605. }
  36606. var XFcPatternGetCharSet = XIA__FcPatternGetCharSet
  36607. func XIA__FcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  36608. bp := tls.Alloc(16)
  36609. defer tls.Free(16)
  36610. var r TFcResult
  36611. var _ /* v at bp+0 */ TFcValue
  36612. _ = r
  36613. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36614. if r != int32(_FcResultMatch) {
  36615. return r
  36616. }
  36617. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  36618. return int32(_FcResultTypeMismatch)
  36619. }
  36620. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36621. return int32(_FcResultMatch)
  36622. }
  36623. var XFcPatternGetFTFace = XIA__FcPatternGetFTFace
  36624. func XIA__FcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  36625. bp := tls.Alloc(16)
  36626. defer tls.Free(16)
  36627. var r TFcResult
  36628. var _ /* v at bp+0 */ TFcValue
  36629. _ = r
  36630. r = XIA__FcPatternGet(tls, p, object, id, bp)
  36631. if r != int32(_FcResultMatch) {
  36632. return r
  36633. }
  36634. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  36635. return int32(_FcResultTypeMismatch)
  36636. }
  36637. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36638. return int32(_FcResultMatch)
  36639. }
  36640. var XFcPatternGetLangSet = XIA__FcPatternGetLangSet
  36641. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  36642. bp := tls.Alloc(16)
  36643. defer tls.Free(16)
  36644. var res TFcResult
  36645. var _ /* v at bp+0 */ TFcValue
  36646. _ = res
  36647. res = XFcPatternObjectGet(tls, p, object, id, bp)
  36648. if res != int32(_FcResultMatch) {
  36649. return res
  36650. }
  36651. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36652. case int32(_FcTypeRange):
  36653. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  36654. default:
  36655. return int32(_FcResultTypeMismatch)
  36656. }
  36657. return int32(_FcResultMatch)
  36658. }
  36659. func XIA__FcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  36660. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  36661. }
  36662. var XFcPatternGetRange = XIA__FcPatternGetRange
  36663. func XIA__FcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  36664. bp := tls.Alloc(16)
  36665. defer tls.Free(16)
  36666. var l TFcValueListPtr
  36667. var new1, v2 uintptr
  36668. var _ /* iter at bp+0 */ TFcPatternIter
  36669. _, _, _ = l, new1, v2
  36670. if !(orig != 0) {
  36671. return libc.UintptrFromInt32(0)
  36672. }
  36673. new1 = XIA__FcPatternCreate(tls)
  36674. if !(new1 != 0) {
  36675. goto bail0
  36676. }
  36677. XIA__FcPatternIterStart(tls, orig, bp)
  36678. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, orig, bp) != 0 {
  36679. l = XFcPatternIterGetValues(tls, orig, bp)
  36680. for {
  36681. if !(l != 0) {
  36682. break
  36683. }
  36684. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  36685. goto bail1
  36686. }
  36687. goto _1
  36688. _1:
  36689. ;
  36690. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36691. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36692. } else {
  36693. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36694. }
  36695. l = v2
  36696. }
  36697. }
  36698. return new1
  36699. goto bail1
  36700. bail1:
  36701. ;
  36702. XIA__FcPatternDestroy(tls, new1)
  36703. goto bail0
  36704. bail0:
  36705. ;
  36706. return uintptr(0)
  36707. return r
  36708. }
  36709. var XFcPatternDuplicate = XIA__FcPatternDuplicate
  36710. func XIA__FcPatternReference(tls *libc.TLS, p uintptr) {
  36711. var v1 TFcBool
  36712. var p4 uintptr
  36713. _, _ = v1, p4
  36714. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  36715. goto _2
  36716. _2:
  36717. if !(v1 != 0) {
  36718. p4 = p + 16
  36719. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  36720. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  36721. goto _3
  36722. _3:
  36723. } else {
  36724. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  36725. }
  36726. }
  36727. var XFcPatternReference = XIA__FcPatternReference
  36728. func XIA__FcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  36729. bp := tls.Alloc(16)
  36730. defer tls.Free(16)
  36731. var __o__, __p__, ret uintptr
  36732. var _ /* __v__ at bp+0 */ TFcValue
  36733. _, _, _ = __o__, __p__, ret
  36734. __p__ = p
  36735. if !(__p__ != 0) {
  36736. __p__ = XIA__FcPatternCreate(tls)
  36737. if !(__p__ != 0) {
  36738. goto _FcPatternVapBuild_bail0
  36739. }
  36740. }
  36741. for {
  36742. __o__ = libc.VaUintptr(&va)
  36743. if !(__o__ != 0) {
  36744. break
  36745. }
  36746. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  36747. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36748. case int32(_FcTypeUnknown):
  36749. fallthrough
  36750. case int32(_FcTypeVoid):
  36751. goto _FcPatternVapBuild_bail1
  36752. case int32(_FcTypeInteger):
  36753. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36754. case int32(_FcTypeDouble):
  36755. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  36756. case int32(_FcTypeString):
  36757. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36758. case int32(_FcTypeBool):
  36759. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36760. case int32(_FcTypeMatrix):
  36761. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36762. case int32(_FcTypeCharSet):
  36763. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36764. case int32(_FcTypeFTFace):
  36765. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36766. case int32(_FcTypeLangSet):
  36767. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36768. case int32(_FcTypeRange):
  36769. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36770. break
  36771. }
  36772. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  36773. goto _FcPatternVapBuild_bail1
  36774. }
  36775. goto _1
  36776. _1:
  36777. }
  36778. ret = __p__
  36779. goto _FcPatternVapBuild_return
  36780. goto _FcPatternVapBuild_bail1
  36781. _FcPatternVapBuild_bail1:
  36782. ;
  36783. if !(p != 0) {
  36784. XIA__FcPatternDestroy(tls, __p__)
  36785. }
  36786. goto _FcPatternVapBuild_bail0
  36787. _FcPatternVapBuild_bail0:
  36788. ;
  36789. ret = libc.UintptrFromInt32(0)
  36790. goto _FcPatternVapBuild_return
  36791. _FcPatternVapBuild_return:
  36792. ;
  36793. return ret
  36794. }
  36795. var XFcPatternVaBuild = XIA__FcPatternVaBuild
  36796. func XIA__FcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  36797. bp := tls.Alloc(16)
  36798. defer tls.Free(16)
  36799. var __o__, __p__ uintptr
  36800. var va Tva_list
  36801. var _ /* __v__ at bp+0 */ TFcValue
  36802. _, _, _ = __o__, __p__, va
  36803. va = va1
  36804. __p__ = p
  36805. if !(__p__ != 0) {
  36806. __p__ = XIA__FcPatternCreate(tls)
  36807. if !(__p__ != 0) {
  36808. goto _FcPatternVapBuild_bail0
  36809. }
  36810. }
  36811. for {
  36812. __o__ = libc.VaUintptr(&va)
  36813. if !(__o__ != 0) {
  36814. break
  36815. }
  36816. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  36817. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  36818. case int32(_FcTypeUnknown):
  36819. fallthrough
  36820. case int32(_FcTypeVoid):
  36821. goto _FcPatternVapBuild_bail1
  36822. case int32(_FcTypeInteger):
  36823. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36824. case int32(_FcTypeDouble):
  36825. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  36826. case int32(_FcTypeString):
  36827. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36828. case int32(_FcTypeBool):
  36829. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  36830. case int32(_FcTypeMatrix):
  36831. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36832. case int32(_FcTypeCharSet):
  36833. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36834. case int32(_FcTypeFTFace):
  36835. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36836. case int32(_FcTypeLangSet):
  36837. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36838. case int32(_FcTypeRange):
  36839. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  36840. break
  36841. }
  36842. if !(XIA__FcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  36843. goto _FcPatternVapBuild_bail1
  36844. }
  36845. goto _1
  36846. _1:
  36847. }
  36848. p = __p__
  36849. goto _FcPatternVapBuild_return
  36850. goto _FcPatternVapBuild_bail1
  36851. _FcPatternVapBuild_bail1:
  36852. ;
  36853. if !(p != 0) {
  36854. XIA__FcPatternDestroy(tls, __p__)
  36855. }
  36856. goto _FcPatternVapBuild_bail0
  36857. _FcPatternVapBuild_bail0:
  36858. ;
  36859. p = libc.UintptrFromInt32(0)
  36860. goto _FcPatternVapBuild_return
  36861. _FcPatternVapBuild_return:
  36862. ;
  36863. _ = va
  36864. return p
  36865. }
  36866. var XFcPatternBuild = XIA__FcPatternBuild
  36867. // C documentation
  36868. //
  36869. // /*
  36870. // * Add all of the elements in 's' to 'p'
  36871. // */
  36872. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  36873. bp := tls.Alloc(16)
  36874. defer tls.Free(16)
  36875. var v TFcValueListPtr
  36876. var v2 uintptr
  36877. var _ /* iter at bp+0 */ TFcPatternIter
  36878. _, _ = v, v2
  36879. XIA__FcPatternIterStart(tls, s, bp)
  36880. for cond := true; cond; cond = XIA__FcPatternIterNext(tls, s, bp) != 0 {
  36881. v = XFcPatternIterGetValues(tls, s, bp)
  36882. for {
  36883. if !(v != 0) {
  36884. break
  36885. }
  36886. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  36887. return m_FcFalse
  36888. }
  36889. goto _1
  36890. _1:
  36891. ;
  36892. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  36893. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36894. } else {
  36895. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  36896. }
  36897. v = v2
  36898. }
  36899. }
  36900. return int32(m_FcTrue)
  36901. }
  36902. func XIA__FcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  36903. var e, ret, v3, v4 uintptr
  36904. var i int32
  36905. var object TFcObject
  36906. var v TFcValueListPtr
  36907. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  36908. if !(os != 0) {
  36909. return XIA__FcPatternDuplicate(tls, p)
  36910. }
  36911. ret = XIA__FcPatternCreate(tls)
  36912. if !(ret != 0) {
  36913. return libc.UintptrFromInt32(0)
  36914. }
  36915. i = 0
  36916. for {
  36917. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  36918. break
  36919. }
  36920. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  36921. e = XFcPatternObjectFindElt(tls, p, object)
  36922. if e != 0 {
  36923. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  36924. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36925. } else {
  36926. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  36927. }
  36928. v = v3
  36929. for {
  36930. if !(v != 0) {
  36931. break
  36932. }
  36933. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  36934. goto bail0
  36935. }
  36936. goto _2
  36937. _2:
  36938. ;
  36939. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  36940. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36941. } else {
  36942. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  36943. }
  36944. v = v4
  36945. }
  36946. }
  36947. goto _1
  36948. _1:
  36949. ;
  36950. i++
  36951. }
  36952. return ret
  36953. goto bail0
  36954. bail0:
  36955. ;
  36956. XIA__FcPatternDestroy(tls, ret)
  36957. return libc.UintptrFromInt32(0)
  36958. }
  36959. var XFcPatternFilter = XIA__FcPatternFilter
  36960. type TFcPatternPrivateIter = struct {
  36961. Felt uintptr
  36962. Fpos int32
  36963. }
  36964. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  36965. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  36966. var v1 uintptr
  36967. _ = v1
  36968. if XIA__FcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XIA__FcPatternObjectCount(tls, pat) {
  36969. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  36970. } else {
  36971. v1 = libc.UintptrFromInt32(0)
  36972. }
  36973. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  36974. }
  36975. func XIA__FcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  36976. var priv uintptr
  36977. _ = priv
  36978. priv = iter
  36979. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  36980. _FcPatternIterSet(tls, pat, priv)
  36981. }
  36982. var XFcPatternIterStart = XIA__FcPatternIterStart
  36983. func XIA__FcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  36984. var priv uintptr
  36985. _ = priv
  36986. priv = iter
  36987. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  36988. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XIA__FcPatternObjectCount(tls, pat) {
  36989. return m_FcFalse
  36990. }
  36991. _FcPatternIterSet(tls, pat, priv)
  36992. return int32(m_FcTrue)
  36993. }
  36994. var XFcPatternIterNext = XIA__FcPatternIterNext
  36995. func XIA__FcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  36996. var b1, b2 TFcBool
  36997. _, _ = b1, b2
  36998. b1 = XIA__FcPatternIterIsValid(tls, p1, i1)
  36999. b2 = XIA__FcPatternIterIsValid(tls, p2, i2)
  37000. if !(i1 != 0) && !(i2 != 0) {
  37001. return int32(m_FcTrue)
  37002. }
  37003. if !(b1 != 0) || !(b2 != 0) {
  37004. return m_FcFalse
  37005. }
  37006. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  37007. return m_FcFalse
  37008. }
  37009. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  37010. }
  37011. var XFcPatternIterEqual = XIA__FcPatternIterEqual
  37012. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  37013. var i int32
  37014. var priv uintptr
  37015. _, _ = i, priv
  37016. priv = iter
  37017. i = _FcPatternObjectPosition(tls, pat, object)
  37018. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  37019. if i < 0 {
  37020. return m_FcFalse
  37021. }
  37022. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  37023. _FcPatternIterSet(tls, pat, priv)
  37024. return int32(m_FcTrue)
  37025. }
  37026. func XIA__FcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  37027. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  37028. }
  37029. var XFcPatternFindIter = XIA__FcPatternFindIter
  37030. func XIA__FcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  37031. var priv uintptr
  37032. _ = priv
  37033. priv = iter
  37034. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  37035. return int32(m_FcTrue)
  37036. }
  37037. return m_FcFalse
  37038. }
  37039. var XFcPatternIterIsValid = XIA__FcPatternIterIsValid
  37040. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  37041. var priv uintptr
  37042. _ = priv
  37043. priv = iter
  37044. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  37045. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  37046. }
  37047. return 0
  37048. }
  37049. func XIA__FcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  37050. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  37051. }
  37052. var XFcPatternIterGetObject = XIA__FcPatternIterGetObject
  37053. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  37054. var priv, v1 uintptr
  37055. _, _ = priv, v1
  37056. priv = iter
  37057. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  37058. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  37059. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37060. } else {
  37061. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  37062. }
  37063. return v1
  37064. }
  37065. return libc.UintptrFromInt32(0)
  37066. }
  37067. func XIA__FcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  37068. var count int32
  37069. var l TFcValueListPtr
  37070. var v2 uintptr
  37071. _, _, _ = count, l, v2
  37072. count = 0
  37073. l = XFcPatternIterGetValues(tls, pat, iter)
  37074. for {
  37075. if !(l != 0) {
  37076. break
  37077. }
  37078. count++
  37079. goto _1
  37080. _1:
  37081. ;
  37082. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37083. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37084. } else {
  37085. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37086. }
  37087. l = v2
  37088. }
  37089. return count
  37090. }
  37091. var XFcPatternIterValueCount = XIA__FcPatternIterValueCount
  37092. func XIA__FcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  37093. var l TFcValueListPtr
  37094. var v2 uintptr
  37095. _, _ = l, v2
  37096. l = XFcPatternIterGetValues(tls, pat, iter)
  37097. for {
  37098. if !(l != 0) {
  37099. break
  37100. }
  37101. if id == 0 {
  37102. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  37103. if b != 0 {
  37104. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  37105. }
  37106. return int32(_FcResultMatch)
  37107. }
  37108. id--
  37109. goto _1
  37110. _1:
  37111. ;
  37112. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  37113. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  37114. } else {
  37115. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  37116. }
  37117. l = v2
  37118. }
  37119. return int32(_FcResultNoId)
  37120. }
  37121. var XFcPatternIterGetValue = XIA__FcPatternIterGetValue
  37122. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  37123. var elts, v2 uintptr
  37124. var i int32
  37125. _, _, _ = elts, i, v2
  37126. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  37127. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  37128. return m_FcFalse
  37129. }
  37130. if !(XFcSerializeAlloc(tls, serialize, elts, libc.Int32FromUint64(libc.Uint64FromInt32(XIA__FcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  37131. return m_FcFalse
  37132. }
  37133. i = 0
  37134. for {
  37135. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  37136. break
  37137. }
  37138. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37139. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37140. } else {
  37141. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  37142. }
  37143. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  37144. return m_FcFalse
  37145. }
  37146. goto _1
  37147. _1:
  37148. ;
  37149. i++
  37150. }
  37151. return int32(m_FcTrue)
  37152. }
  37153. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  37154. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  37155. var i int32
  37156. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  37157. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  37158. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  37159. if !(pat_serialized != 0) {
  37160. return libc.UintptrFromInt32(0)
  37161. }
  37162. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  37163. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XIA__FcPatternObjectCount(tls, pat)
  37164. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  37165. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  37166. if !(elts_serialized != 0) {
  37167. return libc.UintptrFromInt32(0)
  37168. }
  37169. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  37170. i = 0
  37171. for {
  37172. if !(i < XIA__FcPatternObjectCount(tls, pat)) {
  37173. break
  37174. }
  37175. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  37176. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  37177. } else {
  37178. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  37179. }
  37180. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  37181. if !(values_serialized != 0) {
  37182. return libc.UintptrFromInt32(0)
  37183. }
  37184. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  37185. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  37186. goto _1
  37187. _1:
  37188. ;
  37189. i++
  37190. }
  37191. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  37192. libc.Xprintf(tls, __ccgo_ts+6385, 0)
  37193. XIA__FcPatternPrint(tls, pat)
  37194. libc.Xprintf(tls, __ccgo_ts+6399, 0)
  37195. XIA__FcPatternPrint(tls, pat_serialized)
  37196. libc.Xprintf(tls, __ccgo_ts+1097, 0)
  37197. }
  37198. return pat_serialized
  37199. }
  37200. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  37201. for vl != 0 {
  37202. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  37203. return m_FcFalse
  37204. }
  37205. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  37206. case int32(_FcTypeString):
  37207. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37208. return m_FcFalse
  37209. }
  37210. case int32(_FcTypeCharSet):
  37211. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37212. return m_FcFalse
  37213. }
  37214. case int32(_FcTypeLangSet):
  37215. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37216. return m_FcFalse
  37217. }
  37218. case int32(_FcTypeRange):
  37219. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  37220. return m_FcFalse
  37221. }
  37222. default:
  37223. break
  37224. }
  37225. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  37226. }
  37227. return int32(m_FcTrue)
  37228. }
  37229. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  37230. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  37231. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  37232. head_serialized = libc.UintptrFromInt32(0)
  37233. prev_serialized = libc.UintptrFromInt32(0)
  37234. for vl != 0 {
  37235. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  37236. if !(vl_serialized != 0) {
  37237. return libc.UintptrFromInt32(0)
  37238. }
  37239. if prev_serialized != 0 {
  37240. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  37241. } else {
  37242. head_serialized = vl_serialized
  37243. }
  37244. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  37245. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  37246. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  37247. case int32(_FcTypeInteger):
  37248. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  37249. case int32(_FcTypeDouble):
  37250. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  37251. case int32(_FcTypeString):
  37252. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37253. if !(s_serialized != 0) {
  37254. return libc.UintptrFromInt32(0)
  37255. }
  37256. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37257. case int32(_FcTypeBool):
  37258. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  37259. case int32(_FcTypeMatrix):
  37260. /* can't happen */
  37261. case int32(_FcTypeCharSet):
  37262. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37263. if !(c_serialized != 0) {
  37264. return libc.UintptrFromInt32(0)
  37265. }
  37266. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37267. case int32(_FcTypeFTFace):
  37268. /* can't happen */
  37269. case int32(_FcTypeLangSet):
  37270. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37271. if !(l_serialized != 0) {
  37272. return libc.UintptrFromInt32(0)
  37273. }
  37274. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37275. case int32(_FcTypeRange):
  37276. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  37277. if !(r_serialized != 0) {
  37278. return libc.UintptrFromInt32(0)
  37279. }
  37280. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  37281. default:
  37282. break
  37283. }
  37284. prev_serialized = vl_serialized
  37285. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  37286. }
  37287. return head_serialized
  37288. }
  37289. func XIA__FcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  37290. var ret uintptr
  37291. _ = ret
  37292. ret = libc.Xmalloc(tls, uint64(16))
  37293. if ret != 0 {
  37294. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  37295. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  37296. }
  37297. return ret
  37298. }
  37299. var XFcRangeCreateDouble = XIA__FcRangeCreateDouble
  37300. func XIA__FcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  37301. var ret uintptr
  37302. _ = ret
  37303. ret = libc.Xmalloc(tls, uint64(16))
  37304. if ret != 0 {
  37305. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  37306. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  37307. }
  37308. return ret
  37309. }
  37310. var XFcRangeCreateInteger = XIA__FcRangeCreateInteger
  37311. func XIA__FcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  37312. libc.Xfree(tls, range1)
  37313. }
  37314. var XFcRangeDestroy = XIA__FcRangeDestroy
  37315. func XIA__FcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  37316. return XIA__FcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  37317. }
  37318. var XFcRangeCopy = XIA__FcRangeCopy
  37319. func XIA__FcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  37320. if !(range1 != 0) {
  37321. return m_FcFalse
  37322. }
  37323. if begin != 0 {
  37324. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  37325. }
  37326. if end != 0 {
  37327. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  37328. }
  37329. return int32(m_FcTrue)
  37330. }
  37331. var XFcRangeGetDouble = XIA__FcRangeGetDouble
  37332. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  37333. var buf uintptr
  37334. _ = buf
  37335. buf = vbuf
  37336. (*struct {
  37337. Fr TFcRange
  37338. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  37339. (*struct {
  37340. Fr TFcRange
  37341. })(unsafe.Pointer(buf)).Fr.Fend = v
  37342. return buf
  37343. }
  37344. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  37345. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  37346. }
  37347. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  37348. switch op {
  37349. case int32(_FcOpEqual):
  37350. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  37351. case int32(_FcOpContains):
  37352. fallthrough
  37353. case int32(_FcOpListing):
  37354. return XFcRangeIsInRange(tls, a, b)
  37355. case int32(_FcOpNotEqual):
  37356. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  37357. case int32(_FcOpNotContains):
  37358. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  37359. case int32(_FcOpLess):
  37360. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  37361. case int32(_FcOpLessEqual):
  37362. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  37363. case int32(_FcOpMore):
  37364. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  37365. case int32(_FcOpMoreEqual):
  37366. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  37367. default:
  37368. break
  37369. }
  37370. return m_FcFalse
  37371. }
  37372. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  37373. var b, e int32
  37374. _, _ = b, e
  37375. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  37376. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  37377. return libc.Uint32FromInt32(b ^ b<<int32(1) ^ e<<int32(9))
  37378. }
  37379. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  37380. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  37381. return m_FcFalse
  37382. }
  37383. return int32(m_FcTrue)
  37384. }
  37385. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  37386. var r_serialize uintptr
  37387. _ = r_serialize
  37388. r_serialize = XFcSerializePtr(tls, serialize, r)
  37389. if !(r_serialize != 0) {
  37390. return libc.UintptrFromInt32(0)
  37391. }
  37392. libc.Xmemcpy(tls, r_serialize, r, uint64(16))
  37393. return r_serialize
  37394. }
  37395. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  37396. var rem Tintptr_t
  37397. _ = rem
  37398. rem = libc.Int64FromUint64(libc.Uint64FromInt64(size) % uint64(8))
  37399. if rem != 0 {
  37400. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - libc.Uint64FromInt64(rem)))
  37401. }
  37402. return size
  37403. }
  37404. /*
  37405. * Serialization helper object -- allocate space in the
  37406. * yet-to-be-created linear array for a serialized font set
  37407. */
  37408. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  37409. var serialize uintptr
  37410. _ = serialize
  37411. serialize = libc.Xmalloc(tls, uint64(65552))
  37412. if !(serialize != 0) {
  37413. return libc.UintptrFromInt32(0)
  37414. }
  37415. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  37416. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  37417. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  37418. libc.Xmemset(tls, serialize+24, int32('\000'), uint64(65528))
  37419. return serialize
  37420. }
  37421. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  37422. var buck, next uintptr
  37423. var bucket Tuintptr_t
  37424. _, _, _ = buck, bucket, next
  37425. bucket = uint64(0)
  37426. for {
  37427. if !(bucket < uint64(m_FC_SERIALIZE_HASH_SIZE)) {
  37428. break
  37429. }
  37430. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37431. for {
  37432. if !(buck != 0) {
  37433. break
  37434. }
  37435. next = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37436. libc.Xfree(tls, buck)
  37437. goto _2
  37438. _2:
  37439. ;
  37440. buck = next
  37441. }
  37442. goto _1
  37443. _1:
  37444. ;
  37445. bucket++
  37446. }
  37447. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  37448. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  37449. }
  37450. libc.Xfree(tls, serialize)
  37451. }
  37452. /*
  37453. * Allocate space for an object in the serialized array. Keep track
  37454. * of where the object is placed and only allocate one copy of each object
  37455. */
  37456. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  37457. var buck uintptr
  37458. var bucket Tuintptr_t
  37459. _, _ = buck, bucket
  37460. bucket = uint64(object) % uint64(m_FC_SERIALIZE_HASH_SIZE)
  37461. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37462. for {
  37463. if !(buck != 0) {
  37464. break
  37465. }
  37466. if (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject == object {
  37467. return int32(m_FcTrue)
  37468. }
  37469. goto _1
  37470. _1:
  37471. ;
  37472. buck = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37473. }
  37474. buck = libc.Xmalloc(tls, uint64(24))
  37475. if !(buck != 0) {
  37476. return m_FcFalse
  37477. }
  37478. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject = object
  37479. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Foffset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  37480. (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37481. *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8)) = buck
  37482. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  37483. return int32(m_FcTrue)
  37484. }
  37485. // C documentation
  37486. //
  37487. // /*
  37488. // * Reserve space in the serialization array
  37489. // */
  37490. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  37491. var offset Tintptr_t
  37492. _ = offset
  37493. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  37494. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  37495. return offset
  37496. }
  37497. // C documentation
  37498. //
  37499. // /*
  37500. // * Given an object, return the offset in the serialized array where
  37501. // * the serialized copy of the object is stored
  37502. // */
  37503. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  37504. var buck uintptr
  37505. var bucket Tuintptr_t
  37506. _, _ = buck, bucket
  37507. bucket = uint64(object) % uint64(m_FC_SERIALIZE_HASH_SIZE)
  37508. buck = *(*uintptr)(unsafe.Pointer(serialize + 24 + uintptr(bucket)*8))
  37509. for {
  37510. if !(buck != 0) {
  37511. break
  37512. }
  37513. if (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fobject == object {
  37514. return (*TFcSerializeBucket)(unsafe.Pointer(buck)).Foffset
  37515. }
  37516. goto _1
  37517. _1:
  37518. ;
  37519. buck = (*TFcSerializeBucket)(unsafe.Pointer(buck)).Fnext
  37520. }
  37521. return 0
  37522. }
  37523. // C documentation
  37524. //
  37525. // /*
  37526. // * Given a cache and an object, return a pointer to where
  37527. // * the serialized copy of the object is stored
  37528. // */
  37529. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  37530. var offset Tintptr_t
  37531. _ = offset
  37532. offset = XFcSerializeOffset(tls, serialize, object)
  37533. if !(offset != 0) {
  37534. return libc.UintptrFromInt32(0)
  37535. }
  37536. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  37537. }
  37538. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  37539. return XFcSerializeAlloc(tls, serialize, str, libc.Int32FromUint64(libc.Xstrlen(tls, str)+uint64(1)))
  37540. }
  37541. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  37542. var str_serialize uintptr
  37543. _ = str_serialize
  37544. str_serialize = XFcSerializePtr(tls, serialize, str)
  37545. if !(str_serialize != 0) {
  37546. return libc.UintptrFromInt32(0)
  37547. }
  37548. libc.Xstrcpy(tls, str_serialize, str)
  37549. return str_serialize
  37550. }
  37551. const m_CANBSIZ = 255
  37552. const m_DEV_BSIZE = 512
  37553. const m_FC_ARCH_ENDIAN1 = "le"
  37554. const m_FC_DIR_SEPARATOR1 = 47
  37555. const m_FIOGETOWN = 0x8903
  37556. const m_FIOSETOWN = 0x8901
  37557. const m_MAXHOSTNAMELEN = 64
  37558. const m_MAXNAMLEN = 255
  37559. const m_MAXPATHLEN = 4096
  37560. const m_MAXSYMLINKS = 20
  37561. const m_MNT_DETACH = 2
  37562. const m_MNT_EXPIRE = 4
  37563. const m_MNT_FORCE = 1
  37564. const m_MS_BIND = 4096
  37565. const m_MS_DIRSYNC = 128
  37566. const m_MS_MANDLOCK = 64
  37567. const m_MS_MGC_MSK = 0xffff0000
  37568. const m_MS_MGC_VAL = 0xc0ed0000
  37569. const m_MS_MOVE = 8192
  37570. const m_MS_NOATIME = 1024
  37571. const m_MS_NODEV = 4
  37572. const m_MS_NODIRATIME = 2048
  37573. const m_MS_NOEXEC = 8
  37574. const m_MS_NOSUID = 2
  37575. const m_MS_NOSYMFOLLOW = 256
  37576. const m_MS_RDONLY = 1
  37577. const m_MS_REC = 16384
  37578. const m_MS_REMOUNT = 32
  37579. const m_MS_SILENT = 32768
  37580. const m_MS_SYNCHRONOUS = 16
  37581. const m_NBBY = 8
  37582. const m_NCARGS = 131072
  37583. const m_NGROUPS = 32
  37584. const m_NOFILE = 256
  37585. const m_N_6PACK = 7
  37586. const m_N_AX25 = 5
  37587. const m_N_CAIF = 20
  37588. const m_N_GIGASET_M101 = 16
  37589. const m_N_GSM0710 = 21
  37590. const m_N_HCI = 15
  37591. const m_N_HDLC = 13
  37592. const m_N_IRDA = 11
  37593. const m_N_MASC = 8
  37594. const m_N_MOUSE = 2
  37595. const m_N_NCI = 25
  37596. const m_N_NULL = 27
  37597. const m_N_PPP = 3
  37598. const m_N_PPS = 18
  37599. const m_N_PROFIBUS_FDL = 10
  37600. const m_N_R3964 = 9
  37601. const m_N_SLCAN = 17
  37602. const m_N_SLIP = 1
  37603. const m_N_SMSBLOCK = 12
  37604. const m_N_SPEAKUP = 26
  37605. const m_N_STRIP = 4
  37606. const m_N_SYNC_PPP = 14
  37607. const m_N_TI_WL = 22
  37608. const m_N_TRACEROUTER = 24
  37609. const m_N_TRACESINK = 23
  37610. const m_N_TTY = 0
  37611. const m_N_V253 = 19
  37612. const m_N_X25 = 6
  37613. const m_O_CLOEXEC2 = 02000000
  37614. const m_O_CREAT1 = 0100
  37615. const m_O_LARGEFILE2 = 0200000
  37616. const m_O_RDONLY2 = 0
  37617. const m_PRIO_MAX = 20
  37618. const m_PRIO_PGRP = 1
  37619. const m_PRIO_PROCESS = 0
  37620. const m_PRIO_USER = 2
  37621. const m_RLIMIT_AS = 9
  37622. const m_RLIMIT_CORE = 4
  37623. const m_RLIMIT_CPU = 0
  37624. const m_RLIMIT_DATA = 2
  37625. const m_RLIMIT_FSIZE = 1
  37626. const m_RLIMIT_LOCKS = 10
  37627. const m_RLIMIT_MEMLOCK = 8
  37628. const m_RLIMIT_MSGQUEUE = 12
  37629. const m_RLIMIT_NICE = 13
  37630. const m_RLIMIT_NLIMITS = 16
  37631. const m_RLIMIT_NOFILE = 7
  37632. const m_RLIMIT_NPROC = 6
  37633. const m_RLIMIT_RSS = 5
  37634. const m_RLIMIT_RTPRIO = 14
  37635. const m_RLIMIT_RTTIME = 15
  37636. const m_RLIMIT_SIGPENDING = 11
  37637. const m_RLIMIT_STACK = 3
  37638. const m_RLIM_NLIMITS = "RLIMIT_NLIMITS"
  37639. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  37640. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  37641. const m_RUSAGE_SELF = 0
  37642. const m_RUSAGE_THREAD = 1
  37643. const m_SIOCADDDLCI = 0x8980
  37644. const m_SIOCADDMULTI = 0x8931
  37645. const m_SIOCADDRT = 0x890B
  37646. const m_SIOCATMARK = 0x8905
  37647. const m_SIOCDARP = 0x8953
  37648. const m_SIOCDELDLCI = 0x8981
  37649. const m_SIOCDELMULTI = 0x8932
  37650. const m_SIOCDELRT = 0x890C
  37651. const m_SIOCDEVPRIVATE = 0x89F0
  37652. const m_SIOCDIFADDR = 0x8936
  37653. const m_SIOCDRARP = 0x8960
  37654. const m_SIOCGARP = 0x8954
  37655. const m_SIOCGIFADDR = 0x8915
  37656. const m_SIOCGIFBR = 0x8940
  37657. const m_SIOCGIFBRDADDR = 0x8919
  37658. const m_SIOCGIFCONF = 0x8912
  37659. const m_SIOCGIFCOUNT = 0x8938
  37660. const m_SIOCGIFDSTADDR = 0x8917
  37661. const m_SIOCGIFENCAP = 0x8925
  37662. const m_SIOCGIFFLAGS = 0x8913
  37663. const m_SIOCGIFHWADDR = 0x8927
  37664. const m_SIOCGIFINDEX = 0x8933
  37665. const m_SIOCGIFMAP = 0x8970
  37666. const m_SIOCGIFMEM = 0x891f
  37667. const m_SIOCGIFMETRIC = 0x891d
  37668. const m_SIOCGIFMTU = 0x8921
  37669. const m_SIOCGIFNAME = 0x8910
  37670. const m_SIOCGIFNETMASK = 0x891b
  37671. const m_SIOCGIFPFLAGS = 0x8935
  37672. const m_SIOCGIFSLAVE = 0x8929
  37673. const m_SIOCGIFTXQLEN = 0x8942
  37674. const m_SIOCGPGRP = 0x8904
  37675. const m_SIOCGRARP = 0x8961
  37676. const m_SIOCGSTAMP = 0x8906
  37677. const m_SIOCGSTAMPNS = 0x8907
  37678. const m_SIOCPROTOPRIVATE = 0x89E0
  37679. const m_SIOCRTMSG = 0x890D
  37680. const m_SIOCSARP = 0x8955
  37681. const m_SIOCSIFADDR = 0x8916
  37682. const m_SIOCSIFBR = 0x8941
  37683. const m_SIOCSIFBRDADDR = 0x891a
  37684. const m_SIOCSIFDSTADDR = 0x8918
  37685. const m_SIOCSIFENCAP = 0x8926
  37686. const m_SIOCSIFFLAGS = 0x8914
  37687. const m_SIOCSIFHWADDR = 0x8924
  37688. const m_SIOCSIFHWBROADCAST = 0x8937
  37689. const m_SIOCSIFLINK = 0x8911
  37690. const m_SIOCSIFMAP = 0x8971
  37691. const m_SIOCSIFMEM = 0x8920
  37692. const m_SIOCSIFMETRIC = 0x891e
  37693. const m_SIOCSIFMTU = 0x8922
  37694. const m_SIOCSIFNAME = 0x8923
  37695. const m_SIOCSIFNETMASK = 0x891c
  37696. const m_SIOCSIFPFLAGS = 0x8934
  37697. const m_SIOCSIFSLAVE = 0x8930
  37698. const m_SIOCSIFTXQLEN = 0x8943
  37699. const m_SIOCSPGRP = 0x8902
  37700. const m_SIOCSRARP = 0x8962
  37701. const m_SIOGIFINDEX = "SIOCGIFINDEX"
  37702. const m_ST_APPEND = 256
  37703. const m_ST_IMMUTABLE = 512
  37704. const m_ST_MANDLOCK = 64
  37705. const m_ST_NOATIME = 1024
  37706. const m_ST_NODEV = 4
  37707. const m_ST_NODIRATIME = 2048
  37708. const m_ST_NOEXEC = 8
  37709. const m_ST_NOSUID = 2
  37710. const m_ST_RDONLY = 1
  37711. const m_ST_RELATIME = 4096
  37712. const m_ST_SYNCHRONOUS = 16
  37713. const m_ST_WRITE = 128
  37714. const m_S_IFDIR3 = 16384
  37715. const m_S_IFMT3 = 61440
  37716. const m_TCSBRKP = 0x5425
  37717. const m_TIOCCBRK = 0x5428
  37718. const m_TIOCCONS = 0x541D
  37719. const m_TIOCEXCL = 0x540C
  37720. const m_TIOCGETD = 0x5424
  37721. const m_TIOCGICOUNT = 0x545D
  37722. const m_TIOCGLCKTRMIOS = 0x5456
  37723. const m_TIOCGRS485 = 0x542e
  37724. const m_TIOCGSERIAL = 0x541E
  37725. const m_TIOCGSID = 0x5429
  37726. const m_TIOCGSOFTCAR = 0x5419
  37727. const m_TIOCINQ = "FIONREAD"
  37728. const m_TIOCLINUX = 0x541C
  37729. const m_TIOCMBIC = 0x5417
  37730. const m_TIOCMBIS = 0x5416
  37731. const m_TIOCMGET = 0x5415
  37732. const m_TIOCMIWAIT = 0x545C
  37733. const m_TIOCMSET = 0x5418
  37734. const m_TIOCM_CAR = 0x040
  37735. const m_TIOCM_CD = "TIOCM_CAR"
  37736. const m_TIOCM_CTS = 0x020
  37737. const m_TIOCM_DSR = 0x100
  37738. const m_TIOCM_DTR = 0x002
  37739. const m_TIOCM_LE = 0x001
  37740. const m_TIOCM_LOOP = 0x8000
  37741. const m_TIOCM_OUT1 = 0x2000
  37742. const m_TIOCM_OUT2 = 0x4000
  37743. const m_TIOCM_RI = "TIOCM_RNG"
  37744. const m_TIOCM_RNG = 0x080
  37745. const m_TIOCM_RTS = 0x004
  37746. const m_TIOCM_SR = 0x010
  37747. const m_TIOCM_ST = 0x008
  37748. const m_TIOCNOTTY = 0x5422
  37749. const m_TIOCNXCL = 0x540D
  37750. const m_TIOCPKT = 0x5420
  37751. const m_TIOCPKT_DATA = 0
  37752. const m_TIOCPKT_DOSTOP = 32
  37753. const m_TIOCPKT_FLUSHREAD = 1
  37754. const m_TIOCPKT_FLUSHWRITE = 2
  37755. const m_TIOCPKT_IOCTL = 64
  37756. const m_TIOCPKT_NOSTOP = 16
  37757. const m_TIOCPKT_START = 8
  37758. const m_TIOCPKT_STOP = 4
  37759. const m_TIOCSBRK = 0x5427
  37760. const m_TIOCSCTTY = 0x540E
  37761. const m_TIOCSERCONFIG = 0x5453
  37762. const m_TIOCSERGETLSR = 0x5459
  37763. const m_TIOCSERGETMULTI = 0x545A
  37764. const m_TIOCSERGSTRUCT = 0x5458
  37765. const m_TIOCSERGWILD = 0x5454
  37766. const m_TIOCSERSETMULTI = 0x545B
  37767. const m_TIOCSERSWILD = 0x5455
  37768. const m_TIOCSER_TEMT = 1
  37769. const m_TIOCSETD = 0x5423
  37770. const m_TIOCSLCKTRMIOS = 0x5457
  37771. const m_TIOCSRS485 = 0x542f
  37772. const m_TIOCSSERIAL = 0x541F
  37773. const m_TIOCSSOFTCAR = 0x541A
  37774. const m_TIOCSTI = 0x5412
  37775. const m_TIOCVHANGUP = 0x5437
  37776. const m_UMOUNT_NOFOLLOW = 8
  37777. const m__IOC_NONE = 1
  37778. const m__IOC_READ = 2
  37779. const m__IOC_WRITE = 4
  37780. const m_prlimit64 = "prlimit"
  37781. type Tstatvfs = struct {
  37782. Ff_bsize uint64
  37783. Ff_frsize uint64
  37784. Ff_blocks Tfsblkcnt_t
  37785. Ff_bfree Tfsblkcnt_t
  37786. Ff_bavail Tfsblkcnt_t
  37787. Ff_files Tfsfilcnt_t
  37788. Ff_ffree Tfsfilcnt_t
  37789. Ff_favail Tfsfilcnt_t
  37790. Ff_fsid uint64
  37791. Ff_flag uint64
  37792. Ff_namemax uint64
  37793. Ff_type uint32
  37794. F__reserved [5]int32
  37795. }
  37796. type Tfsid_t = struct {
  37797. F__val [2]int32
  37798. }
  37799. type t__fsid_t = Tfsid_t
  37800. type Tstatfs = struct {
  37801. Ff_type uint64
  37802. Ff_bsize uint64
  37803. Ff_blocks Tfsblkcnt_t
  37804. Ff_bfree Tfsblkcnt_t
  37805. Ff_bavail Tfsblkcnt_t
  37806. Ff_files Tfsfilcnt_t
  37807. Ff_ffree Tfsfilcnt_t
  37808. Ff_fsid Tfsid_t
  37809. Ff_namelen uint64
  37810. Ff_frsize uint64
  37811. Ff_flags uint64
  37812. Ff_spare [4]uint64
  37813. }
  37814. type Trlim_t = uint64
  37815. type Trlimit = struct {
  37816. Frlim_cur Trlim_t
  37817. Frlim_max Trlim_t
  37818. }
  37819. type Trusage = struct {
  37820. Fru_utime Ttimeval
  37821. Fru_stime Ttimeval
  37822. Fru_maxrss int64
  37823. Fru_ixrss int64
  37824. Fru_idrss int64
  37825. Fru_isrss int64
  37826. Fru_minflt int64
  37827. Fru_majflt int64
  37828. Fru_nswap int64
  37829. Fru_inblock int64
  37830. Fru_oublock int64
  37831. Fru_msgsnd int64
  37832. Fru_msgrcv int64
  37833. Fru_nsignals int64
  37834. Fru_nvcsw int64
  37835. Fru_nivcsw int64
  37836. F__reserved [16]int64
  37837. }
  37838. type Twinsize = struct {
  37839. Fws_row uint16
  37840. Fws_col uint16
  37841. Fws_xpixel uint16
  37842. Fws_ypixel uint16
  37843. }
  37844. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  37845. return libc.Xstat(tls, file, statb)
  37846. }
  37847. /* Adler-32 checksum implementation */
  37848. type TAdler32 = struct {
  37849. Fa int32
  37850. Fb int32
  37851. }
  37852. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  37853. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  37854. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  37855. }
  37856. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  37857. var v1 int32
  37858. var v2 uintptr
  37859. _, _ = v1, v2
  37860. for {
  37861. v1 = data_len
  37862. data_len--
  37863. if !(v1 != 0) {
  37864. break
  37865. }
  37866. v2 = data
  37867. data++
  37868. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(v2)))) % int32(65521)
  37869. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  37870. }
  37871. }
  37872. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  37873. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  37874. }
  37875. // C documentation
  37876. //
  37877. // /* dirent.d_type can be relied upon on FAT filesystem */
  37878. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  37879. return libc.BoolInt32(libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  37880. }
  37881. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  37882. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+19, *(*uintptr)(unsafe.Pointer(rhs))+19)
  37883. }
  37884. func _free_dirent(tls *libc.TLS, p uintptr) {
  37885. var x uintptr
  37886. _ = x
  37887. x = p
  37888. for {
  37889. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  37890. break
  37891. }
  37892. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  37893. goto _1
  37894. _1:
  37895. ;
  37896. x += 8
  37897. }
  37898. libc.Xfree(tls, p)
  37899. }
  37900. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  37901. var d, dent, dlist, dlp, p, v1 uintptr
  37902. var dentlen, lsize, n, v2 Tsize_t
  37903. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  37904. lsize = uint64(128)
  37905. n = uint64(0)
  37906. d = libc.Xopendir(tls, dirp)
  37907. if !(d != 0) {
  37908. return -int32(1)
  37909. }
  37910. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  37911. if !(dlist != 0) {
  37912. libc.Xclosedir(tls, d)
  37913. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37914. return -int32(1)
  37915. }
  37916. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  37917. for {
  37918. v1 = libc.Xreaddir(tls, d)
  37919. dent = v1
  37920. if !(v1 != 0) {
  37921. break
  37922. }
  37923. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  37924. dentlen = libc.Uint64FromInt64(Tintptr_t(dent+19)-int64(dent)) + libc.Xstrlen(tls, dent+19) + uint64(1)
  37925. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & libc.Uint64FromInt32(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  37926. p = libc.Xmalloc(tls, dentlen)
  37927. if !(p != 0) {
  37928. _free_dirent(tls, dlist)
  37929. libc.Xclosedir(tls, d)
  37930. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37931. return -int32(1)
  37932. }
  37933. libc.Xmemcpy(tls, p, dent, dentlen)
  37934. if n+uint64(1) >= lsize {
  37935. lsize += uint64(128)
  37936. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  37937. if !(dlp != 0) {
  37938. libc.Xfree(tls, p)
  37939. _free_dirent(tls, dlist)
  37940. libc.Xclosedir(tls, d)
  37941. *(*int32)(unsafe.Pointer(libc.X__errno_location(tls))) = int32(m_ENOMEM)
  37942. return -int32(1)
  37943. }
  37944. dlist = dlp
  37945. }
  37946. v2 = n
  37947. n++
  37948. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  37949. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  37950. }
  37951. }
  37952. libc.Xclosedir(tls, d)
  37953. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  37954. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  37955. return libc.Int32FromUint64(n)
  37956. }
  37957. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  37958. bp := tls.Alloc(176)
  37959. defer tls.Free(176)
  37960. var dlen, len1 Tsize_t
  37961. var f uintptr
  37962. var n, ret, v1 int32
  37963. var _ /* ctx at bp+0 */ TAdler32
  37964. var _ /* dtype at bp+16 */ int32
  37965. var _ /* files at bp+8 */ uintptr
  37966. var _ /* statb at bp+24 */ Tstat
  37967. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  37968. ret = 0
  37969. len1 = libc.Xstrlen(tls, dir)
  37970. _Adler32Init(tls, bp)
  37971. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  37972. if n == -int32(1) {
  37973. return -int32(1)
  37974. }
  37975. for {
  37976. v1 = n
  37977. n--
  37978. if !(v1 != 0) {
  37979. break
  37980. }
  37981. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19)
  37982. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint8((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  37983. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  37984. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  37985. if !(f != 0) {
  37986. ret = -int32(1)
  37987. goto bail
  37988. }
  37989. libc.Xmemcpy(tls, f, dir, len1)
  37990. *(*uint8)(unsafe.Pointer(f + uintptr(len1))) = uint8('/')
  37991. libc.Xmemcpy(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, dlen)
  37992. *(*uint8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = uint8(0)
  37993. if libc.Xlstat(tls, f, bp+24) < 0 {
  37994. ret = -int32(1)
  37995. libc.Xfree(tls, f)
  37996. goto bail
  37997. }
  37998. if (*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode&uint32(m_S_IFMT3) == uint32(m_S_IFDIR3) {
  37999. libc.Xfree(tls, f)
  38000. goto bail
  38001. }
  38002. libc.Xfree(tls, f)
  38003. *(*int32)(unsafe.Pointer(bp + 16)) = libc.Int32FromUint32((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  38004. }
  38005. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+19, libc.Int32FromUint64(dlen+uint64(1)))
  38006. _Adler32Update(tls, bp, bp+16, int32(4))
  38007. goto bail
  38008. bail:
  38009. ;
  38010. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  38011. }
  38012. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  38013. if ret == -int32(1) {
  38014. return -int32(1)
  38015. }
  38016. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  38017. return 0
  38018. }
  38019. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  38020. if XFcStat(tls, file, statb) == -int32(1) {
  38021. return -int32(1)
  38022. }
  38023. /* We have a workaround of the broken stat() in FcStat() for Win32.
  38024. * No need to do something further more.
  38025. */
  38026. if XFcIsFsMtimeBroken(tls, file) != 0 {
  38027. if _FcDirChecksum1(tls, file, statb+88) == -int32(1) {
  38028. return -int32(1)
  38029. }
  38030. }
  38031. return 0
  38032. }
  38033. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  38034. bp := tls.Alloc(128)
  38035. defer tls.Free(128)
  38036. var flag TFcBool
  38037. var p uintptr
  38038. var ret, v1 int32
  38039. var _ /* buf at bp+0 */ Tstatfs
  38040. _, _, _, _ = flag, p, ret, v1
  38041. p = libc.UintptrFromInt32(0)
  38042. ret = -int32(1)
  38043. flag = m_FcFalse
  38044. libc.Xmemset(tls, statb, 0, uint64(8))
  38045. v1 = libc.Xfstatfs(tls, fd, bp)
  38046. ret = v1
  38047. if v1 == 0 {
  38048. switch (*(*Tstatfs)(unsafe.Pointer(bp))).Ff_type {
  38049. case uint64(0x6969): /* nfs */
  38050. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  38051. case uint64(0x4d44): /* fat */
  38052. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  38053. default:
  38054. break
  38055. }
  38056. return ret
  38057. }
  38058. if p != 0 {
  38059. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6420) == 0 {
  38060. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  38061. }
  38062. if libc.Xstrcmp(tls, p, __ccgo_ts+6424) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6432) == 0 {
  38063. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  38064. }
  38065. }
  38066. return ret
  38067. }
  38068. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  38069. bp := tls.Alloc(16)
  38070. defer tls.Free(16)
  38071. var _ /* statb at bp+0 */ TFcStatFS
  38072. if _FcFStatFs(tls, fd, bp) < 0 {
  38073. return int32(m_FcTrue)
  38074. }
  38075. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  38076. }
  38077. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  38078. bp := tls.Alloc(16)
  38079. defer tls.Free(16)
  38080. var fd, ret int32
  38081. var _ /* statb at bp+0 */ TFcStatFS
  38082. _, _ = fd, ret
  38083. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  38084. if fd != -int32(1) {
  38085. ret = _FcFStatFs(tls, fd, bp)
  38086. libc.Xclose(tls, fd)
  38087. if ret < 0 {
  38088. return m_FcFalse
  38089. }
  38090. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  38091. }
  38092. return m_FcFalse
  38093. }
  38094. const m_FC_MAX_CASE_FOLD_CHARS = 6
  38095. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  38096. const m_FC_MAX_FOLD_CHAR = 125217
  38097. const m_FC_MIN_FOLD_CHAR = 65
  38098. const m_FC_NUM_CASE_FOLD = 291
  38099. const m_FC_NUM_CASE_FOLD_CHARS = 471
  38100. const m_S_IFDIR4 = 0040000
  38101. const m_S_IFMT4 = 0170000
  38102. /* Objects MT-safe for readonly access. */
  38103. func XIA__FcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  38104. return libc.Xstrdup(tls, s)
  38105. }
  38106. var XFcStrCopy = XIA__FcStrCopy
  38107. func XIA__FcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  38108. var l, s1l, s2l int32
  38109. var s uintptr
  38110. _, _, _, _ = l, s, s1l, s2l
  38111. s1l = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  38112. s2l = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  38113. l = s1l + s2l + int32(1)
  38114. s = libc.Xmalloc(tls, libc.Uint64FromInt32(l))
  38115. if !(s != 0) {
  38116. return uintptr(0)
  38117. }
  38118. libc.Xmemcpy(tls, s, s1, libc.Uint64FromInt32(s1l))
  38119. libc.Xmemcpy(tls, s+uintptr(s1l), s2, libc.Uint64FromInt32(s2l+int32(1)))
  38120. return s
  38121. }
  38122. var XFcStrPlus = XIA__FcStrPlus
  38123. func XIA__FcStrFree(tls *libc.TLS, s uintptr) {
  38124. libc.Xfree(tls, s)
  38125. }
  38126. var XFcStrFree = XIA__FcStrFree
  38127. var _fcCaseFold = [291]TFcCaseFold{
  38128. 0: {
  38129. Fupper: uint32(0x00000041),
  38130. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  38131. Foffset: int16(32),
  38132. },
  38133. 1: {
  38134. Fupper: uint32(0x000000b5),
  38135. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38136. Foffset: int16(775),
  38137. },
  38138. 2: {
  38139. Fupper: uint32(0x000000c0),
  38140. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  38141. Foffset: int16(32),
  38142. },
  38143. 3: {
  38144. Fupper: uint32(0x000000d8),
  38145. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  38146. Foffset: int16(32),
  38147. },
  38148. 4: {
  38149. Fupper: uint32(0x000000df),
  38150. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38151. },
  38152. 5: {
  38153. Fupper: uint32(0x00000100),
  38154. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  38155. Foffset: int16(1),
  38156. },
  38157. 6: {
  38158. Fupper: uint32(0x00000130),
  38159. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38160. Foffset: int16(2),
  38161. },
  38162. 7: {
  38163. Fupper: uint32(0x00000132),
  38164. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38165. Foffset: int16(1),
  38166. },
  38167. 8: {
  38168. Fupper: uint32(0x00000139),
  38169. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  38170. Foffset: int16(1),
  38171. },
  38172. 9: {
  38173. Fupper: uint32(0x00000149),
  38174. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38175. Foffset: int16(5),
  38176. },
  38177. 10: {
  38178. Fupper: uint32(0x0000014a),
  38179. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  38180. Foffset: int16(1),
  38181. },
  38182. 11: {
  38183. Fupper: uint32(0x00000178),
  38184. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38185. Foffset: int16(-int32(121)),
  38186. },
  38187. 12: {
  38188. Fupper: uint32(0x00000179),
  38189. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38190. Foffset: int16(1),
  38191. },
  38192. 13: {
  38193. Fupper: uint32(0x0000017f),
  38194. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38195. Foffset: int16(-int32(268)),
  38196. },
  38197. 14: {
  38198. Fupper: uint32(0x00000181),
  38199. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38200. Foffset: int16(210),
  38201. },
  38202. 15: {
  38203. Fupper: uint32(0x00000182),
  38204. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38205. Foffset: int16(1),
  38206. },
  38207. 16: {
  38208. Fupper: uint32(0x00000186),
  38209. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38210. Foffset: int16(206),
  38211. },
  38212. 17: {
  38213. Fupper: uint32(0x00000187),
  38214. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38215. Foffset: int16(1),
  38216. },
  38217. 18: {
  38218. Fupper: uint32(0x00000189),
  38219. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38220. Foffset: int16(205),
  38221. },
  38222. 19: {
  38223. Fupper: uint32(0x0000018b),
  38224. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38225. Foffset: int16(1),
  38226. },
  38227. 20: {
  38228. Fupper: uint32(0x0000018e),
  38229. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38230. Foffset: int16(79),
  38231. },
  38232. 21: {
  38233. Fupper: uint32(0x0000018f),
  38234. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38235. Foffset: int16(202),
  38236. },
  38237. 22: {
  38238. Fupper: uint32(0x00000190),
  38239. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38240. Foffset: int16(203),
  38241. },
  38242. 23: {
  38243. Fupper: uint32(0x00000191),
  38244. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38245. Foffset: int16(1),
  38246. },
  38247. 24: {
  38248. Fupper: uint32(0x00000193),
  38249. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38250. Foffset: int16(205),
  38251. },
  38252. 25: {
  38253. Fupper: uint32(0x00000194),
  38254. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38255. Foffset: int16(207),
  38256. },
  38257. 26: {
  38258. Fupper: uint32(0x00000196),
  38259. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38260. Foffset: int16(211),
  38261. },
  38262. 27: {
  38263. Fupper: uint32(0x00000197),
  38264. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38265. Foffset: int16(209),
  38266. },
  38267. 28: {
  38268. Fupper: uint32(0x00000198),
  38269. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38270. Foffset: int16(1),
  38271. },
  38272. 29: {
  38273. Fupper: uint32(0x0000019c),
  38274. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38275. Foffset: int16(211),
  38276. },
  38277. 30: {
  38278. Fupper: uint32(0x0000019d),
  38279. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38280. Foffset: int16(213),
  38281. },
  38282. 31: {
  38283. Fupper: uint32(0x0000019f),
  38284. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38285. Foffset: int16(214),
  38286. },
  38287. 32: {
  38288. Fupper: uint32(0x000001a0),
  38289. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38290. Foffset: int16(1),
  38291. },
  38292. 33: {
  38293. Fupper: uint32(0x000001a6),
  38294. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38295. Foffset: int16(218),
  38296. },
  38297. 34: {
  38298. Fupper: uint32(0x000001a7),
  38299. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38300. Foffset: int16(1),
  38301. },
  38302. 35: {
  38303. Fupper: uint32(0x000001a9),
  38304. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38305. Foffset: int16(218),
  38306. },
  38307. 36: {
  38308. Fupper: uint32(0x000001ac),
  38309. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38310. Foffset: int16(1),
  38311. },
  38312. 37: {
  38313. Fupper: uint32(0x000001ae),
  38314. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38315. Foffset: int16(218),
  38316. },
  38317. 38: {
  38318. Fupper: uint32(0x000001af),
  38319. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38320. Foffset: int16(1),
  38321. },
  38322. 39: {
  38323. Fupper: uint32(0x000001b1),
  38324. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38325. Foffset: int16(217),
  38326. },
  38327. 40: {
  38328. Fupper: uint32(0x000001b3),
  38329. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38330. Foffset: int16(1),
  38331. },
  38332. 41: {
  38333. Fupper: uint32(0x000001b7),
  38334. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38335. Foffset: int16(219),
  38336. },
  38337. 42: {
  38338. Fupper: uint32(0x000001b8),
  38339. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38340. Foffset: int16(1),
  38341. },
  38342. 43: {
  38343. Fupper: uint32(0x000001bc),
  38344. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38345. Foffset: int16(1),
  38346. },
  38347. 44: {
  38348. Fupper: uint32(0x000001c4),
  38349. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38350. Foffset: int16(2),
  38351. },
  38352. 45: {
  38353. Fupper: uint32(0x000001c5),
  38354. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38355. Foffset: int16(1),
  38356. },
  38357. 46: {
  38358. Fupper: uint32(0x000001c7),
  38359. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38360. Foffset: int16(2),
  38361. },
  38362. 47: {
  38363. Fupper: uint32(0x000001c8),
  38364. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38365. Foffset: int16(1),
  38366. },
  38367. 48: {
  38368. Fupper: uint32(0x000001ca),
  38369. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38370. Foffset: int16(2),
  38371. },
  38372. 49: {
  38373. Fupper: uint32(0x000001cb),
  38374. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38375. Foffset: int16(1),
  38376. },
  38377. 50: {
  38378. Fupper: uint32(0x000001de),
  38379. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38380. Foffset: int16(1),
  38381. },
  38382. 51: {
  38383. Fupper: uint32(0x000001f0),
  38384. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38385. Foffset: int16(8),
  38386. },
  38387. 52: {
  38388. Fupper: uint32(0x000001f1),
  38389. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38390. Foffset: int16(2),
  38391. },
  38392. 53: {
  38393. Fupper: uint32(0x000001f2),
  38394. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38395. Foffset: int16(1),
  38396. },
  38397. 54: {
  38398. Fupper: uint32(0x000001f6),
  38399. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38400. Foffset: int16(-int32(97)),
  38401. },
  38402. 55: {
  38403. Fupper: uint32(0x000001f7),
  38404. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38405. Foffset: int16(-int32(56)),
  38406. },
  38407. 56: {
  38408. Fupper: uint32(0x000001f8),
  38409. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  38410. Foffset: int16(1),
  38411. },
  38412. 57: {
  38413. Fupper: uint32(0x00000220),
  38414. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38415. Foffset: int16(-int32(130)),
  38416. },
  38417. 58: {
  38418. Fupper: uint32(0x00000222),
  38419. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38420. Foffset: int16(1),
  38421. },
  38422. 59: {
  38423. Fupper: uint32(0x0000023a),
  38424. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38425. Foffset: int16(10795),
  38426. },
  38427. 60: {
  38428. Fupper: uint32(0x0000023b),
  38429. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38430. Foffset: int16(1),
  38431. },
  38432. 61: {
  38433. Fupper: uint32(0x0000023d),
  38434. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38435. Foffset: int16(-int32(163)),
  38436. },
  38437. 62: {
  38438. Fupper: uint32(0x0000023e),
  38439. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38440. Foffset: int16(10792),
  38441. },
  38442. 63: {
  38443. Fupper: uint32(0x00000241),
  38444. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38445. Foffset: int16(1),
  38446. },
  38447. 64: {
  38448. Fupper: uint32(0x00000243),
  38449. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38450. Foffset: int16(-int32(195)),
  38451. },
  38452. 65: {
  38453. Fupper: uint32(0x00000244),
  38454. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38455. Foffset: int16(69),
  38456. },
  38457. 66: {
  38458. Fupper: uint32(0x00000245),
  38459. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38460. Foffset: int16(71),
  38461. },
  38462. 67: {
  38463. Fupper: uint32(0x00000246),
  38464. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  38465. Foffset: int16(1),
  38466. },
  38467. 68: {
  38468. Fupper: uint32(0x00000345),
  38469. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38470. Foffset: int16(116),
  38471. },
  38472. 69: {
  38473. Fupper: uint32(0x00000370),
  38474. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38475. Foffset: int16(1),
  38476. },
  38477. 70: {
  38478. Fupper: uint32(0x00000376),
  38479. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38480. Foffset: int16(1),
  38481. },
  38482. 71: {
  38483. Fupper: uint32(0x0000037f),
  38484. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38485. Foffset: int16(116),
  38486. },
  38487. 72: {
  38488. Fupper: uint32(0x00000386),
  38489. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38490. Foffset: int16(38),
  38491. },
  38492. 73: {
  38493. Fupper: uint32(0x00000388),
  38494. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38495. Foffset: int16(37),
  38496. },
  38497. 74: {
  38498. Fupper: uint32(0x0000038c),
  38499. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38500. Foffset: int16(64),
  38501. },
  38502. 75: {
  38503. Fupper: uint32(0x0000038e),
  38504. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38505. Foffset: int16(63),
  38506. },
  38507. 76: {
  38508. Fupper: uint32(0x00000390),
  38509. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38510. Foffset: int16(11),
  38511. },
  38512. 77: {
  38513. Fupper: uint32(0x00000391),
  38514. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  38515. Foffset: int16(32),
  38516. },
  38517. 78: {
  38518. Fupper: uint32(0x000003a3),
  38519. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  38520. Foffset: int16(32),
  38521. },
  38522. 79: {
  38523. Fupper: uint32(0x000003b0),
  38524. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38525. Foffset: int16(17),
  38526. },
  38527. 80: {
  38528. Fupper: uint32(0x000003c2),
  38529. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38530. Foffset: int16(1),
  38531. },
  38532. 81: {
  38533. Fupper: uint32(0x000003cf),
  38534. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38535. Foffset: int16(8),
  38536. },
  38537. 82: {
  38538. Fupper: uint32(0x000003d0),
  38539. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38540. Foffset: int16(-int32(30)),
  38541. },
  38542. 83: {
  38543. Fupper: uint32(0x000003d1),
  38544. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38545. Foffset: int16(-int32(25)),
  38546. },
  38547. 84: {
  38548. Fupper: uint32(0x000003d5),
  38549. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38550. Foffset: int16(-int32(15)),
  38551. },
  38552. 85: {
  38553. Fupper: uint32(0x000003d6),
  38554. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38555. Foffset: int16(-int32(22)),
  38556. },
  38557. 86: {
  38558. Fupper: uint32(0x000003d8),
  38559. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  38560. Foffset: int16(1),
  38561. },
  38562. 87: {
  38563. Fupper: uint32(0x000003f0),
  38564. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38565. Foffset: int16(-int32(54)),
  38566. },
  38567. 88: {
  38568. Fupper: uint32(0x000003f1),
  38569. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38570. Foffset: int16(-int32(48)),
  38571. },
  38572. 89: {
  38573. Fupper: uint32(0x000003f4),
  38574. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38575. Foffset: int16(-int32(60)),
  38576. },
  38577. 90: {
  38578. Fupper: uint32(0x000003f5),
  38579. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38580. Foffset: int16(-int32(64)),
  38581. },
  38582. 91: {
  38583. Fupper: uint32(0x000003f7),
  38584. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38585. Foffset: int16(1),
  38586. },
  38587. 92: {
  38588. Fupper: uint32(0x000003f9),
  38589. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38590. Foffset: int16(-int32(7)),
  38591. },
  38592. 93: {
  38593. Fupper: uint32(0x000003fa),
  38594. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38595. Foffset: int16(1),
  38596. },
  38597. 94: {
  38598. Fupper: uint32(0x000003fd),
  38599. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38600. Foffset: int16(-int32(130)),
  38601. },
  38602. 95: {
  38603. Fupper: uint32(0x00000400),
  38604. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  38605. Foffset: int16(80),
  38606. },
  38607. 96: {
  38608. Fupper: uint32(0x00000410),
  38609. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  38610. Foffset: int16(32),
  38611. },
  38612. 97: {
  38613. Fupper: uint32(0x00000460),
  38614. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  38615. Foffset: int16(1),
  38616. },
  38617. 98: {
  38618. Fupper: uint32(0x0000048a),
  38619. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  38620. Foffset: int16(1),
  38621. },
  38622. 99: {
  38623. Fupper: uint32(0x000004c0),
  38624. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38625. Foffset: int16(15),
  38626. },
  38627. 100: {
  38628. Fupper: uint32(0x000004c1),
  38629. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  38630. Foffset: int16(1),
  38631. },
  38632. 101: {
  38633. Fupper: uint32(0x000004d0),
  38634. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  38635. Foffset: int16(1),
  38636. },
  38637. 102: {
  38638. Fupper: uint32(0x00000531),
  38639. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  38640. Foffset: int16(48),
  38641. },
  38642. 103: {
  38643. Fupper: uint32(0x00000587),
  38644. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  38645. Foffset: int16(23),
  38646. },
  38647. 104: {
  38648. Fupper: uint32(0x000010a0),
  38649. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  38650. Foffset: int16(7264),
  38651. },
  38652. 105: {
  38653. Fupper: uint32(0x000010c7),
  38654. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38655. Foffset: int16(7264),
  38656. },
  38657. 106: {
  38658. Fupper: uint32(0x000010cd),
  38659. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38660. Foffset: int16(7264),
  38661. },
  38662. 107: {
  38663. Fupper: uint32(0x000013f8),
  38664. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38665. Foffset: int16(-int32(8)),
  38666. },
  38667. 108: {
  38668. Fupper: uint32(0x00001c80),
  38669. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38670. Foffset: int16(-int32(6222)),
  38671. },
  38672. 109: {
  38673. Fupper: uint32(0x00001c81),
  38674. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38675. Foffset: int16(-int32(6221)),
  38676. },
  38677. 110: {
  38678. Fupper: uint32(0x00001c82),
  38679. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38680. Foffset: int16(-int32(6212)),
  38681. },
  38682. 111: {
  38683. Fupper: uint32(0x00001c83),
  38684. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38685. Foffset: int16(-int32(6210)),
  38686. },
  38687. 112: {
  38688. Fupper: uint32(0x00001c85),
  38689. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38690. Foffset: int16(-int32(6211)),
  38691. },
  38692. 113: {
  38693. Fupper: uint32(0x00001c86),
  38694. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38695. Foffset: int16(-int32(6204)),
  38696. },
  38697. 114: {
  38698. Fupper: uint32(0x00001c87),
  38699. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38700. Foffset: int16(-int32(6180)),
  38701. },
  38702. 115: {
  38703. Fupper: uint32(0x00001c88),
  38704. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38705. Foffset: int16(-int32(30269)),
  38706. },
  38707. 116: {
  38708. Fupper: uint32(0x00001c90),
  38709. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  38710. Foffset: int16(-int32(3008)),
  38711. },
  38712. 117: {
  38713. Fupper: uint32(0x00001cbd),
  38714. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38715. Foffset: int16(-int32(3008)),
  38716. },
  38717. 118: {
  38718. Fupper: uint32(0x00001e00),
  38719. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  38720. Foffset: int16(1),
  38721. },
  38722. 119: {
  38723. Fupper: uint32(0x00001e96),
  38724. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38725. Foffset: int16(27),
  38726. },
  38727. 120: {
  38728. Fupper: uint32(0x00001e97),
  38729. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38730. Foffset: int16(30),
  38731. },
  38732. 121: {
  38733. Fupper: uint32(0x00001e98),
  38734. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38735. Foffset: int16(33),
  38736. },
  38737. 122: {
  38738. Fupper: uint32(0x00001e99),
  38739. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38740. Foffset: int16(36),
  38741. },
  38742. 123: {
  38743. Fupper: uint32(0x00001e9a),
  38744. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  38745. Foffset: int16(39),
  38746. },
  38747. 124: {
  38748. Fupper: uint32(0x00001e9b),
  38749. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38750. Foffset: int16(-int32(58)),
  38751. },
  38752. 125: {
  38753. Fupper: uint32(0x00001e9e),
  38754. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  38755. Foffset: int16(42),
  38756. },
  38757. 126: {
  38758. Fupper: uint32(0x00001ea0),
  38759. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  38760. Foffset: int16(1),
  38761. },
  38762. 127: {
  38763. Fupper: uint32(0x00001f08),
  38764. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38765. Foffset: int16(-int32(8)),
  38766. },
  38767. 128: {
  38768. Fupper: uint32(0x00001f18),
  38769. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38770. Foffset: int16(-int32(8)),
  38771. },
  38772. 129: {
  38773. Fupper: uint32(0x00001f28),
  38774. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38775. Foffset: int16(-int32(8)),
  38776. },
  38777. 130: {
  38778. Fupper: uint32(0x00001f38),
  38779. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38780. Foffset: int16(-int32(8)),
  38781. },
  38782. 131: {
  38783. Fupper: uint32(0x00001f48),
  38784. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38785. Foffset: int16(-int32(8)),
  38786. },
  38787. 132: {
  38788. Fupper: uint32(0x00001f50),
  38789. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  38790. Foffset: int16(44),
  38791. },
  38792. 133: {
  38793. Fupper: uint32(0x00001f52),
  38794. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38795. Foffset: int16(48),
  38796. },
  38797. 134: {
  38798. Fupper: uint32(0x00001f54),
  38799. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38800. Foffset: int16(54),
  38801. },
  38802. 135: {
  38803. Fupper: uint32(0x00001f56),
  38804. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  38805. Foffset: int16(60),
  38806. },
  38807. 136: {
  38808. Fupper: uint32(0x00001f59),
  38809. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38810. Foffset: int16(-int32(8)),
  38811. },
  38812. 137: {
  38813. Fupper: uint32(0x00001f5b),
  38814. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38815. Foffset: int16(-int32(8)),
  38816. },
  38817. 138: {
  38818. Fupper: uint32(0x00001f5d),
  38819. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38820. Foffset: int16(-int32(8)),
  38821. },
  38822. 139: {
  38823. Fupper: uint32(0x00001f5f),
  38824. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  38825. Foffset: int16(-int32(8)),
  38826. },
  38827. 140: {
  38828. Fupper: uint32(0x00001f68),
  38829. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  38830. Foffset: int16(-int32(8)),
  38831. },
  38832. 141: {
  38833. Fupper: uint32(0x00001f80),
  38834. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38835. Foffset: int16(66),
  38836. },
  38837. 142: {
  38838. Fupper: uint32(0x00001f81),
  38839. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38840. Foffset: int16(71),
  38841. },
  38842. 143: {
  38843. Fupper: uint32(0x00001f82),
  38844. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38845. Foffset: int16(76),
  38846. },
  38847. 144: {
  38848. Fupper: uint32(0x00001f83),
  38849. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38850. Foffset: int16(81),
  38851. },
  38852. 145: {
  38853. Fupper: uint32(0x00001f84),
  38854. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38855. Foffset: int16(86),
  38856. },
  38857. 146: {
  38858. Fupper: uint32(0x00001f85),
  38859. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38860. Foffset: int16(91),
  38861. },
  38862. 147: {
  38863. Fupper: uint32(0x00001f86),
  38864. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38865. Foffset: int16(96),
  38866. },
  38867. 148: {
  38868. Fupper: uint32(0x00001f87),
  38869. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38870. Foffset: int16(101),
  38871. },
  38872. 149: {
  38873. Fupper: uint32(0x00001f88),
  38874. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38875. Foffset: int16(106),
  38876. },
  38877. 150: {
  38878. Fupper: uint32(0x00001f89),
  38879. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38880. Foffset: int16(111),
  38881. },
  38882. 151: {
  38883. Fupper: uint32(0x00001f8a),
  38884. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38885. Foffset: int16(116),
  38886. },
  38887. 152: {
  38888. Fupper: uint32(0x00001f8b),
  38889. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38890. Foffset: int16(121),
  38891. },
  38892. 153: {
  38893. Fupper: uint32(0x00001f8c),
  38894. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38895. Foffset: int16(126),
  38896. },
  38897. 154: {
  38898. Fupper: uint32(0x00001f8d),
  38899. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38900. Foffset: int16(131),
  38901. },
  38902. 155: {
  38903. Fupper: uint32(0x00001f8e),
  38904. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38905. Foffset: int16(136),
  38906. },
  38907. 156: {
  38908. Fupper: uint32(0x00001f8f),
  38909. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38910. Foffset: int16(141),
  38911. },
  38912. 157: {
  38913. Fupper: uint32(0x00001f90),
  38914. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38915. Foffset: int16(146),
  38916. },
  38917. 158: {
  38918. Fupper: uint32(0x00001f91),
  38919. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38920. Foffset: int16(151),
  38921. },
  38922. 159: {
  38923. Fupper: uint32(0x00001f92),
  38924. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38925. Foffset: int16(156),
  38926. },
  38927. 160: {
  38928. Fupper: uint32(0x00001f93),
  38929. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38930. Foffset: int16(161),
  38931. },
  38932. 161: {
  38933. Fupper: uint32(0x00001f94),
  38934. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38935. Foffset: int16(166),
  38936. },
  38937. 162: {
  38938. Fupper: uint32(0x00001f95),
  38939. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38940. Foffset: int16(171),
  38941. },
  38942. 163: {
  38943. Fupper: uint32(0x00001f96),
  38944. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38945. Foffset: int16(176),
  38946. },
  38947. 164: {
  38948. Fupper: uint32(0x00001f97),
  38949. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38950. Foffset: int16(181),
  38951. },
  38952. 165: {
  38953. Fupper: uint32(0x00001f98),
  38954. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38955. Foffset: int16(186),
  38956. },
  38957. 166: {
  38958. Fupper: uint32(0x00001f99),
  38959. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38960. Foffset: int16(191),
  38961. },
  38962. 167: {
  38963. Fupper: uint32(0x00001f9a),
  38964. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38965. Foffset: int16(196),
  38966. },
  38967. 168: {
  38968. Fupper: uint32(0x00001f9b),
  38969. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38970. Foffset: int16(201),
  38971. },
  38972. 169: {
  38973. Fupper: uint32(0x00001f9c),
  38974. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38975. Foffset: int16(206),
  38976. },
  38977. 170: {
  38978. Fupper: uint32(0x00001f9d),
  38979. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38980. Foffset: int16(211),
  38981. },
  38982. 171: {
  38983. Fupper: uint32(0x00001f9e),
  38984. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38985. Foffset: int16(216),
  38986. },
  38987. 172: {
  38988. Fupper: uint32(0x00001f9f),
  38989. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38990. Foffset: int16(221),
  38991. },
  38992. 173: {
  38993. Fupper: uint32(0x00001fa0),
  38994. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  38995. Foffset: int16(226),
  38996. },
  38997. 174: {
  38998. Fupper: uint32(0x00001fa1),
  38999. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39000. Foffset: int16(231),
  39001. },
  39002. 175: {
  39003. Fupper: uint32(0x00001fa2),
  39004. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39005. Foffset: int16(236),
  39006. },
  39007. 176: {
  39008. Fupper: uint32(0x00001fa3),
  39009. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39010. Foffset: int16(241),
  39011. },
  39012. 177: {
  39013. Fupper: uint32(0x00001fa4),
  39014. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39015. Foffset: int16(246),
  39016. },
  39017. 178: {
  39018. Fupper: uint32(0x00001fa5),
  39019. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39020. Foffset: int16(251),
  39021. },
  39022. 179: {
  39023. Fupper: uint32(0x00001fa6),
  39024. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39025. Foffset: int16(256),
  39026. },
  39027. 180: {
  39028. Fupper: uint32(0x00001fa7),
  39029. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39030. Foffset: int16(261),
  39031. },
  39032. 181: {
  39033. Fupper: uint32(0x00001fa8),
  39034. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39035. Foffset: int16(266),
  39036. },
  39037. 182: {
  39038. Fupper: uint32(0x00001fa9),
  39039. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39040. Foffset: int16(271),
  39041. },
  39042. 183: {
  39043. Fupper: uint32(0x00001faa),
  39044. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39045. Foffset: int16(276),
  39046. },
  39047. 184: {
  39048. Fupper: uint32(0x00001fab),
  39049. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39050. Foffset: int16(281),
  39051. },
  39052. 185: {
  39053. Fupper: uint32(0x00001fac),
  39054. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39055. Foffset: int16(286),
  39056. },
  39057. 186: {
  39058. Fupper: uint32(0x00001fad),
  39059. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39060. Foffset: int16(291),
  39061. },
  39062. 187: {
  39063. Fupper: uint32(0x00001fae),
  39064. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39065. Foffset: int16(296),
  39066. },
  39067. 188: {
  39068. Fupper: uint32(0x00001faf),
  39069. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39070. Foffset: int16(301),
  39071. },
  39072. 189: {
  39073. Fupper: uint32(0x00001fb2),
  39074. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39075. Foffset: int16(306),
  39076. },
  39077. 190: {
  39078. Fupper: uint32(0x00001fb3),
  39079. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39080. Foffset: int16(311),
  39081. },
  39082. 191: {
  39083. Fupper: uint32(0x00001fb4),
  39084. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39085. Foffset: int16(315),
  39086. },
  39087. 192: {
  39088. Fupper: uint32(0x00001fb6),
  39089. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39090. Foffset: int16(319),
  39091. },
  39092. 193: {
  39093. Fupper: uint32(0x00001fb7),
  39094. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39095. Foffset: int16(323),
  39096. },
  39097. 194: {
  39098. Fupper: uint32(0x00001fb8),
  39099. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39100. Foffset: int16(-int32(8)),
  39101. },
  39102. 195: {
  39103. Fupper: uint32(0x00001fba),
  39104. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39105. Foffset: int16(-int32(74)),
  39106. },
  39107. 196: {
  39108. Fupper: uint32(0x00001fbc),
  39109. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39110. Foffset: int16(329),
  39111. },
  39112. 197: {
  39113. Fupper: uint32(0x00001fbe),
  39114. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39115. Foffset: int16(-int32(7173)),
  39116. },
  39117. 198: {
  39118. Fupper: uint32(0x00001fc2),
  39119. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39120. Foffset: int16(333),
  39121. },
  39122. 199: {
  39123. Fupper: uint32(0x00001fc3),
  39124. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39125. Foffset: int16(338),
  39126. },
  39127. 200: {
  39128. Fupper: uint32(0x00001fc4),
  39129. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39130. Foffset: int16(342),
  39131. },
  39132. 201: {
  39133. Fupper: uint32(0x00001fc6),
  39134. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39135. Foffset: int16(346),
  39136. },
  39137. 202: {
  39138. Fupper: uint32(0x00001fc7),
  39139. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39140. Foffset: int16(350),
  39141. },
  39142. 203: {
  39143. Fupper: uint32(0x00001fc8),
  39144. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39145. Foffset: int16(-int32(86)),
  39146. },
  39147. 204: {
  39148. Fupper: uint32(0x00001fcc),
  39149. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39150. Foffset: int16(356),
  39151. },
  39152. 205: {
  39153. Fupper: uint32(0x00001fd2),
  39154. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39155. Foffset: int16(360),
  39156. },
  39157. 206: {
  39158. Fupper: uint32(0x00001fd3),
  39159. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39160. Foffset: int16(366),
  39161. },
  39162. 207: {
  39163. Fupper: uint32(0x00001fd6),
  39164. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39165. Foffset: int16(372),
  39166. },
  39167. 208: {
  39168. Fupper: uint32(0x00001fd7),
  39169. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39170. Foffset: int16(376),
  39171. },
  39172. 209: {
  39173. Fupper: uint32(0x00001fd8),
  39174. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39175. Foffset: int16(-int32(8)),
  39176. },
  39177. 210: {
  39178. Fupper: uint32(0x00001fda),
  39179. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39180. Foffset: int16(-int32(100)),
  39181. },
  39182. 211: {
  39183. Fupper: uint32(0x00001fe2),
  39184. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39185. Foffset: int16(382),
  39186. },
  39187. 212: {
  39188. Fupper: uint32(0x00001fe3),
  39189. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39190. Foffset: int16(388),
  39191. },
  39192. 213: {
  39193. Fupper: uint32(0x00001fe4),
  39194. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39195. Foffset: int16(394),
  39196. },
  39197. 214: {
  39198. Fupper: uint32(0x00001fe6),
  39199. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39200. Foffset: int16(398),
  39201. },
  39202. 215: {
  39203. Fupper: uint32(0x00001fe7),
  39204. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39205. Foffset: int16(402),
  39206. },
  39207. 216: {
  39208. Fupper: uint32(0x00001fe8),
  39209. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39210. Foffset: int16(-int32(8)),
  39211. },
  39212. 217: {
  39213. Fupper: uint32(0x00001fea),
  39214. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39215. Foffset: int16(-int32(112)),
  39216. },
  39217. 218: {
  39218. Fupper: uint32(0x00001fec),
  39219. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39220. Foffset: int16(-int32(7)),
  39221. },
  39222. 219: {
  39223. Fupper: uint32(0x00001ff2),
  39224. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39225. Foffset: int16(408),
  39226. },
  39227. 220: {
  39228. Fupper: uint32(0x00001ff3),
  39229. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39230. Foffset: int16(413),
  39231. },
  39232. 221: {
  39233. Fupper: uint32(0x00001ff4),
  39234. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39235. Foffset: int16(417),
  39236. },
  39237. 222: {
  39238. Fupper: uint32(0x00001ff6),
  39239. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39240. Foffset: int16(421),
  39241. },
  39242. 223: {
  39243. Fupper: uint32(0x00001ff7),
  39244. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  39245. Foffset: int16(425),
  39246. },
  39247. 224: {
  39248. Fupper: uint32(0x00001ff8),
  39249. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39250. Foffset: int16(-int32(128)),
  39251. },
  39252. 225: {
  39253. Fupper: uint32(0x00001ffa),
  39254. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39255. Foffset: int16(-int32(126)),
  39256. },
  39257. 226: {
  39258. Fupper: uint32(0x00001ffc),
  39259. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39260. Foffset: int16(431),
  39261. },
  39262. 227: {
  39263. Fupper: uint32(0x00002126),
  39264. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39265. Foffset: int16(-int32(7517)),
  39266. },
  39267. 228: {
  39268. Fupper: uint32(0x0000212a),
  39269. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39270. Foffset: int16(-int32(8383)),
  39271. },
  39272. 229: {
  39273. Fupper: uint32(0x0000212b),
  39274. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39275. Foffset: int16(-int32(8262)),
  39276. },
  39277. 230: {
  39278. Fupper: uint32(0x00002132),
  39279. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39280. Foffset: int16(28),
  39281. },
  39282. 231: {
  39283. Fupper: uint32(0x00002160),
  39284. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  39285. Foffset: int16(16),
  39286. },
  39287. 232: {
  39288. Fupper: uint32(0x00002183),
  39289. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39290. Foffset: int16(1),
  39291. },
  39292. 233: {
  39293. Fupper: uint32(0x000024b6),
  39294. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39295. Foffset: int16(26),
  39296. },
  39297. 234: {
  39298. Fupper: uint32(0x00002c00),
  39299. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  39300. Foffset: int16(48),
  39301. },
  39302. 235: {
  39303. Fupper: uint32(0x00002c60),
  39304. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39305. Foffset: int16(1),
  39306. },
  39307. 236: {
  39308. Fupper: uint32(0x00002c62),
  39309. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39310. Foffset: int16(-int32(10743)),
  39311. },
  39312. 237: {
  39313. Fupper: uint32(0x00002c63),
  39314. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39315. Foffset: int16(-int32(3814)),
  39316. },
  39317. 238: {
  39318. Fupper: uint32(0x00002c64),
  39319. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39320. Foffset: int16(-int32(10727)),
  39321. },
  39322. 239: {
  39323. Fupper: uint32(0x00002c67),
  39324. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39325. Foffset: int16(1),
  39326. },
  39327. 240: {
  39328. Fupper: uint32(0x00002c6d),
  39329. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39330. Foffset: int16(-int32(10780)),
  39331. },
  39332. 241: {
  39333. Fupper: uint32(0x00002c6e),
  39334. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39335. Foffset: int16(-int32(10749)),
  39336. },
  39337. 242: {
  39338. Fupper: uint32(0x00002c6f),
  39339. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39340. Foffset: int16(-int32(10783)),
  39341. },
  39342. 243: {
  39343. Fupper: uint32(0x00002c70),
  39344. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39345. Foffset: int16(-int32(10782)),
  39346. },
  39347. 244: {
  39348. Fupper: uint32(0x00002c72),
  39349. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39350. Foffset: int16(1),
  39351. },
  39352. 245: {
  39353. Fupper: uint32(0x00002c75),
  39354. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39355. Foffset: int16(1),
  39356. },
  39357. 246: {
  39358. Fupper: uint32(0x00002c7e),
  39359. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39360. Foffset: int16(-int32(10815)),
  39361. },
  39362. 247: {
  39363. Fupper: uint32(0x00002c80),
  39364. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  39365. Foffset: int16(1),
  39366. },
  39367. 248: {
  39368. Fupper: uint32(0x00002ceb),
  39369. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39370. Foffset: int16(1),
  39371. },
  39372. 249: {
  39373. Fupper: uint32(0x00002cf2),
  39374. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39375. Foffset: int16(1),
  39376. },
  39377. 250: {
  39378. Fupper: uint32(0x0000a640),
  39379. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  39380. Foffset: int16(1),
  39381. },
  39382. 251: {
  39383. Fupper: uint32(0x0000a680),
  39384. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  39385. Foffset: int16(1),
  39386. },
  39387. 252: {
  39388. Fupper: uint32(0x0000a722),
  39389. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  39390. Foffset: int16(1),
  39391. },
  39392. 253: {
  39393. Fupper: uint32(0x0000a732),
  39394. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  39395. Foffset: int16(1),
  39396. },
  39397. 254: {
  39398. Fupper: uint32(0x0000a779),
  39399. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39400. Foffset: int16(1),
  39401. },
  39402. 255: {
  39403. Fupper: uint32(0x0000a77d),
  39404. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39405. Foffset: int16(30204),
  39406. },
  39407. 256: {
  39408. Fupper: uint32(0x0000a77e),
  39409. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  39410. Foffset: int16(1),
  39411. },
  39412. 257: {
  39413. Fupper: uint32(0x0000a78b),
  39414. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39415. Foffset: int16(1),
  39416. },
  39417. 258: {
  39418. Fupper: uint32(0x0000a78d),
  39419. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39420. Foffset: int16(23256),
  39421. },
  39422. 259: {
  39423. Fupper: uint32(0x0000a790),
  39424. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39425. Foffset: int16(1),
  39426. },
  39427. 260: {
  39428. Fupper: uint32(0x0000a796),
  39429. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  39430. Foffset: int16(1),
  39431. },
  39432. 261: {
  39433. Fupper: uint32(0x0000a7aa),
  39434. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39435. Foffset: int16(23228),
  39436. },
  39437. 262: {
  39438. Fupper: uint32(0x0000a7ab),
  39439. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39440. Foffset: int16(23217),
  39441. },
  39442. 263: {
  39443. Fupper: uint32(0x0000a7ac),
  39444. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39445. Foffset: int16(23221),
  39446. },
  39447. 264: {
  39448. Fupper: uint32(0x0000a7ad),
  39449. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39450. Foffset: int16(23231),
  39451. },
  39452. 265: {
  39453. Fupper: uint32(0x0000a7ae),
  39454. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39455. Foffset: int16(23228),
  39456. },
  39457. 266: {
  39458. Fupper: uint32(0x0000a7b0),
  39459. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39460. Foffset: int16(23278),
  39461. },
  39462. 267: {
  39463. Fupper: uint32(0x0000a7b1),
  39464. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39465. Foffset: int16(23254),
  39466. },
  39467. 268: {
  39468. Fupper: uint32(0x0000a7b2),
  39469. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39470. Foffset: int16(23275),
  39471. },
  39472. 269: {
  39473. Fupper: uint32(0x0000a7b3),
  39474. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  39475. Foffset: int16(928),
  39476. },
  39477. 270: {
  39478. Fupper: uint32(0x0000a7b4),
  39479. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  39480. Foffset: int16(1),
  39481. },
  39482. 271: {
  39483. Fupper: uint32(0x0000ab70),
  39484. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  39485. Foffset: int16(26672),
  39486. },
  39487. 272: {
  39488. Fupper: uint32(0x0000fb00),
  39489. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39490. Foffset: int16(435),
  39491. },
  39492. 273: {
  39493. Fupper: uint32(0x0000fb01),
  39494. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39495. Foffset: int16(437),
  39496. },
  39497. 274: {
  39498. Fupper: uint32(0x0000fb02),
  39499. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39500. Foffset: int16(439),
  39501. },
  39502. 275: {
  39503. Fupper: uint32(0x0000fb03),
  39504. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39505. Foffset: int16(441),
  39506. },
  39507. 276: {
  39508. Fupper: uint32(0x0000fb04),
  39509. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  39510. Foffset: int16(444),
  39511. },
  39512. 277: {
  39513. Fupper: uint32(0x0000fb05),
  39514. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39515. Foffset: int16(447),
  39516. },
  39517. 278: {
  39518. Fupper: uint32(0x0000fb06),
  39519. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  39520. Foffset: int16(449),
  39521. },
  39522. 279: {
  39523. Fupper: uint32(0x0000fb13),
  39524. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39525. Foffset: int16(451),
  39526. },
  39527. 280: {
  39528. Fupper: uint32(0x0000fb14),
  39529. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39530. Foffset: int16(455),
  39531. },
  39532. 281: {
  39533. Fupper: uint32(0x0000fb15),
  39534. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39535. Foffset: int16(459),
  39536. },
  39537. 282: {
  39538. Fupper: uint32(0x0000fb16),
  39539. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39540. Foffset: int16(463),
  39541. },
  39542. 283: {
  39543. Fupper: uint32(0x0000fb17),
  39544. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  39545. Foffset: int16(467),
  39546. },
  39547. 284: {
  39548. Fupper: uint32(0x0000ff21),
  39549. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  39550. Foffset: int16(32),
  39551. },
  39552. 285: {
  39553. Fupper: uint32(0x00010400),
  39554. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  39555. Foffset: int16(40),
  39556. },
  39557. 286: {
  39558. Fupper: uint32(0x000104b0),
  39559. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  39560. Foffset: int16(40),
  39561. },
  39562. 287: {
  39563. Fupper: uint32(0x00010c80),
  39564. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  39565. Foffset: int16(64),
  39566. },
  39567. 288: {
  39568. Fupper: uint32(0x000118a0),
  39569. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  39570. Foffset: int16(32),
  39571. },
  39572. 289: {
  39573. Fupper: uint32(0x00016e40),
  39574. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  39575. Foffset: int16(32),
  39576. },
  39577. 290: {
  39578. Fupper: uint32(0x0001e900),
  39579. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  39580. Foffset: int16(34),
  39581. },
  39582. }
  39583. var _fcCaseFoldChars = [471]TFcChar8{
  39584. 0: uint8(0x73),
  39585. 1: uint8(0x73),
  39586. 2: uint8(0x69),
  39587. 3: uint8(0xcc),
  39588. 4: uint8(0x87),
  39589. 5: uint8(0xca),
  39590. 6: uint8(0xbc),
  39591. 7: uint8(0x6e),
  39592. 8: uint8(0x6a),
  39593. 9: uint8(0xcc),
  39594. 10: uint8(0x8c),
  39595. 11: uint8(0xce),
  39596. 12: uint8(0xb9),
  39597. 13: uint8(0xcc),
  39598. 14: uint8(0x88),
  39599. 15: uint8(0xcc),
  39600. 16: uint8(0x81),
  39601. 17: uint8(0xcf),
  39602. 18: uint8(0x85),
  39603. 19: uint8(0xcc),
  39604. 20: uint8(0x88),
  39605. 21: uint8(0xcc),
  39606. 22: uint8(0x81),
  39607. 23: uint8(0xd5),
  39608. 24: uint8(0xa5),
  39609. 25: uint8(0xd6),
  39610. 26: uint8(0x82),
  39611. 27: uint8(0x68),
  39612. 28: uint8(0xcc),
  39613. 29: uint8(0xb1),
  39614. 30: uint8(0x74),
  39615. 31: uint8(0xcc),
  39616. 32: uint8(0x88),
  39617. 33: uint8(0x77),
  39618. 34: uint8(0xcc),
  39619. 35: uint8(0x8a),
  39620. 36: uint8(0x79),
  39621. 37: uint8(0xcc),
  39622. 38: uint8(0x8a),
  39623. 39: uint8(0x61),
  39624. 40: uint8(0xca),
  39625. 41: uint8(0xbe),
  39626. 42: uint8(0x73),
  39627. 43: uint8(0x73),
  39628. 44: uint8(0xcf),
  39629. 45: uint8(0x85),
  39630. 46: uint8(0xcc),
  39631. 47: uint8(0x93),
  39632. 48: uint8(0xcf),
  39633. 49: uint8(0x85),
  39634. 50: uint8(0xcc),
  39635. 51: uint8(0x93),
  39636. 52: uint8(0xcc),
  39637. 53: uint8(0x80),
  39638. 54: uint8(0xcf),
  39639. 55: uint8(0x85),
  39640. 56: uint8(0xcc),
  39641. 57: uint8(0x93),
  39642. 58: uint8(0xcc),
  39643. 59: uint8(0x81),
  39644. 60: uint8(0xcf),
  39645. 61: uint8(0x85),
  39646. 62: uint8(0xcc),
  39647. 63: uint8(0x93),
  39648. 64: uint8(0xcd),
  39649. 65: uint8(0x82),
  39650. 66: uint8(0xe1),
  39651. 67: uint8(0xbc),
  39652. 68: uint8(0x80),
  39653. 69: uint8(0xce),
  39654. 70: uint8(0xb9),
  39655. 71: uint8(0xe1),
  39656. 72: uint8(0xbc),
  39657. 73: uint8(0x81),
  39658. 74: uint8(0xce),
  39659. 75: uint8(0xb9),
  39660. 76: uint8(0xe1),
  39661. 77: uint8(0xbc),
  39662. 78: uint8(0x82),
  39663. 79: uint8(0xce),
  39664. 80: uint8(0xb9),
  39665. 81: uint8(0xe1),
  39666. 82: uint8(0xbc),
  39667. 83: uint8(0x83),
  39668. 84: uint8(0xce),
  39669. 85: uint8(0xb9),
  39670. 86: uint8(0xe1),
  39671. 87: uint8(0xbc),
  39672. 88: uint8(0x84),
  39673. 89: uint8(0xce),
  39674. 90: uint8(0xb9),
  39675. 91: uint8(0xe1),
  39676. 92: uint8(0xbc),
  39677. 93: uint8(0x85),
  39678. 94: uint8(0xce),
  39679. 95: uint8(0xb9),
  39680. 96: uint8(0xe1),
  39681. 97: uint8(0xbc),
  39682. 98: uint8(0x86),
  39683. 99: uint8(0xce),
  39684. 100: uint8(0xb9),
  39685. 101: uint8(0xe1),
  39686. 102: uint8(0xbc),
  39687. 103: uint8(0x87),
  39688. 104: uint8(0xce),
  39689. 105: uint8(0xb9),
  39690. 106: uint8(0xe1),
  39691. 107: uint8(0xbc),
  39692. 108: uint8(0x80),
  39693. 109: uint8(0xce),
  39694. 110: uint8(0xb9),
  39695. 111: uint8(0xe1),
  39696. 112: uint8(0xbc),
  39697. 113: uint8(0x81),
  39698. 114: uint8(0xce),
  39699. 115: uint8(0xb9),
  39700. 116: uint8(0xe1),
  39701. 117: uint8(0xbc),
  39702. 118: uint8(0x82),
  39703. 119: uint8(0xce),
  39704. 120: uint8(0xb9),
  39705. 121: uint8(0xe1),
  39706. 122: uint8(0xbc),
  39707. 123: uint8(0x83),
  39708. 124: uint8(0xce),
  39709. 125: uint8(0xb9),
  39710. 126: uint8(0xe1),
  39711. 127: uint8(0xbc),
  39712. 128: uint8(0x84),
  39713. 129: uint8(0xce),
  39714. 130: uint8(0xb9),
  39715. 131: uint8(0xe1),
  39716. 132: uint8(0xbc),
  39717. 133: uint8(0x85),
  39718. 134: uint8(0xce),
  39719. 135: uint8(0xb9),
  39720. 136: uint8(0xe1),
  39721. 137: uint8(0xbc),
  39722. 138: uint8(0x86),
  39723. 139: uint8(0xce),
  39724. 140: uint8(0xb9),
  39725. 141: uint8(0xe1),
  39726. 142: uint8(0xbc),
  39727. 143: uint8(0x87),
  39728. 144: uint8(0xce),
  39729. 145: uint8(0xb9),
  39730. 146: uint8(0xe1),
  39731. 147: uint8(0xbc),
  39732. 148: uint8(0xa0),
  39733. 149: uint8(0xce),
  39734. 150: uint8(0xb9),
  39735. 151: uint8(0xe1),
  39736. 152: uint8(0xbc),
  39737. 153: uint8(0xa1),
  39738. 154: uint8(0xce),
  39739. 155: uint8(0xb9),
  39740. 156: uint8(0xe1),
  39741. 157: uint8(0xbc),
  39742. 158: uint8(0xa2),
  39743. 159: uint8(0xce),
  39744. 160: uint8(0xb9),
  39745. 161: uint8(0xe1),
  39746. 162: uint8(0xbc),
  39747. 163: uint8(0xa3),
  39748. 164: uint8(0xce),
  39749. 165: uint8(0xb9),
  39750. 166: uint8(0xe1),
  39751. 167: uint8(0xbc),
  39752. 168: uint8(0xa4),
  39753. 169: uint8(0xce),
  39754. 170: uint8(0xb9),
  39755. 171: uint8(0xe1),
  39756. 172: uint8(0xbc),
  39757. 173: uint8(0xa5),
  39758. 174: uint8(0xce),
  39759. 175: uint8(0xb9),
  39760. 176: uint8(0xe1),
  39761. 177: uint8(0xbc),
  39762. 178: uint8(0xa6),
  39763. 179: uint8(0xce),
  39764. 180: uint8(0xb9),
  39765. 181: uint8(0xe1),
  39766. 182: uint8(0xbc),
  39767. 183: uint8(0xa7),
  39768. 184: uint8(0xce),
  39769. 185: uint8(0xb9),
  39770. 186: uint8(0xe1),
  39771. 187: uint8(0xbc),
  39772. 188: uint8(0xa0),
  39773. 189: uint8(0xce),
  39774. 190: uint8(0xb9),
  39775. 191: uint8(0xe1),
  39776. 192: uint8(0xbc),
  39777. 193: uint8(0xa1),
  39778. 194: uint8(0xce),
  39779. 195: uint8(0xb9),
  39780. 196: uint8(0xe1),
  39781. 197: uint8(0xbc),
  39782. 198: uint8(0xa2),
  39783. 199: uint8(0xce),
  39784. 200: uint8(0xb9),
  39785. 201: uint8(0xe1),
  39786. 202: uint8(0xbc),
  39787. 203: uint8(0xa3),
  39788. 204: uint8(0xce),
  39789. 205: uint8(0xb9),
  39790. 206: uint8(0xe1),
  39791. 207: uint8(0xbc),
  39792. 208: uint8(0xa4),
  39793. 209: uint8(0xce),
  39794. 210: uint8(0xb9),
  39795. 211: uint8(0xe1),
  39796. 212: uint8(0xbc),
  39797. 213: uint8(0xa5),
  39798. 214: uint8(0xce),
  39799. 215: uint8(0xb9),
  39800. 216: uint8(0xe1),
  39801. 217: uint8(0xbc),
  39802. 218: uint8(0xa6),
  39803. 219: uint8(0xce),
  39804. 220: uint8(0xb9),
  39805. 221: uint8(0xe1),
  39806. 222: uint8(0xbc),
  39807. 223: uint8(0xa7),
  39808. 224: uint8(0xce),
  39809. 225: uint8(0xb9),
  39810. 226: uint8(0xe1),
  39811. 227: uint8(0xbd),
  39812. 228: uint8(0xa0),
  39813. 229: uint8(0xce),
  39814. 230: uint8(0xb9),
  39815. 231: uint8(0xe1),
  39816. 232: uint8(0xbd),
  39817. 233: uint8(0xa1),
  39818. 234: uint8(0xce),
  39819. 235: uint8(0xb9),
  39820. 236: uint8(0xe1),
  39821. 237: uint8(0xbd),
  39822. 238: uint8(0xa2),
  39823. 239: uint8(0xce),
  39824. 240: uint8(0xb9),
  39825. 241: uint8(0xe1),
  39826. 242: uint8(0xbd),
  39827. 243: uint8(0xa3),
  39828. 244: uint8(0xce),
  39829. 245: uint8(0xb9),
  39830. 246: uint8(0xe1),
  39831. 247: uint8(0xbd),
  39832. 248: uint8(0xa4),
  39833. 249: uint8(0xce),
  39834. 250: uint8(0xb9),
  39835. 251: uint8(0xe1),
  39836. 252: uint8(0xbd),
  39837. 253: uint8(0xa5),
  39838. 254: uint8(0xce),
  39839. 255: uint8(0xb9),
  39840. 256: uint8(0xe1),
  39841. 257: uint8(0xbd),
  39842. 258: uint8(0xa6),
  39843. 259: uint8(0xce),
  39844. 260: uint8(0xb9),
  39845. 261: uint8(0xe1),
  39846. 262: uint8(0xbd),
  39847. 263: uint8(0xa7),
  39848. 264: uint8(0xce),
  39849. 265: uint8(0xb9),
  39850. 266: uint8(0xe1),
  39851. 267: uint8(0xbd),
  39852. 268: uint8(0xa0),
  39853. 269: uint8(0xce),
  39854. 270: uint8(0xb9),
  39855. 271: uint8(0xe1),
  39856. 272: uint8(0xbd),
  39857. 273: uint8(0xa1),
  39858. 274: uint8(0xce),
  39859. 275: uint8(0xb9),
  39860. 276: uint8(0xe1),
  39861. 277: uint8(0xbd),
  39862. 278: uint8(0xa2),
  39863. 279: uint8(0xce),
  39864. 280: uint8(0xb9),
  39865. 281: uint8(0xe1),
  39866. 282: uint8(0xbd),
  39867. 283: uint8(0xa3),
  39868. 284: uint8(0xce),
  39869. 285: uint8(0xb9),
  39870. 286: uint8(0xe1),
  39871. 287: uint8(0xbd),
  39872. 288: uint8(0xa4),
  39873. 289: uint8(0xce),
  39874. 290: uint8(0xb9),
  39875. 291: uint8(0xe1),
  39876. 292: uint8(0xbd),
  39877. 293: uint8(0xa5),
  39878. 294: uint8(0xce),
  39879. 295: uint8(0xb9),
  39880. 296: uint8(0xe1),
  39881. 297: uint8(0xbd),
  39882. 298: uint8(0xa6),
  39883. 299: uint8(0xce),
  39884. 300: uint8(0xb9),
  39885. 301: uint8(0xe1),
  39886. 302: uint8(0xbd),
  39887. 303: uint8(0xa7),
  39888. 304: uint8(0xce),
  39889. 305: uint8(0xb9),
  39890. 306: uint8(0xe1),
  39891. 307: uint8(0xbd),
  39892. 308: uint8(0xb0),
  39893. 309: uint8(0xce),
  39894. 310: uint8(0xb9),
  39895. 311: uint8(0xce),
  39896. 312: uint8(0xb1),
  39897. 313: uint8(0xce),
  39898. 314: uint8(0xb9),
  39899. 315: uint8(0xce),
  39900. 316: uint8(0xac),
  39901. 317: uint8(0xce),
  39902. 318: uint8(0xb9),
  39903. 319: uint8(0xce),
  39904. 320: uint8(0xb1),
  39905. 321: uint8(0xcd),
  39906. 322: uint8(0x82),
  39907. 323: uint8(0xce),
  39908. 324: uint8(0xb1),
  39909. 325: uint8(0xcd),
  39910. 326: uint8(0x82),
  39911. 327: uint8(0xce),
  39912. 328: uint8(0xb9),
  39913. 329: uint8(0xce),
  39914. 330: uint8(0xb1),
  39915. 331: uint8(0xce),
  39916. 332: uint8(0xb9),
  39917. 333: uint8(0xe1),
  39918. 334: uint8(0xbd),
  39919. 335: uint8(0xb4),
  39920. 336: uint8(0xce),
  39921. 337: uint8(0xb9),
  39922. 338: uint8(0xce),
  39923. 339: uint8(0xb7),
  39924. 340: uint8(0xce),
  39925. 341: uint8(0xb9),
  39926. 342: uint8(0xce),
  39927. 343: uint8(0xae),
  39928. 344: uint8(0xce),
  39929. 345: uint8(0xb9),
  39930. 346: uint8(0xce),
  39931. 347: uint8(0xb7),
  39932. 348: uint8(0xcd),
  39933. 349: uint8(0x82),
  39934. 350: uint8(0xce),
  39935. 351: uint8(0xb7),
  39936. 352: uint8(0xcd),
  39937. 353: uint8(0x82),
  39938. 354: uint8(0xce),
  39939. 355: uint8(0xb9),
  39940. 356: uint8(0xce),
  39941. 357: uint8(0xb7),
  39942. 358: uint8(0xce),
  39943. 359: uint8(0xb9),
  39944. 360: uint8(0xce),
  39945. 361: uint8(0xb9),
  39946. 362: uint8(0xcc),
  39947. 363: uint8(0x88),
  39948. 364: uint8(0xcc),
  39949. 365: uint8(0x80),
  39950. 366: uint8(0xce),
  39951. 367: uint8(0xb9),
  39952. 368: uint8(0xcc),
  39953. 369: uint8(0x88),
  39954. 370: uint8(0xcc),
  39955. 371: uint8(0x81),
  39956. 372: uint8(0xce),
  39957. 373: uint8(0xb9),
  39958. 374: uint8(0xcd),
  39959. 375: uint8(0x82),
  39960. 376: uint8(0xce),
  39961. 377: uint8(0xb9),
  39962. 378: uint8(0xcc),
  39963. 379: uint8(0x88),
  39964. 380: uint8(0xcd),
  39965. 381: uint8(0x82),
  39966. 382: uint8(0xcf),
  39967. 383: uint8(0x85),
  39968. 384: uint8(0xcc),
  39969. 385: uint8(0x88),
  39970. 386: uint8(0xcc),
  39971. 387: uint8(0x80),
  39972. 388: uint8(0xcf),
  39973. 389: uint8(0x85),
  39974. 390: uint8(0xcc),
  39975. 391: uint8(0x88),
  39976. 392: uint8(0xcc),
  39977. 393: uint8(0x81),
  39978. 394: uint8(0xcf),
  39979. 395: uint8(0x81),
  39980. 396: uint8(0xcc),
  39981. 397: uint8(0x93),
  39982. 398: uint8(0xcf),
  39983. 399: uint8(0x85),
  39984. 400: uint8(0xcd),
  39985. 401: uint8(0x82),
  39986. 402: uint8(0xcf),
  39987. 403: uint8(0x85),
  39988. 404: uint8(0xcc),
  39989. 405: uint8(0x88),
  39990. 406: uint8(0xcd),
  39991. 407: uint8(0x82),
  39992. 408: uint8(0xe1),
  39993. 409: uint8(0xbd),
  39994. 410: uint8(0xbc),
  39995. 411: uint8(0xce),
  39996. 412: uint8(0xb9),
  39997. 413: uint8(0xcf),
  39998. 414: uint8(0x89),
  39999. 415: uint8(0xce),
  40000. 416: uint8(0xb9),
  40001. 417: uint8(0xcf),
  40002. 418: uint8(0x8e),
  40003. 419: uint8(0xce),
  40004. 420: uint8(0xb9),
  40005. 421: uint8(0xcf),
  40006. 422: uint8(0x89),
  40007. 423: uint8(0xcd),
  40008. 424: uint8(0x82),
  40009. 425: uint8(0xcf),
  40010. 426: uint8(0x89),
  40011. 427: uint8(0xcd),
  40012. 428: uint8(0x82),
  40013. 429: uint8(0xce),
  40014. 430: uint8(0xb9),
  40015. 431: uint8(0xcf),
  40016. 432: uint8(0x89),
  40017. 433: uint8(0xce),
  40018. 434: uint8(0xb9),
  40019. 435: uint8(0x66),
  40020. 436: uint8(0x66),
  40021. 437: uint8(0x66),
  40022. 438: uint8(0x69),
  40023. 439: uint8(0x66),
  40024. 440: uint8(0x6c),
  40025. 441: uint8(0x66),
  40026. 442: uint8(0x66),
  40027. 443: uint8(0x69),
  40028. 444: uint8(0x66),
  40029. 445: uint8(0x66),
  40030. 446: uint8(0x6c),
  40031. 447: uint8(0x73),
  40032. 448: uint8(0x74),
  40033. 449: uint8(0x73),
  40034. 450: uint8(0x74),
  40035. 451: uint8(0xd5),
  40036. 452: uint8(0xb4),
  40037. 453: uint8(0xd5),
  40038. 454: uint8(0xb6),
  40039. 455: uint8(0xd5),
  40040. 456: uint8(0xb4),
  40041. 457: uint8(0xd5),
  40042. 458: uint8(0xa5),
  40043. 459: uint8(0xd5),
  40044. 460: uint8(0xb4),
  40045. 461: uint8(0xd5),
  40046. 462: uint8(0xab),
  40047. 463: uint8(0xd5),
  40048. 464: uint8(0xbe),
  40049. 465: uint8(0xd5),
  40050. 466: uint8(0xb6),
  40051. 467: uint8(0xd5),
  40052. 468: uint8(0xb4),
  40053. 469: uint8(0xd5),
  40054. 470: uint8(0xad),
  40055. }
  40056. type TFcCaseWalker = struct {
  40057. Fread uintptr
  40058. Fsrc uintptr
  40059. Futf8 [7]TFcChar8
  40060. }
  40061. type T_FcCaseWalker = TFcCaseWalker
  40062. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  40063. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  40064. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  40065. }
  40066. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  40067. bp := tls.Alloc(16)
  40068. defer tls.Free(16)
  40069. var dlen, len1, max, mid, min, slen, v1 int32
  40070. var fold, v2, v3 uintptr
  40071. var high, low TFcChar32
  40072. var _ /* ucs4 at bp+0 */ TFcChar32
  40073. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  40074. len1 = libc.Int32FromUint64(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  40075. slen = XIA__FcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  40076. if slen <= 0 {
  40077. return r
  40078. }
  40079. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  40080. min = 0
  40081. max = int32(m_FC_NUM_CASE_FOLD)
  40082. for min <= max {
  40083. mid = (min + max) >> int32(1)
  40084. low = _fcCaseFold[mid].Fupper
  40085. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  40086. v1 = int32(1)
  40087. } else {
  40088. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  40089. }
  40090. high = low + libc.Uint32FromInt32(v1)
  40091. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  40092. min = mid + int32(1)
  40093. } else {
  40094. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  40095. max = mid - int32(1)
  40096. } else {
  40097. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  40098. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  40099. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  40100. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  40101. return r
  40102. }
  40103. /* fall through ... */
  40104. fallthrough
  40105. default:
  40106. dlen = XIA__FcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+libc.Uint32FromInt16((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  40107. case int32(m_FC_CASE_FOLD_FULL):
  40108. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  40109. libc.Xmemcpy(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), libc.Uint64FromInt32(dlen))
  40110. break
  40111. }
  40112. /* consume rest of src utf-8 bytes */
  40113. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  40114. /* read from temp buffer */
  40115. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  40116. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  40117. v3 = w
  40118. v2 = *(*uintptr)(unsafe.Pointer(v3))
  40119. *(*uintptr)(unsafe.Pointer(v3))++
  40120. return *(*TFcChar8)(unsafe.Pointer(v2))
  40121. }
  40122. }
  40123. }
  40124. }
  40125. return r
  40126. }
  40127. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  40128. var r, v1 TFcChar8
  40129. var v2, v3, v4, v5 uintptr
  40130. _, _, _, _, _, _ = r, v1, v2, v3, v4, v5
  40131. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != 0 {
  40132. v3 = w
  40133. v2 = *(*uintptr)(unsafe.Pointer(v3))
  40134. *(*uintptr)(unsafe.Pointer(v3))++
  40135. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40136. r = v1
  40137. if v1 != 0 {
  40138. return r
  40139. }
  40140. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  40141. }
  40142. for cond := true; cond; cond = libc.Int32FromUint8(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, libc.Int32FromUint8(r)) != 0 {
  40143. v5 = w + 8
  40144. v4 = *(*uintptr)(unsafe.Pointer(v5))
  40145. *(*uintptr)(unsafe.Pointer(v5))++
  40146. r = *(*TFcChar8)(unsafe.Pointer(v4))
  40147. }
  40148. if libc.Int32FromUint8(r)&int32(0xc0) == int32(0xc0) {
  40149. return _FcStrCaseWalkerLong(tls, w, r)
  40150. }
  40151. if int32('A') <= libc.Int32FromUint8(r) && libc.Int32FromUint8(r) <= int32('Z') {
  40152. r = libc.Uint8FromInt32(libc.Int32FromUint8(r) - int32('A') + int32('a'))
  40153. }
  40154. return r
  40155. }
  40156. func XIA__FcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  40157. bp := tls.Alloc(32)
  40158. defer tls.Free(32)
  40159. var d, dst, v1, v3 uintptr
  40160. var len1 int32
  40161. var v2 TFcChar8
  40162. var _ /* w at bp+0 */ TFcCaseWalker
  40163. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  40164. len1 = 0
  40165. _FcStrCaseWalkerInit(tls, s, bp)
  40166. for _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0)) != 0 {
  40167. len1++
  40168. }
  40169. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(len1+int32(1)))
  40170. dst = v1
  40171. d = v1
  40172. if !(d != 0) {
  40173. return uintptr(0)
  40174. }
  40175. _FcStrCaseWalkerInit(tls, s, bp)
  40176. for {
  40177. v2 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40178. v3 = d
  40179. d++
  40180. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  40181. if !(v2 != 0) {
  40182. break
  40183. }
  40184. }
  40185. return dst
  40186. }
  40187. var XFcStrDowncase = XIA__FcStrDowncase
  40188. func XIA__FcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40189. bp := tls.Alloc(48)
  40190. defer tls.Free(48)
  40191. var c1, c2 TFcChar8
  40192. var _ /* w1 at bp+0 */ TFcCaseWalker
  40193. var _ /* w2 at bp+24 */ TFcCaseWalker
  40194. _, _ = c1, c2
  40195. if s1 == s2 {
  40196. return 0
  40197. }
  40198. _FcStrCaseWalkerInit(tls, s1, bp)
  40199. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40200. for {
  40201. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40202. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40203. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40204. break
  40205. }
  40206. goto _1
  40207. _1:
  40208. }
  40209. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40210. }
  40211. var XFcStrCmpIgnoreCase = XIA__FcStrCmpIgnoreCase
  40212. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40213. return XFcStrCmpIgnoreCaseAndDelims(tls, s1, s2, __ccgo_ts+1665)
  40214. }
  40215. func XFcStrCmpIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  40216. bp := tls.Alloc(48)
  40217. defer tls.Free(48)
  40218. var c1, c2 TFcChar8
  40219. var _ /* w1 at bp+0 */ TFcCaseWalker
  40220. var _ /* w2 at bp+24 */ TFcCaseWalker
  40221. _, _ = c1, c2
  40222. if s1 == s2 {
  40223. return 0
  40224. }
  40225. _FcStrCaseWalkerInit(tls, s1, bp)
  40226. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40227. for {
  40228. c1 = _FcStrCaseWalkerNext(tls, bp, delims)
  40229. c2 = _FcStrCaseWalkerNext(tls, bp+24, delims)
  40230. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40231. break
  40232. }
  40233. goto _1
  40234. _1:
  40235. }
  40236. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40237. }
  40238. func XIA__FcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  40239. var c1, c2 TFcChar8
  40240. var v2, v3 uintptr
  40241. _, _, _, _ = c1, c2, v2, v3
  40242. if s1 == s2 {
  40243. return 0
  40244. }
  40245. for {
  40246. v2 = s1
  40247. s1++
  40248. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40249. v3 = s2
  40250. s2++
  40251. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  40252. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40253. break
  40254. }
  40255. goto _1
  40256. _1:
  40257. }
  40258. return libc.Int32FromUint8(c1) - libc.Int32FromUint8(c2)
  40259. }
  40260. var XFcStrCmp = XIA__FcStrCmp
  40261. /*
  40262. * Return a hash value for a string
  40263. */
  40264. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  40265. bp := tls.Alloc(32)
  40266. defer tls.Free(32)
  40267. var c, v1 TFcChar8
  40268. var h TFcChar32
  40269. var _ /* w at bp+0 */ TFcCaseWalker
  40270. _, _, _ = c, h, v1
  40271. h = uint32(0)
  40272. _FcStrCaseWalkerInit(tls, s, bp)
  40273. for {
  40274. v1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40275. c = v1
  40276. if !(v1 != 0) {
  40277. break
  40278. }
  40279. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  40280. }
  40281. return h
  40282. }
  40283. /*
  40284. * Is the head of s1 equal to s2?
  40285. */
  40286. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  40287. bp := tls.Alloc(48)
  40288. defer tls.Free(48)
  40289. var c1, c2 TFcChar8
  40290. var _ /* w1 at bp+0 */ TFcCaseWalker
  40291. var _ /* w2 at bp+24 */ TFcCaseWalker
  40292. _, _ = c1, c2
  40293. _FcStrCaseWalkerInit(tls, s1, bp)
  40294. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40295. for {
  40296. c1 = _FcStrCaseWalkerNext(tls, bp, __ccgo_ts+1665)
  40297. c2 = _FcStrCaseWalkerNext(tls, bp+24, __ccgo_ts+1665)
  40298. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40299. break
  40300. }
  40301. goto _1
  40302. _1:
  40303. }
  40304. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  40305. }
  40306. /*
  40307. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  40308. */
  40309. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40310. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  40311. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  40312. return s1
  40313. }
  40314. s1++
  40315. }
  40316. return uintptr(0)
  40317. }
  40318. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  40319. if libc.Int32FromUint8(c) < int32('0') {
  40320. return int32(m_FcTrue)
  40321. }
  40322. if libc.Int32FromUint8(c) <= int32('9') {
  40323. return m_FcFalse
  40324. }
  40325. if libc.Int32FromUint8(c) < int32('A') {
  40326. return int32(m_FcTrue)
  40327. }
  40328. if libc.Int32FromUint8(c) <= int32('Z') {
  40329. return m_FcFalse
  40330. }
  40331. if libc.Int32FromUint8(c) < int32('a') {
  40332. return int32(m_FcTrue)
  40333. }
  40334. if libc.Int32FromUint8(c) <= int32('z') {
  40335. return m_FcFalse
  40336. }
  40337. if libc.Int32FromUint8(c) <= int32('~') {
  40338. return int32(m_FcTrue)
  40339. }
  40340. return m_FcFalse
  40341. }
  40342. /*
  40343. * Is the head of s1 equal to s2?
  40344. */
  40345. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  40346. bp := tls.Alloc(48)
  40347. defer tls.Free(48)
  40348. var c1, c2 TFcChar8
  40349. var _ /* w1 at bp+0 */ TFcCaseWalker
  40350. var _ /* w2 at bp+24 */ TFcCaseWalker
  40351. _, _ = c1, c2
  40352. _FcStrCaseWalkerInit(tls, s1, bp)
  40353. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40354. for {
  40355. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40356. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40357. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40358. break
  40359. }
  40360. goto _1
  40361. _1:
  40362. }
  40363. return libc.BoolInt32(libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) || !(c2 != 0))
  40364. }
  40365. /*
  40366. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  40367. */
  40368. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40369. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  40370. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  40371. return s1
  40372. }
  40373. s1++
  40374. }
  40375. return uintptr(0)
  40376. }
  40377. /*
  40378. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  40379. */
  40380. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40381. var s1len, s2len int32
  40382. var wordStart TFcBool
  40383. _, _, _ = s1len, s2len, wordStart
  40384. wordStart = int32(m_FcTrue)
  40385. s1len = libc.Int32FromUint64(libc.Xstrlen(tls, s1))
  40386. s2len = libc.Int32FromUint64(libc.Xstrlen(tls, s2))
  40387. for s1len >= s2len {
  40388. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  40389. return s1
  40390. }
  40391. wordStart = m_FcFalse
  40392. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  40393. wordStart = int32(m_FcTrue)
  40394. }
  40395. s1++
  40396. s1len--
  40397. }
  40398. return uintptr(0)
  40399. }
  40400. /*
  40401. * returns the number of strings (ignoring delimitors and case) being matched
  40402. */
  40403. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  40404. bp := tls.Alloc(48)
  40405. defer tls.Free(48)
  40406. var c1, c2 TFcChar8
  40407. var _ /* w1 at bp+0 */ TFcCaseWalker
  40408. var _ /* w2 at bp+24 */ TFcCaseWalker
  40409. _, _ = c1, c2
  40410. if s1 == s2 {
  40411. return 0
  40412. }
  40413. _FcStrCaseWalkerInit(tls, s1, bp)
  40414. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40415. for {
  40416. c1 = _FcStrCaseWalkerNext(tls, bp, delims)
  40417. c2 = _FcStrCaseWalkerNext(tls, bp+24, delims)
  40418. if !(c1 != 0) || libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40419. break
  40420. }
  40421. goto _1
  40422. _1:
  40423. }
  40424. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  40425. }
  40426. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  40427. var c, v1 TFcChar8
  40428. var l1, l2 Tsize_t
  40429. var v2, v3, v4 uintptr
  40430. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  40431. for {
  40432. v2 = glob
  40433. glob++
  40434. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40435. c = v1
  40436. if !(v1 != 0) {
  40437. break
  40438. }
  40439. switch libc.Int32FromUint8(c) {
  40440. case int32('*'):
  40441. /* short circuit common case */
  40442. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  40443. return int32(m_FcTrue)
  40444. }
  40445. /* short circuit another common case */
  40446. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  40447. l1 = libc.Xstrlen(tls, string1)
  40448. l2 = libc.Xstrlen(tls, glob)
  40449. if l1 < l2 {
  40450. return m_FcFalse
  40451. }
  40452. string1 += uintptr(l1 - l2)
  40453. }
  40454. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  40455. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  40456. return int32(m_FcTrue)
  40457. }
  40458. string1++
  40459. }
  40460. return m_FcFalse
  40461. case int32('?'):
  40462. v3 = string1
  40463. string1++
  40464. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  40465. return m_FcFalse
  40466. }
  40467. default:
  40468. v4 = string1
  40469. string1++
  40470. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v4))) != libc.Int32FromUint8(c) {
  40471. return m_FcFalse
  40472. }
  40473. break
  40474. }
  40475. }
  40476. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  40477. }
  40478. func XIA__FcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40479. bp := tls.Alloc(96)
  40480. defer tls.Free(96)
  40481. var c1, c1t, c2, c2t TFcChar8
  40482. var cur uintptr
  40483. var _ /* w1 at bp+0 */ TFcCaseWalker
  40484. var _ /* w1t at bp+48 */ TFcCaseWalker
  40485. var _ /* w2 at bp+24 */ TFcCaseWalker
  40486. var _ /* w2t at bp+72 */ TFcCaseWalker
  40487. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  40488. if !(s1 != 0) || !(s2 != 0) {
  40489. return uintptr(0)
  40490. }
  40491. if s1 == s2 {
  40492. return s1
  40493. }
  40494. _FcStrCaseWalkerInit(tls, s1, bp)
  40495. _FcStrCaseWalkerInit(tls, s2, bp+24)
  40496. c2 = _FcStrCaseWalkerNext(tls, bp+24, libc.UintptrFromInt32(0))
  40497. for {
  40498. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  40499. c1 = _FcStrCaseWalkerNext(tls, bp, libc.UintptrFromInt32(0))
  40500. if !(c1 != 0) {
  40501. break
  40502. }
  40503. if libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  40504. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  40505. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  40506. for {
  40507. c1t = _FcStrCaseWalkerNext(tls, bp+48, libc.UintptrFromInt32(0))
  40508. c2t = _FcStrCaseWalkerNext(tls, bp+72, libc.UintptrFromInt32(0))
  40509. if !(c2t != 0) {
  40510. return cur
  40511. }
  40512. if libc.Int32FromUint8(c2t) != libc.Int32FromUint8(c1t) {
  40513. break
  40514. }
  40515. goto _2
  40516. _2:
  40517. }
  40518. }
  40519. goto _1
  40520. _1:
  40521. }
  40522. return uintptr(0)
  40523. }
  40524. var XFcStrStrIgnoreCase = XIA__FcStrStrIgnoreCase
  40525. func XIA__FcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  40526. var b, p, v1, v3 uintptr
  40527. var c1, c2 TFcChar8
  40528. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  40529. p = s1
  40530. b = s2
  40531. if !(s1 != 0) || !(s2 != 0) {
  40532. return uintptr(0)
  40533. }
  40534. if s1 == s2 {
  40535. return s1
  40536. }
  40537. goto again
  40538. again:
  40539. ;
  40540. v1 = s2
  40541. s2++
  40542. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  40543. if !(c2 != 0) {
  40544. return uintptr(0)
  40545. }
  40546. for {
  40547. p = s1
  40548. v3 = s1
  40549. s1++
  40550. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  40551. if !(c1 != 0) || libc.Int32FromUint8(c1) == libc.Int32FromUint8(c2) {
  40552. break
  40553. }
  40554. goto _2
  40555. _2:
  40556. }
  40557. if libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40558. return uintptr(0)
  40559. }
  40560. for {
  40561. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  40562. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  40563. if c1 != 0 && c2 != 0 && libc.Int32FromUint8(c1) != libc.Int32FromUint8(c2) {
  40564. s1 = p + uintptr(1)
  40565. s2 = b
  40566. goto again
  40567. }
  40568. if !(c2 != 0) {
  40569. return p
  40570. }
  40571. if !(c1 != 0) {
  40572. return uintptr(0)
  40573. }
  40574. s1++
  40575. s2++
  40576. goto _4
  40577. _4:
  40578. }
  40579. /* never reached. */
  40580. return r
  40581. }
  40582. var XFcStrStr = XIA__FcStrStr
  40583. func XIA__FcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  40584. var extra, v2 int32
  40585. var result TFcChar32
  40586. var s TFcChar8
  40587. var src, v1, v3 uintptr
  40588. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  40589. src = src_orig
  40590. if len1 == 0 {
  40591. return 0
  40592. }
  40593. v1 = src
  40594. src++
  40595. s = *(*TFcChar8)(unsafe.Pointer(v1))
  40596. len1--
  40597. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x80) != 0) {
  40598. result = uint32(s)
  40599. extra = 0
  40600. } else {
  40601. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x40) != 0) {
  40602. return -int32(1)
  40603. } else {
  40604. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x20) != 0) {
  40605. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x1f))
  40606. extra = int32(1)
  40607. } else {
  40608. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x10) != 0) {
  40609. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0xf))
  40610. extra = int32(2)
  40611. } else {
  40612. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x08) != 0) {
  40613. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x07))
  40614. extra = int32(3)
  40615. } else {
  40616. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x04) != 0) {
  40617. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x03))
  40618. extra = int32(4)
  40619. } else {
  40620. if !(libc.Int32FromUint8(s)&libc.Int32FromInt32(0x02) != 0) {
  40621. result = libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x01))
  40622. extra = int32(5)
  40623. } else {
  40624. return -int32(1)
  40625. }
  40626. }
  40627. }
  40628. }
  40629. }
  40630. }
  40631. }
  40632. if extra > len1 {
  40633. return -int32(1)
  40634. }
  40635. for {
  40636. v2 = extra
  40637. extra--
  40638. if !(v2 != 0) {
  40639. break
  40640. }
  40641. result <<= uint32(6)
  40642. v3 = src
  40643. src++
  40644. s = *(*TFcChar8)(unsafe.Pointer(v3))
  40645. if libc.Int32FromUint8(s)&int32(0xc0) != int32(0x80) {
  40646. return -int32(1)
  40647. }
  40648. result |= libc.Uint32FromInt32(libc.Int32FromUint8(s) & int32(0x3f))
  40649. }
  40650. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  40651. return int32(int64(src) - int64(src_orig))
  40652. }
  40653. var XFcUtf8ToUcs4 = XIA__FcUtf8ToUcs4
  40654. func XIA__FcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  40655. bp := tls.Alloc(16)
  40656. defer tls.Free(16)
  40657. var clen, n int32
  40658. var max TFcChar32
  40659. var _ /* c at bp+0 */ TFcChar32
  40660. _, _, _ = clen, max, n
  40661. n = 0
  40662. max = uint32(0)
  40663. for len1 != 0 {
  40664. clen = XIA__FcUtf8ToUcs4(tls, string1, bp, len1)
  40665. if clen <= 0 { /* malformed UTF8 string */
  40666. return m_FcFalse
  40667. }
  40668. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  40669. max = *(*TFcChar32)(unsafe.Pointer(bp))
  40670. }
  40671. string1 += uintptr(clen)
  40672. len1 -= clen
  40673. n++
  40674. }
  40675. *(*int32)(unsafe.Pointer(nchar)) = n
  40676. if max >= uint32(0x10000) {
  40677. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  40678. } else {
  40679. if max > uint32(0x100) {
  40680. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  40681. } else {
  40682. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  40683. }
  40684. }
  40685. return int32(m_FcTrue)
  40686. }
  40687. var XFcUtf8Len = XIA__FcUtf8Len
  40688. func XIA__FcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  40689. var bits int32
  40690. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  40691. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  40692. d = dest
  40693. if ucs4 < uint32(0x80) {
  40694. v1 = d
  40695. d++
  40696. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  40697. bits = -int32(6)
  40698. } else {
  40699. if ucs4 < uint32(0x800) {
  40700. v2 = d
  40701. d++
  40702. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  40703. bits = 0
  40704. } else {
  40705. if ucs4 < uint32(0x10000) {
  40706. v3 = d
  40707. d++
  40708. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  40709. bits = int32(6)
  40710. } else {
  40711. if ucs4 < uint32(0x200000) {
  40712. v4 = d
  40713. d++
  40714. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  40715. bits = int32(12)
  40716. } else {
  40717. if ucs4 < uint32(0x4000000) {
  40718. v5 = d
  40719. d++
  40720. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  40721. bits = int32(18)
  40722. } else {
  40723. if ucs4 < uint32(0x80000000) {
  40724. v6 = d
  40725. d++
  40726. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  40727. bits = int32(24)
  40728. } else {
  40729. return 0
  40730. }
  40731. }
  40732. }
  40733. }
  40734. }
  40735. }
  40736. for {
  40737. if !(bits >= 0) {
  40738. break
  40739. }
  40740. v8 = d
  40741. d++
  40742. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  40743. goto _7
  40744. _7:
  40745. ;
  40746. bits -= int32(6)
  40747. }
  40748. return int32(int64(d) - int64(dest))
  40749. }
  40750. var XFcUcs4ToUtf8 = XIA__FcUcs4ToUtf8
  40751. func XIA__FcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  40752. /* in bytes */
  40753. var a, b TFcChar16
  40754. var result TFcChar32
  40755. var src uintptr
  40756. var v1, v2, v3, v4 int32
  40757. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  40758. src = src_orig
  40759. if len1 < int32(2) {
  40760. return 0
  40761. }
  40762. if endian == int32(_FcEndianBig) {
  40763. v1 = 0
  40764. } else {
  40765. v1 = int32(1)
  40766. }
  40767. if endian == int32(_FcEndianBig) {
  40768. v2 = int32(1)
  40769. } else {
  40770. v2 = 0
  40771. }
  40772. 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))))))
  40773. src += uintptr(2)
  40774. len1 -= int32(2)
  40775. /*
  40776. * Check for surrogate
  40777. */
  40778. if libc.Int32FromUint16(a)&int32(0xfc00) == int32(0xd800) {
  40779. if len1 < int32(2) {
  40780. return 0
  40781. }
  40782. if endian == int32(_FcEndianBig) {
  40783. v3 = 0
  40784. } else {
  40785. v3 = int32(1)
  40786. }
  40787. if endian == int32(_FcEndianBig) {
  40788. v4 = int32(1)
  40789. } else {
  40790. v4 = 0
  40791. }
  40792. 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))))))
  40793. src += uintptr(2)
  40794. len1 -= int32(2)
  40795. /*
  40796. * Check for invalid surrogate sequence
  40797. */
  40798. if libc.Int32FromUint16(b)&int32(0xfc00) != int32(0xdc00) {
  40799. return 0
  40800. }
  40801. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  40802. } else {
  40803. result = uint32(a)
  40804. }
  40805. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  40806. return int32(int64(src) - int64(src_orig))
  40807. }
  40808. var XFcUtf16ToUcs4 = XIA__FcUtf16ToUcs4
  40809. func XIA__FcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  40810. bp := tls.Alloc(16)
  40811. defer tls.Free(16)
  40812. var clen, n int32
  40813. var max TFcChar32
  40814. var _ /* c at bp+0 */ TFcChar32
  40815. _, _, _ = clen, max, n
  40816. n = 0
  40817. max = uint32(0)
  40818. for len1 != 0 {
  40819. clen = XIA__FcUtf16ToUcs4(tls, string1, endian, bp, len1)
  40820. if clen <= 0 { /* malformed UTF8 string */
  40821. return m_FcFalse
  40822. }
  40823. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  40824. max = *(*TFcChar32)(unsafe.Pointer(bp))
  40825. }
  40826. string1 += uintptr(clen)
  40827. len1 -= clen
  40828. n++
  40829. }
  40830. *(*int32)(unsafe.Pointer(nchar)) = n
  40831. if max >= uint32(0x10000) {
  40832. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  40833. } else {
  40834. if max > uint32(0x100) {
  40835. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  40836. } else {
  40837. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  40838. }
  40839. }
  40840. return int32(m_FcTrue)
  40841. }
  40842. var XFcUtf16Len = XIA__FcUtf16Len
  40843. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  40844. if init1 != 0 {
  40845. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  40846. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  40847. } else {
  40848. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  40849. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  40850. }
  40851. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  40852. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  40853. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  40854. }
  40855. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  40856. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  40857. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  40858. XFcStrBufInit(tls, buf, uintptr(0), 0)
  40859. }
  40860. }
  40861. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  40862. var ret uintptr
  40863. _ = ret
  40864. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40865. ret = libc.UintptrFromInt32(0)
  40866. } else {
  40867. ret = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  40868. }
  40869. if ret != 0 {
  40870. libc.Xmemcpy(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  40871. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  40872. }
  40873. XFcStrBufDestroy(tls, buf)
  40874. return ret
  40875. }
  40876. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  40877. XFcStrBufChar(tls, buf, uint8('\000'))
  40878. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40879. return libc.UintptrFromInt32(0)
  40880. }
  40881. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  40882. }
  40883. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  40884. var new1, v2 uintptr
  40885. var size, v1 int32
  40886. _, _, _, _ = new1, size, v1, v2
  40887. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  40888. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  40889. return m_FcFalse
  40890. }
  40891. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  40892. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  40893. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32(size))
  40894. } else {
  40895. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  40896. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  40897. if new1 != 0 {
  40898. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  40899. libc.Xmemcpy(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, libc.Uint64FromInt32((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))
  40900. }
  40901. }
  40902. if !(new1 != 0) {
  40903. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  40904. return m_FcFalse
  40905. }
  40906. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  40907. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  40908. }
  40909. v2 = buf + 16
  40910. v1 = *(*int32)(unsafe.Pointer(v2))
  40911. *(*int32)(unsafe.Pointer(v2))++
  40912. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  40913. return int32(m_FcTrue)
  40914. }
  40915. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  40916. var c, v1 TFcChar8
  40917. var v2 uintptr
  40918. _, _, _ = c, v1, v2
  40919. for {
  40920. v2 = s
  40921. s++
  40922. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  40923. c = v1
  40924. if !(v1 != 0) {
  40925. break
  40926. }
  40927. if !(XFcStrBufChar(tls, buf, c) != 0) {
  40928. return m_FcFalse
  40929. }
  40930. }
  40931. return int32(m_FcTrue)
  40932. }
  40933. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  40934. var v1 int32
  40935. var v2 uintptr
  40936. _, _ = v1, v2
  40937. for {
  40938. v1 = len1
  40939. len1--
  40940. if !(v1 > 0) {
  40941. break
  40942. }
  40943. v2 = s
  40944. s++
  40945. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  40946. return m_FcFalse
  40947. }
  40948. }
  40949. return int32(m_FcTrue)
  40950. }
  40951. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  40952. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  40953. }
  40954. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  40955. return libc.BoolInt32(libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  40956. }
  40957. func XFcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  40958. var ap Tva_list
  40959. var len1 Tsize_t
  40960. var list, p, ret, s, sset, v1, v2 uintptr
  40961. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  40962. ret = libc.UintptrFromInt32(0)
  40963. len1 = uint64(0)
  40964. if !(path != 0) {
  40965. return libc.UintptrFromInt32(0)
  40966. }
  40967. sset = XFcStrSetCreateEx(tls, libc.Uint32FromInt32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  40968. if !(sset != 0) {
  40969. return libc.UintptrFromInt32(0)
  40970. }
  40971. if !(XIA__FcStrSetAdd(tls, sset, path) != 0) {
  40972. goto bail0
  40973. }
  40974. ap = va
  40975. for int32(1) != 0 {
  40976. s = libc.VaUintptr(&ap)
  40977. if !(s != 0) {
  40978. break
  40979. }
  40980. if !(XIA__FcStrSetAdd(tls, sset, s) != 0) {
  40981. goto bail1
  40982. }
  40983. }
  40984. list = XIA__FcStrListCreate(tls, sset)
  40985. for {
  40986. v1 = XIA__FcStrListNext(tls, list)
  40987. s = v1
  40988. if !(v1 != 0) {
  40989. break
  40990. }
  40991. len1 += libc.Xstrlen(tls, s) + uint64(1)
  40992. }
  40993. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  40994. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  40995. if !(ret != 0) {
  40996. goto bail2
  40997. }
  40998. p = ret
  40999. for {
  41000. v2 = XIA__FcStrListNext(tls, list)
  41001. s = v2
  41002. if !(v2 != 0) {
  41003. break
  41004. }
  41005. if p != ret {
  41006. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  41007. p++
  41008. }
  41009. len1 = libc.Xstrlen(tls, s)
  41010. libc.Xmemcpy(tls, p, s, len1)
  41011. p += uintptr(len1)
  41012. }
  41013. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  41014. goto bail2
  41015. bail2:
  41016. ;
  41017. XIA__FcStrListDone(tls, list)
  41018. goto bail1
  41019. bail1:
  41020. ;
  41021. _ = ap
  41022. goto bail0
  41023. bail0:
  41024. ;
  41025. XIA__FcStrSetDestroy(tls, sset)
  41026. return ret
  41027. }
  41028. func XIA__FcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  41029. var full, home, new1 uintptr
  41030. var size int32
  41031. _, _, _, _ = full, home, new1, size
  41032. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  41033. home = XIA__FcConfigHome(tls)
  41034. if !(home != 0) {
  41035. return libc.UintptrFromInt32(0)
  41036. }
  41037. size = libc.Int32FromUint64(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  41038. full = libc.Xmalloc(tls, libc.Uint64FromInt32(size+int32(1)))
  41039. if !(full != 0) {
  41040. return libc.UintptrFromInt32(0)
  41041. }
  41042. libc.Xstrcpy(tls, full, home)
  41043. libc.Xstrcat(tls, full, s+uintptr(1))
  41044. new1 = XFcStrCanonFilename(tls, full)
  41045. libc.Xfree(tls, full)
  41046. } else {
  41047. new1 = XFcStrCanonFilename(tls, s)
  41048. }
  41049. return new1
  41050. }
  41051. var XFcStrCopyFilename = XIA__FcStrCopyFilename
  41052. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  41053. var slash uintptr
  41054. _ = slash
  41055. slash = libc.Xstrrchr(tls, path, int32('/'))
  41056. return slash
  41057. }
  41058. func XIA__FcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  41059. var dir, slash uintptr
  41060. _, _ = dir, slash
  41061. slash = XFcStrLastSlash(tls, file)
  41062. if !(slash != 0) {
  41063. return XIA__FcStrCopy(tls, __ccgo_ts+6437)
  41064. }
  41065. dir = libc.Xmalloc(tls, libc.Uint64FromInt64(int64(slash)-int64(file)+int64(1)))
  41066. if !(dir != 0) {
  41067. return uintptr(0)
  41068. }
  41069. libc.Xstrncpy(tls, dir, file, libc.Uint64FromInt64(int64(slash)-int64(file)))
  41070. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  41071. return dir
  41072. }
  41073. var XFcStrDirname = XIA__FcStrDirname
  41074. func XIA__FcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  41075. var slash uintptr
  41076. _ = slash
  41077. slash = XFcStrLastSlash(tls, file)
  41078. if !(slash != 0) {
  41079. return XIA__FcStrCopy(tls, file)
  41080. }
  41081. return XIA__FcStrCopy(tls, slash+uintptr(1))
  41082. }
  41083. var XFcStrBasename = XIA__FcStrBasename
  41084. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  41085. var f, file, slash, v2, v4, v5 uintptr
  41086. var size int32
  41087. var v3 TFcChar8
  41088. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  41089. size = libc.Int32FromUint64(libc.Xstrlen(tls, s) + uint64(1))
  41090. file = libc.Xmalloc(tls, libc.Uint64FromInt32(size))
  41091. if !(file != 0) {
  41092. return libc.UintptrFromInt32(0)
  41093. }
  41094. slash = libc.UintptrFromInt32(0)
  41095. f = file
  41096. for {
  41097. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  41098. if slash != 0 {
  41099. switch int64(s) - int64(slash) {
  41100. case int64(1):
  41101. f -= uintptr(1) /* squash // and trim final / from file */
  41102. case int64(2):
  41103. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6439, uint64(2)) != 0) {
  41104. f -= uintptr(2) /* trim /. from file */
  41105. }
  41106. case int64(3):
  41107. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6442, uint64(3)) != 0) {
  41108. f -= uintptr(3) /* trim /.. from file */
  41109. for f > file {
  41110. f--
  41111. v2 = f
  41112. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  41113. break
  41114. }
  41115. }
  41116. }
  41117. break
  41118. }
  41119. }
  41120. slash = s
  41121. }
  41122. v4 = s
  41123. s++
  41124. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  41125. v5 = f
  41126. f++
  41127. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  41128. if !(v3 != 0) {
  41129. break
  41130. }
  41131. goto _1
  41132. _1:
  41133. }
  41134. return file
  41135. }
  41136. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  41137. bp := tls.Alloc(4128)
  41138. defer tls.Free(4128)
  41139. var file, full uintptr
  41140. var _ /* cwd at bp+0 */ [4098]TFcChar8
  41141. _, _ = file, full
  41142. if libc.Int32FromUint8(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  41143. return _FcStrCanonAbsoluteFilename(tls, s)
  41144. } else {
  41145. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  41146. return libc.UintptrFromInt32(0)
  41147. }
  41148. full = XFcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  41149. file = _FcStrCanonAbsoluteFilename(tls, full)
  41150. XIA__FcStrFree(tls, full)
  41151. return file
  41152. }
  41153. return r
  41154. }
  41155. func XIA__FcStrSetCreate(tls *libc.TLS) (r uintptr) {
  41156. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  41157. }
  41158. var XFcStrSetCreate = XIA__FcStrSetCreate
  41159. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  41160. var set uintptr
  41161. _ = set
  41162. set = libc.Xmalloc(tls, uint64(32))
  41163. if !(set != 0) {
  41164. return uintptr(0)
  41165. }
  41166. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  41167. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  41168. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  41169. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  41170. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  41171. return set
  41172. }
  41173. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  41174. var strs uintptr
  41175. _ = strs
  41176. /* accommodate an additional NULL entry at the end of the array */
  41177. strs = libc.Xmalloc(tls, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  41178. if !(strs != 0) {
  41179. return m_FcFalse
  41180. }
  41181. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  41182. libc.Xmemcpy(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8))
  41183. }
  41184. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  41185. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  41186. }
  41187. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  41188. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  41189. return int32(m_FcTrue)
  41190. }
  41191. func __FcStrSetAppend(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41192. var growElements, v1, v2 int32
  41193. var v3 uintptr
  41194. _, _, _, _ = growElements, v1, v2, v3
  41195. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  41196. if XIA__FcStrSetMember(tls, set, s) != 0 {
  41197. XIA__FcStrFree(tls, s)
  41198. return int32(m_FcTrue)
  41199. }
  41200. }
  41201. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  41202. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  41203. v1 = int32(64)
  41204. } else {
  41205. v1 = int32(1)
  41206. }
  41207. growElements = v1
  41208. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  41209. return m_FcFalse
  41210. }
  41211. }
  41212. v3 = set + 4
  41213. v2 = *(*int32)(unsafe.Pointer(v3))
  41214. *(*int32)(unsafe.Pointer(v3))++
  41215. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  41216. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  41217. return int32(m_FcTrue)
  41218. }
  41219. func XIA__FcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41220. var i int32
  41221. _ = i
  41222. i = 0
  41223. for {
  41224. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41225. break
  41226. }
  41227. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  41228. return int32(m_FcTrue)
  41229. }
  41230. goto _1
  41231. _1:
  41232. ;
  41233. i++
  41234. }
  41235. return m_FcFalse
  41236. }
  41237. var XFcStrSetMember = XIA__FcStrSetMember
  41238. func XIA__FcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  41239. var i int32
  41240. _ = i
  41241. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  41242. return m_FcFalse
  41243. }
  41244. i = 0
  41245. for {
  41246. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  41247. break
  41248. }
  41249. if !(XIA__FcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  41250. return m_FcFalse
  41251. }
  41252. goto _1
  41253. _1:
  41254. ;
  41255. i++
  41256. }
  41257. return int32(m_FcTrue)
  41258. }
  41259. var XFcStrSetEqual = XIA__FcStrSetEqual
  41260. func XIA__FcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41261. var new1 uintptr
  41262. _ = new1
  41263. new1 = XIA__FcStrCopy(tls, s)
  41264. if !(new1 != 0) {
  41265. return m_FcFalse
  41266. }
  41267. if !(__FcStrSetAppend(tls, set, new1) != 0) {
  41268. XIA__FcStrFree(tls, new1)
  41269. return m_FcFalse
  41270. }
  41271. return int32(m_FcTrue)
  41272. }
  41273. var XFcStrSetAdd = XIA__FcStrSetAdd
  41274. func XIA__FcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41275. var new1 uintptr
  41276. _ = new1
  41277. new1 = XIA__FcStrCopyFilename(tls, s)
  41278. if !(new1 != 0) {
  41279. return m_FcFalse
  41280. }
  41281. if !(__FcStrSetAppend(tls, set, new1) != 0) {
  41282. XIA__FcStrFree(tls, new1)
  41283. return m_FcFalse
  41284. }
  41285. return int32(m_FcTrue)
  41286. }
  41287. var XFcStrSetAddFilename = XIA__FcStrSetAddFilename
  41288. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  41289. bp := tls.Alloc(128)
  41290. defer tls.Free(128)
  41291. var len1 Tsize_t
  41292. var next, normalized_lang, p, v1 uintptr
  41293. var ret TFcBool
  41294. var v2 uint64
  41295. var _ /* lang at bp+0 */ [128]TFcChar8
  41296. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  41297. p = languages
  41298. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  41299. ret = m_FcFalse
  41300. if !(languages != 0) {
  41301. return m_FcFalse
  41302. }
  41303. for {
  41304. v1 = libc.Xstrchr(tls, p, int32(':'))
  41305. next = v1
  41306. if !(v1 != 0) {
  41307. break
  41308. }
  41309. len1 = libc.Uint64FromInt64(int64(next) - int64(p))
  41310. if len1 < libc.Uint64FromInt32(libc.Int32FromInt32(127)) {
  41311. v2 = len1
  41312. } else {
  41313. v2 = libc.Uint64FromInt32(libc.Int32FromInt32(127))
  41314. }
  41315. len1 = v2
  41316. libc.Xstrncpy(tls, bp, p, len1)
  41317. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  41318. /* ignore an empty item */
  41319. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  41320. normalized_lang = XIA__FcLangNormalize(tls, bp)
  41321. if normalized_lang != 0 {
  41322. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  41323. XIA__FcStrFree(tls, normalized_lang)
  41324. ret = int32(m_FcTrue)
  41325. }
  41326. }
  41327. p = next + uintptr(1)
  41328. }
  41329. if *(*uint8)(unsafe.Pointer(p)) != 0 {
  41330. normalized_lang = XIA__FcLangNormalize(tls, p)
  41331. if normalized_lang != 0 {
  41332. XIA__FcStrSetAdd(tls, strs, normalized_lang)
  41333. XIA__FcStrFree(tls, normalized_lang)
  41334. ret = int32(m_FcTrue)
  41335. }
  41336. }
  41337. return ret
  41338. }
  41339. func XIA__FcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  41340. var i int32
  41341. _ = i
  41342. i = 0
  41343. for {
  41344. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41345. break
  41346. }
  41347. if !(XIA__FcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  41348. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  41349. /*
  41350. * copy remaining string pointers and trailing
  41351. * NULL
  41352. */
  41353. libc.Xmemmove(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))
  41354. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  41355. return int32(m_FcTrue)
  41356. }
  41357. goto _1
  41358. _1:
  41359. ;
  41360. i++
  41361. }
  41362. return m_FcFalse
  41363. }
  41364. var XFcStrSetDel = XIA__FcStrSetDel
  41365. // C documentation
  41366. //
  41367. // /* TODO Make public */
  41368. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  41369. var v1 TFcBool
  41370. var p4 uintptr
  41371. _, _ = v1, p4
  41372. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  41373. goto _2
  41374. _2:
  41375. if v1 != 0 {
  41376. return set
  41377. }
  41378. p4 = set
  41379. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  41380. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  41381. goto _3
  41382. _3:
  41383. ;
  41384. return set
  41385. }
  41386. func XIA__FcStrSetDestroy(tls *libc.TLS, set uintptr) {
  41387. var i, v3 int32
  41388. var v1 TFcBool
  41389. var p5 uintptr
  41390. _, _, _, _ = i, v1, v3, p5
  41391. /* We rely on this in FcGetDefaultLangs for caching. */
  41392. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  41393. goto _2
  41394. _2:
  41395. if v1 != 0 {
  41396. return
  41397. }
  41398. p5 = set
  41399. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  41400. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  41401. goto _4
  41402. _4:
  41403. if v3 != int32(1) {
  41404. return
  41405. }
  41406. i = 0
  41407. for {
  41408. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  41409. break
  41410. }
  41411. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  41412. goto _6
  41413. _6:
  41414. ;
  41415. i++
  41416. }
  41417. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  41418. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  41419. }
  41420. libc.Xfree(tls, set)
  41421. }
  41422. var XFcStrSetDestroy = XIA__FcStrSetDestroy
  41423. func XIA__FcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  41424. var list uintptr
  41425. _ = list
  41426. list = libc.Xmalloc(tls, uint64(16))
  41427. if !(list != 0) {
  41428. return uintptr(0)
  41429. }
  41430. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  41431. _FcStrSetReference(tls, set)
  41432. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  41433. return list
  41434. }
  41435. var XFcStrListCreate = XIA__FcStrListCreate
  41436. func XIA__FcStrListFirst(tls *libc.TLS, list uintptr) {
  41437. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  41438. }
  41439. var XFcStrListFirst = XIA__FcStrListFirst
  41440. func XIA__FcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  41441. var v1 int32
  41442. var v2 uintptr
  41443. _, _ = v1, v2
  41444. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  41445. return uintptr(0)
  41446. }
  41447. v2 = list + 8
  41448. v1 = *(*int32)(unsafe.Pointer(v2))
  41449. *(*int32)(unsafe.Pointer(v2))++
  41450. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  41451. }
  41452. var XFcStrListNext = XIA__FcStrListNext
  41453. func XIA__FcStrListDone(tls *libc.TLS, list uintptr) {
  41454. XIA__FcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  41455. libc.Xfree(tls, list)
  41456. }
  41457. var XFcStrListDone = XIA__FcStrListDone
  41458. const m_FC_DIR_SEPARATOR2 = '/'
  41459. var _map = [13]struct {
  41460. Fot int32
  41461. Ffc int32
  41462. }{
  41463. 0: {},
  41464. 1: {
  41465. Fot: int32(100),
  41466. },
  41467. 2: {
  41468. Fot: int32(200),
  41469. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  41470. },
  41471. 3: {
  41472. Fot: int32(300),
  41473. Ffc: int32(m_FC_WEIGHT_LIGHT),
  41474. },
  41475. 4: {
  41476. Fot: int32(350),
  41477. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  41478. },
  41479. 5: {
  41480. Fot: int32(380),
  41481. Ffc: int32(m_FC_WEIGHT_BOOK),
  41482. },
  41483. 6: {
  41484. Fot: int32(400),
  41485. Ffc: int32(m_FC_WEIGHT_REGULAR),
  41486. },
  41487. 7: {
  41488. Fot: int32(500),
  41489. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  41490. },
  41491. 8: {
  41492. Fot: int32(600),
  41493. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  41494. },
  41495. 9: {
  41496. Fot: int32(700),
  41497. Ffc: int32(m_FC_WEIGHT_BOLD),
  41498. },
  41499. 10: {
  41500. Fot: int32(800),
  41501. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  41502. },
  41503. 11: {
  41504. Fot: int32(900),
  41505. Ffc: int32(m_FC_WEIGHT_BLACK),
  41506. },
  41507. 12: {
  41508. Fot: int32(1000),
  41509. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  41510. },
  41511. }
  41512. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  41513. var dx, dy int32
  41514. _, _ = dx, dy
  41515. dx = x2 - x1
  41516. dy = y2 - y1
  41517. return float64(y1) + (float64(dy)*(x-float64(x1))+float64(dx/int32(2)))/float64(dx)
  41518. }
  41519. func XIA__FcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  41520. var i int32
  41521. var v1 float64
  41522. _, _ = i, v1
  41523. if ot_weight < libc.Float64FromInt32(0) {
  41524. return float64(-libc.Int32FromInt32(1))
  41525. }
  41526. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  41527. v1 = ot_weight
  41528. } else {
  41529. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  41530. }
  41531. ot_weight = v1
  41532. i = int32(1)
  41533. for {
  41534. if !(ot_weight > float64(_map[i].Fot)) {
  41535. break
  41536. }
  41537. goto _2
  41538. _2:
  41539. ;
  41540. i++
  41541. }
  41542. if ot_weight == float64(_map[i].Fot) {
  41543. return float64(_map[i].Ffc)
  41544. }
  41545. /* Interpolate between two items. */
  41546. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  41547. }
  41548. var XFcWeightFromOpenTypeDouble = XIA__FcWeightFromOpenTypeDouble
  41549. func XIA__FcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  41550. var i int32
  41551. _ = i
  41552. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  41553. return float64(-libc.Int32FromInt32(1))
  41554. }
  41555. i = int32(1)
  41556. for {
  41557. if !(fc_weight > float64(_map[i].Ffc)) {
  41558. break
  41559. }
  41560. goto _1
  41561. _1:
  41562. ;
  41563. i++
  41564. }
  41565. if fc_weight == float64(_map[i].Ffc) {
  41566. return float64(_map[i].Fot)
  41567. }
  41568. /* Interpolate between two items. */
  41569. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  41570. }
  41571. var XFcWeightToOpenTypeDouble = XIA__FcWeightToOpenTypeDouble
  41572. func XIA__FcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  41573. return int32(XIA__FcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  41574. }
  41575. var XFcWeightFromOpenType = XIA__FcWeightFromOpenType
  41576. func XIA__FcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  41577. return int32(XIA__FcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  41578. }
  41579. var XFcWeightToOpenType = XIA__FcWeightToOpenType
  41580. const m_Expat_External_INCLUDED = 1
  41581. const m_Expat_INCLUDED = 1
  41582. const m_FC_DIR_SEPARATOR3 = 47
  41583. const m_HAVE_XMLPARSE_H = 0
  41584. const m_LC_ALL = 6
  41585. const m_LC_ALL_MASK = 0x7fffffff
  41586. const m_LC_COLLATE = 3
  41587. const m_LC_CTYPE = 0
  41588. const m_LC_MESSAGES = 5
  41589. const m_LC_MONETARY = 4
  41590. const m_LC_NUMERIC = 1
  41591. const m_LC_TIME = 2
  41592. const m_TAIL = ".conf"
  41593. const m_TAIL_LEN = 5
  41594. const m_XML_ENABLE_VISIBILITY = 0
  41595. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  41596. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  41597. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  41598. const m_XML_MAJOR_VERSION = 2
  41599. const m_XML_MICRO_VERSION = 10
  41600. const m_XML_MINOR_VERSION = 2
  41601. type TXML_Char = uint8
  41602. type TXML_LChar = uint8
  41603. type TXML_Index = int64
  41604. type TXML_Size = uint64
  41605. type TXML_Parser = uintptr
  41606. type TXML_Bool = uint8
  41607. type _XML_Status = int32
  41608. const _XML_STATUS_ERROR = 0
  41609. const _XML_STATUS_OK = 1
  41610. const _XML_STATUS_SUSPENDED = 2
  41611. type _XML_Error = int32
  41612. const _XML_ERROR_NONE = 0
  41613. const _XML_ERROR_NO_MEMORY = 1
  41614. const _XML_ERROR_SYNTAX = 2
  41615. const _XML_ERROR_NO_ELEMENTS = 3
  41616. const _XML_ERROR_INVALID_TOKEN = 4
  41617. const _XML_ERROR_UNCLOSED_TOKEN = 5
  41618. const _XML_ERROR_PARTIAL_CHAR = 6
  41619. const _XML_ERROR_TAG_MISMATCH = 7
  41620. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  41621. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  41622. const _XML_ERROR_PARAM_ENTITY_REF = 10
  41623. const _XML_ERROR_UNDEFINED_ENTITY = 11
  41624. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  41625. const _XML_ERROR_ASYNC_ENTITY = 13
  41626. const _XML_ERROR_BAD_CHAR_REF = 14
  41627. const _XML_ERROR_BINARY_ENTITY_REF = 15
  41628. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  41629. const _XML_ERROR_MISPLACED_XML_PI = 17
  41630. const _XML_ERROR_UNKNOWN_ENCODING = 18
  41631. const _XML_ERROR_INCORRECT_ENCODING = 19
  41632. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  41633. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  41634. const _XML_ERROR_NOT_STANDALONE = 22
  41635. const _XML_ERROR_UNEXPECTED_STATE = 23
  41636. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  41637. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  41638. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  41639. const _XML_ERROR_UNBOUND_PREFIX = 27
  41640. const _XML_ERROR_UNDECLARING_PREFIX = 28
  41641. const _XML_ERROR_INCOMPLETE_PE = 29
  41642. const _XML_ERROR_XML_DECL = 30
  41643. const _XML_ERROR_TEXT_DECL = 31
  41644. const _XML_ERROR_PUBLICID = 32
  41645. const _XML_ERROR_SUSPENDED = 33
  41646. const _XML_ERROR_NOT_SUSPENDED = 34
  41647. const _XML_ERROR_ABORTED = 35
  41648. const _XML_ERROR_FINISHED = 36
  41649. const _XML_ERROR_SUSPEND_PE = 37
  41650. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  41651. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  41652. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  41653. const _XML_ERROR_INVALID_ARGUMENT = 41
  41654. type _XML_Content_Type = int32
  41655. const _XML_CTYPE_EMPTY = 1
  41656. const _XML_CTYPE_ANY = 2
  41657. const _XML_CTYPE_MIXED = 3
  41658. const _XML_CTYPE_NAME = 4
  41659. const _XML_CTYPE_CHOICE = 5
  41660. const _XML_CTYPE_SEQ = 6
  41661. type _XML_Content_Quant = int32
  41662. const _XML_CQUANT_NONE = 0
  41663. const _XML_CQUANT_OPT = 1
  41664. const _XML_CQUANT_REP = 2
  41665. const _XML_CQUANT_PLUS = 3
  41666. type TXML_Content = struct {
  41667. Ftype1 _XML_Content_Type
  41668. Fquant _XML_Content_Quant
  41669. Fname uintptr
  41670. Fnumchildren uint32
  41671. Fchildren uintptr
  41672. }
  41673. type TXML_cp = TXML_Content
  41674. type TXML_ElementDeclHandler = uintptr
  41675. type TXML_AttlistDeclHandler = uintptr
  41676. type TXML_XmlDeclHandler = uintptr
  41677. type TXML_Memory_Handling_Suite = struct {
  41678. Fmalloc_fcn uintptr
  41679. Frealloc_fcn uintptr
  41680. Ffree_fcn uintptr
  41681. }
  41682. type TXML_StartElementHandler = uintptr
  41683. type TXML_EndElementHandler = uintptr
  41684. type TXML_CharacterDataHandler = uintptr
  41685. type TXML_ProcessingInstructionHandler = uintptr
  41686. type TXML_CommentHandler = uintptr
  41687. type TXML_StartCdataSectionHandler = uintptr
  41688. type TXML_EndCdataSectionHandler = uintptr
  41689. type TXML_DefaultHandler = uintptr
  41690. type TXML_StartDoctypeDeclHandler = uintptr
  41691. type TXML_EndDoctypeDeclHandler = uintptr
  41692. type TXML_EntityDeclHandler = uintptr
  41693. type TXML_UnparsedEntityDeclHandler = uintptr
  41694. type TXML_NotationDeclHandler = uintptr
  41695. type TXML_StartNamespaceDeclHandler = uintptr
  41696. type TXML_EndNamespaceDeclHandler = uintptr
  41697. type TXML_NotStandaloneHandler = uintptr
  41698. type TXML_ExternalEntityRefHandler = uintptr
  41699. type TXML_SkippedEntityHandler = uintptr
  41700. type TXML_Encoding = struct {
  41701. Fmap1 [256]int32
  41702. Fdata uintptr
  41703. Fconvert uintptr
  41704. Frelease uintptr
  41705. }
  41706. type TXML_UnknownEncodingHandler = uintptr
  41707. type _XML_Parsing = int32
  41708. const _XML_INITIALIZED = 0
  41709. const _XML_PARSING = 1
  41710. const _XML_FINISHED = 2
  41711. const _XML_SUSPENDED = 3
  41712. type TXML_ParsingStatus = struct {
  41713. Fparsing _XML_Parsing
  41714. FfinalBuffer TXML_Bool
  41715. }
  41716. type _XML_ParamEntityParsing = int32
  41717. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  41718. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  41719. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  41720. type TXML_Expat_Version = struct {
  41721. Fmajor int32
  41722. Fminor int32
  41723. Fmicro int32
  41724. }
  41725. type _XML_FeatureEnum = int32
  41726. const _XML_FEATURE_END = 0
  41727. const _XML_FEATURE_UNICODE = 1
  41728. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  41729. const _XML_FEATURE_DTD = 3
  41730. const _XML_FEATURE_CONTEXT_BYTES = 4
  41731. const _XML_FEATURE_MIN_SIZE = 5
  41732. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  41733. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  41734. const _XML_FEATURE_NS = 8
  41735. const _XML_FEATURE_LARGE_SIZE = 9
  41736. const _XML_FEATURE_ATTR_INFO = 10
  41737. type TXML_Feature = struct {
  41738. Ffeature _XML_FeatureEnum
  41739. Fname uintptr
  41740. Fvalue int64
  41741. }
  41742. /* Expat follows the semantic versioning convention.
  41743. See http://semver.org.
  41744. */
  41745. var ___fc_userdir = libc.UintptrFromInt32(0)
  41746. var ___fc_userconf = libc.UintptrFromInt32(0)
  41747. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  41748. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  41749. libc.Xfree(tls, test)
  41750. }
  41751. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  41752. var n uintptr
  41753. _ = n
  41754. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  41755. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  41756. case int32(_FcRuleTest):
  41757. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  41758. case int32(_FcRuleEdit):
  41759. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  41760. case int32(_FcRuleUnknown):
  41761. fallthrough
  41762. default:
  41763. break
  41764. }
  41765. libc.Xfree(tls, rule)
  41766. if n != 0 {
  41767. XFcRuleDestroy(tls, n)
  41768. }
  41769. }
  41770. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  41771. var e uintptr
  41772. _ = e
  41773. e = XFcConfigAllocExpr(tls, config)
  41774. if e != 0 {
  41775. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  41776. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  41777. }
  41778. return e
  41779. }
  41780. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  41781. var e uintptr
  41782. _ = e
  41783. e = XFcConfigAllocExpr(tls, config)
  41784. if e != 0 {
  41785. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  41786. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  41787. }
  41788. return e
  41789. }
  41790. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  41791. var e uintptr
  41792. _ = e
  41793. e = XFcConfigAllocExpr(tls, config)
  41794. if e != 0 {
  41795. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  41796. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  41797. }
  41798. return e
  41799. }
  41800. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  41801. var m uintptr
  41802. _ = m
  41803. m = libc.Xmalloc(tls, uint64(32))
  41804. if m != 0 {
  41805. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  41806. }
  41807. return m
  41808. }
  41809. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  41810. if !(m != 0) {
  41811. return
  41812. }
  41813. libc.Xfree(tls, m)
  41814. }
  41815. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  41816. if !(m != 0) {
  41817. return
  41818. }
  41819. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  41820. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  41821. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  41822. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  41823. libc.Xfree(tls, m)
  41824. }
  41825. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  41826. var e uintptr
  41827. _ = e
  41828. e = XFcConfigAllocExpr(tls, config)
  41829. if e != 0 {
  41830. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  41831. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  41832. }
  41833. return e
  41834. }
  41835. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  41836. var e uintptr
  41837. _ = e
  41838. e = XFcConfigAllocExpr(tls, config)
  41839. if e != 0 {
  41840. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  41841. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcRangeCopy(tls, range1)
  41842. }
  41843. return e
  41844. }
  41845. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  41846. var e uintptr
  41847. _ = e
  41848. e = XFcConfigAllocExpr(tls, config)
  41849. if e != 0 {
  41850. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  41851. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  41852. }
  41853. return e
  41854. }
  41855. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  41856. var e uintptr
  41857. _ = e
  41858. e = XFcConfigAllocExpr(tls, config)
  41859. if e != 0 {
  41860. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  41861. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcCharSetCopy(tls, charset)
  41862. }
  41863. return e
  41864. }
  41865. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  41866. var e uintptr
  41867. _ = e
  41868. e = XFcConfigAllocExpr(tls, config)
  41869. if e != 0 {
  41870. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  41871. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XIA__FcLangSetCopy(tls, langset)
  41872. }
  41873. return e
  41874. }
  41875. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  41876. var e uintptr
  41877. _ = e
  41878. e = XFcConfigAllocExpr(tls, config)
  41879. if e != 0 {
  41880. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  41881. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  41882. }
  41883. return e
  41884. }
  41885. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  41886. var e uintptr
  41887. _ = e
  41888. e = XFcConfigAllocExpr(tls, config)
  41889. if e != 0 {
  41890. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  41891. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  41892. }
  41893. return e
  41894. }
  41895. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  41896. var e uintptr
  41897. _ = e
  41898. e = XFcConfigAllocExpr(tls, config)
  41899. if e != 0 {
  41900. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  41901. (*(*struct {
  41902. Fleft uintptr
  41903. Fright uintptr
  41904. })(unsafe.Pointer(e + 8))).Fleft = left
  41905. (*(*struct {
  41906. Fleft uintptr
  41907. Fright uintptr
  41908. })(unsafe.Pointer(e + 8))).Fright = right
  41909. }
  41910. return e
  41911. }
  41912. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  41913. if !(e != 0) {
  41914. return
  41915. }
  41916. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  41917. case int32(_FcOpInteger):
  41918. case int32(_FcOpDouble):
  41919. case int32(_FcOpString):
  41920. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41921. case int32(_FcOpMatrix):
  41922. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41923. case int32(_FcOpRange):
  41924. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41925. case int32(_FcOpCharSet):
  41926. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41927. case int32(_FcOpLangSet):
  41928. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41929. case int32(_FcOpBool):
  41930. case int32(_FcOpField):
  41931. case int32(_FcOpConst):
  41932. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  41933. case int32(_FcOpAssign):
  41934. fallthrough
  41935. case int32(_FcOpAssignReplace):
  41936. fallthrough
  41937. case int32(_FcOpPrepend):
  41938. fallthrough
  41939. case int32(_FcOpPrependFirst):
  41940. fallthrough
  41941. case int32(_FcOpAppend):
  41942. fallthrough
  41943. case int32(_FcOpAppendLast):
  41944. fallthrough
  41945. case int32(_FcOpDelete):
  41946. fallthrough
  41947. case int32(_FcOpDeleteAll):
  41948. case int32(_FcOpOr):
  41949. fallthrough
  41950. case int32(_FcOpAnd):
  41951. fallthrough
  41952. case int32(_FcOpEqual):
  41953. fallthrough
  41954. case int32(_FcOpNotEqual):
  41955. fallthrough
  41956. case int32(_FcOpLess):
  41957. fallthrough
  41958. case int32(_FcOpLessEqual):
  41959. fallthrough
  41960. case int32(_FcOpMore):
  41961. fallthrough
  41962. case int32(_FcOpMoreEqual):
  41963. fallthrough
  41964. case int32(_FcOpContains):
  41965. fallthrough
  41966. case int32(_FcOpListing):
  41967. fallthrough
  41968. case int32(_FcOpNotContains):
  41969. fallthrough
  41970. case int32(_FcOpPlus):
  41971. fallthrough
  41972. case int32(_FcOpMinus):
  41973. fallthrough
  41974. case int32(_FcOpTimes):
  41975. fallthrough
  41976. case int32(_FcOpDivide):
  41977. fallthrough
  41978. case int32(_FcOpQuest):
  41979. fallthrough
  41980. case int32(_FcOpComma):
  41981. _FcExprDestroy(tls, (*(*struct {
  41982. Fleft uintptr
  41983. Fright uintptr
  41984. })(unsafe.Pointer(e + 8))).Fright)
  41985. /* fall through */
  41986. fallthrough
  41987. case int32(_FcOpNot):
  41988. fallthrough
  41989. case int32(_FcOpFloor):
  41990. fallthrough
  41991. case int32(_FcOpCeil):
  41992. fallthrough
  41993. case int32(_FcOpRound):
  41994. fallthrough
  41995. case int32(_FcOpTrunc):
  41996. _FcExprDestroy(tls, (*(*struct {
  41997. Fleft uintptr
  41998. Fright uintptr
  41999. })(unsafe.Pointer(e + 8))).Fleft)
  42000. case int32(_FcOpNil):
  42001. fallthrough
  42002. case int32(_FcOpInvalid):
  42003. break
  42004. }
  42005. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  42006. }
  42007. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  42008. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  42009. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  42010. }
  42011. libc.Xfree(tls, e)
  42012. }
  42013. type TFcElement = int32
  42014. type __FcElement = int32
  42015. const _FcElementNone = 0
  42016. const _FcElementFontconfig = 1
  42017. const _FcElementDir = 2
  42018. const _FcElementCacheDir = 3
  42019. const _FcElementCache = 4
  42020. const _FcElementInclude = 5
  42021. const _FcElementConfig = 6
  42022. const _FcElementMatch = 7
  42023. const _FcElementAlias = 8
  42024. const _FcElementDescription = 9
  42025. const _FcElementRescan = 10
  42026. const _FcElementPrefer = 11
  42027. const _FcElementAccept = 12
  42028. const _FcElementDefault = 13
  42029. const _FcElementFamily = 14
  42030. const _FcElementSelectfont = 15
  42031. const _FcElementAcceptfont = 16
  42032. const _FcElementRejectfont = 17
  42033. const _FcElementGlob = 18
  42034. const _FcElementPattern = 19
  42035. const _FcElementPatelt = 20
  42036. const _FcElementTest = 21
  42037. const _FcElementEdit = 22
  42038. const _FcElementInt = 23
  42039. const _FcElementDouble = 24
  42040. const _FcElementString = 25
  42041. const _FcElementMatrix = 26
  42042. const _FcElementRange = 27
  42043. const _FcElementBool = 28
  42044. const _FcElementCharSet = 29
  42045. const _FcElementLangSet = 30
  42046. const _FcElementName = 31
  42047. const _FcElementConst = 32
  42048. const _FcElementOr = 33
  42049. const _FcElementAnd = 34
  42050. const _FcElementEq = 35
  42051. const _FcElementNotEq = 36
  42052. const _FcElementLess = 37
  42053. const _FcElementLessEq = 38
  42054. const _FcElementMore = 39
  42055. const _FcElementMoreEq = 40
  42056. const _FcElementContains = 41
  42057. const _FcElementNotContains = 42
  42058. const _FcElementPlus = 43
  42059. const _FcElementMinus = 44
  42060. const _FcElementTimes = 45
  42061. const _FcElementDivide = 46
  42062. const _FcElementNot = 47
  42063. const _FcElementIf = 48
  42064. const _FcElementFloor = 49
  42065. const _FcElementCeil = 50
  42066. const _FcElementRound = 51
  42067. const _FcElementTrunc = 52
  42068. const _FcElementUnknown = 53
  42069. var _fcElementMap = [52]struct {
  42070. Fname [16]uint8
  42071. Felement TFcElement
  42072. }{
  42073. 0: {
  42074. Fname: [16]uint8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  42075. Felement: int32(_FcElementFontconfig),
  42076. },
  42077. 1: {
  42078. Fname: [16]uint8{'d', 'i', 'r'},
  42079. Felement: int32(_FcElementDir),
  42080. },
  42081. 2: {
  42082. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  42083. Felement: int32(_FcElementCacheDir),
  42084. },
  42085. 3: {
  42086. Fname: [16]uint8{'c', 'a', 'c', 'h', 'e'},
  42087. Felement: int32(_FcElementCache),
  42088. },
  42089. 4: {
  42090. Fname: [16]uint8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  42091. Felement: int32(_FcElementInclude),
  42092. },
  42093. 5: {
  42094. Fname: [16]uint8{'c', 'o', 'n', 'f', 'i', 'g'},
  42095. Felement: int32(_FcElementConfig),
  42096. },
  42097. 6: {
  42098. Fname: [16]uint8{'m', 'a', 't', 'c', 'h'},
  42099. Felement: int32(_FcElementMatch),
  42100. },
  42101. 7: {
  42102. Fname: [16]uint8{'a', 'l', 'i', 'a', 's'},
  42103. Felement: int32(_FcElementAlias),
  42104. },
  42105. 8: {
  42106. Fname: [16]uint8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  42107. Felement: int32(_FcElementDescription),
  42108. },
  42109. 9: {
  42110. Fname: [16]uint8{'r', 'e', 's', 'c', 'a', 'n'},
  42111. Felement: int32(_FcElementRescan),
  42112. },
  42113. 10: {
  42114. Fname: [16]uint8{'p', 'r', 'e', 'f', 'e', 'r'},
  42115. Felement: int32(_FcElementPrefer),
  42116. },
  42117. 11: {
  42118. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't'},
  42119. Felement: int32(_FcElementAccept),
  42120. },
  42121. 12: {
  42122. Fname: [16]uint8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  42123. Felement: int32(_FcElementDefault),
  42124. },
  42125. 13: {
  42126. Fname: [16]uint8{'f', 'a', 'm', 'i', 'l', 'y'},
  42127. Felement: int32(_FcElementFamily),
  42128. },
  42129. 14: {
  42130. Fname: [16]uint8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  42131. Felement: int32(_FcElementSelectfont),
  42132. },
  42133. 15: {
  42134. Fname: [16]uint8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  42135. Felement: int32(_FcElementAcceptfont),
  42136. },
  42137. 16: {
  42138. Fname: [16]uint8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  42139. Felement: int32(_FcElementRejectfont),
  42140. },
  42141. 17: {
  42142. Fname: [16]uint8{'g', 'l', 'o', 'b'},
  42143. Felement: int32(_FcElementGlob),
  42144. },
  42145. 18: {
  42146. Fname: [16]uint8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  42147. Felement: int32(_FcElementPattern),
  42148. },
  42149. 19: {
  42150. Fname: [16]uint8{'p', 'a', 't', 'e', 'l', 't'},
  42151. Felement: int32(_FcElementPatelt),
  42152. },
  42153. 20: {
  42154. Fname: [16]uint8{'t', 'e', 's', 't'},
  42155. Felement: int32(_FcElementTest),
  42156. },
  42157. 21: {
  42158. Fname: [16]uint8{'e', 'd', 'i', 't'},
  42159. Felement: int32(_FcElementEdit),
  42160. },
  42161. 22: {
  42162. Fname: [16]uint8{'i', 'n', 't'},
  42163. Felement: int32(_FcElementInt),
  42164. },
  42165. 23: {
  42166. Fname: [16]uint8{'d', 'o', 'u', 'b', 'l', 'e'},
  42167. Felement: int32(_FcElementDouble),
  42168. },
  42169. 24: {
  42170. Fname: [16]uint8{'s', 't', 'r', 'i', 'n', 'g'},
  42171. Felement: int32(_FcElementString),
  42172. },
  42173. 25: {
  42174. Fname: [16]uint8{'m', 'a', 't', 'r', 'i', 'x'},
  42175. Felement: int32(_FcElementMatrix),
  42176. },
  42177. 26: {
  42178. Fname: [16]uint8{'r', 'a', 'n', 'g', 'e'},
  42179. Felement: int32(_FcElementRange),
  42180. },
  42181. 27: {
  42182. Fname: [16]uint8{'b', 'o', 'o', 'l'},
  42183. Felement: int32(_FcElementBool),
  42184. },
  42185. 28: {
  42186. Fname: [16]uint8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  42187. Felement: int32(_FcElementCharSet),
  42188. },
  42189. 29: {
  42190. Fname: [16]uint8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  42191. Felement: int32(_FcElementLangSet),
  42192. },
  42193. 30: {
  42194. Fname: [16]uint8{'n', 'a', 'm', 'e'},
  42195. Felement: int32(_FcElementName),
  42196. },
  42197. 31: {
  42198. Fname: [16]uint8{'c', 'o', 'n', 's', 't'},
  42199. Felement: int32(_FcElementConst),
  42200. },
  42201. 32: {
  42202. Fname: [16]uint8{'o', 'r'},
  42203. Felement: int32(_FcElementOr),
  42204. },
  42205. 33: {
  42206. Fname: [16]uint8{'a', 'n', 'd'},
  42207. Felement: int32(_FcElementAnd),
  42208. },
  42209. 34: {
  42210. Fname: [16]uint8{'e', 'q'},
  42211. Felement: int32(_FcElementEq),
  42212. },
  42213. 35: {
  42214. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  42215. Felement: int32(_FcElementNotEq),
  42216. },
  42217. 36: {
  42218. Fname: [16]uint8{'l', 'e', 's', 's'},
  42219. Felement: int32(_FcElementLess),
  42220. },
  42221. 37: {
  42222. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  42223. Felement: int32(_FcElementLessEq),
  42224. },
  42225. 38: {
  42226. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  42227. Felement: int32(_FcElementMore),
  42228. },
  42229. 39: {
  42230. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  42231. Felement: int32(_FcElementMoreEq),
  42232. },
  42233. 40: {
  42234. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  42235. Felement: int32(_FcElementContains),
  42236. },
  42237. 41: {
  42238. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  42239. Felement: int32(_FcElementNotContains),
  42240. },
  42241. 42: {
  42242. Fname: [16]uint8{'p', 'l', 'u', 's'},
  42243. Felement: int32(_FcElementPlus),
  42244. },
  42245. 43: {
  42246. Fname: [16]uint8{'m', 'i', 'n', 'u', 's'},
  42247. Felement: int32(_FcElementMinus),
  42248. },
  42249. 44: {
  42250. Fname: [16]uint8{'t', 'i', 'm', 'e', 's'},
  42251. Felement: int32(_FcElementTimes),
  42252. },
  42253. 45: {
  42254. Fname: [16]uint8{'d', 'i', 'v', 'i', 'd', 'e'},
  42255. Felement: int32(_FcElementDivide),
  42256. },
  42257. 46: {
  42258. Fname: [16]uint8{'n', 'o', 't'},
  42259. Felement: int32(_FcElementNot),
  42260. },
  42261. 47: {
  42262. Fname: [16]uint8{'i', 'f'},
  42263. Felement: int32(_FcElementIf),
  42264. },
  42265. 48: {
  42266. Fname: [16]uint8{'f', 'l', 'o', 'o', 'r'},
  42267. Felement: int32(_FcElementFloor),
  42268. },
  42269. 49: {
  42270. Fname: [16]uint8{'c', 'e', 'i', 'l'},
  42271. Felement: int32(_FcElementCeil),
  42272. },
  42273. 50: {
  42274. Fname: [16]uint8{'r', 'o', 'u', 'n', 'd'},
  42275. Felement: int32(_FcElementRound),
  42276. },
  42277. 51: {
  42278. Fname: [16]uint8{'t', 'r', 'u', 'n', 'c'},
  42279. Felement: int32(_FcElementTrunc),
  42280. },
  42281. }
  42282. var _fcElementIgnoreName = [16]uintptr{
  42283. 0: __ccgo_ts + 6446,
  42284. 1: libc.UintptrFromInt32(0),
  42285. }
  42286. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  42287. var i int32
  42288. _ = i
  42289. i = 0
  42290. for {
  42291. if !(i < libc.Int32FromUint64(libc.Uint64FromInt64(1040)/libc.Uint64FromInt64(20))) {
  42292. break
  42293. }
  42294. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  42295. return _fcElementMap[i].Felement
  42296. }
  42297. goto _1
  42298. _1:
  42299. ;
  42300. i++
  42301. }
  42302. i = 0
  42303. for {
  42304. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  42305. break
  42306. }
  42307. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  42308. return int32(_FcElementNone)
  42309. }
  42310. goto _2
  42311. _2:
  42312. ;
  42313. i++
  42314. }
  42315. return int32(_FcElementUnknown)
  42316. }
  42317. type TFcPStack = struct {
  42318. Fprev uintptr
  42319. Felement TFcElement
  42320. Fattr uintptr
  42321. Fstr TFcStrBuf
  42322. Fattr_buf_static [16]uintptr
  42323. }
  42324. type T_FcPStack = TFcPStack
  42325. type TFcVStackTag = int32
  42326. type __FcVStackTag = int32
  42327. const _FcVStackNone = 0
  42328. const _FcVStackString = 1
  42329. const _FcVStackFamily = 2
  42330. const _FcVStackConstant = 3
  42331. const _FcVStackGlob = 4
  42332. const _FcVStackName = 5
  42333. const _FcVStackPattern = 6
  42334. const _FcVStackPrefer = 7
  42335. const _FcVStackAccept = 8
  42336. const _FcVStackDefault = 9
  42337. const _FcVStackInteger = 10
  42338. const _FcVStackDouble = 11
  42339. const _FcVStackMatrix = 12
  42340. const _FcVStackRange = 13
  42341. const _FcVStackBool = 14
  42342. const _FcVStackCharSet = 15
  42343. const _FcVStackLangSet = 16
  42344. const _FcVStackTest = 17
  42345. const _FcVStackExpr = 18
  42346. const _FcVStackEdit = 19
  42347. type TFcVStack = struct {
  42348. Fprev uintptr
  42349. Fpstack uintptr
  42350. Ftag TFcVStackTag
  42351. Fu struct {
  42352. Finteger [0]int32
  42353. F_double [0]float64
  42354. Fmatrix [0]uintptr
  42355. Frange1 [0]uintptr
  42356. Fbool_ [0]TFcBool
  42357. Fcharset [0]uintptr
  42358. Flangset [0]uintptr
  42359. Fname [0]TFcExprName
  42360. Ftest [0]uintptr
  42361. Fqual [0]TFcQual
  42362. Fop [0]TFcOp
  42363. Fexpr [0]uintptr
  42364. Fedit [0]uintptr
  42365. Fpattern [0]uintptr
  42366. Fstring1 uintptr
  42367. }
  42368. }
  42369. type T_FcVStack = TFcVStack
  42370. type TFcConfigParse = struct {
  42371. Fpstack uintptr
  42372. Fvstack uintptr
  42373. Ferror1 TFcBool
  42374. Fname uintptr
  42375. Fconfig uintptr
  42376. Fruleset uintptr
  42377. Fparser TXML_Parser
  42378. Fpstack_static_used uint32
  42379. Fpstack_static [8]TFcPStack
  42380. Fvstack_static_used uint32
  42381. Fvstack_static [64]TFcVStack
  42382. FscanOnly TFcBool
  42383. }
  42384. type T_FcConfigParse = TFcConfigParse
  42385. type TFcConfigSeverity = int32
  42386. type __FcConfigSeverity = int32
  42387. const _FcSevereInfo = 0
  42388. const _FcSevereWarning = 1
  42389. const _FcSevereError = 2
  42390. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  42391. bp := tls.Alloc(32)
  42392. defer tls.Free(32)
  42393. var args Tva_list
  42394. var s uintptr
  42395. _, _ = args, s
  42396. s = __ccgo_ts + 4642
  42397. args = va
  42398. switch severe {
  42399. case int32(_FcSevereInfo):
  42400. s = __ccgo_ts + 6451
  42401. case int32(_FcSevereWarning):
  42402. s = __ccgo_ts + 6456
  42403. case int32(_FcSevereError):
  42404. s = __ccgo_ts + 6464
  42405. break
  42406. }
  42407. if parse != 0 {
  42408. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  42409. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6470, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  42410. } else {
  42411. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6501, libc.VaList(bp+8, s, libc.Int32FromUint64(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  42412. }
  42413. if severe >= int32(_FcSevereError) {
  42414. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  42415. }
  42416. } else {
  42417. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+6526, libc.VaList(bp+8, s))
  42418. }
  42419. libc.Xvfprintf(tls, libc.Xstderr, fmt, args)
  42420. libc.Xfprintf(tls, libc.Xstderr, __ccgo_ts+1097, 0)
  42421. _ = args
  42422. }
  42423. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  42424. switch type1 {
  42425. case int32(_FcTypeVoid):
  42426. return __ccgo_ts + 6542
  42427. case int32(_FcTypeInteger):
  42428. fallthrough
  42429. case int32(_FcTypeDouble):
  42430. return __ccgo_ts + 6547
  42431. case int32(_FcTypeString):
  42432. return __ccgo_ts + 6554
  42433. case int32(_FcTypeBool):
  42434. return __ccgo_ts + 6561
  42435. case int32(_FcTypeMatrix):
  42436. return __ccgo_ts + 6039
  42437. case int32(_FcTypeCharSet):
  42438. return __ccgo_ts + 4702
  42439. case int32(_FcTypeFTFace):
  42440. return __ccgo_ts + 6566
  42441. case int32(_FcTypeLangSet):
  42442. return __ccgo_ts + 6574
  42443. case int32(_FcTypeRange):
  42444. return __ccgo_ts + 6582
  42445. case int32(_FcTypeUnknown):
  42446. fallthrough
  42447. default:
  42448. return __ccgo_ts + 4642
  42449. }
  42450. return r
  42451. }
  42452. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  42453. bp := tls.Alloc(32)
  42454. defer tls.Free(32)
  42455. if value == int32(_FcTypeInteger) {
  42456. value = int32(_FcTypeDouble)
  42457. }
  42458. if type1 == int32(_FcTypeInteger) {
  42459. type1 = int32(_FcTypeDouble)
  42460. }
  42461. if value != type1 {
  42462. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  42463. return
  42464. }
  42465. if type1 == int32(_FcTypeUnknown) {
  42466. return
  42467. }
  42468. /* It's perfectly fine to use user-define elements in expressions,
  42469. * so don't warn in that case. */
  42470. if value == int32(_FcTypeUnknown) {
  42471. return
  42472. }
  42473. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6588, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  42474. }
  42475. }
  42476. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  42477. bp := tls.Alloc(16)
  42478. defer tls.Free(16)
  42479. var c, o uintptr
  42480. _, _ = c, o
  42481. /* If parsing the expression failed, some nodes may be NULL */
  42482. if !(expr != 0) {
  42483. return
  42484. }
  42485. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  42486. case int32(_FcOpInteger):
  42487. fallthrough
  42488. case int32(_FcOpDouble):
  42489. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  42490. case int32(_FcOpString):
  42491. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  42492. case int32(_FcOpMatrix):
  42493. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  42494. case int32(_FcOpBool):
  42495. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42496. case int32(_FcOpCharSet):
  42497. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  42498. case int32(_FcOpLangSet):
  42499. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  42500. case int32(_FcOpRange):
  42501. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  42502. case int32(_FcOpNil):
  42503. case int32(_FcOpField):
  42504. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  42505. if o != 0 {
  42506. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  42507. }
  42508. case int32(_FcOpConst):
  42509. c = XIA__FcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  42510. if c != 0 {
  42511. o = XIA__FcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  42512. if o != 0 {
  42513. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  42514. }
  42515. } else {
  42516. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6608, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  42517. }
  42518. case int32(_FcOpQuest):
  42519. _FcTypecheckExpr(tls, parse, (*(*struct {
  42520. Fleft uintptr
  42521. Fright uintptr
  42522. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  42523. _FcTypecheckExpr(tls, parse, (*(*struct {
  42524. Fleft uintptr
  42525. Fright uintptr
  42526. })(unsafe.Pointer((*(*struct {
  42527. Fleft uintptr
  42528. Fright uintptr
  42529. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  42530. _FcTypecheckExpr(tls, parse, (*(*struct {
  42531. Fleft uintptr
  42532. Fright uintptr
  42533. })(unsafe.Pointer((*(*struct {
  42534. Fleft uintptr
  42535. Fright uintptr
  42536. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  42537. case int32(_FcOpAssign):
  42538. fallthrough
  42539. case int32(_FcOpAssignReplace):
  42540. case int32(_FcOpEqual):
  42541. fallthrough
  42542. case int32(_FcOpNotEqual):
  42543. fallthrough
  42544. case int32(_FcOpLess):
  42545. fallthrough
  42546. case int32(_FcOpLessEqual):
  42547. fallthrough
  42548. case int32(_FcOpMore):
  42549. fallthrough
  42550. case int32(_FcOpMoreEqual):
  42551. fallthrough
  42552. case int32(_FcOpContains):
  42553. fallthrough
  42554. case int32(_FcOpNotContains):
  42555. fallthrough
  42556. case int32(_FcOpListing):
  42557. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42558. case int32(_FcOpComma):
  42559. fallthrough
  42560. case int32(_FcOpOr):
  42561. fallthrough
  42562. case int32(_FcOpAnd):
  42563. fallthrough
  42564. case int32(_FcOpPlus):
  42565. fallthrough
  42566. case int32(_FcOpMinus):
  42567. fallthrough
  42568. case int32(_FcOpTimes):
  42569. fallthrough
  42570. case int32(_FcOpDivide):
  42571. _FcTypecheckExpr(tls, parse, (*(*struct {
  42572. Fleft uintptr
  42573. Fright uintptr
  42574. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  42575. _FcTypecheckExpr(tls, parse, (*(*struct {
  42576. Fleft uintptr
  42577. Fright uintptr
  42578. })(unsafe.Pointer(expr + 8))).Fright, type1)
  42579. case int32(_FcOpNot):
  42580. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  42581. _FcTypecheckExpr(tls, parse, (*(*struct {
  42582. Fleft uintptr
  42583. Fright uintptr
  42584. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  42585. case int32(_FcOpFloor):
  42586. fallthrough
  42587. case int32(_FcOpCeil):
  42588. fallthrough
  42589. case int32(_FcOpRound):
  42590. fallthrough
  42591. case int32(_FcOpTrunc):
  42592. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  42593. _FcTypecheckExpr(tls, parse, (*(*struct {
  42594. Fleft uintptr
  42595. Fright uintptr
  42596. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  42597. default:
  42598. break
  42599. }
  42600. }
  42601. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  42602. var o, test uintptr
  42603. _, _ = o, test
  42604. test = libc.Xmalloc(tls, uint64(24))
  42605. if test != 0 {
  42606. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  42607. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  42608. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  42609. (*TFcTest)(unsafe.Pointer(test)).Fop = libc.Int32FromUint32(compare)
  42610. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  42611. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  42612. if o != 0 {
  42613. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  42614. }
  42615. }
  42616. return test
  42617. }
  42618. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  42619. var e, o uintptr
  42620. _, _ = e, o
  42621. e = libc.Xmalloc(tls, uint64(24))
  42622. if e != 0 {
  42623. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  42624. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  42625. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  42626. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  42627. o = XIA__FcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  42628. if o != 0 {
  42629. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  42630. }
  42631. }
  42632. return e
  42633. }
  42634. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  42635. var r uintptr
  42636. _ = r
  42637. r = libc.Xmalloc(tls, uint64(24))
  42638. if !(r != 0) {
  42639. return libc.UintptrFromInt32(0)
  42640. }
  42641. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  42642. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  42643. switch type1 {
  42644. case int32(_FcRuleTest):
  42645. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  42646. case int32(_FcRuleEdit):
  42647. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  42648. case int32(_FcRuleUnknown):
  42649. fallthrough
  42650. default:
  42651. libc.Xfree(tls, r)
  42652. r = libc.UintptrFromInt32(0)
  42653. break
  42654. }
  42655. return r
  42656. }
  42657. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  42658. var new1, v2, v3 uintptr
  42659. var v1 uint32
  42660. _, _, _, _ = new1, v1, v2, v3
  42661. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  42662. v2 = parse + 2496
  42663. v1 = *(*uint32)(unsafe.Pointer(v2))
  42664. *(*uint32)(unsafe.Pointer(v2))++
  42665. new1 = parse + 2504 + uintptr(v1)*32
  42666. } else {
  42667. new1 = libc.Xmalloc(tls, uint64(32))
  42668. if !(new1 != 0) {
  42669. return uintptr(0)
  42670. }
  42671. }
  42672. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  42673. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  42674. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42675. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  42676. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  42677. } else {
  42678. v3 = uintptr(0)
  42679. }
  42680. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  42681. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  42682. return new1
  42683. }
  42684. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  42685. var vstack uintptr
  42686. _ = vstack
  42687. vstack = _FcVStackCreateAndPush(tls, parse)
  42688. if !(vstack != 0) {
  42689. return m_FcFalse
  42690. }
  42691. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  42692. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  42693. return int32(m_FcTrue)
  42694. }
  42695. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  42696. var vstack uintptr
  42697. _ = vstack
  42698. vstack = _FcVStackCreateAndPush(tls, parse)
  42699. if !(vstack != 0) {
  42700. return m_FcFalse
  42701. }
  42702. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  42703. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  42704. return int32(m_FcTrue)
  42705. }
  42706. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  42707. var vstack uintptr
  42708. _ = vstack
  42709. vstack = _FcVStackCreateAndPush(tls, parse)
  42710. if !(vstack != 0) {
  42711. return m_FcFalse
  42712. }
  42713. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  42714. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  42715. return int32(m_FcTrue)
  42716. }
  42717. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  42718. var vstack uintptr
  42719. _ = vstack
  42720. vstack = _FcVStackCreateAndPush(tls, parse)
  42721. if !(vstack != 0) {
  42722. return m_FcFalse
  42723. }
  42724. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  42725. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  42726. return int32(m_FcTrue)
  42727. }
  42728. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  42729. var vstack uintptr
  42730. _ = vstack
  42731. vstack = _FcVStackCreateAndPush(tls, parse)
  42732. if !(vstack != 0) {
  42733. return m_FcFalse
  42734. }
  42735. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  42736. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  42737. return int32(m_FcTrue)
  42738. }
  42739. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  42740. var vstack uintptr
  42741. _ = vstack
  42742. vstack = _FcVStackCreateAndPush(tls, parse)
  42743. if !(vstack != 0) {
  42744. return m_FcFalse
  42745. }
  42746. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  42747. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  42748. return int32(m_FcTrue)
  42749. }
  42750. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  42751. var vstack uintptr
  42752. _ = vstack
  42753. if !(charset != 0) {
  42754. return m_FcFalse
  42755. }
  42756. vstack = _FcVStackCreateAndPush(tls, parse)
  42757. if !(vstack != 0) {
  42758. return m_FcFalse
  42759. }
  42760. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  42761. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  42762. return int32(m_FcTrue)
  42763. }
  42764. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  42765. var vstack uintptr
  42766. _ = vstack
  42767. if !(langset != 0) {
  42768. return m_FcFalse
  42769. }
  42770. vstack = _FcVStackCreateAndPush(tls, parse)
  42771. if !(vstack != 0) {
  42772. return m_FcFalse
  42773. }
  42774. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  42775. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  42776. return int32(m_FcTrue)
  42777. }
  42778. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  42779. var vstack uintptr
  42780. _ = vstack
  42781. vstack = _FcVStackCreateAndPush(tls, parse)
  42782. if !(vstack != 0) {
  42783. return m_FcFalse
  42784. }
  42785. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  42786. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  42787. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  42788. return int32(m_FcTrue)
  42789. }
  42790. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  42791. var vstack uintptr
  42792. _ = vstack
  42793. vstack = _FcVStackCreateAndPush(tls, parse)
  42794. if !(vstack != 0) {
  42795. return m_FcFalse
  42796. }
  42797. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  42798. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  42799. return int32(m_FcTrue)
  42800. }
  42801. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  42802. var vstack uintptr
  42803. _ = vstack
  42804. vstack = _FcVStackCreateAndPush(tls, parse)
  42805. if !(vstack != 0) {
  42806. return m_FcFalse
  42807. }
  42808. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  42809. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  42810. return int32(m_FcTrue)
  42811. }
  42812. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  42813. var vstack uintptr
  42814. _ = vstack
  42815. vstack = _FcVStackCreateAndPush(tls, parse)
  42816. if !(vstack != 0) {
  42817. return m_FcFalse
  42818. }
  42819. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  42820. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  42821. return int32(m_FcTrue)
  42822. }
  42823. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  42824. var vstack uintptr
  42825. _ = vstack
  42826. vstack = _FcVStackCreateAndPush(tls, parse)
  42827. if !(vstack != 0) {
  42828. return m_FcFalse
  42829. }
  42830. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  42831. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  42832. return int32(m_FcTrue)
  42833. }
  42834. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  42835. var vstack uintptr
  42836. var v2 int32
  42837. var v3 bool
  42838. _, _, _ = vstack, v2, v3
  42839. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42840. for {
  42841. if v3 = vstack != 0; v3 {
  42842. v2 = off
  42843. off--
  42844. }
  42845. if !(v3 && v2 > 0) {
  42846. break
  42847. }
  42848. goto _1
  42849. _1:
  42850. ;
  42851. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42852. }
  42853. return vstack
  42854. }
  42855. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  42856. var vstack, v1 uintptr
  42857. _, _ = vstack, v1
  42858. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42859. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42860. v1 = vstack
  42861. } else {
  42862. v1 = uintptr(0)
  42863. }
  42864. return v1
  42865. }
  42866. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  42867. var vstack uintptr
  42868. _ = vstack
  42869. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42870. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42871. return
  42872. }
  42873. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42874. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  42875. case int32(_FcVStackNone):
  42876. case int32(_FcVStackName):
  42877. case int32(_FcVStackFamily):
  42878. case int32(_FcVStackString):
  42879. fallthrough
  42880. case int32(_FcVStackConstant):
  42881. fallthrough
  42882. case int32(_FcVStackGlob):
  42883. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42884. case int32(_FcVStackPattern):
  42885. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42886. case int32(_FcVStackInteger):
  42887. fallthrough
  42888. case int32(_FcVStackDouble):
  42889. case int32(_FcVStackMatrix):
  42890. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42891. case int32(_FcVStackBool):
  42892. case int32(_FcVStackRange):
  42893. XIA__FcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42894. case int32(_FcVStackCharSet):
  42895. XIA__FcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42896. case int32(_FcVStackLangSet):
  42897. XIA__FcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42898. case int32(_FcVStackTest):
  42899. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42900. case int32(_FcVStackExpr):
  42901. fallthrough
  42902. case int32(_FcVStackPrefer):
  42903. fallthrough
  42904. case int32(_FcVStackAccept):
  42905. fallthrough
  42906. case int32(_FcVStackDefault):
  42907. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42908. case int32(_FcVStackEdit):
  42909. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  42910. break
  42911. }
  42912. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  42913. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  42914. } else {
  42915. libc.Xfree(tls, vstack)
  42916. }
  42917. }
  42918. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  42919. for _FcVStackPeek(tls, parse) != 0 {
  42920. _FcVStackPopAndDestroy(tls, parse)
  42921. }
  42922. }
  42923. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  42924. var h int32
  42925. var vstack uintptr
  42926. _, _ = h, vstack
  42927. h = 0
  42928. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  42929. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  42930. h++
  42931. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  42932. }
  42933. return h
  42934. }
  42935. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  42936. var i, slen int32
  42937. var new1, s uintptr
  42938. _, _, _, _ = i, new1, s, slen
  42939. if !(attr != 0) {
  42940. return uintptr(0)
  42941. }
  42942. slen = 0
  42943. i = 0
  42944. for {
  42945. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  42946. break
  42947. }
  42948. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  42949. goto _1
  42950. _1:
  42951. ;
  42952. i++
  42953. }
  42954. if i == 0 {
  42955. return uintptr(0)
  42956. }
  42957. slen = int32(uint64(slen) + libc.Uint64FromInt32(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  42958. if slen <= size_bytes {
  42959. new1 = buf
  42960. } else {
  42961. new1 = libc.Xmalloc(tls, libc.Uint64FromInt32(slen))
  42962. if !(new1 != 0) {
  42963. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+6635, 0)
  42964. return uintptr(0)
  42965. }
  42966. }
  42967. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  42968. i = 0
  42969. for {
  42970. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  42971. break
  42972. }
  42973. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  42974. libc.Xstrcpy(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)))
  42975. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  42976. goto _2
  42977. _2:
  42978. ;
  42979. i++
  42980. }
  42981. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  42982. return new1
  42983. }
  42984. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  42985. var new1, v2 uintptr
  42986. var v1 uint32
  42987. _, _, _ = new1, v1, v2
  42988. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  42989. v2 = parse + 56
  42990. v1 = *(*uint32)(unsafe.Pointer(v2))
  42991. *(*uint32)(unsafe.Pointer(v2))++
  42992. new1 = parse + 64 + uintptr(v1)*304
  42993. } else {
  42994. new1 = libc.Xmalloc(tls, uint64(304))
  42995. if !(new1 != 0) {
  42996. return m_FcFalse
  42997. }
  42998. }
  42999. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  43000. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  43001. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  43002. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  43003. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  43004. return int32(m_FcTrue)
  43005. }
  43006. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  43007. bp := tls.Alloc(16)
  43008. defer tls.Free(16)
  43009. var attrs, old uintptr
  43010. _, _ = attrs, old
  43011. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43012. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6649, 0)
  43013. return m_FcFalse
  43014. }
  43015. /* Don't check the attributes for FcElementNone */
  43016. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  43017. /* Warn about unused attrs. */
  43018. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  43019. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  43020. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  43021. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6669, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  43022. }
  43023. attrs += uintptr(2) * 8
  43024. }
  43025. }
  43026. _FcVStackClear(tls, parse)
  43027. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  43028. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  43029. XFcStrBufDestroy(tls, old+24)
  43030. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  43031. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  43032. }
  43033. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  43034. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  43035. } else {
  43036. libc.Xfree(tls, old)
  43037. }
  43038. return int32(m_FcTrue)
  43039. }
  43040. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  43041. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  43042. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  43043. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  43044. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  43045. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  43046. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  43047. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  43048. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  43049. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  43050. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  43051. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  43052. return int32(m_FcTrue)
  43053. }
  43054. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  43055. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  43056. _FcPStackPop(tls, parse)
  43057. }
  43058. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  43059. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  43060. }
  43061. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  43062. var attrs uintptr
  43063. _ = attrs
  43064. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43065. return uintptr(0)
  43066. }
  43067. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  43068. if !(attrs != 0) {
  43069. return uintptr(0)
  43070. }
  43071. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  43072. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  43073. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  43074. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  43075. }
  43076. attrs += uintptr(2) * 8
  43077. }
  43078. return uintptr(0)
  43079. }
  43080. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  43081. bp := tls.Alloc(16)
  43082. defer tls.Free(16)
  43083. var element TFcElement
  43084. var parse uintptr
  43085. _, _ = element, parse
  43086. parse = userData
  43087. element = _FcElementMap(tls, name)
  43088. if element == int32(_FcElementUnknown) {
  43089. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6692, libc.VaList(bp+8, name))
  43090. }
  43091. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  43092. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43093. return
  43094. }
  43095. return
  43096. }
  43097. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  43098. var n, v1 int32
  43099. var v uintptr
  43100. _, _, _ = n, v, v1
  43101. n = _FcVStackElements(tls, parse)
  43102. for {
  43103. v1 = n
  43104. n--
  43105. if !(v1 > 0) {
  43106. break
  43107. }
  43108. v = _FcVStackFetch(tls, parse, n)
  43109. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  43110. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6713, 0)
  43111. } else {
  43112. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  43113. }
  43114. }
  43115. }
  43116. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  43117. bp := tls.Alloc(32)
  43118. defer tls.Free(32)
  43119. var l int32
  43120. var s uintptr
  43121. var _ /* end at bp+0 */ uintptr
  43122. _, _ = l, s
  43123. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43124. return
  43125. }
  43126. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43127. if !(s != 0) {
  43128. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43129. return
  43130. }
  43131. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  43132. l = int32(libc.Xstrtol(tls, s, bp, 0))
  43133. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  43134. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6732, libc.VaList(bp+16, s))
  43135. } else {
  43136. _FcVStackPushInteger(tls, parse, l)
  43137. }
  43138. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43139. }
  43140. type Tlconv = struct {
  43141. Fdecimal_point uintptr
  43142. Fthousands_sep uintptr
  43143. Fgrouping uintptr
  43144. Fint_curr_symbol uintptr
  43145. Fcurrency_symbol uintptr
  43146. Fmon_decimal_point uintptr
  43147. Fmon_thousands_sep uintptr
  43148. Fmon_grouping uintptr
  43149. Fpositive_sign uintptr
  43150. Fnegative_sign uintptr
  43151. Fint_frac_digits uint8
  43152. Ffrac_digits uint8
  43153. Fp_cs_precedes uint8
  43154. Fp_sep_by_space uint8
  43155. Fn_cs_precedes uint8
  43156. Fn_sep_by_space uint8
  43157. Fp_sign_posn uint8
  43158. Fn_sign_posn uint8
  43159. Fint_p_cs_precedes uint8
  43160. Fint_p_sep_by_space uint8
  43161. Fint_n_cs_precedes uint8
  43162. Fint_n_sep_by_space uint8
  43163. Fint_p_sign_posn uint8
  43164. Fint_n_sign_posn uint8
  43165. }
  43166. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  43167. bp := tls.Alloc(144)
  43168. defer tls.Free(144)
  43169. var decimal_point, dot, locale_data, v1 uintptr
  43170. var dlen, slen int32
  43171. var v float64
  43172. var _ /* buf at bp+0 */ [128]uint8
  43173. var _ /* buf_end at bp+128 */ uintptr
  43174. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  43175. /*
  43176. * Have to swap the decimal point to match the current locale
  43177. * if that locale doesn't use 0x2e
  43178. */
  43179. locale_data = libc.Xlocaleconv(tls)
  43180. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  43181. dlen = libc.Int32FromUint64(libc.Xstrlen(tls, decimal_point))
  43182. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  43183. dot = v1
  43184. if v1 != 0 && (libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  43185. slen = libc.Int32FromUint64(libc.Xstrlen(tls, s))
  43186. if slen+dlen > libc.Int32FromInt64(128) {
  43187. if end != 0 {
  43188. *(*uintptr)(unsafe.Pointer(end)) = s
  43189. }
  43190. v = libc.Float64FromInt32(0)
  43191. } else {
  43192. /* mantissa */
  43193. libc.Xstrncpy(tls, bp, s, libc.Uint64FromInt64(int64(dot)-int64(s)))
  43194. /* decimal point */
  43195. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point)
  43196. /* rest of number */
  43197. libc.Xstrcpy(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1))
  43198. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  43199. v = libc.Xstrtod(tls, bp, bp+128)
  43200. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  43201. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  43202. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  43203. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  43204. }
  43205. }
  43206. if end != 0 {
  43207. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  43208. }
  43209. }
  43210. } else {
  43211. v = libc.Xstrtod(tls, s, end)
  43212. }
  43213. return v
  43214. }
  43215. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  43216. bp := tls.Alloc(32)
  43217. defer tls.Free(32)
  43218. var d float64
  43219. var s uintptr
  43220. var _ /* end at bp+0 */ uintptr
  43221. _, _ = d, s
  43222. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43223. return
  43224. }
  43225. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43226. if !(s != 0) {
  43227. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43228. return
  43229. }
  43230. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  43231. d = _FcStrtod(tls, s, bp)
  43232. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  43233. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6758, libc.VaList(bp+16, s))
  43234. } else {
  43235. _FcVStackPushDouble(tls, parse, d)
  43236. }
  43237. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43238. }
  43239. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  43240. var s uintptr
  43241. _ = s
  43242. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43243. return
  43244. }
  43245. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43246. if !(s != 0) {
  43247. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43248. return
  43249. }
  43250. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  43251. XIA__FcStrFree(tls, s)
  43252. }
  43253. }
  43254. func _FcParseName(tls *libc.TLS, parse uintptr) {
  43255. bp := tls.Alloc(16)
  43256. defer tls.Free(16)
  43257. var kind TFcMatchKind
  43258. var kind_string, s uintptr
  43259. var object TFcObject
  43260. _, _, _, _ = kind, kind_string, object, s
  43261. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  43262. if !(kind_string != 0) {
  43263. kind = -libc.Int32FromInt32(1)
  43264. } else {
  43265. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6790) != 0) {
  43266. kind = int32(_FcMatchPattern)
  43267. } else {
  43268. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6798) != 0) {
  43269. kind = int32(_FcMatchFont)
  43270. } else {
  43271. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6803) != 0) {
  43272. kind = -libc.Int32FromInt32(1)
  43273. } else {
  43274. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6811, libc.VaList(bp+8, kind_string))
  43275. return
  43276. }
  43277. }
  43278. }
  43279. }
  43280. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43281. return
  43282. }
  43283. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43284. if !(s != 0) {
  43285. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43286. return
  43287. }
  43288. object = XFcObjectFromName(tls, s)
  43289. _FcVStackPushName(tls, parse, kind, object)
  43290. XIA__FcStrFree(tls, s)
  43291. }
  43292. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  43293. bp := tls.Alloc(32)
  43294. defer tls.Free(32)
  43295. var _ /* m at bp+0 */ TFcExprMatrix
  43296. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  43297. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  43298. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  43299. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  43300. if _FcPopExpr(tls, parse) != 0 {
  43301. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6836, 0)
  43302. } else {
  43303. _FcVStackPushMatrix(tls, parse, bp)
  43304. }
  43305. }
  43306. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  43307. var count int32
  43308. var d [2]float64
  43309. var dflag TFcBool
  43310. var n [2]TFcChar32
  43311. var r, vstack, v1 uintptr
  43312. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  43313. n = [2]TFcChar32{}
  43314. count = int32(1)
  43315. d = [2]float64{}
  43316. dflag = m_FcFalse
  43317. for {
  43318. v1 = _FcVStackPeek(tls, parse)
  43319. vstack = v1
  43320. if !(v1 != 0) {
  43321. break
  43322. }
  43323. if count < 0 {
  43324. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6868, 0)
  43325. return
  43326. }
  43327. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43328. case int32(_FcVStackInteger):
  43329. if dflag != 0 {
  43330. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43331. } else {
  43332. n[count] = libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43333. }
  43334. case int32(_FcVStackDouble):
  43335. if count == 0 && !(dflag != 0) {
  43336. d[int32(1)] = float64(n[int32(1)])
  43337. }
  43338. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  43339. dflag = int32(m_FcTrue)
  43340. default:
  43341. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6895, 0)
  43342. if dflag != 0 {
  43343. d[count] = libc.Float64FromFloat64(0)
  43344. } else {
  43345. n[count] = uint32(0)
  43346. }
  43347. break
  43348. }
  43349. count--
  43350. _FcVStackPopAndDestroy(tls, parse)
  43351. }
  43352. if count >= 0 {
  43353. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43354. return
  43355. }
  43356. if dflag != 0 {
  43357. if d[0] > d[int32(1)] {
  43358. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43359. return
  43360. }
  43361. r = XIA__FcRangeCreateDouble(tls, d[0], d[int32(1)])
  43362. } else {
  43363. if n[0] > n[int32(1)] {
  43364. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6920, 0)
  43365. return
  43366. }
  43367. r = XIA__FcRangeCreateInteger(tls, n[0], n[int32(1)])
  43368. }
  43369. _FcVStackPushRange(tls, parse, r)
  43370. }
  43371. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  43372. bp := tls.Alloc(32)
  43373. defer tls.Free(32)
  43374. var _ /* result at bp+0 */ TFcBool
  43375. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  43376. if !(XFcNameBool(tls, bool_, bp) != 0) {
  43377. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6934, libc.VaList(bp+16, bool_))
  43378. }
  43379. return *(*TFcBool)(unsafe.Pointer(bp))
  43380. }
  43381. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  43382. var s uintptr
  43383. _ = s
  43384. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43385. return
  43386. }
  43387. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43388. if !(s != 0) {
  43389. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43390. return
  43391. }
  43392. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  43393. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43394. }
  43395. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  43396. bp := tls.Alloc(16)
  43397. defer tls.Free(16)
  43398. var begin, end, i TFcChar32
  43399. var charset, vstack, v1 uintptr
  43400. var n int32
  43401. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  43402. charset = XIA__FcCharSetCreate(tls)
  43403. n = 0
  43404. for {
  43405. v1 = _FcVStackPeek(tls, parse)
  43406. vstack = v1
  43407. if !(v1 != 0) {
  43408. break
  43409. }
  43410. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43411. case int32(_FcVStackInteger):
  43412. if !(XIA__FcCharSetAddChar(tls, charset, libc.Uint32FromInt32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  43413. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6960, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  43414. } else {
  43415. n++
  43416. }
  43417. case int32(_FcVStackRange):
  43418. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  43419. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  43420. if begin <= end {
  43421. i = begin
  43422. for {
  43423. if !(i <= end) {
  43424. break
  43425. }
  43426. if !(XIA__FcCharSetAddChar(tls, charset, i) != 0) {
  43427. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+6960, libc.VaList(bp+8, i))
  43428. } else {
  43429. n++
  43430. }
  43431. goto _2
  43432. _2:
  43433. ;
  43434. i++
  43435. }
  43436. }
  43437. default:
  43438. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6986, 0)
  43439. break
  43440. }
  43441. _FcVStackPopAndDestroy(tls, parse)
  43442. }
  43443. if n > 0 {
  43444. _FcVStackPushCharSet(tls, parse, charset)
  43445. } else {
  43446. XIA__FcCharSetDestroy(tls, charset)
  43447. }
  43448. }
  43449. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  43450. bp := tls.Alloc(16)
  43451. defer tls.Free(16)
  43452. var langset, vstack, v1 uintptr
  43453. var n int32
  43454. _, _, _, _ = langset, n, vstack, v1
  43455. langset = XIA__FcLangSetCreate(tls)
  43456. n = 0
  43457. for {
  43458. v1 = _FcVStackPeek(tls, parse)
  43459. vstack = v1
  43460. if !(v1 != 0) {
  43461. break
  43462. }
  43463. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43464. case int32(_FcVStackString):
  43465. if !(XIA__FcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  43466. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7013, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  43467. } else {
  43468. n++
  43469. }
  43470. default:
  43471. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7033, 0)
  43472. break
  43473. }
  43474. _FcVStackPopAndDestroy(tls, parse)
  43475. }
  43476. if n > 0 {
  43477. _FcVStackPushLangSet(tls, parse, langset)
  43478. } else {
  43479. XIA__FcLangSetDestroy(tls, langset)
  43480. }
  43481. }
  43482. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  43483. bp := tls.Alloc(16)
  43484. defer tls.Free(16)
  43485. var binding TFcValueBinding
  43486. _ = binding
  43487. if !(binding_string != 0) {
  43488. binding = int32(_FcValueBindingWeak)
  43489. } else {
  43490. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7060) != 0) {
  43491. binding = int32(_FcValueBindingWeak)
  43492. } else {
  43493. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7065) != 0) {
  43494. binding = int32(_FcValueBindingStrong)
  43495. } else {
  43496. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7072) != 0) {
  43497. binding = int32(_FcValueBindingSame)
  43498. } else {
  43499. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7077, libc.VaList(bp+8, binding_string))
  43500. return m_FcFalse
  43501. }
  43502. }
  43503. }
  43504. }
  43505. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  43506. return int32(m_FcTrue)
  43507. }
  43508. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  43509. var expr, left, new1, vstack, v1 uintptr
  43510. _, _, _, _, _ = expr, left, new1, vstack, v1
  43511. expr = uintptr(0)
  43512. for {
  43513. v1 = _FcVStackPeek(tls, parse)
  43514. vstack = v1
  43515. if !(v1 != 0) {
  43516. break
  43517. }
  43518. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  43519. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7098, 0)
  43520. _FcVStackPopAndDestroy(tls, parse)
  43521. continue
  43522. }
  43523. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43524. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43525. _FcVStackPopAndDestroy(tls, parse)
  43526. if expr != 0 {
  43527. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  43528. if !(new1 != 0) {
  43529. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43530. _FcExprDestroy(tls, left)
  43531. _FcExprDestroy(tls, expr)
  43532. break
  43533. }
  43534. expr = new1
  43535. } else {
  43536. expr = left
  43537. }
  43538. }
  43539. if expr != 0 {
  43540. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  43541. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43542. _FcExprDestroy(tls, expr)
  43543. }
  43544. }
  43545. }
  43546. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  43547. var expr, s uintptr
  43548. _, _ = expr, s
  43549. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  43550. return
  43551. }
  43552. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43553. if !(s != 0) {
  43554. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43555. return
  43556. }
  43557. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  43558. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43559. if expr != 0 {
  43560. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  43561. }
  43562. }
  43563. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  43564. bp := tls.Alloc(16)
  43565. defer tls.Free(16)
  43566. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  43567. var n, v4 int32
  43568. var _ /* binding at bp+0 */ TFcValueBinding
  43569. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  43570. family = uintptr(0)
  43571. accept = uintptr(0)
  43572. prefer = uintptr(0)
  43573. def = uintptr(0)
  43574. new1 = uintptr(0)
  43575. edit = uintptr(0)
  43576. rule = libc.UintptrFromInt32(0)
  43577. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7109), bp) != 0) {
  43578. return
  43579. }
  43580. for {
  43581. v1 = _FcVStackPeek(tls, parse)
  43582. vstack = v1
  43583. if !(v1 != 0) {
  43584. break
  43585. }
  43586. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43587. case int32(_FcVStackFamily):
  43588. if family != 0 {
  43589. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7117, 0)
  43590. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  43591. if !(new1 != 0) {
  43592. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43593. } else {
  43594. family = new1
  43595. }
  43596. } else {
  43597. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43598. }
  43599. if new1 != 0 {
  43600. family = new1
  43601. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43602. }
  43603. case int32(_FcVStackPrefer):
  43604. if prefer != 0 {
  43605. _FcExprDestroy(tls, prefer)
  43606. }
  43607. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43608. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43609. case int32(_FcVStackAccept):
  43610. if accept != 0 {
  43611. _FcExprDestroy(tls, accept)
  43612. }
  43613. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43614. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43615. case int32(_FcVStackDefault):
  43616. if def != 0 {
  43617. _FcExprDestroy(tls, def)
  43618. }
  43619. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43620. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43621. case int32(_FcVStackTest):
  43622. if rule != 0 {
  43623. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43624. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  43625. rule = r
  43626. } else {
  43627. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43628. }
  43629. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43630. default:
  43631. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7198, 0)
  43632. break
  43633. }
  43634. _FcVStackPopAndDestroy(tls, parse)
  43635. }
  43636. if !(family != 0) {
  43637. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7208, 0)
  43638. if prefer != 0 {
  43639. _FcExprDestroy(tls, prefer)
  43640. }
  43641. if accept != 0 {
  43642. _FcExprDestroy(tls, accept)
  43643. }
  43644. if def != 0 {
  43645. _FcExprDestroy(tls, def)
  43646. }
  43647. if rule != 0 {
  43648. XFcRuleDestroy(tls, rule)
  43649. }
  43650. return
  43651. }
  43652. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  43653. _FcExprDestroy(tls, family)
  43654. if rule != 0 {
  43655. XFcRuleDestroy(tls, rule)
  43656. }
  43657. return
  43658. } else {
  43659. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+4049, libc.Uint32FromInt32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  43660. if rule != 0 {
  43661. r = rule
  43662. for {
  43663. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  43664. break
  43665. }
  43666. goto _2
  43667. _2:
  43668. ;
  43669. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43670. }
  43671. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  43672. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43673. } else {
  43674. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  43675. rule = v3
  43676. r = v3
  43677. }
  43678. }
  43679. if prefer != 0 {
  43680. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43681. if !(edit != 0) {
  43682. _FcExprDestroy(tls, prefer)
  43683. } else {
  43684. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43685. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43686. }
  43687. }
  43688. if accept != 0 {
  43689. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43690. if !(edit != 0) {
  43691. _FcExprDestroy(tls, accept)
  43692. } else {
  43693. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43694. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43695. }
  43696. }
  43697. if def != 0 {
  43698. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  43699. if !(edit != 0) {
  43700. _FcExprDestroy(tls, def)
  43701. } else {
  43702. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  43703. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  43704. }
  43705. }
  43706. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  43707. n = v4
  43708. if v4 == -int32(1) {
  43709. XFcRuleDestroy(tls, rule)
  43710. } else {
  43711. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  43712. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  43713. }
  43714. }
  43715. }
  43716. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  43717. var desc, domain uintptr
  43718. _, _ = desc, domain
  43719. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7232)
  43720. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43721. if !(desc != 0) {
  43722. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43723. return
  43724. }
  43725. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  43726. XIA__FcStrFree(tls, desc)
  43727. }
  43728. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  43729. var expr, vstack uintptr
  43730. _, _ = expr, vstack
  43731. vstack = _FcVStackPeek(tls, parse)
  43732. expr = uintptr(0)
  43733. if !(vstack != 0) {
  43734. return uintptr(0)
  43735. }
  43736. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  43737. case int32(_FcVStackNone):
  43738. case int32(_FcVStackString):
  43739. fallthrough
  43740. case int32(_FcVStackFamily):
  43741. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43742. case int32(_FcVStackName):
  43743. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  43744. case int32(_FcVStackConstant):
  43745. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43746. case int32(_FcVStackGlob):
  43747. /* XXX: What's the correct action here? (CDW) */
  43748. case int32(_FcVStackPrefer):
  43749. fallthrough
  43750. case int32(_FcVStackAccept):
  43751. fallthrough
  43752. case int32(_FcVStackDefault):
  43753. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43754. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43755. case int32(_FcVStackInteger):
  43756. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43757. case int32(_FcVStackDouble):
  43758. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  43759. case int32(_FcVStackMatrix):
  43760. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43761. case int32(_FcVStackRange):
  43762. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43763. case int32(_FcVStackBool):
  43764. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  43765. case int32(_FcVStackCharSet):
  43766. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43767. case int32(_FcVStackLangSet):
  43768. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  43769. case int32(_FcVStackTest):
  43770. case int32(_FcVStackExpr):
  43771. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  43772. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  43773. case int32(_FcVStackEdit):
  43774. default:
  43775. break
  43776. }
  43777. _FcVStackPopAndDestroy(tls, parse)
  43778. return expr
  43779. }
  43780. // C documentation
  43781. //
  43782. // /*
  43783. // * This builds a tree of binary operations. Note
  43784. // * that every operator is defined so that if only
  43785. // * a single operand is contained, the value of the
  43786. // * whole expression is the value of the operand.
  43787. // *
  43788. // * This code reduces in that case to returning that
  43789. // * operand.
  43790. // */
  43791. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  43792. var expr, left, new1, v1 uintptr
  43793. _, _, _, _ = expr, left, new1, v1
  43794. expr = uintptr(0)
  43795. for {
  43796. v1 = _FcPopExpr(tls, parse)
  43797. left = v1
  43798. if !(v1 != 0) {
  43799. break
  43800. }
  43801. if expr != 0 {
  43802. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  43803. if !(new1 != 0) {
  43804. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43805. _FcExprDestroy(tls, left)
  43806. _FcExprDestroy(tls, expr)
  43807. return uintptr(0)
  43808. }
  43809. expr = new1
  43810. } else {
  43811. expr = left
  43812. }
  43813. }
  43814. return expr
  43815. }
  43816. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  43817. var expr uintptr
  43818. _ = expr
  43819. expr = _FcPopBinary(tls, parse, op)
  43820. if expr != 0 {
  43821. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  43822. }
  43823. }
  43824. /*
  43825. * This builds a a unary operator, it consumes only
  43826. * a single operand
  43827. */
  43828. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  43829. var new1, operand, v1 uintptr
  43830. _, _, _ = new1, operand, v1
  43831. new1 = uintptr(0)
  43832. v1 = _FcPopExpr(tls, parse)
  43833. operand = v1
  43834. if v1 != 0 {
  43835. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  43836. if !(new1 != 0) {
  43837. _FcExprDestroy(tls, operand)
  43838. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43839. }
  43840. }
  43841. return new1
  43842. }
  43843. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  43844. var expr uintptr
  43845. _ = expr
  43846. expr = _FcPopUnary(tls, parse, op)
  43847. if expr != 0 {
  43848. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  43849. }
  43850. }
  43851. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  43852. bp := tls.Alloc(16)
  43853. defer tls.Free(16)
  43854. var attr, data, p, prefix uintptr
  43855. var dlen, plen Tsize_t
  43856. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  43857. prefix = libc.UintptrFromInt32(0)
  43858. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  43859. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  43860. prefix = XFcConfigXdgDataHome(tls)
  43861. /* home directory might be disabled.
  43862. * simply ignore this element.
  43863. */
  43864. if !(prefix != 0) {
  43865. goto bail
  43866. }
  43867. }
  43868. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43869. if !(data != 0) {
  43870. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43871. data = prefix
  43872. goto bail
  43873. }
  43874. if prefix != 0 {
  43875. plen = libc.Xstrlen(tls, prefix)
  43876. dlen = libc.Xstrlen(tls, data)
  43877. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  43878. if !(p != 0) {
  43879. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43880. goto bail
  43881. }
  43882. prefix = p
  43883. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  43884. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), data, dlen)
  43885. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  43886. data = prefix
  43887. }
  43888. if libc.Xstrlen(tls, data) == uint64(0) {
  43889. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7250, 0)
  43890. } else {
  43891. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  43892. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  43893. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7284, libc.VaList(bp+8, data))
  43894. }
  43895. }
  43896. }
  43897. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43898. goto bail
  43899. bail:
  43900. ;
  43901. if prefix != 0 {
  43902. XIA__FcStrFree(tls, prefix)
  43903. }
  43904. }
  43905. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  43906. bp := tls.Alloc(16)
  43907. defer tls.Free(16)
  43908. var attr, data, p, prefix uintptr
  43909. var dlen, plen Tsize_t
  43910. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  43911. prefix = libc.UintptrFromInt32(0)
  43912. data = libc.UintptrFromInt32(0)
  43913. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  43914. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  43915. prefix = XFcConfigXdgCacheHome(tls)
  43916. /* home directory might be disabled.
  43917. * simply ignore this element.
  43918. */
  43919. if !(prefix != 0) {
  43920. goto bail
  43921. }
  43922. }
  43923. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43924. if !(data != 0) {
  43925. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43926. data = prefix
  43927. goto bail
  43928. }
  43929. if prefix != 0 {
  43930. plen = libc.Xstrlen(tls, prefix)
  43931. dlen = libc.Xstrlen(tls, data)
  43932. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  43933. if !(p != 0) {
  43934. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  43935. XIA__FcStrFree(tls, prefix)
  43936. goto bail
  43937. }
  43938. prefix = p
  43939. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  43940. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), data, dlen)
  43941. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  43942. XIA__FcStrFree(tls, data)
  43943. data = prefix
  43944. }
  43945. if libc.Xstrlen(tls, data) == uint64(0) {
  43946. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7323, 0)
  43947. } else {
  43948. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XIA__FcConfigHome(tls) != 0) {
  43949. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  43950. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7358, libc.VaList(bp+8, data))
  43951. }
  43952. }
  43953. }
  43954. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  43955. goto bail
  43956. bail:
  43957. ;
  43958. if data != 0 {
  43959. XIA__FcStrFree(tls, data)
  43960. }
  43961. }
  43962. func XFcConfigPathFini(tls *libc.TLS) {
  43963. var s uintptr
  43964. var v1, v2 int32
  43965. _, _, _ = s, v1, v2
  43966. goto retry_dir
  43967. retry_dir:
  43968. ;
  43969. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  43970. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  43971. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  43972. v1 = libc.Int32FromInt32(m_FcTrue)
  43973. } else {
  43974. v1 = m_FcFalse
  43975. }
  43976. if !(v1 != 0) {
  43977. goto retry_dir
  43978. }
  43979. libc.Xfree(tls, s)
  43980. goto retry_conf
  43981. retry_conf:
  43982. ;
  43983. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  43984. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  43985. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  43986. v2 = libc.Int32FromInt32(m_FcTrue)
  43987. } else {
  43988. v2 = m_FcFalse
  43989. }
  43990. if !(v2 != 0) {
  43991. goto retry_conf
  43992. }
  43993. libc.Xfree(tls, s)
  43994. }
  43995. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  43996. bp := tls.Alloc(48)
  43997. defer tls.Free(48)
  43998. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  43999. var deprecated, ignore_missing TFcBool
  44000. var dlen, plen Tsize_t
  44001. var k TFcMatchKind
  44002. var v3, v6 int32
  44003. var _ /* iter at bp+0 */ TFcPtrListIter
  44004. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  44005. ignore_missing = m_FcFalse
  44006. deprecated = m_FcFalse
  44007. prefix = libc.UintptrFromInt32(0)
  44008. userdir = libc.UintptrFromInt32(0)
  44009. userconf = libc.UintptrFromInt32(0)
  44010. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44011. if !(s != 0) {
  44012. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44013. goto bail
  44014. }
  44015. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7403)
  44016. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  44017. ignore_missing = int32(m_FcTrue)
  44018. }
  44019. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7418)
  44020. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  44021. deprecated = int32(m_FcTrue)
  44022. }
  44023. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7239)
  44024. if attr != 0 && XIA__FcStrCmp(tls, attr, __ccgo_ts+7246) == 0 {
  44025. prefix = XFcConfigXdgConfigHome(tls)
  44026. /* home directory might be disabled.
  44027. * simply ignore this element.
  44028. */
  44029. if !(prefix != 0) {
  44030. goto bail
  44031. }
  44032. }
  44033. if prefix != 0 {
  44034. plen = libc.Xstrlen(tls, prefix)
  44035. dlen = libc.Xstrlen(tls, s)
  44036. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  44037. if !(p != 0) {
  44038. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44039. goto bail
  44040. }
  44041. prefix = p
  44042. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  44043. libc.Xmemcpy(tls, prefix+uintptr(plen+uint64(1)), s, dlen)
  44044. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  44045. s = prefix
  44046. if !(XIA__FcFileIsDir(tls, s) != 0) {
  44047. goto _1
  44048. }
  44049. goto userdir
  44050. userdir:
  44051. ;
  44052. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  44053. if !(userdir != 0) {
  44054. u = libc.Xstrdup(tls, s)
  44055. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  44056. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  44057. v3 = libc.Int32FromInt32(m_FcTrue)
  44058. } else {
  44059. v3 = m_FcFalse
  44060. }
  44061. if !(v3 != 0) {
  44062. libc.Xfree(tls, u)
  44063. goto userdir
  44064. }
  44065. userdir = u
  44066. }
  44067. goto _2
  44068. _1:
  44069. ;
  44070. if !(XFcFileIsFile(tls, s) != 0) {
  44071. goto _4
  44072. }
  44073. goto userconf
  44074. userconf:
  44075. ;
  44076. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  44077. if !(userconf != 0) {
  44078. u = libc.Xstrdup(tls, s)
  44079. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  44080. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  44081. v6 = libc.Int32FromInt32(m_FcTrue)
  44082. } else {
  44083. v6 = m_FcFalse
  44084. }
  44085. if !(v6 != 0) {
  44086. libc.Xfree(tls, u)
  44087. goto userconf
  44088. }
  44089. userconf = u
  44090. }
  44091. goto _5
  44092. _4:
  44093. ;
  44094. /* No config dir nor file on the XDG directory spec compliant place
  44095. * so need to guess what it is supposed to be.
  44096. */
  44097. if XIA__FcStrStr(tls, s, __ccgo_ts+7429) != libc.UintptrFromInt32(0) {
  44098. goto userdir
  44099. } else {
  44100. goto userconf
  44101. }
  44102. _5:
  44103. ;
  44104. _2:
  44105. }
  44106. /* flush the ruleset into the queue */
  44107. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  44108. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  44109. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  44110. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  44111. k = int32(_FcMatchKindBegin)
  44112. for {
  44113. if !(k < int32(_FcMatchKindEnd)) {
  44114. break
  44115. }
  44116. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  44117. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  44118. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 32 + uintptr(k)*8)), bp)
  44119. XFcRuleSetReference(tls, ruleset)
  44120. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 32 + uintptr(k)*8)), bp, ruleset)
  44121. }
  44122. goto _7
  44123. _7:
  44124. ;
  44125. k++
  44126. }
  44127. XFcRuleSetDestroy(tls, ruleset)
  44128. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  44129. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  44130. } else {
  44131. filename = XIA__FcConfigFilename(tls, s)
  44132. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  44133. if XIA__FcFileIsDir(tls, filename) != 0 {
  44134. parent = XIA__FcStrDirname(tls, userdir)
  44135. if !(XIA__FcFileIsDir(tls, parent) != 0) {
  44136. XFcMakeDirectory(tls, parent)
  44137. }
  44138. XIA__FcStrFree(tls, parent)
  44139. if XIA__FcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  44140. if !(_warn_confd != 0) {
  44141. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7436, libc.VaList(bp+32, s, userdir))
  44142. _warn_confd = int32(m_FcTrue)
  44143. }
  44144. }
  44145. } else {
  44146. parent1 = XIA__FcStrDirname(tls, userconf)
  44147. if !(XIA__FcFileIsDir(tls, parent1) != 0) {
  44148. XFcMakeDirectory(tls, parent1)
  44149. }
  44150. XIA__FcStrFree(tls, parent1)
  44151. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  44152. if !(_warn_conf != 0) {
  44153. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7436, libc.VaList(bp+32, s, userconf))
  44154. _warn_conf = int32(m_FcTrue)
  44155. }
  44156. }
  44157. }
  44158. }
  44159. if filename != 0 {
  44160. XIA__FcStrFree(tls, filename)
  44161. }
  44162. }
  44163. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44164. goto bail
  44165. bail:
  44166. ;
  44167. if prefix != 0 {
  44168. XIA__FcStrFree(tls, prefix)
  44169. }
  44170. }
  44171. var _warn_conf TFcBool
  44172. var _warn_confd TFcBool
  44173. type TFcOpMap = struct {
  44174. Fname [16]uint8
  44175. Fop TFcOp
  44176. }
  44177. type T_FcOpMap = TFcOpMap
  44178. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  44179. var i int32
  44180. _ = i
  44181. i = 0
  44182. for {
  44183. if !(i < nmap) {
  44184. break
  44185. }
  44186. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  44187. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  44188. }
  44189. goto _1
  44190. _1:
  44191. ;
  44192. i++
  44193. }
  44194. return int32(_FcOpInvalid)
  44195. }
  44196. var _fcCompareOps = [8]TFcOpMap{
  44197. 0: {
  44198. Fname: [16]uint8{'e', 'q'},
  44199. Fop: int32(_FcOpEqual),
  44200. },
  44201. 1: {
  44202. Fname: [16]uint8{'n', 'o', 't', '_', 'e', 'q'},
  44203. Fop: int32(_FcOpNotEqual),
  44204. },
  44205. 2: {
  44206. Fname: [16]uint8{'l', 'e', 's', 's'},
  44207. Fop: int32(_FcOpLess),
  44208. },
  44209. 3: {
  44210. Fname: [16]uint8{'l', 'e', 's', 's', '_', 'e', 'q'},
  44211. Fop: int32(_FcOpLessEqual),
  44212. },
  44213. 4: {
  44214. Fname: [16]uint8{'m', 'o', 'r', 'e'},
  44215. Fop: int32(_FcOpMore),
  44216. },
  44217. 5: {
  44218. Fname: [16]uint8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  44219. Fop: int32(_FcOpMoreEqual),
  44220. },
  44221. 6: {
  44222. Fname: [16]uint8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44223. Fop: int32(_FcOpContains),
  44224. },
  44225. 7: {
  44226. Fname: [16]uint8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  44227. Fop: int32(_FcOpNotContains),
  44228. },
  44229. }
  44230. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  44231. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  44232. }
  44233. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  44234. bp := tls.Alloc(32)
  44235. defer tls.Free(32)
  44236. var compare TFcOp
  44237. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  44238. var flags int32
  44239. var kind TFcMatchKind
  44240. var qual TFcQual
  44241. var _ /* f at bp+0 */ TFcBool
  44242. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  44243. flags = 0
  44244. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  44245. if !(kind_string != 0) {
  44246. kind = -libc.Int32FromInt32(1)
  44247. } else {
  44248. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6790) != 0) {
  44249. kind = int32(_FcMatchPattern)
  44250. } else {
  44251. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6798) != 0) {
  44252. kind = int32(_FcMatchFont)
  44253. } else {
  44254. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7512) != 0) {
  44255. kind = int32(_FcMatchScan)
  44256. } else {
  44257. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+6803) != 0) {
  44258. kind = -libc.Int32FromInt32(1)
  44259. } else {
  44260. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7517, libc.VaList(bp+16, kind_string))
  44261. return
  44262. }
  44263. }
  44264. }
  44265. }
  44266. }
  44267. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7542)
  44268. if !(qual_string != 0) {
  44269. qual = int32(_FcQualAny)
  44270. } else {
  44271. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7547) != 0) {
  44272. qual = int32(_FcQualAny)
  44273. } else {
  44274. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7551) != 0) {
  44275. qual = int32(_FcQualAll)
  44276. } else {
  44277. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7555) != 0) {
  44278. qual = int32(_FcQualFirst)
  44279. } else {
  44280. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+7561) != 0) {
  44281. qual = int32(_FcQualNotFirst)
  44282. } else {
  44283. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7571, libc.VaList(bp+16, qual_string))
  44284. return
  44285. }
  44286. }
  44287. }
  44288. }
  44289. }
  44290. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44291. if !(name != 0) {
  44292. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7599, 0)
  44293. return
  44294. }
  44295. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7617)
  44296. if !(compare_string != 0) {
  44297. compare = int32(_FcOpEqual)
  44298. } else {
  44299. compare = _FcConfigLexCompare(tls, compare_string)
  44300. if compare == int32(_FcOpInvalid) {
  44301. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7625, libc.VaList(bp+16, compare_string))
  44302. return
  44303. }
  44304. }
  44305. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7651)
  44306. if iblanks_string != 0 {
  44307. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  44308. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  44309. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7665, libc.VaList(bp+16, iblanks_string))
  44310. }
  44311. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  44312. flags |= int32(_FcOpFlagIgnoreBlanks)
  44313. }
  44314. }
  44315. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  44316. if !(expr != 0) {
  44317. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7697, 0)
  44318. return
  44319. }
  44320. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  44321. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7721, 0)
  44322. }
  44323. test = _FcTestCreate(tls, parse, kind, qual, name, libc.Uint32FromInt32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  44324. if !(test != 0) {
  44325. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44326. return
  44327. }
  44328. _FcVStackPushTest(tls, parse, test)
  44329. }
  44330. var _fcModeOps = [8]TFcOpMap{
  44331. 0: {
  44332. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n'},
  44333. Fop: int32(_FcOpAssign),
  44334. },
  44335. 1: {
  44336. Fname: [16]uint8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  44337. Fop: int32(_FcOpAssignReplace),
  44338. },
  44339. 2: {
  44340. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  44341. Fop: int32(_FcOpPrepend),
  44342. },
  44343. 3: {
  44344. Fname: [16]uint8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  44345. Fop: int32(_FcOpPrependFirst),
  44346. },
  44347. 4: {
  44348. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd'},
  44349. Fop: int32(_FcOpAppend),
  44350. },
  44351. 5: {
  44352. Fname: [16]uint8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  44353. Fop: int32(_FcOpAppendLast),
  44354. },
  44355. 6: {
  44356. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e'},
  44357. Fop: int32(_FcOpDelete),
  44358. },
  44359. 7: {
  44360. Fname: [16]uint8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  44361. Fop: int32(_FcOpDeleteAll),
  44362. },
  44363. }
  44364. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  44365. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), libc.Int32FromUint64(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  44366. }
  44367. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  44368. bp := tls.Alloc(32)
  44369. defer tls.Free(32)
  44370. var edit, expr, mode_string, name uintptr
  44371. var mode TFcOp
  44372. var _ /* binding at bp+0 */ TFcValueBinding
  44373. _, _, _, _, _ = edit, expr, mode, mode_string, name
  44374. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44375. if !(name != 0) {
  44376. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7799, 0)
  44377. return
  44378. }
  44379. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7817)
  44380. if !(mode_string != 0) {
  44381. mode = int32(_FcOpAssign)
  44382. } else {
  44383. mode = _FcConfigLexMode(tls, mode_string)
  44384. if mode == int32(_FcOpInvalid) {
  44385. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7822, libc.VaList(bp+16, mode_string))
  44386. return
  44387. }
  44388. }
  44389. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7109), bp) != 0) {
  44390. return
  44391. }
  44392. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  44393. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  44394. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7845, 0)
  44395. _FcExprDestroy(tls, expr)
  44396. expr = libc.UintptrFromInt32(0)
  44397. }
  44398. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  44399. if !(edit != 0) {
  44400. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44401. _FcExprDestroy(tls, expr)
  44402. return
  44403. }
  44404. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  44405. XFcEditDestroy(tls, edit)
  44406. }
  44407. }
  44408. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  44409. bp := tls.Alloc(16)
  44410. defer tls.Free(16)
  44411. var kind TFcMatchKind
  44412. var kind_name, r, rule, vstack, v1 uintptr
  44413. var n, v2 int32
  44414. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  44415. rule = libc.UintptrFromInt32(0)
  44416. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+6783)
  44417. if !(kind_name != 0) {
  44418. kind = int32(_FcMatchPattern)
  44419. } else {
  44420. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+6790) != 0) {
  44421. kind = int32(_FcMatchPattern)
  44422. } else {
  44423. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+6798) != 0) {
  44424. kind = int32(_FcMatchFont)
  44425. } else {
  44426. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7512) != 0) {
  44427. kind = int32(_FcMatchScan)
  44428. } else {
  44429. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7907, libc.VaList(bp+8, kind_name))
  44430. return
  44431. }
  44432. }
  44433. }
  44434. }
  44435. for {
  44436. v1 = _FcVStackPeek(tls, parse)
  44437. vstack = v1
  44438. if !(v1 != 0) {
  44439. break
  44440. }
  44441. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44442. case int32(_FcVStackTest):
  44443. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44444. if rule != 0 {
  44445. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  44446. }
  44447. rule = r
  44448. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44449. case int32(_FcVStackEdit):
  44450. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  44451. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7933, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  44452. if rule != 0 {
  44453. XFcRuleDestroy(tls, rule)
  44454. }
  44455. return
  44456. }
  44457. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44458. if rule != 0 {
  44459. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  44460. }
  44461. rule = r
  44462. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44463. default:
  44464. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7992, 0)
  44465. break
  44466. }
  44467. _FcVStackPopAndDestroy(tls, parse)
  44468. }
  44469. if !(rule != 0) {
  44470. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8014, 0)
  44471. return
  44472. }
  44473. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  44474. n = v2
  44475. if v2 == -int32(1) {
  44476. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44477. XFcRuleDestroy(tls, rule)
  44478. } else {
  44479. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  44480. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  44481. }
  44482. }
  44483. }
  44484. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  44485. var vstack, v1 uintptr
  44486. _, _ = vstack, v1
  44487. for {
  44488. v1 = _FcVStackPeek(tls, parse)
  44489. vstack = v1
  44490. if !(v1 != 0) {
  44491. break
  44492. }
  44493. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44494. case int32(_FcVStackGlob):
  44495. 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) {
  44496. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44497. } else {
  44498. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  44499. XIA__FcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44500. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44501. }
  44502. }
  44503. case int32(_FcVStackPattern):
  44504. 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) {
  44505. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44506. } else {
  44507. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  44508. XIA__FcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44509. }
  44510. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  44511. }
  44512. default:
  44513. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8055, 0)
  44514. break
  44515. }
  44516. _FcVStackPopAndDestroy(tls, parse)
  44517. }
  44518. }
  44519. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  44520. bp := tls.Alloc(32)
  44521. defer tls.Free(32)
  44522. var vstack uintptr
  44523. var _ /* value at bp+0 */ TFcValue
  44524. _ = vstack
  44525. vstack = _FcVStackPeek(tls, parse)
  44526. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  44527. if !(vstack != 0) {
  44528. return *(*TFcValue)(unsafe.Pointer(bp))
  44529. }
  44530. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44531. case int32(_FcVStackString):
  44532. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44533. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44534. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  44535. }
  44536. case int32(_FcVStackConstant):
  44537. if XIA__FcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  44538. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  44539. }
  44540. case int32(_FcVStackInteger):
  44541. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  44542. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  44543. case int32(_FcVStackDouble):
  44544. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  44545. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  44546. case int32(_FcVStackBool):
  44547. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  44548. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  44549. case int32(_FcVStackCharSet):
  44550. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44551. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44552. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  44553. }
  44554. case int32(_FcVStackLangSet):
  44555. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44556. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44557. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  44558. }
  44559. case int32(_FcVStackRange):
  44560. *(*uintptr)(unsafe.Pointer(bp + 8)) = XIA__FcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  44561. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  44562. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  44563. }
  44564. default:
  44565. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8073, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  44566. break
  44567. }
  44568. _FcVStackPopAndDestroy(tls, parse)
  44569. return *(*TFcValue)(unsafe.Pointer(bp))
  44570. }
  44571. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  44572. var name, pattern uintptr
  44573. var value TFcValue
  44574. _, _, _ = name, pattern, value
  44575. pattern = XIA__FcPatternCreate(tls)
  44576. if !(pattern != 0) {
  44577. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44578. return
  44579. }
  44580. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7594)
  44581. if !(name != 0) {
  44582. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8100, 0)
  44583. XIA__FcPatternDestroy(tls, pattern)
  44584. return
  44585. }
  44586. for {
  44587. value = _FcPopValue(tls, parse)
  44588. if value.Ftype1 == int32(_FcTypeVoid) {
  44589. break
  44590. }
  44591. if !(XIA__FcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  44592. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44593. XIA__FcValueDestroy(tls, value)
  44594. break
  44595. }
  44596. XIA__FcValueDestroy(tls, value)
  44597. goto _1
  44598. _1:
  44599. }
  44600. _FcVStackPushPattern(tls, parse, pattern)
  44601. }
  44602. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  44603. var pattern, vstack, v1 uintptr
  44604. _, _, _ = pattern, vstack, v1
  44605. pattern = XIA__FcPatternCreate(tls)
  44606. if !(pattern != 0) {
  44607. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44608. return
  44609. }
  44610. for {
  44611. v1 = _FcVStackPeek(tls, parse)
  44612. vstack = v1
  44613. if !(v1 != 0) {
  44614. break
  44615. }
  44616. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  44617. case int32(_FcVStackPattern):
  44618. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  44619. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44620. XIA__FcPatternDestroy(tls, pattern)
  44621. return
  44622. }
  44623. default:
  44624. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8129, 0)
  44625. break
  44626. }
  44627. _FcVStackPopAndDestroy(tls, parse)
  44628. }
  44629. _FcVStackPushPattern(tls, parse, pattern)
  44630. }
  44631. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  44632. var data, parse uintptr
  44633. _, _ = data, parse
  44634. parse = userData
  44635. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44636. return
  44637. }
  44638. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  44639. case int32(_FcElementNone):
  44640. case int32(_FcElementFontconfig):
  44641. case int32(_FcElementDir):
  44642. _FcParseDir(tls, parse)
  44643. case int32(_FcElementCacheDir):
  44644. _FcParseCacheDir(tls, parse)
  44645. case int32(_FcElementCache):
  44646. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44647. if !(data != 0) {
  44648. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44649. break
  44650. }
  44651. /* discard this data; no longer used */
  44652. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  44653. case int32(_FcElementInclude):
  44654. _FcParseInclude(tls, parse)
  44655. case int32(_FcElementConfig):
  44656. case int32(_FcElementMatch):
  44657. _FcParseMatch(tls, parse)
  44658. case int32(_FcElementAlias):
  44659. _FcParseAlias(tls, parse)
  44660. case int32(_FcElementDescription):
  44661. _FcParseDescription(tls, parse)
  44662. case int32(_FcElementRescan):
  44663. _FcParseRescan(tls, parse)
  44664. case int32(_FcElementPrefer):
  44665. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  44666. case int32(_FcElementAccept):
  44667. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  44668. case int32(_FcElementDefault):
  44669. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  44670. case int32(_FcElementFamily):
  44671. _FcParseFamily(tls, parse)
  44672. case int32(_FcElementTest):
  44673. _FcParseTest(tls, parse)
  44674. case int32(_FcElementEdit):
  44675. _FcParseEdit(tls, parse)
  44676. case int32(_FcElementInt):
  44677. _FcParseInt(tls, parse)
  44678. case int32(_FcElementDouble):
  44679. _FcParseDouble(tls, parse)
  44680. case int32(_FcElementString):
  44681. _FcParseString(tls, parse, int32(_FcVStackString))
  44682. case int32(_FcElementMatrix):
  44683. _FcParseMatrix(tls, parse)
  44684. case int32(_FcElementRange):
  44685. _FcParseRange(tls, parse)
  44686. case int32(_FcElementBool):
  44687. _FcParseBool(tls, parse)
  44688. case int32(_FcElementCharSet):
  44689. _FcParseCharSet(tls, parse)
  44690. case int32(_FcElementLangSet):
  44691. _FcParseLangSet(tls, parse)
  44692. case int32(_FcElementSelectfont):
  44693. case int32(_FcElementAcceptfont):
  44694. fallthrough
  44695. case int32(_FcElementRejectfont):
  44696. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  44697. case int32(_FcElementGlob):
  44698. _FcParseString(tls, parse, int32(_FcVStackGlob))
  44699. case int32(_FcElementPattern):
  44700. _FcParsePattern(tls, parse)
  44701. case int32(_FcElementPatelt):
  44702. _FcParsePatelt(tls, parse)
  44703. case int32(_FcElementName):
  44704. _FcParseName(tls, parse)
  44705. case int32(_FcElementConst):
  44706. _FcParseString(tls, parse, int32(_FcVStackConstant))
  44707. case int32(_FcElementOr):
  44708. _FcParseBinary(tls, parse, int32(_FcOpOr))
  44709. case int32(_FcElementAnd):
  44710. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  44711. case int32(_FcElementEq):
  44712. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  44713. case int32(_FcElementNotEq):
  44714. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  44715. case int32(_FcElementLess):
  44716. _FcParseBinary(tls, parse, int32(_FcOpLess))
  44717. case int32(_FcElementLessEq):
  44718. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  44719. case int32(_FcElementMore):
  44720. _FcParseBinary(tls, parse, int32(_FcOpMore))
  44721. case int32(_FcElementMoreEq):
  44722. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  44723. case int32(_FcElementContains):
  44724. _FcParseBinary(tls, parse, int32(_FcOpContains))
  44725. case int32(_FcElementNotContains):
  44726. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  44727. case int32(_FcElementPlus):
  44728. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  44729. case int32(_FcElementMinus):
  44730. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  44731. case int32(_FcElementTimes):
  44732. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  44733. case int32(_FcElementDivide):
  44734. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  44735. case int32(_FcElementNot):
  44736. _FcParseUnary(tls, parse, int32(_FcOpNot))
  44737. case int32(_FcElementIf):
  44738. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  44739. case int32(_FcElementFloor):
  44740. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  44741. case int32(_FcElementCeil):
  44742. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  44743. case int32(_FcElementRound):
  44744. _FcParseUnary(tls, parse, int32(_FcOpRound))
  44745. case int32(_FcElementTrunc):
  44746. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  44747. case int32(_FcElementUnknown):
  44748. break
  44749. }
  44750. _FcPStackPop(tls, parse)
  44751. }
  44752. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  44753. var parse uintptr
  44754. _ = parse
  44755. parse = userData
  44756. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  44757. return
  44758. }
  44759. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  44760. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+6635, 0)
  44761. }
  44762. }
  44763. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  44764. bp := tls.Alloc(16)
  44765. defer tls.Free(16)
  44766. var parse uintptr
  44767. _ = parse
  44768. parse = userData
  44769. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+1502) != 0 {
  44770. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8153, libc.VaList(bp+8, doctypeName))
  44771. }
  44772. }
  44773. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  44774. }
  44775. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  44776. var as, bs uintptr
  44777. _, _ = as, bs
  44778. as = *(*uintptr)(unsafe.Pointer(a))
  44779. bs = *(*uintptr)(unsafe.Pointer(b))
  44780. return XIA__FcStrCmp(tls, as, bs)
  44781. }
  44782. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44783. bp := tls.Alloc(16)
  44784. defer tls.Free(16)
  44785. var base, d, e, file, files, v1 uintptr
  44786. var d_len, i, v3 int32
  44787. var ret TFcBool
  44788. var v2, v4 bool
  44789. _, _, _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2, v3, v4
  44790. ret = int32(m_FcTrue)
  44791. d = libc.Xopendir(tls, dir)
  44792. if !(d != 0) {
  44793. if complain != 0 {
  44794. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8174, libc.VaList(bp+8, name))
  44795. }
  44796. ret = m_FcFalse
  44797. goto bail0
  44798. }
  44799. /* freed below */
  44800. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  44801. if !(file != 0) {
  44802. ret = m_FcFalse
  44803. goto bail1
  44804. }
  44805. libc.Xstrcpy(tls, file, dir)
  44806. libc.Xstrcat(tls, file, __ccgo_ts+1317)
  44807. base = file + uintptr(libc.Xstrlen(tls, file))
  44808. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  44809. if !(files != 0) {
  44810. ret = m_FcFalse
  44811. goto bail2
  44812. }
  44813. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44814. libc.Xprintf(tls, __ccgo_ts+8202, libc.VaList(bp+8, dir))
  44815. }
  44816. if load != 0 {
  44817. XFcConfigAddConfigDir(tls, config, dir)
  44818. }
  44819. for {
  44820. if v2 = ret != 0; v2 {
  44821. v1 = libc.Xreaddir(tls, d)
  44822. e = v1
  44823. }
  44824. if !(v2 && v1 != 0) {
  44825. break
  44826. }
  44827. /*
  44828. * Add all files of the form [0-9]*.conf
  44829. */
  44830. if v4 = int32('0') <= libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) && libc.Int32FromUint8(*(*uint8)(unsafe.Pointer(e + 19))) <= int32('9'); v4 {
  44831. v3 = libc.Int32FromUint64(libc.Xstrlen(tls, e+19))
  44832. d_len = v3
  44833. }
  44834. if v4 && v3 < int32(m_FC_MAX_FILE_LEN) && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+19+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+8227) == 0 {
  44835. libc.Xstrcpy(tls, base, e+19)
  44836. if !(XIA__FcStrSetAdd(tls, files, file) != 0) {
  44837. ret = m_FcFalse
  44838. goto bail3
  44839. }
  44840. }
  44841. }
  44842. if ret != 0 {
  44843. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, libc.Uint64FromInt32((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  44844. i = 0
  44845. for {
  44846. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  44847. break
  44848. }
  44849. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  44850. goto _5
  44851. _5:
  44852. ;
  44853. i++
  44854. }
  44855. }
  44856. goto bail3
  44857. bail3:
  44858. ;
  44859. XIA__FcStrSetDestroy(tls, files)
  44860. goto bail2
  44861. bail2:
  44862. ;
  44863. libc.Xfree(tls, file)
  44864. goto bail1
  44865. bail1:
  44866. ;
  44867. libc.Xclosedir(tls, d)
  44868. goto bail0
  44869. bail0:
  44870. ;
  44871. return libc.BoolInt32(ret != 0 || !(complain != 0))
  44872. return r
  44873. }
  44874. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44875. bp := tls.Alloc(4640)
  44876. defer tls.Free(4640)
  44877. var buf, s, v1, v3, v4 uintptr
  44878. var buflen, len1 Tsize_t
  44879. var error1 TFcBool
  44880. var k TFcMatchKind
  44881. var p TXML_Parser
  44882. var _ /* iter at bp+4584 */ TFcPtrListIter
  44883. var _ /* liter at bp+4560 */ TFcPtrListIter
  44884. var _ /* parse at bp+0 */ TFcConfigParse
  44885. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  44886. error1 = int32(m_FcTrue)
  44887. if !(buffer != 0) {
  44888. return m_FcFalse
  44889. }
  44890. len1 = libc.Xstrlen(tls, buffer)
  44891. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44892. if load != 0 {
  44893. v1 = __ccgo_ts + 8233
  44894. } else {
  44895. v1 = __ccgo_ts + 8241
  44896. }
  44897. libc.Xprintf(tls, __ccgo_ts+8250, libc.VaList(bp+4616, v1, filename))
  44898. }
  44899. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+8275)
  44900. if !(p != 0) {
  44901. goto bail1
  44902. }
  44903. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  44904. goto bail2
  44905. }
  44906. libexpat.XXML_SetUserData(tls, p, bp)
  44907. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  44908. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  44909. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  44910. s = buffer
  44911. for cond := true; cond; cond = buflen != uint64(0) {
  44912. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  44913. if !(buf != 0) {
  44914. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+8281, 0)
  44915. goto bail3
  44916. }
  44917. if len1 > uint64(m_BUFSIZ) {
  44918. buflen = uint64(m_BUFSIZ)
  44919. len1 -= uint64(m_BUFSIZ)
  44920. } else {
  44921. buflen = len1
  44922. len1 = uint64(0)
  44923. }
  44924. libc.Xmemcpy(tls, buf, s, buflen)
  44925. s = s + uintptr(buflen)
  44926. if !(libexpat.XXML_ParseBuffer(tls, p, libc.Int32FromUint64(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  44927. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+1704, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  44928. goto bail3
  44929. }
  44930. }
  44931. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  44932. if load != 0 {
  44933. k = int32(_FcMatchKindBegin)
  44934. for {
  44935. if !(k < int32(_FcMatchKindEnd)) {
  44936. break
  44937. }
  44938. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  44939. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  44940. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 32 + uintptr(k)*8)), bp+4584)
  44941. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44942. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 32 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44943. }
  44944. goto _2
  44945. _2:
  44946. ;
  44947. k++
  44948. }
  44949. }
  44950. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  44951. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44952. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  44953. goto bail3
  44954. bail3:
  44955. ;
  44956. _FcConfigCleanup(tls, bp)
  44957. goto bail2
  44958. bail2:
  44959. ;
  44960. libexpat.XXML_ParserFree(tls, p)
  44961. goto bail1
  44962. bail1:
  44963. ;
  44964. if error1 != 0 && complain != 0 {
  44965. if load != 0 {
  44966. v3 = __ccgo_ts + 8305
  44967. } else {
  44968. v3 = __ccgo_ts + 7512
  44969. }
  44970. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8310, libc.VaList(bp+4616, v3, filename))
  44971. return m_FcFalse
  44972. }
  44973. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  44974. if load != 0 {
  44975. v4 = __ccgo_ts + 8233
  44976. } else {
  44977. v4 = __ccgo_ts + 8241
  44978. }
  44979. libc.Xprintf(tls, __ccgo_ts+8340, libc.VaList(bp+4616, v4, filename))
  44980. }
  44981. return int32(m_FcTrue)
  44982. }
  44983. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  44984. bp := tls.Alloc(2240)
  44985. defer tls.Free(2240)
  44986. var errno_, fd, len1 int32
  44987. var filename, realfilename, v1, v2 uintptr
  44988. var ret TFcBool
  44989. var _ /* buf at bp+152 */ [1024]uint8
  44990. var _ /* ebuf at bp+1176 */ [1025]uint8
  44991. var _ /* sbuf at bp+0 */ TFcStrBuf
  44992. _, _, _, _, _, _, _, _ = errno_, fd, filename, len1, realfilename, ret, v1, v2
  44993. filename = libc.UintptrFromInt32(0)
  44994. realfilename = libc.UintptrFromInt32(0)
  44995. ret = m_FcFalse
  44996. filename = XIA__FcConfigFilename(tls, name)
  44997. if !(filename != 0) {
  44998. goto bail0
  44999. }
  45000. realfilename = XFcConfigRealFilename(tls, config, name)
  45001. if !(realfilename != 0) {
  45002. goto bail0
  45003. }
  45004. if XIA__FcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  45005. XIA__FcStrFree(tls, filename)
  45006. XIA__FcStrFree(tls, realfilename)
  45007. return int32(m_FcTrue)
  45008. }
  45009. if load != 0 {
  45010. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  45011. goto bail0
  45012. }
  45013. }
  45014. if !(XIA__FcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  45015. goto bail0
  45016. }
  45017. if XIA__FcFileIsDir(tls, realfilename) != 0 {
  45018. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  45019. XIA__FcStrFree(tls, filename)
  45020. XIA__FcStrFree(tls, realfilename)
  45021. return ret
  45022. }
  45023. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  45024. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  45025. if fd == -int32(1) {
  45026. goto bail1
  45027. }
  45028. for cond := true; cond; cond = len1 != 0 {
  45029. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  45030. if len1 < 0 {
  45031. errno_ = *(*int32)(unsafe.Pointer(libc.X__errno_location(tls)))
  45032. libc.Xstrerror_r(tls, errno_, bp+1176, uint64(m_BUFSIZ))
  45033. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8370, libc.VaList(bp+2216, realfilename, bp+1176, errno_))
  45034. libc.Xclose(tls, fd)
  45035. goto bail1
  45036. }
  45037. XFcStrBufData(tls, bp, bp+152, len1)
  45038. }
  45039. libc.Xclose(tls, fd)
  45040. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  45041. complain = m_FcFalse /* no need to reclaim here */
  45042. goto bail1
  45043. bail1:
  45044. ;
  45045. XFcStrBufDestroy(tls, bp)
  45046. goto bail0
  45047. bail0:
  45048. ;
  45049. if filename != 0 {
  45050. XIA__FcStrFree(tls, filename)
  45051. }
  45052. if realfilename != 0 {
  45053. XIA__FcStrFree(tls, realfilename)
  45054. }
  45055. if !(ret != 0) && complain != 0 {
  45056. if name != 0 {
  45057. if load != 0 {
  45058. v1 = __ccgo_ts + 8305
  45059. } else {
  45060. v1 = __ccgo_ts + 7512
  45061. }
  45062. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8416, libc.VaList(bp+2216, v1, name))
  45063. } else {
  45064. if load != 0 {
  45065. v2 = __ccgo_ts + 8305
  45066. } else {
  45067. v2 = __ccgo_ts + 7512
  45068. }
  45069. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+8443, libc.VaList(bp+2216, v2))
  45070. }
  45071. return m_FcFalse
  45072. }
  45073. return int32(m_FcTrue)
  45074. }
  45075. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  45076. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  45077. }
  45078. func XIA__FcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  45079. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  45080. }
  45081. var XFcConfigParseAndLoad = XIA__FcConfigParseAndLoad
  45082. func XIA__FcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  45083. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+8473, buffer, complain, int32(m_FcTrue))
  45084. }
  45085. var XFcConfigParseAndLoadFromMemory = XIA__FcConfigParseAndLoadFromMemory
  45086. const m_FC_DIR_SEPARATOR4 = '/'
  45087. // C documentation
  45088. //
  45089. // /* only used internally */
  45090. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  45091. var block TFT_Pointer
  45092. var error1 TFT_Error
  45093. _, _ = block, error1
  45094. error1 = 0
  45095. block = libc.UintptrFromInt32(0)
  45096. if size > uint64(0) {
  45097. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, libc.Int64FromUint64(size))
  45098. if !(block != 0) {
  45099. error1 = int32(_FT_Err_Out_Of_Memory)
  45100. }
  45101. }
  45102. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  45103. return block
  45104. }
  45105. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  45106. if block != 0 {
  45107. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  45108. }
  45109. }
  45110. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  45111. return libc.Int64FromUint64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  45112. }
  45113. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  45114. var error1 TFT_Error
  45115. _ = error1
  45116. error1 = 0
  45117. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45118. 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 {
  45119. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  45120. }
  45121. } else {
  45122. if pos < 0 || libc.Uint64FromInt64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  45123. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  45124. }
  45125. }
  45126. if !(error1 != 0) {
  45127. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = libc.Uint64FromInt64(pos)
  45128. }
  45129. return error1
  45130. }
  45131. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  45132. bp := tls.Alloc(16)
  45133. defer tls.Free(16)
  45134. var memory TFT_Memory
  45135. var read_bytes TFT_ULong
  45136. var _ /* error at bp+0 */ TFT_Error
  45137. _, _ = memory, read_bytes
  45138. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  45139. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45140. /* allocate the frame in memory */
  45141. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  45142. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  45143. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  45144. goto Exit
  45145. }
  45146. /* read it */
  45147. 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)
  45148. if read_bytes < count {
  45149. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  45150. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  45151. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  45152. }
  45153. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  45154. }
  45155. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  45156. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  45157. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  45158. } else {
  45159. /* check current and new position */
  45160. 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 {
  45161. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  45162. goto Exit
  45163. }
  45164. /* set cursor */
  45165. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  45166. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  45167. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  45168. }
  45169. goto Exit
  45170. Exit:
  45171. ;
  45172. return *(*TFT_Error)(unsafe.Pointer(bp))
  45173. }
  45174. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  45175. var memory TFT_Memory
  45176. _ = memory
  45177. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  45178. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  45179. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  45180. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  45181. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  45182. }
  45183. }
  45184. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  45185. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  45186. }
  45187. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  45188. var checksum, offset, sig, size, start, tag TFT_ULong
  45189. var count, nn TFT_UInt
  45190. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  45191. var v12, v3, v6, v9 bool
  45192. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  45193. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  45194. error1 = int32(_FT_Err_Invalid_Face_Handle)
  45195. } else {
  45196. /* parse the directory table directly, without using
  45197. * FreeType's built-in data structures
  45198. */
  45199. offset = uint64(0)
  45200. v1 = Xftglue_stream_seek(tls, stream, 0)
  45201. error1 = v1
  45202. if v3 = v1 != 0; !v3 {
  45203. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  45204. error1 = v2
  45205. }
  45206. if v3 || v2 != 0 {
  45207. goto Exit
  45208. }
  45209. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45210. 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))))))
  45211. Xftglue_stream_frame_exit(tls, stream)
  45212. 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'))) {
  45213. /* deal with TrueType collections */
  45214. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  45215. error1 = v4
  45216. if v6 = v4 != 0; !v6 {
  45217. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  45218. error1 = v5
  45219. }
  45220. if v6 || v5 != 0 {
  45221. goto Exit
  45222. }
  45223. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45224. 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))))))
  45225. Xftglue_stream_frame_exit(tls, stream)
  45226. }
  45227. v7 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(4)))
  45228. error1 = v7
  45229. if v9 = v7 != 0; !v9 {
  45230. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  45231. error1 = v8
  45232. }
  45233. if v9 || v8 != 0 {
  45234. goto Exit
  45235. }
  45236. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  45237. 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)))))))
  45238. Xftglue_stream_frame_exit(tls, stream)
  45239. v10 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(offset+uint64(12)))
  45240. error1 = v10
  45241. if v12 = v10 != 0; !v12 {
  45242. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  45243. error1 = v11
  45244. }
  45245. if v12 || v11 != 0 {
  45246. goto Exit
  45247. }
  45248. nn = uint32(0)
  45249. for {
  45250. if !(nn < count) {
  45251. break
  45252. }
  45253. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45254. 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))))))
  45255. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45256. 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))))))
  45257. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45258. 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))))))
  45259. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  45260. 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))))))
  45261. checksum = checksum
  45262. size = size
  45263. if tag == the_tag {
  45264. error1 = Xftglue_stream_seek(tls, stream, libc.Int64FromUint64(start))
  45265. goto FoundIt
  45266. }
  45267. goto _13
  45268. _13:
  45269. ;
  45270. nn++
  45271. }
  45272. error1 = int32(_FT_Err_Table_Missing)
  45273. goto FoundIt
  45274. FoundIt:
  45275. ;
  45276. Xftglue_stream_frame_exit(tls, stream)
  45277. }
  45278. goto Exit
  45279. Exit:
  45280. ;
  45281. return error1
  45282. }
  45283. func __ccgo_fp(f interface{}) uintptr {
  45284. type iface [2]uintptr
  45285. return (*iface)(unsafe.Pointer(&f))[1]
  45286. }
  45287. var XFcDebugVal int32
  45288. var XFcIdentityMatrix = TFcMatrix{
  45289. Fxx: libc.Float64FromInt32(1),
  45290. Fyy: libc.Float64FromInt32(1),
  45291. }
  45292. var Xdefault_langs uintptr
  45293. var Xother_types uintptr
  45294. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  45295. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00FcDirCacheCreateUUID %s: %s\n\x00Unable to revert mtime: %s\n\x00FcDirCacheReadUUID %s -> %s\n\x00FcDirCacheReadUUID Unable to read %s\n\x00FONTCONFIG_USE_MMAP\x00-le64.cache-7\x00FcCacheTimeValid dir \"%s\" cache checksum %d.%ld dir checksum %d.%ld\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\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 warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\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\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00FONTCONFIG_FILE\x00fonts.conf\x00FONTCONFIG_SYSROOT\x00Add Rule(kind:%d, name: %s) \x00fontconfig\x00No description\x00fontconfig-conf\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00/proc/self/exe\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\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\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\x00outline\x00color\x00scalable\x00weight\x00width\x00size\x00variable\x00found family (n %2d p %d e %d l 0x%04x)\x00family\x00familylang\x00found full (n %2d p %d e %d l 0x%04x)\x00fullname\x00fullnamelang\x00found style (n %2d p %d e %d l 0x%04x) \x00style\x00stylelang\x00%s\n\x00using FreeType family \"%s\"\n\x00using FreeType style \"%s\"\n\x00using filename for family %s\n\x00postscriptname\x00file\x00index\x00fontversion\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00capability\x00\tType1 weight %s maps to %g\n\x00FOUNDRY\x00RELATIVE_SETWIDTH\x00SETWIDTH_NAME\x00\tsetwidth %s maps to %g\n\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\x00slant\x00foundry\x00decorative\x00symbol\x00SPACING\x00c\x00C\x00m\x00M\x00p\x00P\x00charset\x00lang\x00spacing\x00pixelsize\x00antialias\x00fontformat\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig> <dir>/usr/share/fonts</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\" 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\x00 -\x00 %s: %g \x00, \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00Add \x00Sort \x00Font %s:%s matches language %d\n\x00First font \x00aspect\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00rasterizer\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00embolden\x00embeddedbitmap\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00fontvariations\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\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'\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00default\x00invalid name target \"%s\"\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\x00prefix\x00xdg\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\"\x00Cannot %s default config file\x00memory\x00"