ccgo_freebsd_amd64.go 1.8 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009180101801118012180131801418015180161801718018180191802018021180221802318024180251802618027180281802918030180311803218033180341803518036180371803818039180401804118042180431804418045180461804718048180491805018051180521805318054180551805618057180581805918060180611806218063180641806518066180671806818069180701807118072180731807418075180761807718078180791808018081180821808318084180851808618087180881808918090180911809218093180941809518096180971809818099181001810118102181031810418105181061810718108181091811018111181121811318114181151811618117181181811918120181211812218123181241812518126181271812818129181301813118132181331813418135181361813718138181391814018141181421814318144181451814618147181481814918150181511815218153181541815518156181571815818159181601816118162181631816418165181661816718168181691817018171181721817318174181751817618177181781817918180181811818218183181841818518186181871818818189181901819118192181931819418195181961819718198181991820018201182021820318204182051820618207182081820918210182111821218213182141821518216182171821818219182201822118222182231822418225182261822718228182291823018231182321823318234182351823618237182381823918240182411824218243182441824518246182471824818249182501825118252182531825418255182561825718258182591826018261182621826318264182651826618267182681826918270182711827218273182741827518276182771827818279182801828118282182831828418285182861828718288182891829018291182921829318294182951829618297182981829918300183011830218303183041830518306183071830818309183101831118312183131831418315183161831718318183191832018321183221832318324183251832618327183281832918330183311833218333183341833518336183371833818339183401834118342183431834418345183461834718348183491835018351183521835318354183551835618357183581835918360183611836218363183641836518366183671836818369183701837118372183731837418375183761837718378183791838018381183821838318384183851838618387183881838918390183911839218393183941839518396183971839818399184001840118402184031840418405184061840718408184091841018411184121841318414184151841618417184181841918420184211842218423184241842518426184271842818429184301843118432184331843418435184361843718438184391844018441184421844318444184451844618447184481844918450184511845218453184541845518456184571845818459184601846118462184631846418465184661846718468184691847018471184721847318474184751847618477184781847918480184811848218483184841848518486184871848818489184901849118492184931849418495184961849718498184991850018501185021850318504185051850618507185081850918510185111851218513185141851518516185171851818519185201852118522185231852418525185261852718528185291853018531185321853318534185351853618537185381853918540185411854218543185441854518546185471854818549185501855118552185531855418555185561855718558185591856018561185621856318564185651856618567185681856918570185711857218573185741857518576185771857818579185801858118582185831858418585185861858718588185891859018591185921859318594185951859618597185981859918600186011860218603186041860518606186071860818609186101861118612186131861418615186161861718618186191862018621186221862318624186251862618627186281862918630186311863218633186341863518636186371863818639186401864118642186431864418645186461864718648186491865018651186521865318654186551865618657186581865918660186611866218663186641866518666186671866818669186701867118672186731867418675186761867718678186791868018681186821868318684186851868618687186881868918690186911869218693186941869518696186971869818699187001870118702187031870418705187061870718708187091871018711187121871318714187151871618717187181871918720187211872218723187241872518726187271872818729187301873118732187331873418735187361873718738187391874018741187421874318744187451874618747187481874918750187511875218753187541875518756187571875818759187601876118762187631876418765187661876718768187691877018771187721877318774187751877618777187781877918780187811878218783187841878518786187871878818789187901879118792187931879418795187961879718798187991880018801188021880318804188051880618807188081880918810188111881218813188141881518816188171881818819188201882118822188231882418825188261882718828188291883018831188321883318834188351883618837188381883918840188411884218843188441884518846188471884818849188501885118852188531885418855188561885718858188591886018861188621886318864188651886618867188681886918870188711887218873188741887518876188771887818879188801888118882188831888418885188861888718888188891889018891188921889318894188951889618897188981889918900189011890218903189041890518906189071890818909189101891118912189131891418915189161891718918189191892018921189221892318924189251892618927189281892918930189311893218933189341893518936189371893818939189401894118942189431894418945189461894718948189491895018951189521895318954189551895618957189581895918960189611896218963189641896518966189671896818969189701897118972189731897418975189761897718978189791898018981189821898318984189851898618987189881898918990189911899218993189941899518996189971899818999190001900119002190031900419005190061900719008190091901019011190121901319014190151901619017190181901919020190211902219023190241902519026190271902819029190301903119032190331903419035190361903719038190391904019041190421904319044190451904619047190481904919050190511905219053190541905519056190571905819059190601906119062190631906419065190661906719068190691907019071190721907319074190751907619077190781907919080190811908219083190841908519086190871908819089190901909119092190931909419095190961909719098190991910019101191021910319104191051910619107191081910919110191111911219113191141911519116191171911819119191201912119122191231912419125191261912719128191291913019131191321913319134191351913619137191381913919140191411914219143191441914519146191471914819149191501915119152191531915419155191561915719158191591916019161191621916319164191651916619167191681916919170191711917219173191741917519176191771917819179191801918119182191831918419185191861918719188191891919019191191921919319194191951919619197191981919919200192011920219203192041920519206192071920819209192101921119212192131921419215192161921719218192191922019221192221922319224192251922619227192281922919230192311923219233192341923519236192371923819239192401924119242192431924419245192461924719248192491925019251192521925319254192551925619257192581925919260192611926219263192641926519266192671926819269192701927119272192731927419275192761927719278192791928019281192821928319284192851928619287192881928919290192911929219293192941929519296192971929819299193001930119302193031930419305193061930719308193091931019311193121931319314193151931619317193181931919320193211932219323193241932519326193271932819329193301933119332193331933419335193361933719338193391934019341193421934319344193451934619347193481934919350193511935219353193541935519356193571935819359193601936119362193631936419365193661936719368193691937019371193721937319374193751937619377193781937919380193811938219383193841938519386193871938819389193901939119392193931939419395193961939719398193991940019401194021940319404194051940619407194081940919410194111941219413194141941519416194171941819419194201942119422194231942419425194261942719428194291943019431194321943319434194351943619437194381943919440194411944219443194441944519446194471944819449194501945119452194531945419455194561945719458194591946019461194621946319464194651946619467194681946919470194711947219473194741947519476194771947819479194801948119482194831948419485194861948719488194891949019491194921949319494194951949619497194981949919500195011950219503195041950519506195071950819509195101951119512195131951419515195161951719518195191952019521195221952319524195251952619527195281952919530195311953219533195341953519536195371953819539195401954119542195431954419545195461954719548195491955019551195521955319554195551955619557195581955919560195611956219563195641956519566195671956819569195701957119572195731957419575195761957719578195791958019581195821958319584195851958619587195881958919590195911959219593195941959519596195971959819599196001960119602196031960419605196061960719608196091961019611196121961319614196151961619617196181961919620196211962219623196241962519626196271962819629196301963119632196331963419635196361963719638196391964019641196421964319644196451964619647196481964919650196511965219653196541965519656196571965819659196601966119662196631966419665196661966719668196691967019671196721967319674196751967619677196781967919680196811968219683196841968519686196871968819689196901969119692196931969419695196961969719698196991970019701197021970319704197051970619707197081970919710197111971219713197141971519716197171971819719197201972119722197231972419725197261972719728197291973019731197321973319734197351973619737197381973919740197411974219743197441974519746197471974819749197501975119752197531975419755197561975719758197591976019761197621976319764197651976619767197681976919770197711977219773197741977519776197771977819779197801978119782197831978419785197861978719788197891979019791197921979319794197951979619797197981979919800198011980219803198041980519806198071980819809198101981119812198131981419815198161981719818198191982019821198221982319824198251982619827198281982919830198311983219833198341983519836198371983819839198401984119842198431984419845198461984719848198491985019851198521985319854198551985619857198581985919860198611986219863198641986519866198671986819869198701987119872198731987419875198761987719878198791988019881198821988319884198851988619887198881988919890198911989219893198941989519896198971989819899199001990119902199031990419905199061990719908199091991019911199121991319914199151991619917199181991919920199211992219923199241992519926199271992819929199301993119932199331993419935199361993719938199391994019941199421994319944199451994619947199481994919950199511995219953199541995519956199571995819959199601996119962199631996419965199661996719968199691997019971199721997319974199751997619977199781997919980199811998219983199841998519986199871998819989199901999119992199931999419995199961999719998199992000020001200022000320004200052000620007200082000920010200112001220013200142001520016200172001820019200202002120022200232002420025200262002720028200292003020031200322003320034200352003620037200382003920040200412004220043200442004520046200472004820049200502005120052200532005420055200562005720058200592006020061200622006320064200652006620067200682006920070200712007220073200742007520076200772007820079200802008120082200832008420085200862008720088200892009020091200922009320094200952009620097200982009920100201012010220103201042010520106201072010820109201102011120112201132011420115201162011720118201192012020121201222012320124201252012620127201282012920130201312013220133201342013520136201372013820139201402014120142201432014420145201462014720148201492015020151201522015320154201552015620157201582015920160201612016220163201642016520166201672016820169201702017120172201732017420175201762017720178201792018020181201822018320184201852018620187201882018920190201912019220193201942019520196201972019820199202002020120202202032020420205202062020720208202092021020211202122021320214202152021620217202182021920220202212022220223202242022520226202272022820229202302023120232202332023420235202362023720238202392024020241202422024320244202452024620247202482024920250202512025220253202542025520256202572025820259202602026120262202632026420265202662026720268202692027020271202722027320274202752027620277202782027920280202812028220283202842028520286202872028820289202902029120292202932029420295202962029720298202992030020301203022030320304203052030620307203082030920310203112031220313203142031520316203172031820319203202032120322203232032420325203262032720328203292033020331203322033320334203352033620337203382033920340203412034220343203442034520346203472034820349203502035120352203532035420355203562035720358203592036020361203622036320364203652036620367203682036920370203712037220373203742037520376203772037820379203802038120382203832038420385203862038720388203892039020391203922039320394203952039620397203982039920400204012040220403204042040520406204072040820409204102041120412204132041420415204162041720418204192042020421204222042320424204252042620427204282042920430204312043220433204342043520436204372043820439204402044120442204432044420445204462044720448204492045020451204522045320454204552045620457204582045920460204612046220463204642046520466204672046820469204702047120472204732047420475204762047720478204792048020481204822048320484204852048620487204882048920490204912049220493204942049520496204972049820499205002050120502205032050420505205062050720508205092051020511205122051320514205152051620517205182051920520205212052220523205242052520526205272052820529205302053120532205332053420535205362053720538205392054020541205422054320544205452054620547205482054920550205512055220553205542055520556205572055820559205602056120562205632056420565205662056720568205692057020571205722057320574205752057620577205782057920580205812058220583205842058520586205872058820589205902059120592205932059420595205962059720598205992060020601206022060320604206052060620607206082060920610206112061220613206142061520616206172061820619206202062120622206232062420625206262062720628206292063020631206322063320634206352063620637206382063920640206412064220643206442064520646206472064820649206502065120652206532065420655206562065720658206592066020661206622066320664206652066620667206682066920670206712067220673206742067520676206772067820679206802068120682206832068420685206862068720688206892069020691206922069320694206952069620697206982069920700207012070220703207042070520706207072070820709207102071120712207132071420715207162071720718207192072020721207222072320724207252072620727207282072920730207312073220733207342073520736207372073820739207402074120742207432074420745207462074720748207492075020751207522075320754207552075620757207582075920760207612076220763207642076520766207672076820769207702077120772207732077420775207762077720778207792078020781207822078320784207852078620787207882078920790207912079220793207942079520796207972079820799208002080120802208032080420805208062080720808208092081020811208122081320814208152081620817208182081920820208212082220823208242082520826208272082820829208302083120832208332083420835208362083720838208392084020841208422084320844208452084620847208482084920850208512085220853208542085520856208572085820859208602086120862208632086420865208662086720868208692087020871208722087320874208752087620877208782087920880208812088220883208842088520886208872088820889208902089120892208932089420895208962089720898208992090020901209022090320904209052090620907209082090920910209112091220913209142091520916209172091820919209202092120922209232092420925209262092720928209292093020931209322093320934209352093620937209382093920940209412094220943209442094520946209472094820949209502095120952209532095420955209562095720958209592096020961209622096320964209652096620967209682096920970209712097220973209742097520976209772097820979209802098120982209832098420985209862098720988209892099020991209922099320994209952099620997209982099921000210012100221003210042100521006210072100821009210102101121012210132101421015210162101721018210192102021021210222102321024210252102621027210282102921030210312103221033210342103521036210372103821039210402104121042210432104421045210462104721048210492105021051210522105321054210552105621057210582105921060210612106221063210642106521066210672106821069210702107121072210732107421075210762107721078210792108021081210822108321084210852108621087210882108921090210912109221093210942109521096210972109821099211002110121102211032110421105211062110721108211092111021111211122111321114211152111621117211182111921120211212112221123211242112521126211272112821129211302113121132211332113421135211362113721138211392114021141211422114321144211452114621147211482114921150211512115221153211542115521156211572115821159211602116121162211632116421165211662116721168211692117021171211722117321174211752117621177211782117921180211812118221183211842118521186211872118821189211902119121192211932119421195211962119721198211992120021201212022120321204212052120621207212082120921210212112121221213212142121521216212172121821219212202122121222212232122421225212262122721228212292123021231212322123321234212352123621237212382123921240212412124221243212442124521246212472124821249212502125121252212532125421255212562125721258212592126021261212622126321264212652126621267212682126921270212712127221273212742127521276212772127821279212802128121282212832128421285212862128721288212892129021291212922129321294212952129621297212982129921300213012130221303213042130521306213072130821309213102131121312213132131421315213162131721318213192132021321213222132321324213252132621327213282132921330213312133221333213342133521336213372133821339213402134121342213432134421345213462134721348213492135021351213522135321354213552135621357213582135921360213612136221363213642136521366213672136821369213702137121372213732137421375213762137721378213792138021381213822138321384213852138621387213882138921390213912139221393213942139521396213972139821399214002140121402214032140421405214062140721408214092141021411214122141321414214152141621417214182141921420214212142221423214242142521426214272142821429214302143121432214332143421435214362143721438214392144021441214422144321444214452144621447214482144921450214512145221453214542145521456214572145821459214602146121462214632146421465214662146721468214692147021471214722147321474214752147621477214782147921480214812148221483214842148521486214872148821489214902149121492214932149421495214962149721498214992150021501215022150321504215052150621507215082150921510215112151221513215142151521516215172151821519215202152121522215232152421525215262152721528215292153021531215322153321534215352153621537215382153921540215412154221543215442154521546215472154821549215502155121552215532155421555215562155721558215592156021561215622156321564215652156621567215682156921570215712157221573215742157521576215772157821579215802158121582215832158421585215862158721588215892159021591215922159321594215952159621597215982159921600216012160221603216042160521606216072160821609216102161121612216132161421615216162161721618216192162021621216222162321624216252162621627216282162921630216312163221633216342163521636216372163821639216402164121642216432164421645216462164721648216492165021651216522165321654216552165621657216582165921660216612166221663216642166521666216672166821669216702167121672216732167421675216762167721678216792168021681216822168321684216852168621687216882168921690216912169221693216942169521696216972169821699217002170121702217032170421705217062170721708217092171021711217122171321714217152171621717217182171921720217212172221723217242172521726217272172821729217302173121732217332173421735217362173721738217392174021741217422174321744217452174621747217482174921750217512175221753217542175521756217572175821759217602176121762217632176421765217662176721768217692177021771217722177321774217752177621777217782177921780217812178221783217842178521786217872178821789217902179121792217932179421795217962179721798217992180021801218022180321804218052180621807218082180921810218112181221813218142181521816218172181821819218202182121822218232182421825218262182721828218292183021831218322183321834218352183621837218382183921840218412184221843218442184521846218472184821849218502185121852218532185421855218562185721858218592186021861218622186321864218652186621867218682186921870218712187221873218742187521876218772187821879218802188121882218832188421885218862188721888218892189021891218922189321894218952189621897218982189921900219012190221903219042190521906219072190821909219102191121912219132191421915219162191721918219192192021921219222192321924219252192621927219282192921930219312193221933219342193521936219372193821939219402194121942219432194421945219462194721948219492195021951219522195321954219552195621957219582195921960219612196221963219642196521966219672196821969219702197121972219732197421975219762197721978219792198021981219822198321984219852198621987219882198921990219912199221993219942199521996219972199821999220002200122002220032200422005220062200722008220092201022011220122201322014220152201622017220182201922020220212202222023220242202522026220272202822029220302203122032220332203422035220362203722038220392204022041220422204322044220452204622047220482204922050220512205222053220542205522056220572205822059220602206122062220632206422065220662206722068220692207022071220722207322074220752207622077220782207922080220812208222083220842208522086220872208822089220902209122092220932209422095220962209722098220992210022101221022210322104221052210622107221082210922110221112211222113221142211522116221172211822119221202212122122221232212422125221262212722128221292213022131221322213322134221352213622137221382213922140221412214222143221442214522146221472214822149221502215122152221532215422155221562215722158221592216022161221622216322164221652216622167221682216922170221712217222173221742217522176221772217822179221802218122182221832218422185221862218722188221892219022191221922219322194221952219622197221982219922200222012220222203222042220522206222072220822209222102221122212222132221422215222162221722218222192222022221222222222322224222252222622227222282222922230222312223222233222342223522236222372223822239222402224122242222432224422245222462224722248222492225022251222522225322254222552225622257222582225922260222612226222263222642226522266222672226822269222702227122272222732227422275222762227722278222792228022281222822228322284222852228622287222882228922290222912229222293222942229522296222972229822299223002230122302223032230422305223062230722308223092231022311223122231322314223152231622317223182231922320223212232222323223242232522326223272232822329223302233122332223332233422335223362233722338223392234022341223422234322344223452234622347223482234922350223512235222353223542235522356223572235822359223602236122362223632236422365223662236722368223692237022371223722237322374223752237622377223782237922380223812238222383223842238522386223872238822389223902239122392223932239422395223962239722398223992240022401224022240322404224052240622407224082240922410224112241222413224142241522416224172241822419224202242122422224232242422425224262242722428224292243022431224322243322434224352243622437224382243922440224412244222443224442244522446224472244822449224502245122452224532245422455224562245722458224592246022461224622246322464224652246622467224682246922470224712247222473224742247522476224772247822479224802248122482224832248422485224862248722488224892249022491224922249322494224952249622497224982249922500225012250222503225042250522506225072250822509225102251122512225132251422515225162251722518225192252022521225222252322524225252252622527225282252922530225312253222533225342253522536225372253822539225402254122542225432254422545225462254722548225492255022551225522255322554225552255622557225582255922560225612256222563225642256522566225672256822569225702257122572225732257422575225762257722578225792258022581225822258322584225852258622587225882258922590225912259222593225942259522596225972259822599226002260122602226032260422605226062260722608226092261022611226122261322614226152261622617226182261922620226212262222623226242262522626226272262822629226302263122632226332263422635226362263722638226392264022641226422264322644226452264622647226482264922650226512265222653226542265522656226572265822659226602266122662226632266422665226662266722668226692267022671226722267322674226752267622677226782267922680226812268222683226842268522686226872268822689226902269122692226932269422695226962269722698226992270022701227022270322704227052270622707227082270922710227112271222713227142271522716227172271822719227202272122722227232272422725227262272722728227292273022731227322273322734227352273622737227382273922740227412274222743227442274522746227472274822749227502275122752227532275422755227562275722758227592276022761227622276322764227652276622767227682276922770227712277222773227742277522776227772277822779227802278122782227832278422785227862278722788227892279022791227922279322794227952279622797227982279922800228012280222803228042280522806228072280822809228102281122812228132281422815228162281722818228192282022821228222282322824228252282622827228282282922830228312283222833228342283522836228372283822839228402284122842228432284422845228462284722848228492285022851228522285322854228552285622857228582285922860228612286222863228642286522866228672286822869228702287122872228732287422875228762287722878228792288022881228822288322884228852288622887228882288922890228912289222893228942289522896228972289822899229002290122902229032290422905229062290722908229092291022911229122291322914229152291622917229182291922920229212292222923229242292522926229272292822929229302293122932229332293422935229362293722938229392294022941229422294322944229452294622947229482294922950229512295222953229542295522956229572295822959229602296122962229632296422965229662296722968229692297022971229722297322974229752297622977229782297922980229812298222983229842298522986229872298822989229902299122992229932299422995229962299722998229992300023001230022300323004230052300623007230082300923010230112301223013230142301523016230172301823019230202302123022230232302423025230262302723028230292303023031230322303323034230352303623037230382303923040230412304223043230442304523046230472304823049230502305123052230532305423055230562305723058230592306023061230622306323064230652306623067230682306923070230712307223073230742307523076230772307823079230802308123082230832308423085230862308723088230892309023091230922309323094230952309623097230982309923100231012310223103231042310523106231072310823109231102311123112231132311423115231162311723118231192312023121231222312323124231252312623127231282312923130231312313223133231342313523136231372313823139231402314123142231432314423145231462314723148231492315023151231522315323154231552315623157231582315923160231612316223163231642316523166231672316823169231702317123172231732317423175231762317723178231792318023181231822318323184231852318623187231882318923190231912319223193231942319523196231972319823199232002320123202232032320423205232062320723208232092321023211232122321323214232152321623217232182321923220232212322223223232242322523226232272322823229232302323123232232332323423235232362323723238232392324023241232422324323244232452324623247232482324923250232512325223253232542325523256232572325823259232602326123262232632326423265232662326723268232692327023271232722327323274232752327623277232782327923280232812328223283232842328523286232872328823289232902329123292232932329423295232962329723298232992330023301233022330323304233052330623307233082330923310233112331223313233142331523316233172331823319233202332123322233232332423325233262332723328233292333023331233322333323334233352333623337233382333923340233412334223343233442334523346233472334823349233502335123352233532335423355233562335723358233592336023361233622336323364233652336623367233682336923370233712337223373233742337523376233772337823379233802338123382233832338423385233862338723388233892339023391233922339323394233952339623397233982339923400234012340223403234042340523406234072340823409234102341123412234132341423415234162341723418234192342023421234222342323424234252342623427234282342923430234312343223433234342343523436234372343823439234402344123442234432344423445234462344723448234492345023451234522345323454234552345623457234582345923460234612346223463234642346523466234672346823469234702347123472234732347423475234762347723478234792348023481234822348323484234852348623487234882348923490234912349223493234942349523496234972349823499235002350123502235032350423505235062350723508235092351023511235122351323514235152351623517235182351923520235212352223523235242352523526235272352823529235302353123532235332353423535235362353723538235392354023541235422354323544235452354623547235482354923550235512355223553235542355523556235572355823559235602356123562235632356423565235662356723568235692357023571235722357323574235752357623577235782357923580235812358223583235842358523586235872358823589235902359123592235932359423595235962359723598235992360023601236022360323604236052360623607236082360923610236112361223613236142361523616236172361823619236202362123622236232362423625236262362723628236292363023631236322363323634236352363623637236382363923640236412364223643236442364523646236472364823649236502365123652236532365423655236562365723658236592366023661236622366323664236652366623667236682366923670236712367223673236742367523676236772367823679236802368123682236832368423685236862368723688236892369023691236922369323694236952369623697236982369923700237012370223703237042370523706237072370823709237102371123712237132371423715237162371723718237192372023721237222372323724237252372623727237282372923730237312373223733237342373523736237372373823739237402374123742237432374423745237462374723748237492375023751237522375323754237552375623757237582375923760237612376223763237642376523766237672376823769237702377123772237732377423775237762377723778237792378023781237822378323784237852378623787237882378923790237912379223793237942379523796237972379823799238002380123802238032380423805238062380723808238092381023811238122381323814238152381623817238182381923820238212382223823238242382523826238272382823829238302383123832238332383423835238362383723838238392384023841238422384323844238452384623847238482384923850238512385223853238542385523856238572385823859238602386123862238632386423865238662386723868238692387023871238722387323874238752387623877238782387923880238812388223883238842388523886238872388823889238902389123892238932389423895238962389723898238992390023901239022390323904239052390623907239082390923910239112391223913239142391523916239172391823919239202392123922239232392423925239262392723928239292393023931239322393323934239352393623937239382393923940239412394223943239442394523946239472394823949239502395123952239532395423955239562395723958239592396023961239622396323964239652396623967239682396923970239712397223973239742397523976239772397823979239802398123982239832398423985239862398723988239892399023991239922399323994239952399623997239982399924000240012400224003240042400524006240072400824009240102401124012240132401424015240162401724018240192402024021240222402324024240252402624027240282402924030240312403224033240342403524036240372403824039240402404124042240432404424045240462404724048240492405024051240522405324054240552405624057240582405924060240612406224063240642406524066240672406824069240702407124072240732407424075240762407724078240792408024081240822408324084240852408624087240882408924090240912409224093240942409524096240972409824099241002410124102241032410424105241062410724108241092411024111241122411324114241152411624117241182411924120241212412224123241242412524126241272412824129241302413124132241332413424135241362413724138241392414024141241422414324144241452414624147241482414924150241512415224153241542415524156241572415824159241602416124162241632416424165241662416724168241692417024171241722417324174241752417624177241782417924180241812418224183241842418524186241872418824189241902419124192241932419424195241962419724198241992420024201242022420324204242052420624207242082420924210242112421224213242142421524216242172421824219242202422124222242232422424225242262422724228242292423024231242322423324234242352423624237242382423924240242412424224243242442424524246242472424824249242502425124252242532425424255242562425724258242592426024261242622426324264242652426624267242682426924270242712427224273242742427524276242772427824279242802428124282242832428424285242862428724288242892429024291242922429324294242952429624297242982429924300243012430224303243042430524306243072430824309243102431124312243132431424315243162431724318243192432024321243222432324324243252432624327243282432924330243312433224333243342433524336243372433824339243402434124342243432434424345243462434724348243492435024351243522435324354243552435624357243582435924360243612436224363243642436524366243672436824369243702437124372243732437424375243762437724378243792438024381243822438324384243852438624387243882438924390243912439224393243942439524396243972439824399244002440124402244032440424405244062440724408244092441024411244122441324414244152441624417244182441924420244212442224423244242442524426244272442824429244302443124432244332443424435244362443724438244392444024441244422444324444244452444624447244482444924450244512445224453244542445524456244572445824459244602446124462244632446424465244662446724468244692447024471244722447324474244752447624477244782447924480244812448224483244842448524486244872448824489244902449124492244932449424495244962449724498244992450024501245022450324504245052450624507245082450924510245112451224513245142451524516245172451824519245202452124522245232452424525245262452724528245292453024531245322453324534245352453624537245382453924540245412454224543245442454524546245472454824549245502455124552245532455424555245562455724558245592456024561245622456324564245652456624567245682456924570245712457224573245742457524576245772457824579245802458124582245832458424585245862458724588245892459024591245922459324594245952459624597245982459924600246012460224603246042460524606246072460824609246102461124612246132461424615246162461724618246192462024621246222462324624246252462624627246282462924630246312463224633246342463524636246372463824639246402464124642246432464424645246462464724648246492465024651246522465324654246552465624657246582465924660246612466224663246642466524666246672466824669246702467124672246732467424675246762467724678246792468024681246822468324684246852468624687246882468924690246912469224693246942469524696246972469824699247002470124702247032470424705247062470724708247092471024711247122471324714247152471624717247182471924720247212472224723247242472524726247272472824729247302473124732247332473424735247362473724738247392474024741247422474324744247452474624747247482474924750247512475224753247542475524756247572475824759247602476124762247632476424765247662476724768247692477024771247722477324774247752477624777247782477924780247812478224783247842478524786247872478824789247902479124792247932479424795247962479724798247992480024801248022480324804248052480624807248082480924810248112481224813248142481524816248172481824819248202482124822248232482424825248262482724828248292483024831248322483324834248352483624837248382483924840248412484224843248442484524846248472484824849248502485124852248532485424855248562485724858248592486024861248622486324864248652486624867248682486924870248712487224873248742487524876248772487824879248802488124882248832488424885248862488724888248892489024891248922489324894248952489624897248982489924900249012490224903249042490524906249072490824909249102491124912249132491424915249162491724918249192492024921249222492324924249252492624927249282492924930249312493224933249342493524936249372493824939249402494124942249432494424945249462494724948249492495024951249522495324954249552495624957249582495924960249612496224963249642496524966249672496824969249702497124972249732497424975249762497724978249792498024981249822498324984249852498624987249882498924990249912499224993249942499524996249972499824999250002500125002250032500425005250062500725008250092501025011250122501325014250152501625017250182501925020250212502225023250242502525026250272502825029250302503125032250332503425035250362503725038250392504025041250422504325044250452504625047250482504925050250512505225053250542505525056250572505825059250602506125062250632506425065250662506725068250692507025071250722507325074250752507625077250782507925080250812508225083250842508525086250872508825089250902509125092250932509425095250962509725098250992510025101251022510325104251052510625107251082510925110251112511225113251142511525116251172511825119251202512125122251232512425125251262512725128251292513025131251322513325134251352513625137251382513925140251412514225143251442514525146251472514825149251502515125152251532515425155251562515725158251592516025161251622516325164251652516625167251682516925170251712517225173251742517525176251772517825179251802518125182251832518425185251862518725188251892519025191251922519325194251952519625197251982519925200252012520225203252042520525206252072520825209252102521125212252132521425215252162521725218252192522025221252222522325224252252522625227252282522925230252312523225233252342523525236252372523825239252402524125242252432524425245252462524725248252492525025251252522525325254252552525625257252582525925260252612526225263252642526525266252672526825269252702527125272252732527425275252762527725278252792528025281252822528325284252852528625287252882528925290252912529225293252942529525296252972529825299253002530125302253032530425305253062530725308253092531025311253122531325314253152531625317253182531925320253212532225323253242532525326253272532825329253302533125332253332533425335253362533725338253392534025341253422534325344253452534625347253482534925350253512535225353253542535525356253572535825359253602536125362253632536425365253662536725368253692537025371253722537325374253752537625377253782537925380253812538225383253842538525386253872538825389253902539125392253932539425395253962539725398253992540025401254022540325404254052540625407254082540925410254112541225413254142541525416254172541825419254202542125422254232542425425254262542725428254292543025431254322543325434254352543625437254382543925440254412544225443254442544525446254472544825449254502545125452254532545425455254562545725458254592546025461254622546325464254652546625467254682546925470254712547225473254742547525476254772547825479254802548125482254832548425485254862548725488254892549025491254922549325494254952549625497254982549925500255012550225503255042550525506255072550825509255102551125512255132551425515255162551725518255192552025521255222552325524255252552625527255282552925530255312553225533255342553525536255372553825539255402554125542255432554425545255462554725548255492555025551255522555325554255552555625557255582555925560255612556225563255642556525566255672556825569255702557125572255732557425575255762557725578255792558025581255822558325584255852558625587255882558925590255912559225593255942559525596255972559825599256002560125602256032560425605256062560725608256092561025611256122561325614256152561625617256182561925620256212562225623256242562525626256272562825629256302563125632256332563425635256362563725638256392564025641256422564325644256452564625647256482564925650256512565225653256542565525656256572565825659256602566125662256632566425665256662566725668256692567025671256722567325674256752567625677256782567925680256812568225683256842568525686256872568825689256902569125692256932569425695256962569725698256992570025701257022570325704257052570625707257082570925710257112571225713257142571525716257172571825719257202572125722257232572425725257262572725728257292573025731257322573325734257352573625737257382573925740257412574225743257442574525746257472574825749257502575125752257532575425755257562575725758257592576025761257622576325764257652576625767257682576925770257712577225773257742577525776257772577825779257802578125782257832578425785257862578725788257892579025791257922579325794257952579625797257982579925800258012580225803258042580525806258072580825809258102581125812258132581425815258162581725818258192582025821258222582325824258252582625827258282582925830258312583225833258342583525836258372583825839258402584125842258432584425845258462584725848258492585025851258522585325854258552585625857258582585925860258612586225863258642586525866258672586825869258702587125872258732587425875258762587725878258792588025881258822588325884258852588625887258882588925890258912589225893258942589525896258972589825899259002590125902259032590425905259062590725908259092591025911259122591325914259152591625917259182591925920259212592225923259242592525926259272592825929259302593125932259332593425935259362593725938259392594025941259422594325944259452594625947259482594925950259512595225953259542595525956259572595825959259602596125962259632596425965259662596725968259692597025971259722597325974259752597625977259782597925980259812598225983259842598525986259872598825989259902599125992259932599425995259962599725998259992600026001260022600326004260052600626007260082600926010260112601226013260142601526016260172601826019260202602126022260232602426025260262602726028260292603026031260322603326034260352603626037260382603926040260412604226043260442604526046260472604826049260502605126052260532605426055260562605726058260592606026061260622606326064260652606626067260682606926070260712607226073260742607526076260772607826079260802608126082260832608426085260862608726088260892609026091260922609326094260952609626097260982609926100261012610226103261042610526106261072610826109261102611126112261132611426115261162611726118261192612026121261222612326124261252612626127261282612926130261312613226133261342613526136261372613826139261402614126142261432614426145261462614726148261492615026151261522615326154261552615626157261582615926160261612616226163261642616526166261672616826169261702617126172261732617426175261762617726178261792618026181261822618326184261852618626187261882618926190261912619226193261942619526196261972619826199262002620126202262032620426205262062620726208262092621026211262122621326214262152621626217262182621926220262212622226223262242622526226262272622826229262302623126232262332623426235262362623726238262392624026241262422624326244262452624626247262482624926250262512625226253262542625526256262572625826259262602626126262262632626426265262662626726268262692627026271262722627326274262752627626277262782627926280262812628226283262842628526286262872628826289262902629126292262932629426295262962629726298262992630026301263022630326304263052630626307263082630926310263112631226313263142631526316263172631826319263202632126322263232632426325263262632726328263292633026331263322633326334263352633626337263382633926340263412634226343263442634526346263472634826349263502635126352263532635426355263562635726358263592636026361263622636326364263652636626367263682636926370263712637226373263742637526376263772637826379263802638126382263832638426385263862638726388263892639026391263922639326394263952639626397263982639926400264012640226403264042640526406264072640826409264102641126412264132641426415264162641726418264192642026421264222642326424264252642626427264282642926430264312643226433264342643526436264372643826439264402644126442264432644426445264462644726448264492645026451264522645326454264552645626457264582645926460264612646226463264642646526466264672646826469264702647126472264732647426475264762647726478264792648026481264822648326484264852648626487264882648926490264912649226493264942649526496264972649826499265002650126502265032650426505265062650726508265092651026511265122651326514265152651626517265182651926520265212652226523265242652526526265272652826529265302653126532265332653426535265362653726538265392654026541265422654326544265452654626547265482654926550265512655226553265542655526556265572655826559265602656126562265632656426565265662656726568265692657026571265722657326574265752657626577265782657926580265812658226583265842658526586265872658826589265902659126592265932659426595265962659726598265992660026601266022660326604266052660626607266082660926610266112661226613266142661526616266172661826619266202662126622266232662426625266262662726628266292663026631266322663326634266352663626637266382663926640266412664226643266442664526646266472664826649266502665126652266532665426655266562665726658266592666026661266622666326664266652666626667266682666926670266712667226673266742667526676266772667826679266802668126682266832668426685266862668726688266892669026691266922669326694266952669626697266982669926700267012670226703267042670526706267072670826709267102671126712267132671426715267162671726718267192672026721267222672326724267252672626727267282672926730267312673226733267342673526736267372673826739267402674126742267432674426745267462674726748267492675026751267522675326754267552675626757267582675926760267612676226763267642676526766267672676826769267702677126772267732677426775267762677726778267792678026781267822678326784267852678626787267882678926790267912679226793267942679526796267972679826799268002680126802268032680426805268062680726808268092681026811268122681326814268152681626817268182681926820268212682226823268242682526826268272682826829268302683126832268332683426835268362683726838268392684026841268422684326844268452684626847268482684926850268512685226853268542685526856268572685826859268602686126862268632686426865268662686726868268692687026871268722687326874268752687626877268782687926880268812688226883268842688526886268872688826889268902689126892268932689426895268962689726898268992690026901269022690326904269052690626907269082690926910269112691226913269142691526916269172691826919269202692126922269232692426925269262692726928269292693026931269322693326934269352693626937269382693926940269412694226943269442694526946269472694826949269502695126952269532695426955269562695726958269592696026961269622696326964269652696626967269682696926970269712697226973269742697526976269772697826979269802698126982269832698426985269862698726988269892699026991269922699326994269952699626997269982699927000270012700227003270042700527006270072700827009270102701127012270132701427015270162701727018270192702027021270222702327024270252702627027270282702927030270312703227033270342703527036270372703827039270402704127042270432704427045270462704727048270492705027051270522705327054270552705627057270582705927060270612706227063270642706527066270672706827069270702707127072270732707427075270762707727078270792708027081270822708327084270852708627087270882708927090270912709227093270942709527096270972709827099271002710127102271032710427105271062710727108271092711027111271122711327114271152711627117271182711927120271212712227123271242712527126271272712827129271302713127132271332713427135271362713727138271392714027141271422714327144271452714627147271482714927150271512715227153271542715527156271572715827159271602716127162271632716427165271662716727168271692717027171271722717327174271752717627177271782717927180271812718227183271842718527186271872718827189271902719127192271932719427195271962719727198271992720027201272022720327204272052720627207272082720927210272112721227213272142721527216272172721827219272202722127222272232722427225272262722727228272292723027231272322723327234272352723627237272382723927240272412724227243272442724527246272472724827249272502725127252272532725427255272562725727258272592726027261272622726327264272652726627267272682726927270272712727227273272742727527276272772727827279272802728127282272832728427285272862728727288272892729027291272922729327294272952729627297272982729927300273012730227303273042730527306273072730827309273102731127312273132731427315273162731727318273192732027321273222732327324273252732627327273282732927330273312733227333273342733527336273372733827339273402734127342273432734427345273462734727348273492735027351273522735327354273552735627357273582735927360273612736227363273642736527366273672736827369273702737127372273732737427375273762737727378273792738027381273822738327384273852738627387273882738927390273912739227393273942739527396273972739827399274002740127402274032740427405274062740727408274092741027411274122741327414274152741627417274182741927420274212742227423274242742527426274272742827429274302743127432274332743427435274362743727438274392744027441274422744327444274452744627447274482744927450274512745227453274542745527456274572745827459274602746127462274632746427465274662746727468274692747027471274722747327474274752747627477274782747927480274812748227483274842748527486274872748827489274902749127492274932749427495274962749727498274992750027501275022750327504275052750627507275082750927510275112751227513275142751527516275172751827519275202752127522275232752427525275262752727528275292753027531275322753327534275352753627537275382753927540275412754227543275442754527546275472754827549275502755127552275532755427555275562755727558275592756027561275622756327564275652756627567275682756927570275712757227573275742757527576275772757827579275802758127582275832758427585275862758727588275892759027591275922759327594275952759627597275982759927600276012760227603276042760527606276072760827609276102761127612276132761427615276162761727618276192762027621276222762327624276252762627627276282762927630276312763227633276342763527636276372763827639276402764127642276432764427645276462764727648276492765027651276522765327654276552765627657276582765927660276612766227663276642766527666276672766827669276702767127672276732767427675276762767727678276792768027681276822768327684276852768627687276882768927690276912769227693276942769527696276972769827699277002770127702277032770427705277062770727708277092771027711277122771327714277152771627717277182771927720277212772227723277242772527726277272772827729277302773127732277332773427735277362773727738277392774027741277422774327744277452774627747277482774927750277512775227753277542775527756277572775827759277602776127762277632776427765277662776727768277692777027771277722777327774277752777627777277782777927780277812778227783277842778527786277872778827789277902779127792277932779427795277962779727798277992780027801278022780327804278052780627807278082780927810278112781227813278142781527816278172781827819278202782127822278232782427825278262782727828278292783027831278322783327834278352783627837278382783927840278412784227843278442784527846278472784827849278502785127852278532785427855278562785727858278592786027861278622786327864278652786627867278682786927870278712787227873278742787527876278772787827879278802788127882278832788427885278862788727888278892789027891278922789327894278952789627897278982789927900279012790227903279042790527906279072790827909279102791127912279132791427915279162791727918279192792027921279222792327924279252792627927279282792927930279312793227933279342793527936279372793827939279402794127942279432794427945279462794727948279492795027951279522795327954279552795627957279582795927960279612796227963279642796527966279672796827969279702797127972279732797427975279762797727978279792798027981279822798327984279852798627987279882798927990279912799227993279942799527996279972799827999280002800128002280032800428005280062800728008280092801028011280122801328014280152801628017280182801928020280212802228023280242802528026280272802828029280302803128032280332803428035280362803728038280392804028041280422804328044280452804628047280482804928050280512805228053280542805528056280572805828059280602806128062280632806428065280662806728068280692807028071280722807328074280752807628077280782807928080280812808228083280842808528086280872808828089280902809128092280932809428095280962809728098280992810028101281022810328104281052810628107281082810928110281112811228113281142811528116281172811828119281202812128122281232812428125281262812728128281292813028131281322813328134281352813628137281382813928140281412814228143281442814528146281472814828149281502815128152281532815428155281562815728158281592816028161281622816328164281652816628167281682816928170281712817228173281742817528176281772817828179281802818128182281832818428185281862818728188281892819028191281922819328194281952819628197281982819928200282012820228203282042820528206282072820828209282102821128212282132821428215282162821728218282192822028221282222822328224282252822628227282282822928230282312823228233282342823528236282372823828239282402824128242282432824428245282462824728248282492825028251282522825328254282552825628257282582825928260282612826228263282642826528266282672826828269282702827128272282732827428275282762827728278282792828028281282822828328284282852828628287282882828928290282912829228293282942829528296282972829828299283002830128302283032830428305283062830728308283092831028311283122831328314283152831628317283182831928320283212832228323283242832528326283272832828329283302833128332283332833428335283362833728338283392834028341283422834328344283452834628347283482834928350283512835228353283542835528356283572835828359283602836128362283632836428365283662836728368283692837028371283722837328374283752837628377283782837928380283812838228383283842838528386283872838828389283902839128392283932839428395283962839728398283992840028401284022840328404284052840628407284082840928410284112841228413284142841528416284172841828419284202842128422284232842428425284262842728428284292843028431284322843328434284352843628437284382843928440284412844228443284442844528446284472844828449284502845128452284532845428455284562845728458284592846028461284622846328464284652846628467284682846928470284712847228473284742847528476284772847828479284802848128482284832848428485284862848728488284892849028491284922849328494284952849628497284982849928500285012850228503285042850528506285072850828509285102851128512285132851428515285162851728518285192852028521285222852328524285252852628527285282852928530285312853228533285342853528536285372853828539285402854128542285432854428545285462854728548285492855028551285522855328554285552855628557285582855928560285612856228563285642856528566285672856828569285702857128572285732857428575285762857728578285792858028581285822858328584285852858628587285882858928590285912859228593285942859528596285972859828599286002860128602286032860428605286062860728608286092861028611286122861328614286152861628617286182861928620286212862228623286242862528626286272862828629286302863128632286332863428635286362863728638286392864028641286422864328644286452864628647286482864928650286512865228653286542865528656286572865828659286602866128662286632866428665286662866728668286692867028671286722867328674286752867628677286782867928680286812868228683286842868528686286872868828689286902869128692286932869428695286962869728698286992870028701287022870328704287052870628707287082870928710287112871228713287142871528716287172871828719287202872128722287232872428725287262872728728287292873028731287322873328734287352873628737287382873928740287412874228743287442874528746287472874828749287502875128752287532875428755287562875728758287592876028761287622876328764287652876628767287682876928770287712877228773287742877528776287772877828779287802878128782287832878428785287862878728788287892879028791287922879328794287952879628797287982879928800288012880228803288042880528806288072880828809288102881128812288132881428815288162881728818288192882028821288222882328824288252882628827288282882928830288312883228833288342883528836288372883828839288402884128842288432884428845288462884728848288492885028851288522885328854288552885628857288582885928860288612886228863288642886528866288672886828869288702887128872288732887428875288762887728878288792888028881288822888328884288852888628887288882888928890288912889228893288942889528896288972889828899289002890128902289032890428905289062890728908289092891028911289122891328914289152891628917289182891928920289212892228923289242892528926289272892828929289302893128932289332893428935289362893728938289392894028941289422894328944289452894628947289482894928950289512895228953289542895528956289572895828959289602896128962289632896428965289662896728968289692897028971289722897328974289752897628977289782897928980289812898228983289842898528986289872898828989289902899128992289932899428995289962899728998289992900029001290022900329004290052900629007290082900929010290112901229013290142901529016290172901829019290202902129022290232902429025290262902729028290292903029031290322903329034290352903629037290382903929040290412904229043290442904529046290472904829049290502905129052290532905429055290562905729058290592906029061290622906329064290652906629067290682906929070290712907229073290742907529076290772907829079290802908129082290832908429085290862908729088290892909029091290922909329094290952909629097290982909929100291012910229103291042910529106291072910829109291102911129112291132911429115291162911729118291192912029121291222912329124291252912629127291282912929130291312913229133291342913529136291372913829139291402914129142291432914429145291462914729148291492915029151291522915329154291552915629157291582915929160291612916229163291642916529166291672916829169291702917129172291732917429175291762917729178291792918029181291822918329184291852918629187291882918929190291912919229193291942919529196291972919829199292002920129202292032920429205292062920729208292092921029211292122921329214292152921629217292182921929220292212922229223292242922529226292272922829229292302923129232292332923429235292362923729238292392924029241292422924329244292452924629247292482924929250292512925229253292542925529256292572925829259292602926129262292632926429265292662926729268292692927029271292722927329274292752927629277292782927929280292812928229283292842928529286292872928829289292902929129292292932929429295292962929729298292992930029301293022930329304293052930629307293082930929310293112931229313293142931529316293172931829319293202932129322293232932429325293262932729328293292933029331293322933329334293352933629337293382933929340293412934229343293442934529346293472934829349293502935129352293532935429355293562935729358293592936029361293622936329364293652936629367293682936929370293712937229373293742937529376293772937829379293802938129382293832938429385293862938729388293892939029391293922939329394293952939629397293982939929400294012940229403294042940529406294072940829409294102941129412294132941429415294162941729418294192942029421294222942329424294252942629427294282942929430294312943229433294342943529436294372943829439294402944129442294432944429445294462944729448294492945029451294522945329454294552945629457294582945929460294612946229463294642946529466294672946829469294702947129472294732947429475294762947729478294792948029481294822948329484294852948629487294882948929490294912949229493294942949529496294972949829499295002950129502295032950429505295062950729508295092951029511295122951329514295152951629517295182951929520295212952229523295242952529526295272952829529295302953129532295332953429535295362953729538295392954029541295422954329544295452954629547295482954929550295512955229553295542955529556295572955829559295602956129562295632956429565295662956729568295692957029571295722957329574295752957629577295782957929580295812958229583295842958529586295872958829589295902959129592295932959429595295962959729598295992960029601296022960329604296052960629607296082960929610296112961229613296142961529616296172961829619296202962129622296232962429625296262962729628296292963029631296322963329634296352963629637296382963929640296412964229643296442964529646296472964829649296502965129652296532965429655296562965729658296592966029661296622966329664296652966629667296682966929670296712967229673296742967529676296772967829679296802968129682296832968429685296862968729688296892969029691296922969329694296952969629697296982969929700297012970229703297042970529706297072970829709297102971129712297132971429715297162971729718297192972029721297222972329724297252972629727297282972929730297312973229733297342973529736297372973829739297402974129742297432974429745297462974729748297492975029751297522975329754297552975629757297582975929760297612976229763297642976529766297672976829769297702977129772297732977429775297762977729778297792978029781297822978329784297852978629787297882978929790297912979229793297942979529796297972979829799298002980129802298032980429805298062980729808298092981029811298122981329814298152981629817298182981929820298212982229823298242982529826298272982829829298302983129832298332983429835298362983729838298392984029841298422984329844298452984629847298482984929850298512985229853298542985529856298572985829859298602986129862298632986429865298662986729868298692987029871298722987329874298752987629877298782987929880298812988229883298842988529886298872988829889298902989129892298932989429895298962989729898298992990029901299022990329904299052990629907299082990929910299112991229913299142991529916299172991829919299202992129922299232992429925299262992729928299292993029931299322993329934299352993629937299382993929940299412994229943299442994529946299472994829949299502995129952299532995429955299562995729958299592996029961299622996329964299652996629967299682996929970299712997229973299742997529976299772997829979299802998129982299832998429985299862998729988299892999029991299922999329994299952999629997299982999930000300013000230003300043000530006300073000830009300103001130012300133001430015300163001730018300193002030021300223002330024300253002630027300283002930030300313003230033300343003530036300373003830039300403004130042300433004430045300463004730048300493005030051300523005330054300553005630057300583005930060300613006230063300643006530066300673006830069300703007130072300733007430075300763007730078300793008030081300823008330084300853008630087300883008930090300913009230093300943009530096300973009830099301003010130102301033010430105301063010730108301093011030111301123011330114301153011630117301183011930120301213012230123301243012530126301273012830129301303013130132301333013430135301363013730138301393014030141301423014330144301453014630147301483014930150301513015230153301543015530156301573015830159301603016130162301633016430165301663016730168301693017030171301723017330174301753017630177301783017930180301813018230183301843018530186301873018830189301903019130192301933019430195301963019730198301993020030201302023020330204302053020630207302083020930210302113021230213302143021530216302173021830219302203022130222302233022430225302263022730228302293023030231302323023330234302353023630237302383023930240302413024230243302443024530246302473024830249302503025130252302533025430255302563025730258302593026030261302623026330264302653026630267302683026930270302713027230273302743027530276302773027830279302803028130282302833028430285302863028730288302893029030291302923029330294302953029630297302983029930300303013030230303303043030530306303073030830309303103031130312303133031430315303163031730318303193032030321303223032330324303253032630327303283032930330303313033230333303343033530336303373033830339303403034130342303433034430345303463034730348303493035030351303523035330354303553035630357303583035930360303613036230363303643036530366303673036830369303703037130372303733037430375303763037730378303793038030381303823038330384303853038630387303883038930390303913039230393303943039530396303973039830399304003040130402304033040430405304063040730408304093041030411304123041330414304153041630417304183041930420304213042230423304243042530426304273042830429304303043130432304333043430435304363043730438304393044030441304423044330444304453044630447304483044930450304513045230453304543045530456304573045830459304603046130462304633046430465304663046730468304693047030471304723047330474304753047630477304783047930480304813048230483304843048530486304873048830489304903049130492304933049430495304963049730498304993050030501305023050330504305053050630507305083050930510305113051230513305143051530516305173051830519305203052130522305233052430525305263052730528305293053030531305323053330534305353053630537305383053930540305413054230543305443054530546305473054830549305503055130552305533055430555305563055730558305593056030561305623056330564305653056630567305683056930570305713057230573305743057530576305773057830579305803058130582305833058430585305863058730588305893059030591305923059330594305953059630597305983059930600306013060230603306043060530606306073060830609306103061130612306133061430615306163061730618306193062030621306223062330624306253062630627306283062930630306313063230633306343063530636306373063830639306403064130642306433064430645306463064730648306493065030651306523065330654306553065630657306583065930660306613066230663306643066530666306673066830669306703067130672306733067430675306763067730678306793068030681306823068330684306853068630687306883068930690306913069230693306943069530696306973069830699307003070130702307033070430705307063070730708307093071030711307123071330714307153071630717307183071930720307213072230723307243072530726307273072830729307303073130732307333073430735307363073730738307393074030741307423074330744307453074630747307483074930750307513075230753307543075530756307573075830759307603076130762307633076430765307663076730768307693077030771307723077330774307753077630777307783077930780307813078230783307843078530786307873078830789307903079130792307933079430795307963079730798307993080030801308023080330804308053080630807308083080930810308113081230813308143081530816308173081830819308203082130822308233082430825308263082730828308293083030831308323083330834308353083630837308383083930840308413084230843308443084530846308473084830849308503085130852308533085430855308563085730858308593086030861308623086330864308653086630867308683086930870308713087230873308743087530876308773087830879308803088130882308833088430885308863088730888308893089030891308923089330894308953089630897308983089930900309013090230903309043090530906309073090830909309103091130912309133091430915309163091730918309193092030921309223092330924309253092630927309283092930930309313093230933309343093530936309373093830939309403094130942309433094430945309463094730948309493095030951309523095330954309553095630957309583095930960309613096230963309643096530966309673096830969309703097130972309733097430975309763097730978309793098030981309823098330984309853098630987309883098930990309913099230993309943099530996309973099830999310003100131002310033100431005310063100731008310093101031011310123101331014310153101631017310183101931020310213102231023310243102531026310273102831029310303103131032310333103431035310363103731038310393104031041310423104331044310453104631047310483104931050310513105231053310543105531056310573105831059310603106131062310633106431065310663106731068310693107031071310723107331074310753107631077310783107931080310813108231083310843108531086310873108831089310903109131092310933109431095310963109731098310993110031101311023110331104311053110631107311083110931110311113111231113311143111531116311173111831119311203112131122311233112431125311263112731128311293113031131311323113331134311353113631137311383113931140311413114231143311443114531146311473114831149311503115131152311533115431155311563115731158311593116031161311623116331164311653116631167311683116931170311713117231173311743117531176311773117831179311803118131182311833118431185311863118731188311893119031191311923119331194311953119631197311983119931200312013120231203312043120531206312073120831209312103121131212312133121431215312163121731218312193122031221312223122331224312253122631227312283122931230312313123231233312343123531236312373123831239312403124131242312433124431245312463124731248312493125031251312523125331254312553125631257312583125931260312613126231263312643126531266312673126831269312703127131272312733127431275312763127731278312793128031281312823128331284312853128631287312883128931290312913129231293312943129531296312973129831299313003130131302313033130431305313063130731308313093131031311313123131331314313153131631317313183131931320313213132231323313243132531326313273132831329313303133131332313333133431335313363133731338313393134031341313423134331344313453134631347313483134931350313513135231353313543135531356313573135831359313603136131362313633136431365313663136731368313693137031371313723137331374313753137631377313783137931380313813138231383313843138531386313873138831389313903139131392313933139431395313963139731398313993140031401314023140331404314053140631407314083140931410314113141231413314143141531416314173141831419314203142131422314233142431425314263142731428314293143031431314323143331434314353143631437314383143931440314413144231443314443144531446314473144831449314503145131452314533145431455314563145731458314593146031461314623146331464314653146631467314683146931470314713147231473314743147531476314773147831479314803148131482314833148431485314863148731488314893149031491314923149331494314953149631497314983149931500315013150231503315043150531506315073150831509315103151131512315133151431515315163151731518315193152031521315223152331524315253152631527315283152931530315313153231533315343153531536315373153831539315403154131542315433154431545315463154731548315493155031551315523155331554315553155631557315583155931560315613156231563315643156531566315673156831569315703157131572315733157431575315763157731578315793158031581315823158331584315853158631587315883158931590315913159231593315943159531596315973159831599316003160131602316033160431605316063160731608316093161031611316123161331614316153161631617316183161931620316213162231623316243162531626316273162831629316303163131632316333163431635316363163731638316393164031641316423164331644316453164631647316483164931650316513165231653316543165531656316573165831659316603166131662316633166431665316663166731668316693167031671316723167331674316753167631677316783167931680316813168231683316843168531686316873168831689316903169131692316933169431695316963169731698316993170031701317023170331704317053170631707317083170931710317113171231713317143171531716317173171831719317203172131722317233172431725317263172731728317293173031731317323173331734317353173631737317383173931740317413174231743317443174531746317473174831749317503175131752317533175431755317563175731758317593176031761317623176331764317653176631767317683176931770317713177231773317743177531776317773177831779317803178131782317833178431785317863178731788317893179031791317923179331794317953179631797317983179931800318013180231803318043180531806318073180831809318103181131812318133181431815318163181731818318193182031821318223182331824318253182631827318283182931830318313183231833318343183531836318373183831839318403184131842318433184431845318463184731848318493185031851318523185331854318553185631857318583185931860318613186231863318643186531866318673186831869318703187131872318733187431875318763187731878318793188031881318823188331884318853188631887318883188931890318913189231893318943189531896318973189831899319003190131902319033190431905319063190731908319093191031911319123191331914319153191631917319183191931920319213192231923319243192531926319273192831929319303193131932319333193431935319363193731938319393194031941319423194331944319453194631947319483194931950319513195231953319543195531956319573195831959319603196131962319633196431965319663196731968319693197031971319723197331974319753197631977319783197931980319813198231983319843198531986319873198831989319903199131992319933199431995319963199731998319993200032001320023200332004320053200632007320083200932010320113201232013320143201532016320173201832019320203202132022320233202432025320263202732028320293203032031320323203332034320353203632037320383203932040320413204232043320443204532046320473204832049320503205132052320533205432055320563205732058320593206032061320623206332064320653206632067320683206932070320713207232073320743207532076320773207832079320803208132082320833208432085320863208732088320893209032091320923209332094320953209632097320983209932100321013210232103321043210532106321073210832109321103211132112321133211432115321163211732118321193212032121321223212332124321253212632127321283212932130321313213232133321343213532136321373213832139321403214132142321433214432145321463214732148321493215032151321523215332154321553215632157321583215932160321613216232163321643216532166321673216832169321703217132172321733217432175321763217732178321793218032181321823218332184321853218632187321883218932190321913219232193321943219532196321973219832199322003220132202322033220432205322063220732208322093221032211322123221332214322153221632217322183221932220322213222232223322243222532226322273222832229322303223132232322333223432235322363223732238322393224032241322423224332244322453224632247322483224932250322513225232253322543225532256322573225832259322603226132262322633226432265322663226732268322693227032271322723227332274322753227632277322783227932280322813228232283322843228532286322873228832289322903229132292322933229432295322963229732298322993230032301323023230332304323053230632307323083230932310323113231232313323143231532316323173231832319323203232132322323233232432325323263232732328323293233032331323323233332334323353233632337323383233932340323413234232343323443234532346323473234832349323503235132352323533235432355323563235732358323593236032361323623236332364323653236632367323683236932370323713237232373323743237532376323773237832379323803238132382323833238432385323863238732388323893239032391323923239332394323953239632397323983239932400324013240232403324043240532406324073240832409324103241132412324133241432415324163241732418324193242032421324223242332424324253242632427324283242932430324313243232433324343243532436324373243832439324403244132442324433244432445324463244732448324493245032451324523245332454324553245632457324583245932460324613246232463324643246532466324673246832469324703247132472324733247432475324763247732478324793248032481324823248332484324853248632487324883248932490324913249232493324943249532496324973249832499325003250132502325033250432505325063250732508325093251032511325123251332514325153251632517325183251932520325213252232523325243252532526325273252832529325303253132532325333253432535325363253732538325393254032541325423254332544325453254632547325483254932550325513255232553325543255532556325573255832559325603256132562325633256432565325663256732568325693257032571325723257332574325753257632577325783257932580325813258232583325843258532586325873258832589325903259132592325933259432595325963259732598325993260032601326023260332604326053260632607326083260932610326113261232613326143261532616326173261832619326203262132622326233262432625326263262732628326293263032631326323263332634326353263632637326383263932640326413264232643326443264532646326473264832649326503265132652326533265432655326563265732658326593266032661326623266332664326653266632667326683266932670326713267232673326743267532676326773267832679326803268132682326833268432685326863268732688326893269032691326923269332694326953269632697326983269932700327013270232703327043270532706327073270832709327103271132712327133271432715327163271732718327193272032721327223272332724327253272632727327283272932730327313273232733327343273532736327373273832739327403274132742327433274432745327463274732748327493275032751327523275332754327553275632757327583275932760327613276232763327643276532766327673276832769327703277132772327733277432775327763277732778327793278032781327823278332784327853278632787327883278932790327913279232793327943279532796327973279832799328003280132802328033280432805328063280732808328093281032811328123281332814328153281632817328183281932820328213282232823328243282532826328273282832829328303283132832328333283432835328363283732838328393284032841328423284332844328453284632847328483284932850328513285232853328543285532856328573285832859328603286132862328633286432865328663286732868328693287032871328723287332874328753287632877328783287932880328813288232883328843288532886328873288832889328903289132892328933289432895328963289732898328993290032901329023290332904329053290632907329083290932910329113291232913329143291532916329173291832919329203292132922329233292432925329263292732928329293293032931329323293332934329353293632937329383293932940329413294232943329443294532946329473294832949329503295132952329533295432955329563295732958329593296032961329623296332964329653296632967329683296932970329713297232973329743297532976329773297832979329803298132982329833298432985329863298732988329893299032991329923299332994329953299632997329983299933000330013300233003330043300533006330073300833009330103301133012330133301433015330163301733018330193302033021330223302333024330253302633027330283302933030330313303233033330343303533036330373303833039330403304133042330433304433045330463304733048330493305033051330523305333054330553305633057330583305933060330613306233063330643306533066330673306833069330703307133072330733307433075330763307733078330793308033081330823308333084330853308633087330883308933090330913309233093330943309533096330973309833099331003310133102331033310433105331063310733108331093311033111331123311333114331153311633117331183311933120331213312233123331243312533126331273312833129331303313133132331333313433135331363313733138331393314033141331423314333144331453314633147331483314933150331513315233153331543315533156331573315833159331603316133162331633316433165331663316733168331693317033171331723317333174331753317633177331783317933180331813318233183331843318533186331873318833189331903319133192331933319433195331963319733198331993320033201332023320333204332053320633207332083320933210332113321233213332143321533216332173321833219332203322133222332233322433225332263322733228332293323033231332323323333234332353323633237332383323933240332413324233243332443324533246332473324833249332503325133252332533325433255332563325733258332593326033261332623326333264332653326633267332683326933270332713327233273332743327533276332773327833279332803328133282332833328433285332863328733288332893329033291332923329333294332953329633297332983329933300333013330233303333043330533306333073330833309333103331133312333133331433315333163331733318333193332033321333223332333324333253332633327333283332933330333313333233333333343333533336333373333833339333403334133342333433334433345333463334733348333493335033351333523335333354333553335633357333583335933360333613336233363333643336533366333673336833369333703337133372333733337433375333763337733378333793338033381333823338333384333853338633387333883338933390333913339233393333943339533396333973339833399334003340133402334033340433405334063340733408334093341033411334123341333414334153341633417334183341933420334213342233423334243342533426334273342833429334303343133432334333343433435334363343733438334393344033441334423344333444334453344633447334483344933450334513345233453334543345533456334573345833459334603346133462334633346433465334663346733468334693347033471334723347333474334753347633477334783347933480334813348233483334843348533486334873348833489334903349133492334933349433495334963349733498334993350033501335023350333504335053350633507335083350933510335113351233513335143351533516335173351833519335203352133522335233352433525335263352733528335293353033531335323353333534335353353633537335383353933540335413354233543335443354533546335473354833549335503355133552335533355433555335563355733558335593356033561335623356333564335653356633567335683356933570335713357233573335743357533576335773357833579335803358133582335833358433585335863358733588335893359033591335923359333594335953359633597335983359933600336013360233603336043360533606336073360833609336103361133612336133361433615336163361733618336193362033621336223362333624336253362633627336283362933630336313363233633336343363533636336373363833639336403364133642336433364433645336463364733648336493365033651336523365333654336553365633657336583365933660336613366233663336643366533666336673366833669336703367133672336733367433675336763367733678336793368033681336823368333684336853368633687336883368933690336913369233693336943369533696336973369833699337003370133702337033370433705337063370733708337093371033711337123371333714337153371633717337183371933720337213372233723337243372533726337273372833729337303373133732337333373433735337363373733738337393374033741337423374333744337453374633747337483374933750337513375233753337543375533756337573375833759337603376133762337633376433765337663376733768337693377033771337723377333774337753377633777337783377933780337813378233783337843378533786337873378833789337903379133792337933379433795337963379733798337993380033801338023380333804338053380633807338083380933810338113381233813338143381533816338173381833819338203382133822338233382433825338263382733828338293383033831338323383333834338353383633837338383383933840338413384233843338443384533846338473384833849338503385133852338533385433855338563385733858338593386033861338623386333864338653386633867338683386933870338713387233873338743387533876338773387833879338803388133882338833388433885338863388733888338893389033891338923389333894338953389633897338983389933900339013390233903339043390533906339073390833909339103391133912339133391433915339163391733918339193392033921339223392333924339253392633927339283392933930339313393233933339343393533936339373393833939339403394133942339433394433945339463394733948339493395033951339523395333954339553395633957339583395933960339613396233963339643396533966339673396833969339703397133972339733397433975339763397733978339793398033981339823398333984339853398633987339883398933990339913399233993339943399533996339973399833999340003400134002340033400434005340063400734008340093401034011340123401334014340153401634017340183401934020340213402234023340243402534026340273402834029340303403134032340333403434035340363403734038340393404034041340423404334044340453404634047340483404934050340513405234053340543405534056340573405834059340603406134062340633406434065340663406734068340693407034071340723407334074340753407634077340783407934080340813408234083340843408534086340873408834089340903409134092340933409434095340963409734098340993410034101341023410334104341053410634107341083410934110341113411234113341143411534116341173411834119341203412134122341233412434125341263412734128341293413034131341323413334134341353413634137341383413934140341413414234143341443414534146341473414834149341503415134152341533415434155341563415734158341593416034161341623416334164341653416634167341683416934170341713417234173341743417534176341773417834179341803418134182341833418434185341863418734188341893419034191341923419334194341953419634197341983419934200342013420234203342043420534206342073420834209342103421134212342133421434215342163421734218342193422034221342223422334224342253422634227342283422934230342313423234233342343423534236342373423834239342403424134242342433424434245342463424734248342493425034251342523425334254342553425634257342583425934260342613426234263342643426534266342673426834269342703427134272342733427434275342763427734278342793428034281342823428334284342853428634287342883428934290342913429234293342943429534296342973429834299343003430134302343033430434305343063430734308343093431034311343123431334314343153431634317343183431934320343213432234323343243432534326343273432834329343303433134332343333433434335343363433734338343393434034341343423434334344343453434634347343483434934350343513435234353343543435534356343573435834359343603436134362343633436434365343663436734368343693437034371343723437334374343753437634377343783437934380343813438234383343843438534386343873438834389343903439134392343933439434395343963439734398343993440034401344023440334404344053440634407344083440934410344113441234413344143441534416344173441834419344203442134422344233442434425344263442734428344293443034431344323443334434344353443634437344383443934440344413444234443344443444534446344473444834449344503445134452344533445434455344563445734458344593446034461344623446334464344653446634467344683446934470344713447234473344743447534476344773447834479344803448134482344833448434485344863448734488344893449034491344923449334494344953449634497344983449934500345013450234503345043450534506345073450834509345103451134512345133451434515345163451734518345193452034521345223452334524345253452634527345283452934530345313453234533345343453534536345373453834539345403454134542345433454434545345463454734548345493455034551345523455334554345553455634557345583455934560345613456234563345643456534566345673456834569345703457134572345733457434575345763457734578345793458034581345823458334584345853458634587345883458934590345913459234593345943459534596345973459834599346003460134602346033460434605346063460734608346093461034611346123461334614346153461634617346183461934620346213462234623346243462534626346273462834629346303463134632346333463434635346363463734638346393464034641346423464334644346453464634647346483464934650346513465234653346543465534656346573465834659346603466134662346633466434665346663466734668346693467034671346723467334674346753467634677346783467934680346813468234683346843468534686346873468834689346903469134692346933469434695346963469734698346993470034701347023470334704347053470634707347083470934710347113471234713347143471534716347173471834719347203472134722347233472434725347263472734728347293473034731347323473334734347353473634737347383473934740347413474234743347443474534746347473474834749347503475134752347533475434755347563475734758347593476034761347623476334764347653476634767347683476934770347713477234773347743477534776347773477834779347803478134782347833478434785347863478734788347893479034791347923479334794347953479634797347983479934800348013480234803348043480534806348073480834809348103481134812348133481434815348163481734818348193482034821348223482334824348253482634827348283482934830348313483234833348343483534836348373483834839348403484134842348433484434845348463484734848348493485034851348523485334854348553485634857348583485934860348613486234863348643486534866348673486834869348703487134872348733487434875348763487734878348793488034881348823488334884348853488634887348883488934890348913489234893348943489534896348973489834899349003490134902349033490434905349063490734908349093491034911349123491334914349153491634917349183491934920349213492234923349243492534926349273492834929349303493134932349333493434935349363493734938349393494034941349423494334944349453494634947349483494934950349513495234953349543495534956349573495834959349603496134962349633496434965349663496734968349693497034971349723497334974349753497634977349783497934980349813498234983349843498534986349873498834989349903499134992349933499434995349963499734998349993500035001350023500335004350053500635007350083500935010350113501235013350143501535016350173501835019350203502135022350233502435025350263502735028350293503035031350323503335034350353503635037350383503935040350413504235043350443504535046350473504835049350503505135052350533505435055350563505735058350593506035061350623506335064350653506635067350683506935070350713507235073350743507535076350773507835079350803508135082350833508435085350863508735088350893509035091350923509335094350953509635097350983509935100351013510235103351043510535106351073510835109351103511135112351133511435115351163511735118351193512035121351223512335124351253512635127351283512935130351313513235133351343513535136351373513835139351403514135142351433514435145351463514735148351493515035151351523515335154351553515635157351583515935160351613516235163351643516535166351673516835169351703517135172351733517435175351763517735178351793518035181351823518335184351853518635187351883518935190351913519235193351943519535196351973519835199352003520135202352033520435205352063520735208352093521035211352123521335214352153521635217352183521935220352213522235223352243522535226352273522835229352303523135232352333523435235352363523735238352393524035241352423524335244352453524635247352483524935250352513525235253352543525535256352573525835259352603526135262352633526435265352663526735268352693527035271352723527335274352753527635277352783527935280352813528235283352843528535286352873528835289352903529135292352933529435295352963529735298352993530035301353023530335304353053530635307353083530935310353113531235313353143531535316353173531835319353203532135322353233532435325353263532735328353293533035331353323533335334353353533635337353383533935340353413534235343353443534535346353473534835349353503535135352353533535435355353563535735358353593536035361353623536335364353653536635367353683536935370353713537235373353743537535376353773537835379353803538135382353833538435385353863538735388353893539035391353923539335394353953539635397353983539935400354013540235403354043540535406354073540835409354103541135412354133541435415354163541735418354193542035421354223542335424354253542635427354283542935430354313543235433354343543535436354373543835439354403544135442354433544435445354463544735448354493545035451354523545335454354553545635457354583545935460354613546235463354643546535466354673546835469354703547135472354733547435475354763547735478354793548035481354823548335484354853548635487354883548935490354913549235493354943549535496354973549835499355003550135502355033550435505355063550735508355093551035511355123551335514355153551635517355183551935520355213552235523355243552535526355273552835529355303553135532355333553435535355363553735538355393554035541355423554335544355453554635547355483554935550355513555235553355543555535556355573555835559355603556135562355633556435565355663556735568355693557035571355723557335574355753557635577355783557935580355813558235583355843558535586355873558835589355903559135592355933559435595355963559735598355993560035601356023560335604356053560635607356083560935610356113561235613356143561535616356173561835619356203562135622356233562435625356263562735628356293563035631356323563335634356353563635637356383563935640356413564235643356443564535646356473564835649356503565135652356533565435655356563565735658356593566035661356623566335664356653566635667356683566935670356713567235673356743567535676356773567835679356803568135682356833568435685356863568735688356893569035691356923569335694356953569635697356983569935700357013570235703357043570535706357073570835709357103571135712357133571435715357163571735718357193572035721357223572335724357253572635727357283572935730357313573235733357343573535736357373573835739357403574135742357433574435745357463574735748357493575035751357523575335754357553575635757357583575935760357613576235763357643576535766357673576835769357703577135772357733577435775357763577735778357793578035781357823578335784357853578635787357883578935790357913579235793357943579535796357973579835799358003580135802358033580435805358063580735808358093581035811358123581335814358153581635817358183581935820358213582235823358243582535826358273582835829358303583135832358333583435835358363583735838358393584035841358423584335844358453584635847358483584935850358513585235853358543585535856358573585835859358603586135862358633586435865358663586735868358693587035871358723587335874358753587635877358783587935880358813588235883358843588535886358873588835889358903589135892358933589435895358963589735898358993590035901359023590335904359053590635907359083590935910359113591235913359143591535916359173591835919359203592135922359233592435925359263592735928359293593035931359323593335934359353593635937359383593935940359413594235943359443594535946359473594835949359503595135952359533595435955359563595735958359593596035961359623596335964359653596635967359683596935970359713597235973359743597535976359773597835979359803598135982359833598435985359863598735988359893599035991359923599335994359953599635997359983599936000360013600236003360043600536006360073600836009360103601136012360133601436015360163601736018360193602036021360223602336024360253602636027360283602936030360313603236033360343603536036360373603836039360403604136042360433604436045360463604736048360493605036051360523605336054360553605636057360583605936060360613606236063360643606536066360673606836069360703607136072360733607436075360763607736078360793608036081360823608336084360853608636087360883608936090360913609236093360943609536096360973609836099361003610136102361033610436105361063610736108361093611036111361123611336114361153611636117361183611936120361213612236123361243612536126361273612836129361303613136132361333613436135361363613736138361393614036141361423614336144361453614636147361483614936150361513615236153361543615536156361573615836159361603616136162361633616436165361663616736168361693617036171361723617336174361753617636177361783617936180361813618236183361843618536186361873618836189361903619136192361933619436195361963619736198361993620036201362023620336204362053620636207362083620936210362113621236213362143621536216362173621836219362203622136222362233622436225362263622736228362293623036231362323623336234362353623636237362383623936240362413624236243362443624536246362473624836249362503625136252362533625436255362563625736258362593626036261362623626336264362653626636267362683626936270362713627236273362743627536276362773627836279362803628136282362833628436285362863628736288362893629036291362923629336294362953629636297362983629936300363013630236303363043630536306363073630836309363103631136312363133631436315363163631736318363193632036321363223632336324363253632636327363283632936330363313633236333363343633536336363373633836339363403634136342363433634436345363463634736348363493635036351363523635336354363553635636357363583635936360363613636236363363643636536366363673636836369363703637136372363733637436375363763637736378363793638036381363823638336384363853638636387363883638936390363913639236393363943639536396363973639836399364003640136402364033640436405364063640736408364093641036411364123641336414364153641636417364183641936420364213642236423364243642536426364273642836429364303643136432364333643436435364363643736438364393644036441364423644336444364453644636447364483644936450364513645236453364543645536456364573645836459364603646136462364633646436465364663646736468364693647036471364723647336474364753647636477364783647936480364813648236483364843648536486364873648836489364903649136492364933649436495364963649736498364993650036501365023650336504365053650636507365083650936510365113651236513365143651536516365173651836519365203652136522365233652436525365263652736528365293653036531365323653336534365353653636537365383653936540365413654236543365443654536546365473654836549365503655136552365533655436555365563655736558365593656036561365623656336564365653656636567365683656936570365713657236573365743657536576365773657836579365803658136582365833658436585365863658736588365893659036591365923659336594365953659636597365983659936600366013660236603366043660536606366073660836609366103661136612366133661436615366163661736618366193662036621366223662336624366253662636627366283662936630366313663236633366343663536636366373663836639366403664136642366433664436645366463664736648366493665036651366523665336654366553665636657366583665936660366613666236663366643666536666366673666836669366703667136672366733667436675366763667736678366793668036681366823668336684366853668636687366883668936690366913669236693366943669536696366973669836699367003670136702367033670436705367063670736708367093671036711367123671336714367153671636717367183671936720367213672236723367243672536726367273672836729367303673136732367333673436735367363673736738367393674036741367423674336744367453674636747367483674936750367513675236753367543675536756367573675836759367603676136762367633676436765367663676736768367693677036771367723677336774367753677636777367783677936780367813678236783367843678536786367873678836789367903679136792367933679436795367963679736798367993680036801368023680336804368053680636807368083680936810368113681236813368143681536816368173681836819368203682136822368233682436825368263682736828368293683036831368323683336834368353683636837368383683936840368413684236843368443684536846368473684836849368503685136852368533685436855368563685736858368593686036861368623686336864368653686636867368683686936870368713687236873368743687536876368773687836879368803688136882368833688436885368863688736888368893689036891368923689336894368953689636897368983689936900369013690236903369043690536906369073690836909369103691136912369133691436915369163691736918369193692036921369223692336924369253692636927369283692936930369313693236933369343693536936369373693836939369403694136942369433694436945369463694736948369493695036951369523695336954369553695636957369583695936960369613696236963369643696536966369673696836969369703697136972369733697436975369763697736978369793698036981369823698336984369853698636987369883698936990369913699236993369943699536996369973699836999370003700137002370033700437005370063700737008370093701037011370123701337014370153701637017370183701937020370213702237023370243702537026370273702837029370303703137032370333703437035370363703737038370393704037041370423704337044370453704637047370483704937050370513705237053370543705537056370573705837059370603706137062370633706437065370663706737068370693707037071370723707337074370753707637077370783707937080370813708237083370843708537086370873708837089370903709137092370933709437095370963709737098370993710037101371023710337104371053710637107371083710937110371113711237113371143711537116371173711837119371203712137122371233712437125371263712737128371293713037131371323713337134371353713637137371383713937140371413714237143371443714537146371473714837149371503715137152371533715437155371563715737158371593716037161371623716337164371653716637167371683716937170371713717237173371743717537176371773717837179371803718137182371833718437185371863718737188371893719037191371923719337194371953719637197371983719937200372013720237203372043720537206372073720837209372103721137212372133721437215372163721737218372193722037221372223722337224372253722637227372283722937230372313723237233372343723537236372373723837239372403724137242372433724437245372463724737248372493725037251372523725337254372553725637257372583725937260372613726237263372643726537266372673726837269372703727137272372733727437275372763727737278372793728037281372823728337284372853728637287372883728937290372913729237293372943729537296372973729837299373003730137302373033730437305373063730737308373093731037311373123731337314373153731637317373183731937320373213732237323373243732537326373273732837329373303733137332373333733437335373363733737338373393734037341373423734337344373453734637347373483734937350373513735237353373543735537356373573735837359373603736137362373633736437365373663736737368373693737037371373723737337374373753737637377373783737937380373813738237383373843738537386373873738837389373903739137392373933739437395373963739737398373993740037401374023740337404374053740637407374083740937410374113741237413374143741537416374173741837419374203742137422374233742437425374263742737428374293743037431374323743337434374353743637437374383743937440374413744237443374443744537446374473744837449374503745137452374533745437455374563745737458374593746037461374623746337464374653746637467374683746937470374713747237473374743747537476374773747837479374803748137482374833748437485374863748737488374893749037491374923749337494374953749637497374983749937500375013750237503375043750537506375073750837509375103751137512375133751437515375163751737518375193752037521375223752337524375253752637527375283752937530375313753237533375343753537536375373753837539375403754137542375433754437545375463754737548375493755037551375523755337554375553755637557375583755937560375613756237563375643756537566375673756837569375703757137572375733757437575375763757737578375793758037581375823758337584375853758637587375883758937590375913759237593375943759537596375973759837599376003760137602376033760437605376063760737608376093761037611376123761337614376153761637617376183761937620376213762237623376243762537626376273762837629376303763137632376333763437635376363763737638376393764037641376423764337644376453764637647376483764937650376513765237653376543765537656376573765837659376603766137662376633766437665376663766737668376693767037671376723767337674376753767637677376783767937680376813768237683376843768537686376873768837689376903769137692376933769437695376963769737698376993770037701377023770337704377053770637707377083770937710377113771237713377143771537716377173771837719377203772137722377233772437725377263772737728377293773037731377323773337734377353773637737377383773937740377413774237743377443774537746377473774837749377503775137752377533775437755377563775737758377593776037761377623776337764377653776637767377683776937770377713777237773377743777537776377773777837779377803778137782377833778437785377863778737788377893779037791377923779337794377953779637797377983779937800378013780237803378043780537806378073780837809378103781137812378133781437815378163781737818378193782037821378223782337824378253782637827378283782937830378313783237833378343783537836378373783837839378403784137842378433784437845378463784737848378493785037851378523785337854378553785637857378583785937860378613786237863378643786537866378673786837869378703787137872378733787437875378763787737878378793788037881378823788337884378853788637887378883788937890378913789237893378943789537896378973789837899379003790137902379033790437905379063790737908379093791037911379123791337914379153791637917379183791937920379213792237923379243792537926379273792837929379303793137932379333793437935379363793737938379393794037941379423794337944379453794637947379483794937950379513795237953379543795537956379573795837959379603796137962379633796437965379663796737968379693797037971379723797337974379753797637977379783797937980379813798237983379843798537986379873798837989379903799137992379933799437995379963799737998379993800038001380023800338004380053800638007380083800938010380113801238013380143801538016380173801838019380203802138022380233802438025380263802738028380293803038031380323803338034380353803638037380383803938040380413804238043380443804538046380473804838049380503805138052380533805438055380563805738058380593806038061380623806338064380653806638067380683806938070380713807238073380743807538076380773807838079380803808138082380833808438085380863808738088380893809038091380923809338094380953809638097380983809938100381013810238103381043810538106381073810838109381103811138112381133811438115381163811738118381193812038121381223812338124381253812638127381283812938130381313813238133381343813538136381373813838139381403814138142381433814438145381463814738148381493815038151381523815338154381553815638157381583815938160381613816238163381643816538166381673816838169381703817138172381733817438175381763817738178381793818038181381823818338184381853818638187381883818938190381913819238193381943819538196381973819838199382003820138202382033820438205382063820738208382093821038211382123821338214382153821638217382183821938220382213822238223382243822538226382273822838229382303823138232382333823438235382363823738238382393824038241382423824338244382453824638247382483824938250382513825238253382543825538256382573825838259382603826138262382633826438265382663826738268382693827038271382723827338274382753827638277382783827938280382813828238283382843828538286382873828838289382903829138292382933829438295382963829738298382993830038301383023830338304383053830638307383083830938310383113831238313383143831538316383173831838319383203832138322383233832438325383263832738328383293833038331383323833338334383353833638337383383833938340383413834238343383443834538346383473834838349383503835138352383533835438355383563835738358383593836038361383623836338364383653836638367383683836938370383713837238373383743837538376383773837838379383803838138382383833838438385383863838738388383893839038391383923839338394383953839638397383983839938400384013840238403384043840538406384073840838409384103841138412384133841438415384163841738418384193842038421384223842338424384253842638427384283842938430384313843238433384343843538436384373843838439384403844138442384433844438445384463844738448384493845038451384523845338454384553845638457384583845938460384613846238463384643846538466384673846838469384703847138472384733847438475384763847738478384793848038481384823848338484384853848638487384883848938490384913849238493384943849538496384973849838499385003850138502385033850438505385063850738508385093851038511385123851338514385153851638517385183851938520385213852238523385243852538526385273852838529385303853138532385333853438535385363853738538385393854038541385423854338544385453854638547385483854938550385513855238553385543855538556385573855838559385603856138562385633856438565385663856738568385693857038571385723857338574385753857638577385783857938580385813858238583385843858538586385873858838589385903859138592385933859438595385963859738598385993860038601386023860338604386053860638607386083860938610386113861238613386143861538616386173861838619386203862138622386233862438625386263862738628386293863038631386323863338634386353863638637386383863938640386413864238643386443864538646386473864838649386503865138652386533865438655386563865738658386593866038661386623866338664386653866638667386683866938670386713867238673386743867538676386773867838679386803868138682386833868438685386863868738688386893869038691386923869338694386953869638697386983869938700387013870238703387043870538706387073870838709387103871138712387133871438715387163871738718387193872038721387223872338724387253872638727387283872938730387313873238733387343873538736387373873838739387403874138742387433874438745387463874738748387493875038751387523875338754387553875638757387583875938760387613876238763387643876538766387673876838769387703877138772387733877438775387763877738778387793878038781387823878338784387853878638787387883878938790387913879238793387943879538796387973879838799388003880138802388033880438805388063880738808388093881038811388123881338814388153881638817388183881938820388213882238823388243882538826388273882838829388303883138832388333883438835388363883738838388393884038841388423884338844388453884638847388483884938850388513885238853388543885538856388573885838859388603886138862388633886438865388663886738868388693887038871388723887338874388753887638877388783887938880388813888238883388843888538886388873888838889388903889138892388933889438895388963889738898388993890038901389023890338904389053890638907389083890938910389113891238913389143891538916389173891838919389203892138922389233892438925389263892738928389293893038931389323893338934389353893638937389383893938940389413894238943389443894538946389473894838949389503895138952389533895438955389563895738958389593896038961389623896338964389653896638967389683896938970389713897238973389743897538976389773897838979389803898138982389833898438985389863898738988389893899038991389923899338994389953899638997389983899939000390013900239003390043900539006390073900839009390103901139012390133901439015390163901739018390193902039021390223902339024390253902639027390283902939030390313903239033390343903539036390373903839039390403904139042390433904439045390463904739048390493905039051390523905339054390553905639057390583905939060390613906239063390643906539066390673906839069390703907139072390733907439075390763907739078390793908039081390823908339084390853908639087390883908939090390913909239093390943909539096390973909839099391003910139102391033910439105391063910739108391093911039111391123911339114391153911639117391183911939120391213912239123391243912539126391273912839129391303913139132391333913439135391363913739138391393914039141391423914339144391453914639147391483914939150391513915239153391543915539156391573915839159391603916139162391633916439165391663916739168391693917039171391723917339174391753917639177391783917939180391813918239183391843918539186391873918839189391903919139192391933919439195391963919739198391993920039201392023920339204392053920639207392083920939210392113921239213392143921539216392173921839219392203922139222392233922439225392263922739228392293923039231392323923339234392353923639237392383923939240392413924239243392443924539246392473924839249392503925139252392533925439255392563925739258392593926039261392623926339264392653926639267392683926939270392713927239273392743927539276392773927839279392803928139282392833928439285392863928739288392893929039291392923929339294392953929639297392983929939300393013930239303393043930539306393073930839309393103931139312393133931439315393163931739318393193932039321393223932339324393253932639327393283932939330393313933239333393343933539336393373933839339393403934139342393433934439345393463934739348393493935039351393523935339354393553935639357393583935939360393613936239363393643936539366393673936839369393703937139372393733937439375393763937739378393793938039381393823938339384393853938639387393883938939390393913939239393393943939539396393973939839399394003940139402394033940439405394063940739408394093941039411394123941339414394153941639417394183941939420394213942239423394243942539426394273942839429394303943139432394333943439435394363943739438394393944039441394423944339444394453944639447394483944939450394513945239453394543945539456394573945839459394603946139462394633946439465394663946739468394693947039471394723947339474394753947639477394783947939480394813948239483394843948539486394873948839489394903949139492394933949439495394963949739498394993950039501395023950339504395053950639507395083950939510395113951239513395143951539516395173951839519395203952139522395233952439525395263952739528395293953039531395323953339534395353953639537395383953939540395413954239543395443954539546395473954839549395503955139552395533955439555395563955739558395593956039561395623956339564395653956639567395683956939570395713957239573395743957539576395773957839579395803958139582395833958439585395863958739588395893959039591395923959339594395953959639597395983959939600396013960239603396043960539606396073960839609396103961139612396133961439615396163961739618396193962039621396223962339624396253962639627396283962939630396313963239633396343963539636396373963839639396403964139642396433964439645396463964739648396493965039651396523965339654396553965639657396583965939660396613966239663396643966539666396673966839669396703967139672396733967439675396763967739678396793968039681396823968339684396853968639687396883968939690396913969239693396943969539696396973969839699397003970139702397033970439705397063970739708397093971039711397123971339714397153971639717397183971939720397213972239723397243972539726397273972839729397303973139732397333973439735397363973739738397393974039741397423974339744397453974639747397483974939750397513975239753397543975539756397573975839759397603976139762397633976439765397663976739768397693977039771397723977339774397753977639777397783977939780397813978239783397843978539786397873978839789397903979139792397933979439795397963979739798397993980039801398023980339804398053980639807398083980939810398113981239813398143981539816398173981839819398203982139822398233982439825398263982739828398293983039831398323983339834398353983639837398383983939840398413984239843398443984539846398473984839849398503985139852398533985439855398563985739858398593986039861398623986339864398653986639867398683986939870398713987239873398743987539876398773987839879398803988139882398833988439885398863988739888398893989039891398923989339894398953989639897398983989939900399013990239903399043990539906399073990839909399103991139912399133991439915399163991739918399193992039921399223992339924399253992639927399283992939930399313993239933399343993539936399373993839939399403994139942399433994439945399463994739948399493995039951399523995339954399553995639957399583995939960399613996239963399643996539966399673996839969399703997139972399733997439975399763997739978399793998039981399823998339984399853998639987399883998939990399913999239993399943999539996399973999839999400004000140002400034000440005400064000740008400094001040011400124001340014400154001640017400184001940020400214002240023400244002540026400274002840029400304003140032400334003440035400364003740038400394004040041400424004340044400454004640047400484004940050400514005240053400544005540056400574005840059400604006140062400634006440065400664006740068400694007040071400724007340074400754007640077400784007940080400814008240083400844008540086400874008840089400904009140092400934009440095400964009740098400994010040101401024010340104401054010640107401084010940110401114011240113401144011540116401174011840119401204012140122401234012440125401264012740128401294013040131401324013340134401354013640137401384013940140401414014240143401444014540146401474014840149401504015140152401534015440155401564015740158401594016040161401624016340164401654016640167401684016940170401714017240173401744017540176401774017840179401804018140182401834018440185401864018740188401894019040191401924019340194401954019640197401984019940200402014020240203402044020540206402074020840209402104021140212402134021440215402164021740218402194022040221402224022340224402254022640227402284022940230402314023240233402344023540236402374023840239402404024140242402434024440245402464024740248402494025040251402524025340254402554025640257402584025940260402614026240263402644026540266402674026840269402704027140272402734027440275402764027740278402794028040281402824028340284402854028640287402884028940290402914029240293402944029540296402974029840299403004030140302403034030440305403064030740308403094031040311403124031340314403154031640317403184031940320403214032240323403244032540326403274032840329403304033140332403334033440335403364033740338403394034040341403424034340344403454034640347403484034940350403514035240353403544035540356403574035840359403604036140362403634036440365403664036740368403694037040371403724037340374403754037640377403784037940380403814038240383403844038540386403874038840389403904039140392403934039440395403964039740398403994040040401404024040340404404054040640407404084040940410404114041240413404144041540416404174041840419404204042140422404234042440425404264042740428404294043040431404324043340434404354043640437404384043940440404414044240443404444044540446404474044840449404504045140452404534045440455404564045740458404594046040461404624046340464404654046640467404684046940470404714047240473404744047540476404774047840479404804048140482404834048440485404864048740488404894049040491404924049340494404954049640497404984049940500405014050240503405044050540506405074050840509405104051140512405134051440515405164051740518405194052040521405224052340524405254052640527405284052940530405314053240533405344053540536405374053840539405404054140542405434054440545405464054740548405494055040551405524055340554405554055640557405584055940560405614056240563405644056540566405674056840569405704057140572405734057440575405764057740578405794058040581405824058340584405854058640587405884058940590405914059240593405944059540596405974059840599406004060140602406034060440605406064060740608406094061040611406124061340614406154061640617406184061940620406214062240623406244062540626406274062840629406304063140632406334063440635406364063740638406394064040641406424064340644406454064640647406484064940650406514065240653406544065540656406574065840659406604066140662406634066440665406664066740668406694067040671406724067340674406754067640677406784067940680406814068240683406844068540686406874068840689406904069140692406934069440695406964069740698406994070040701407024070340704407054070640707407084070940710407114071240713407144071540716407174071840719407204072140722407234072440725407264072740728407294073040731407324073340734407354073640737407384073940740407414074240743407444074540746407474074840749407504075140752407534075440755407564075740758407594076040761407624076340764407654076640767407684076940770407714077240773407744077540776407774077840779407804078140782407834078440785407864078740788407894079040791407924079340794407954079640797407984079940800408014080240803408044080540806408074080840809408104081140812408134081440815408164081740818408194082040821408224082340824408254082640827408284082940830408314083240833408344083540836408374083840839408404084140842408434084440845408464084740848408494085040851408524085340854408554085640857408584085940860408614086240863408644086540866408674086840869408704087140872408734087440875408764087740878408794088040881408824088340884408854088640887408884088940890408914089240893408944089540896408974089840899409004090140902409034090440905409064090740908409094091040911409124091340914409154091640917409184091940920409214092240923409244092540926409274092840929409304093140932409334093440935409364093740938409394094040941409424094340944409454094640947409484094940950409514095240953409544095540956409574095840959409604096140962409634096440965409664096740968409694097040971409724097340974409754097640977409784097940980409814098240983409844098540986409874098840989409904099140992409934099440995409964099740998409994100041001410024100341004410054100641007410084100941010410114101241013410144101541016410174101841019410204102141022410234102441025410264102741028410294103041031410324103341034410354103641037410384103941040410414104241043410444104541046410474104841049410504105141052410534105441055410564105741058410594106041061410624106341064410654106641067410684106941070410714107241073410744107541076410774107841079410804108141082410834108441085410864108741088410894109041091410924109341094410954109641097410984109941100411014110241103411044110541106411074110841109411104111141112411134111441115411164111741118411194112041121411224112341124411254112641127411284112941130411314113241133411344113541136411374113841139411404114141142411434114441145411464114741148411494115041151411524115341154411554115641157411584115941160411614116241163411644116541166411674116841169411704117141172411734117441175411764117741178411794118041181411824118341184411854118641187411884118941190411914119241193411944119541196411974119841199412004120141202412034120441205412064120741208412094121041211412124121341214412154121641217412184121941220412214122241223412244122541226412274122841229412304123141232412334123441235412364123741238412394124041241412424124341244412454124641247412484124941250412514125241253412544125541256412574125841259412604126141262412634126441265412664126741268412694127041271412724127341274412754127641277412784127941280412814128241283412844128541286412874128841289412904129141292412934129441295412964129741298412994130041301413024130341304413054130641307413084130941310413114131241313413144131541316413174131841319413204132141322413234132441325413264132741328413294133041331413324133341334413354133641337413384133941340413414134241343413444134541346413474134841349413504135141352413534135441355413564135741358413594136041361413624136341364413654136641367413684136941370413714137241373413744137541376413774137841379413804138141382413834138441385413864138741388413894139041391413924139341394413954139641397413984139941400414014140241403414044140541406414074140841409414104141141412414134141441415414164141741418414194142041421414224142341424414254142641427414284142941430414314143241433414344143541436414374143841439414404144141442414434144441445414464144741448414494145041451414524145341454414554145641457414584145941460414614146241463414644146541466414674146841469414704147141472414734147441475414764147741478414794148041481414824148341484414854148641487414884148941490414914149241493414944149541496414974149841499415004150141502415034150441505415064150741508415094151041511415124151341514415154151641517415184151941520415214152241523415244152541526415274152841529415304153141532415334153441535415364153741538415394154041541415424154341544415454154641547415484154941550415514155241553415544155541556415574155841559415604156141562415634156441565415664156741568415694157041571415724157341574415754157641577415784157941580415814158241583415844158541586415874158841589415904159141592415934159441595415964159741598415994160041601416024160341604416054160641607416084160941610416114161241613416144161541616416174161841619416204162141622416234162441625416264162741628416294163041631416324163341634416354163641637416384163941640416414164241643416444164541646416474164841649416504165141652416534165441655416564165741658416594166041661416624166341664416654166641667416684166941670416714167241673416744167541676416774167841679416804168141682416834168441685416864168741688416894169041691416924169341694416954169641697416984169941700417014170241703417044170541706417074170841709417104171141712417134171441715417164171741718417194172041721417224172341724417254172641727417284172941730417314173241733417344173541736417374173841739417404174141742417434174441745417464174741748417494175041751417524175341754417554175641757417584175941760417614176241763417644176541766417674176841769417704177141772417734177441775417764177741778417794178041781417824178341784417854178641787417884178941790417914179241793417944179541796417974179841799418004180141802418034180441805418064180741808418094181041811418124181341814418154181641817418184181941820418214182241823418244182541826418274182841829418304183141832418334183441835418364183741838418394184041841418424184341844418454184641847418484184941850418514185241853418544185541856418574185841859418604186141862418634186441865418664186741868418694187041871418724187341874418754187641877418784187941880418814188241883418844188541886418874188841889418904189141892418934189441895418964189741898418994190041901419024190341904419054190641907419084190941910419114191241913419144191541916419174191841919419204192141922419234192441925419264192741928419294193041931419324193341934419354193641937419384193941940419414194241943419444194541946419474194841949419504195141952419534195441955419564195741958419594196041961419624196341964419654196641967419684196941970419714197241973419744197541976419774197841979419804198141982419834198441985419864198741988419894199041991419924199341994419954199641997419984199942000420014200242003420044200542006420074200842009420104201142012420134201442015420164201742018420194202042021420224202342024420254202642027420284202942030420314203242033420344203542036420374203842039420404204142042420434204442045420464204742048420494205042051420524205342054420554205642057420584205942060420614206242063420644206542066420674206842069420704207142072420734207442075420764207742078420794208042081420824208342084420854208642087420884208942090420914209242093420944209542096420974209842099421004210142102421034210442105421064210742108421094211042111421124211342114421154211642117421184211942120421214212242123421244212542126421274212842129421304213142132421334213442135421364213742138421394214042141421424214342144421454214642147421484214942150421514215242153421544215542156421574215842159421604216142162421634216442165421664216742168421694217042171421724217342174421754217642177421784217942180421814218242183421844218542186421874218842189421904219142192421934219442195421964219742198421994220042201422024220342204422054220642207422084220942210422114221242213422144221542216422174221842219422204222142222422234222442225422264222742228422294223042231422324223342234422354223642237422384223942240422414224242243422444224542246422474224842249422504225142252422534225442255422564225742258422594226042261422624226342264422654226642267422684226942270422714227242273422744227542276422774227842279422804228142282422834228442285422864228742288422894229042291422924229342294422954229642297422984229942300423014230242303423044230542306423074230842309423104231142312423134231442315423164231742318423194232042321423224232342324423254232642327423284232942330423314233242333423344233542336423374233842339423404234142342423434234442345423464234742348423494235042351423524235342354423554235642357423584235942360423614236242363423644236542366423674236842369423704237142372423734237442375423764237742378423794238042381423824238342384423854238642387423884238942390423914239242393423944239542396423974239842399424004240142402424034240442405424064240742408424094241042411424124241342414424154241642417424184241942420424214242242423424244242542426424274242842429424304243142432424334243442435424364243742438424394244042441424424244342444424454244642447424484244942450424514245242453424544245542456424574245842459424604246142462424634246442465424664246742468424694247042471424724247342474424754247642477424784247942480424814248242483424844248542486424874248842489424904249142492424934249442495424964249742498424994250042501425024250342504425054250642507425084250942510425114251242513425144251542516425174251842519425204252142522425234252442525425264252742528425294253042531425324253342534425354253642537425384253942540425414254242543425444254542546425474254842549425504255142552425534255442555425564255742558425594256042561425624256342564425654256642567425684256942570425714257242573425744257542576425774257842579425804258142582425834258442585425864258742588425894259042591425924259342594425954259642597425984259942600426014260242603426044260542606426074260842609426104261142612426134261442615426164261742618426194262042621426224262342624426254262642627426284262942630426314263242633426344263542636426374263842639426404264142642426434264442645426464264742648426494265042651426524265342654426554265642657426584265942660426614266242663426644266542666426674266842669426704267142672426734267442675426764267742678426794268042681426824268342684426854268642687426884268942690426914269242693426944269542696426974269842699427004270142702427034270442705427064270742708427094271042711427124271342714427154271642717427184271942720427214272242723427244272542726427274272842729427304273142732427334273442735427364273742738427394274042741427424274342744427454274642747427484274942750427514275242753427544275542756427574275842759427604276142762427634276442765427664276742768427694277042771427724277342774427754277642777427784277942780427814278242783427844278542786427874278842789427904279142792427934279442795427964279742798427994280042801428024280342804428054280642807428084280942810428114281242813428144281542816428174281842819428204282142822428234282442825428264282742828428294283042831428324283342834428354283642837428384283942840428414284242843428444284542846428474284842849428504285142852428534285442855428564285742858428594286042861428624286342864428654286642867428684286942870428714287242873428744287542876428774287842879428804288142882428834288442885428864288742888428894289042891428924289342894428954289642897428984289942900429014290242903429044290542906429074290842909429104291142912429134291442915429164291742918429194292042921429224292342924429254292642927429284292942930429314293242933429344293542936429374293842939429404294142942429434294442945429464294742948429494295042951429524295342954429554295642957429584295942960429614296242963429644296542966429674296842969429704297142972429734297442975429764297742978429794298042981429824298342984429854298642987429884298942990429914299242993429944299542996429974299842999430004300143002430034300443005430064300743008430094301043011430124301343014430154301643017430184301943020430214302243023430244302543026430274302843029430304303143032430334303443035430364303743038430394304043041430424304343044430454304643047430484304943050430514305243053430544305543056430574305843059430604306143062430634306443065430664306743068430694307043071430724307343074430754307643077430784307943080430814308243083430844308543086430874308843089430904309143092430934309443095430964309743098430994310043101431024310343104431054310643107431084310943110431114311243113431144311543116431174311843119431204312143122431234312443125431264312743128431294313043131431324313343134431354313643137431384313943140431414314243143431444314543146431474314843149431504315143152431534315443155431564315743158431594316043161431624316343164431654316643167431684316943170431714317243173431744317543176431774317843179431804318143182431834318443185431864318743188431894319043191431924319343194431954319643197431984319943200432014320243203432044320543206432074320843209432104321143212432134321443215432164321743218432194322043221432224322343224432254322643227432284322943230432314323243233432344323543236432374323843239432404324143242432434324443245432464324743248432494325043251432524325343254432554325643257432584325943260432614326243263432644326543266432674326843269432704327143272432734327443275432764327743278432794328043281432824328343284432854328643287432884328943290432914329243293432944329543296432974329843299433004330143302433034330443305433064330743308433094331043311433124331343314433154331643317433184331943320433214332243323433244332543326433274332843329433304333143332433334333443335433364333743338433394334043341433424334343344433454334643347433484334943350433514335243353433544335543356433574335843359433604336143362433634336443365433664336743368433694337043371433724337343374433754337643377433784337943380433814338243383433844338543386433874338843389433904339143392433934339443395433964339743398433994340043401434024340343404434054340643407434084340943410434114341243413434144341543416434174341843419434204342143422434234342443425434264342743428434294343043431434324343343434434354343643437434384343943440434414344243443434444344543446434474344843449434504345143452434534345443455434564345743458434594346043461434624346343464434654346643467434684346943470434714347243473434744347543476434774347843479434804348143482434834348443485434864348743488434894349043491434924349343494434954349643497434984349943500435014350243503435044350543506435074350843509435104351143512435134351443515435164351743518435194352043521435224352343524435254352643527435284352943530435314353243533435344353543536435374353843539435404354143542435434354443545435464354743548435494355043551435524355343554435554355643557435584355943560435614356243563435644356543566435674356843569435704357143572435734357443575435764357743578435794358043581435824358343584435854358643587435884358943590435914359243593435944359543596435974359843599436004360143602436034360443605436064360743608436094361043611436124361343614436154361643617436184361943620436214362243623436244362543626436274362843629436304363143632436334363443635436364363743638436394364043641436424364343644436454364643647436484364943650436514365243653436544365543656436574365843659436604366143662436634366443665436664366743668436694367043671436724367343674436754367643677436784367943680436814368243683436844368543686436874368843689436904369143692436934369443695436964369743698436994370043701437024370343704437054370643707437084370943710437114371243713437144371543716437174371843719437204372143722437234372443725437264372743728437294373043731437324373343734437354373643737437384373943740437414374243743437444374543746437474374843749437504375143752437534375443755437564375743758437594376043761437624376343764437654376643767437684376943770437714377243773437744377543776437774377843779437804378143782437834378443785437864378743788437894379043791437924379343794437954379643797437984379943800438014380243803438044380543806438074380843809438104381143812438134381443815438164381743818438194382043821438224382343824438254382643827438284382943830438314383243833438344383543836438374383843839438404384143842438434384443845438464384743848438494385043851438524385343854438554385643857438584385943860438614386243863438644386543866438674386843869438704387143872438734387443875438764387743878438794388043881438824388343884438854388643887438884388943890438914389243893438944389543896438974389843899439004390143902439034390443905439064390743908439094391043911439124391343914439154391643917439184391943920439214392243923439244392543926439274392843929439304393143932439334393443935439364393743938439394394043941439424394343944439454394643947439484394943950439514395243953439544395543956439574395843959439604396143962439634396443965439664396743968439694397043971439724397343974439754397643977439784397943980439814398243983439844398543986439874398843989439904399143992439934399443995439964399743998439994400044001440024400344004440054400644007440084400944010440114401244013440144401544016440174401844019440204402144022440234402444025440264402744028440294403044031440324403344034440354403644037440384403944040440414404244043440444404544046440474404844049440504405144052440534405444055440564405744058440594406044061440624406344064440654406644067440684406944070440714407244073440744407544076440774407844079440804408144082440834408444085440864408744088440894409044091440924409344094440954409644097440984409944100441014410244103441044410544106441074410844109441104411144112441134411444115441164411744118441194412044121441224412344124441254412644127441284412944130441314413244133441344413544136441374413844139441404414144142441434414444145441464414744148441494415044151441524415344154441554415644157441584415944160441614416244163441644416544166441674416844169441704417144172441734417444175441764417744178441794418044181441824418344184441854418644187441884418944190441914419244193441944419544196441974419844199442004420144202442034420444205442064420744208442094421044211442124421344214442154421644217442184421944220442214422244223442244422544226442274422844229442304423144232442334423444235442364423744238442394424044241442424424344244442454424644247442484424944250442514425244253442544425544256442574425844259442604426144262442634426444265442664426744268442694427044271442724427344274442754427644277442784427944280442814428244283442844428544286442874428844289442904429144292442934429444295442964429744298442994430044301443024430344304443054430644307443084430944310443114431244313443144431544316443174431844319443204432144322443234432444325443264432744328443294433044331443324433344334443354433644337443384433944340443414434244343443444434544346443474434844349443504435144352443534435444355443564435744358443594436044361443624436344364443654436644367443684436944370443714437244373443744437544376443774437844379443804438144382443834438444385443864438744388443894439044391443924439344394443954439644397443984439944400444014440244403444044440544406444074440844409444104441144412444134441444415444164441744418444194442044421444224442344424444254442644427444284442944430444314443244433444344443544436444374443844439444404444144442444434444444445444464444744448444494445044451444524445344454444554445644457444584445944460444614446244463444644446544466444674446844469444704447144472444734447444475444764447744478444794448044481444824448344484444854448644487444884448944490444914449244493444944449544496444974449844499445004450144502445034450444505445064450744508445094451044511445124451344514445154451644517445184451944520445214452244523445244452544526445274452844529445304453144532445334453444535445364453744538445394454044541445424454344544445454454644547445484454944550445514455244553445544455544556445574455844559445604456144562445634456444565445664456744568445694457044571445724457344574445754457644577445784457944580445814458244583445844458544586445874458844589445904459144592445934459444595445964459744598445994460044601446024460344604446054460644607446084460944610446114461244613446144461544616446174461844619446204462144622446234462444625446264462744628446294463044631446324463344634446354463644637446384463944640446414464244643446444464544646446474464844649446504465144652446534465444655446564465744658446594466044661446624466344664446654466644667446684466944670446714467244673446744467544676446774467844679446804468144682446834468444685446864468744688446894469044691446924469344694446954469644697446984469944700447014470244703447044470544706447074470844709447104471144712447134471444715447164471744718447194472044721447224472344724447254472644727447284472944730447314473244733447344473544736447374473844739447404474144742447434474444745447464474744748447494475044751447524475344754447554475644757447584475944760447614476244763447644476544766447674476844769447704477144772447734477444775447764477744778447794478044781447824478344784447854478644787447884478944790447914479244793447944479544796447974479844799448004480144802448034480444805448064480744808448094481044811448124481344814448154481644817448184481944820448214482244823448244482544826448274482844829448304483144832448334483444835448364483744838448394484044841448424484344844448454484644847448484484944850448514485244853448544485544856448574485844859448604486144862448634486444865448664486744868448694487044871448724487344874448754487644877448784487944880448814488244883448844488544886448874488844889448904489144892448934489444895448964489744898448994490044901449024490344904449054490644907449084490944910449114491244913449144491544916449174491844919449204492144922449234492444925449264492744928449294493044931449324493344934449354493644937449384493944940449414494244943449444494544946449474494844949449504495144952449534495444955449564495744958449594496044961449624496344964449654496644967449684496944970449714497244973449744497544976449774497844979449804498144982449834498444985449864498744988449894499044991449924499344994449954499644997449984499945000450014500245003450044500545006450074500845009450104501145012450134501445015450164501745018450194502045021450224502345024450254502645027450284502945030450314503245033450344503545036450374503845039450404504145042450434504445045450464504745048450494505045051450524505345054450554505645057450584505945060450614506245063450644506545066450674506845069450704507145072450734507445075450764507745078450794508045081450824508345084450854508645087450884508945090450914509245093450944509545096450974509845099451004510145102451034510445105451064510745108451094511045111451124511345114451154511645117451184511945120451214512245123451244512545126451274512845129451304513145132451334513445135451364513745138451394514045141451424514345144451454514645147451484514945150451514515245153451544515545156451574515845159451604516145162451634516445165451664516745168451694517045171451724517345174451754517645177451784517945180451814518245183451844518545186451874518845189451904519145192451934519445195451964519745198451994520045201452024520345204452054520645207452084520945210452114521245213452144521545216452174521845219452204522145222452234522445225452264522745228452294523045231452324523345234452354523645237452384523945240452414524245243452444524545246452474524845249452504525145252452534525445255452564525745258452594526045261452624526345264452654526645267452684526945270452714527245273452744527545276452774527845279452804528145282452834528445285452864528745288452894529045291452924529345294452954529645297452984529945300453014530245303453044530545306453074530845309453104531145312453134531445315453164531745318453194532045321453224532345324453254532645327453284532945330453314533245333453344533545336453374533845339453404534145342453434534445345453464534745348453494535045351453524535345354453554535645357453584535945360453614536245363453644536545366453674536845369453704537145372453734537445375453764537745378453794538045381453824538345384453854538645387453884538945390453914539245393453944539545396453974539845399454004540145402454034540445405454064540745408454094541045411454124541345414454154541645417454184541945420454214542245423454244542545426454274542845429454304543145432454334543445435454364543745438454394544045441454424544345444454454544645447454484544945450454514545245453454544545545456454574545845459454604546145462454634546445465454664546745468454694547045471454724547345474454754547645477454784547945480454814548245483454844548545486454874548845489454904549145492454934549445495454964549745498454994550045501455024550345504455054550645507455084550945510455114551245513455144551545516455174551845519455204552145522455234552445525455264552745528455294553045531455324553345534455354553645537455384553945540455414554245543455444554545546455474554845549455504555145552455534555445555455564555745558455594556045561455624556345564455654556645567455684556945570455714557245573455744557545576455774557845579455804558145582455834558445585455864558745588455894559045591455924559345594455954559645597455984559945600456014560245603456044560545606456074560845609456104561145612456134561445615456164561745618456194562045621456224562345624456254562645627456284562945630456314563245633456344563545636456374563845639456404564145642456434564445645456464564745648456494565045651456524565345654456554565645657456584565945660456614566245663456644566545666456674566845669456704567145672456734567445675456764567745678456794568045681456824568345684456854568645687456884568945690456914569245693456944569545696456974569845699457004570145702457034570445705457064570745708457094571045711457124571345714457154571645717457184571945720457214572245723457244572545726457274572845729457304573145732457334573445735457364573745738457394574045741457424574345744457454574645747457484574945750457514575245753457544575545756457574575845759457604576145762457634576445765457664576745768457694577045771457724577345774457754577645777457784577945780457814578245783457844578545786457874578845789457904579145792457934579445795457964579745798457994580045801458024580345804458054580645807458084580945810458114581245813458144581545816458174581845819458204582145822458234582445825458264582745828458294583045831458324583345834458354583645837458384583945840458414584245843458444584545846458474584845849458504585145852458534585445855458564585745858458594586045861458624586345864458654586645867458684586945870458714587245873458744587545876458774587845879458804588145882458834588445885458864588745888458894589045891458924589345894458954589645897458984589945900459014590245903459044590545906459074590845909459104591145912459134591445915459164591745918459194592045921459224592345924459254592645927459284592945930459314593245933459344593545936459374593845939459404594145942459434594445945459464594745948459494595045951459524595345954459554595645957459584595945960459614596245963459644596545966459674596845969459704597145972459734597445975459764597745978459794598045981459824598345984459854598645987459884598945990459914599245993459944599545996459974599845999460004600146002460034600446005460064600746008460094601046011460124601346014460154601646017460184601946020460214602246023460244602546026460274602846029460304603146032460334603446035460364603746038460394604046041460424604346044460454604646047460484604946050460514605246053460544605546056460574605846059460604606146062460634606446065460664606746068460694607046071460724607346074460754607646077460784607946080460814608246083460844608546086460874608846089460904609146092460934609446095460964609746098460994610046101461024610346104461054610646107461084610946110461114611246113461144611546116461174611846119461204612146122461234612446125461264612746128461294613046131461324613346134461354613646137461384613946140461414614246143461444614546146461474614846149461504615146152461534615446155461564615746158461594616046161461624616346164461654616646167461684616946170461714617246173461744617546176461774617846179461804618146182461834618446185461864618746188461894619046191461924619346194461954619646197461984619946200462014620246203462044620546206462074620846209462104621146212462134621446215462164621746218462194622046221462224622346224462254622646227462284622946230462314623246233462344623546236462374623846239462404624146242462434624446245462464624746248462494625046251462524625346254462554625646257462584625946260462614626246263462644626546266462674626846269462704627146272462734627446275462764627746278462794628046281462824628346284462854628646287462884628946290462914629246293462944629546296462974629846299463004630146302463034630446305463064630746308463094631046311463124631346314463154631646317463184631946320463214632246323463244632546326463274632846329463304633146332463334633446335463364633746338463394634046341463424634346344463454634646347463484634946350463514635246353463544635546356463574635846359463604636146362463634636446365463664636746368463694637046371463724637346374463754637646377463784637946380463814638246383463844638546386463874638846389463904639146392463934639446395463964639746398463994640046401464024640346404464054640646407464084640946410464114641246413464144641546416464174641846419464204642146422464234642446425464264642746428464294643046431464324643346434464354643646437464384643946440464414644246443464444644546446464474644846449464504645146452464534645446455464564645746458464594646046461464624646346464464654646646467464684646946470464714647246473464744647546476464774647846479464804648146482464834648446485464864648746488464894649046491464924649346494464954649646497464984649946500465014650246503465044650546506465074650846509465104651146512465134651446515465164651746518465194652046521465224652346524465254652646527465284652946530465314653246533465344653546536465374653846539465404654146542465434654446545465464654746548465494655046551465524655346554465554655646557465584655946560465614656246563465644656546566465674656846569465704657146572465734657446575465764657746578465794658046581465824658346584465854658646587465884658946590465914659246593465944659546596465974659846599466004660146602466034660446605466064660746608466094661046611466124661346614466154661646617466184661946620466214662246623466244662546626466274662846629466304663146632466334663446635466364663746638466394664046641466424664346644466454664646647466484664946650466514665246653466544665546656466574665846659466604666146662466634666446665466664666746668466694667046671466724667346674466754667646677466784667946680466814668246683466844668546686466874668846689466904669146692466934669446695466964669746698466994670046701467024670346704467054670646707467084670946710467114671246713467144671546716467174671846719467204672146722467234672446725467264672746728467294673046731467324673346734467354673646737467384673946740467414674246743467444674546746467474674846749467504675146752467534675446755467564675746758467594676046761467624676346764467654676646767467684676946770467714677246773467744677546776467774677846779467804678146782467834678446785467864678746788467894679046791467924679346794467954679646797467984679946800468014680246803468044680546806468074680846809468104681146812468134681446815468164681746818468194682046821468224682346824468254682646827468284682946830468314683246833468344683546836468374683846839468404684146842468434684446845468464684746848468494685046851468524685346854468554685646857468584685946860468614686246863468644686546866468674686846869468704687146872468734687446875468764687746878468794688046881468824688346884468854688646887468884688946890468914689246893468944689546896468974689846899469004690146902469034690446905469064690746908469094691046911469124691346914469154691646917469184691946920469214692246923469244692546926469274692846929469304693146932469334693446935469364693746938469394694046941469424694346944469454694646947469484694946950469514695246953469544695546956469574695846959469604696146962469634696446965469664696746968469694697046971469724697346974469754697646977469784697946980469814698246983469844698546986469874698846989469904699146992469934699446995469964699746998469994700047001470024700347004470054700647007470084700947010470114701247013470144701547016470174701847019470204702147022470234702447025470264702747028470294703047031470324703347034470354703647037470384703947040470414704247043470444704547046470474704847049470504705147052470534705447055470564705747058470594706047061470624706347064470654706647067470684706947070470714707247073470744707547076470774707847079470804708147082470834708447085470864708747088470894709047091470924709347094470954709647097470984709947100471014710247103471044710547106471074710847109471104711147112471134711447115471164711747118471194712047121471224712347124471254712647127471284712947130471314713247133471344713547136471374713847139471404714147142471434714447145471464714747148471494715047151471524715347154471554715647157471584715947160471614716247163471644716547166471674716847169471704717147172471734717447175471764717747178471794718047181471824718347184471854718647187471884718947190471914719247193471944719547196471974719847199472004720147202472034720447205472064720747208472094721047211472124721347214472154721647217472184721947220472214722247223472244722547226472274722847229472304723147232472334723447235472364723747238472394724047241472424724347244472454724647247472484724947250472514725247253472544725547256472574725847259472604726147262472634726447265472664726747268472694727047271472724727347274472754727647277472784727947280472814728247283472844728547286472874728847289472904729147292472934729447295472964729747298472994730047301473024730347304473054730647307473084730947310473114731247313473144731547316473174731847319473204732147322473234732447325473264732747328473294733047331473324733347334473354733647337473384733947340473414734247343473444734547346473474734847349473504735147352473534735447355473564735747358473594736047361473624736347364473654736647367473684736947370473714737247373473744737547376473774737847379473804738147382473834738447385473864738747388473894739047391473924739347394473954739647397473984739947400474014740247403474044740547406474074740847409474104741147412474134741447415474164741747418474194742047421474224742347424474254742647427474284742947430474314743247433474344743547436474374743847439474404744147442474434744447445474464744747448474494745047451474524745347454474554745647457474584745947460474614746247463474644746547466474674746847469474704747147472474734747447475474764747747478474794748047481474824748347484474854748647487474884748947490474914749247493474944749547496474974749847499475004750147502475034750447505475064750747508475094751047511475124751347514475154751647517475184751947520475214752247523475244752547526475274752847529475304753147532475334753447535475364753747538475394754047541475424754347544475454754647547475484754947550475514755247553475544755547556475574755847559475604756147562475634756447565475664756747568475694757047571475724757347574475754757647577475784757947580475814758247583475844758547586475874758847589475904759147592475934759447595475964759747598475994760047601476024760347604476054760647607476084760947610476114761247613476144761547616476174761847619476204762147622476234762447625476264762747628476294763047631476324763347634476354763647637476384763947640476414764247643476444764547646476474764847649476504765147652476534765447655476564765747658476594766047661476624766347664476654766647667476684766947670476714767247673476744767547676476774767847679476804768147682476834768447685476864768747688476894769047691476924769347694476954769647697476984769947700477014770247703477044770547706477074770847709477104771147712477134771447715477164771747718477194772047721477224772347724477254772647727477284772947730477314773247733477344773547736477374773847739477404774147742477434774447745477464774747748477494775047751477524775347754477554775647757477584775947760477614776247763477644776547766477674776847769477704777147772477734777447775477764777747778477794778047781477824778347784477854778647787477884778947790477914779247793477944779547796477974779847799478004780147802478034780447805478064780747808478094781047811478124781347814478154781647817478184781947820478214782247823478244782547826478274782847829478304783147832478334783447835478364783747838478394784047841478424784347844478454784647847478484784947850478514785247853478544785547856478574785847859478604786147862478634786447865478664786747868478694787047871478724787347874478754787647877478784787947880478814788247883478844788547886478874788847889478904789147892478934789447895478964789747898478994790047901479024790347904479054790647907479084790947910479114791247913479144791547916479174791847919479204792147922479234792447925479264792747928479294793047931479324793347934479354793647937479384793947940479414794247943479444794547946479474794847949479504795147952479534795447955479564795747958479594796047961479624796347964479654796647967479684796947970479714797247973479744797547976479774797847979479804798147982479834798447985479864798747988479894799047991479924799347994479954799647997479984799948000480014800248003480044800548006480074800848009480104801148012480134801448015480164801748018480194802048021480224802348024480254802648027480284802948030480314803248033480344803548036480374803848039480404804148042480434804448045480464804748048480494805048051480524805348054480554805648057480584805948060480614806248063480644806548066480674806848069480704807148072480734807448075480764807748078480794808048081480824808348084480854808648087480884808948090480914809248093480944809548096480974809848099481004810148102481034810448105481064810748108481094811048111481124811348114481154811648117481184811948120481214812248123481244812548126481274812848129481304813148132481334813448135481364813748138481394814048141481424814348144481454814648147481484814948150481514815248153481544815548156481574815848159481604816148162481634816448165481664816748168481694817048171481724817348174481754817648177481784817948180481814818248183481844818548186481874818848189481904819148192481934819448195481964819748198481994820048201482024820348204482054820648207482084820948210482114821248213482144821548216482174821848219482204822148222482234822448225482264822748228482294823048231482324823348234482354823648237482384823948240482414824248243482444824548246482474824848249482504825148252482534825448255482564825748258482594826048261482624826348264482654826648267482684826948270482714827248273482744827548276482774827848279482804828148282482834828448285482864828748288482894829048291482924829348294482954829648297482984829948300483014830248303483044830548306483074830848309483104831148312483134831448315483164831748318483194832048321483224832348324483254832648327483284832948330483314833248333483344833548336483374833848339483404834148342483434834448345483464834748348483494835048351483524835348354483554835648357483584835948360483614836248363483644836548366483674836848369483704837148372483734837448375483764837748378483794838048381483824838348384483854838648387483884838948390483914839248393483944839548396483974839848399484004840148402484034840448405484064840748408484094841048411484124841348414484154841648417484184841948420484214842248423484244842548426484274842848429484304843148432484334843448435484364843748438484394844048441484424844348444484454844648447484484844948450484514845248453484544845548456484574845848459484604846148462484634846448465484664846748468484694847048471484724847348474484754847648477484784847948480484814848248483484844848548486484874848848489484904849148492484934849448495484964849748498484994850048501485024850348504485054850648507485084850948510485114851248513485144851548516485174851848519485204852148522485234852448525485264852748528485294853048531485324853348534485354853648537485384853948540485414854248543485444854548546485474854848549485504855148552485534855448555485564855748558485594856048561485624856348564485654856648567485684856948570485714857248573485744857548576485774857848579485804858148582485834858448585485864858748588485894859048591485924859348594485954859648597485984859948600486014860248603486044860548606486074860848609486104861148612486134861448615486164861748618486194862048621486224862348624486254862648627486284862948630486314863248633486344863548636486374863848639486404864148642486434864448645486464864748648486494865048651486524865348654486554865648657486584865948660486614866248663486644866548666486674866848669486704867148672486734867448675486764867748678486794868048681486824868348684486854868648687486884868948690486914869248693486944869548696486974869848699487004870148702487034870448705487064870748708487094871048711487124871348714487154871648717487184871948720487214872248723487244872548726487274872848729487304873148732487334873448735487364873748738487394874048741487424874348744487454874648747487484874948750487514875248753487544875548756487574875848759487604876148762487634876448765487664876748768487694877048771487724877348774487754877648777487784877948780487814878248783487844878548786487874878848789487904879148792487934879448795487964879748798487994880048801488024880348804488054880648807488084880948810488114881248813488144881548816488174881848819488204882148822488234882448825488264882748828488294883048831488324883348834488354883648837488384883948840488414884248843488444884548846488474884848849488504885148852488534885448855488564885748858488594886048861488624886348864488654886648867488684886948870488714887248873488744887548876488774887848879488804888148882488834888448885488864888748888488894889048891488924889348894488954889648897488984889948900489014890248903489044890548906489074890848909489104891148912489134891448915489164891748918489194892048921489224892348924489254892648927489284892948930489314893248933489344893548936489374893848939489404894148942489434894448945489464894748948489494895048951489524895348954489554895648957489584895948960489614896248963489644896548966489674896848969489704897148972489734897448975489764897748978489794898048981489824898348984489854898648987489884898948990489914899248993489944899548996489974899848999490004900149002490034900449005490064900749008490094901049011490124901349014490154901649017490184901949020490214902249023490244902549026490274902849029490304903149032490334903449035490364903749038490394904049041490424904349044490454904649047490484904949050490514905249053490544905549056490574905849059490604906149062490634906449065490664906749068490694907049071490724907349074490754907649077490784907949080490814908249083490844908549086490874908849089490904909149092490934909449095490964909749098490994910049101491024910349104491054910649107491084910949110491114911249113491144911549116491174911849119491204912149122491234912449125491264912749128491294913049131491324913349134491354913649137491384913949140491414914249143491444914549146491474914849149491504915149152491534915449155491564915749158491594916049161491624916349164491654916649167491684916949170491714917249173491744917549176491774917849179491804918149182491834918449185491864918749188491894919049191491924919349194491954919649197491984919949200492014920249203492044920549206492074920849209492104921149212492134921449215492164921749218492194922049221492224922349224492254922649227492284922949230492314923249233492344923549236492374923849239492404924149242492434924449245492464924749248492494925049251492524925349254492554925649257492584925949260492614926249263492644926549266492674926849269492704927149272492734927449275492764927749278492794928049281492824928349284492854928649287492884928949290492914929249293492944929549296492974929849299493004930149302493034930449305493064930749308493094931049311493124931349314493154931649317493184931949320493214932249323493244932549326493274932849329493304933149332493334933449335493364933749338493394934049341493424934349344493454934649347493484934949350493514935249353493544935549356493574935849359493604936149362493634936449365493664936749368493694937049371493724937349374493754937649377493784937949380493814938249383493844938549386493874938849389493904939149392493934939449395493964939749398493994940049401494024940349404494054940649407494084940949410494114941249413494144941549416494174941849419494204942149422494234942449425494264942749428494294943049431494324943349434494354943649437494384943949440494414944249443494444944549446494474944849449494504945149452494534945449455494564945749458494594946049461494624946349464494654946649467494684946949470494714947249473494744947549476494774947849479494804948149482494834948449485494864948749488494894949049491494924949349494494954949649497494984949949500495014950249503495044950549506495074950849509495104951149512495134951449515495164951749518495194952049521495224952349524495254952649527495284952949530495314953249533495344953549536495374953849539495404954149542495434954449545495464954749548495494955049551495524955349554495554955649557495584955949560495614956249563495644956549566495674956849569495704957149572495734957449575495764957749578495794958049581495824958349584495854958649587495884958949590495914959249593495944959549596495974959849599496004960149602496034960449605496064960749608496094961049611496124961349614496154961649617496184961949620496214962249623496244962549626496274962849629496304963149632496334963449635496364963749638496394964049641496424964349644496454964649647496484964949650496514965249653496544965549656496574965849659496604966149662496634966449665496664966749668496694967049671496724967349674496754967649677496784967949680496814968249683496844968549686496874968849689496904969149692496934969449695496964969749698496994970049701497024970349704497054970649707497084970949710497114971249713497144971549716497174971849719497204972149722497234972449725497264972749728497294973049731497324973349734497354973649737497384973949740497414974249743497444974549746497474974849749497504975149752497534975449755497564975749758497594976049761497624976349764497654976649767497684976949770497714977249773497744977549776497774977849779497804978149782497834978449785497864978749788497894979049791497924979349794497954979649797497984979949800498014980249803498044980549806498074980849809498104981149812498134981449815498164981749818498194982049821498224982349824498254982649827498284982949830498314983249833498344983549836498374983849839498404984149842498434984449845498464984749848498494985049851498524985349854498554985649857498584985949860498614986249863498644986549866498674986849869498704987149872498734987449875498764987749878498794988049881498824988349884498854988649887498884988949890498914989249893498944989549896498974989849899499004990149902499034990449905499064990749908499094991049911499124991349914499154991649917499184991949920499214992249923499244992549926499274992849929499304993149932499334993449935499364993749938499394994049941499424994349944499454994649947499484994949950499514995249953499544995549956499574995849959499604996149962499634996449965499664996749968499694997049971499724997349974499754997649977499784997949980499814998249983499844998549986499874998849989499904999149992499934999449995499964999749998499995000050001500025000350004500055000650007500085000950010500115001250013500145001550016500175001850019500205002150022500235002450025500265002750028500295003050031500325003350034500355003650037500385003950040500415004250043500445004550046500475004850049500505005150052500535005450055500565005750058500595006050061500625006350064500655006650067500685006950070500715007250073500745007550076500775007850079500805008150082500835008450085500865008750088500895009050091500925009350094500955009650097500985009950100501015010250103501045010550106501075010850109501105011150112501135011450115501165011750118501195012050121501225012350124501255012650127501285012950130501315013250133501345013550136501375013850139501405014150142501435014450145501465014750148501495015050151501525015350154501555015650157501585015950160501615016250163501645016550166501675016850169501705017150172501735017450175501765017750178501795018050181501825018350184501855018650187501885018950190501915019250193501945019550196501975019850199502005020150202502035020450205502065020750208502095021050211502125021350214502155021650217502185021950220502215022250223502245022550226502275022850229502305023150232502335023450235502365023750238502395024050241502425024350244502455024650247502485024950250502515025250253502545025550256502575025850259502605026150262502635026450265502665026750268502695027050271502725027350274502755027650277502785027950280502815028250283502845028550286502875028850289502905029150292502935029450295502965029750298502995030050301503025030350304503055030650307503085030950310503115031250313503145031550316503175031850319503205032150322503235032450325503265032750328503295033050331503325033350334503355033650337503385033950340503415034250343503445034550346503475034850349503505035150352503535035450355503565035750358503595036050361503625036350364503655036650367503685036950370503715037250373503745037550376503775037850379503805038150382503835038450385503865038750388503895039050391503925039350394503955039650397503985039950400504015040250403504045040550406504075040850409504105041150412504135041450415504165041750418504195042050421504225042350424504255042650427504285042950430504315043250433504345043550436504375043850439504405044150442504435044450445504465044750448504495045050451504525045350454504555045650457504585045950460504615046250463504645046550466504675046850469504705047150472504735047450475504765047750478504795048050481504825048350484504855048650487504885048950490504915049250493504945049550496504975049850499505005050150502505035050450505505065050750508505095051050511505125051350514505155051650517505185051950520505215052250523505245052550526505275052850529505305053150532505335053450535505365053750538505395054050541505425054350544505455054650547505485054950550505515055250553505545055550556505575055850559505605056150562505635056450565505665056750568505695057050571505725057350574505755057650577505785057950580505815058250583505845058550586505875058850589505905059150592505935059450595505965059750598505995060050601506025060350604506055060650607506085060950610506115061250613506145061550616506175061850619506205062150622506235062450625506265062750628506295063050631506325063350634506355063650637506385063950640506415064250643506445064550646506475064850649506505065150652506535065450655506565065750658506595066050661506625066350664506655066650667506685066950670506715067250673506745067550676506775067850679506805068150682506835068450685506865068750688506895069050691506925069350694506955069650697506985069950700507015070250703507045070550706507075070850709507105071150712507135071450715507165071750718507195072050721507225072350724507255072650727507285072950730507315073250733507345073550736507375073850739507405074150742507435074450745507465074750748507495075050751507525075350754507555075650757507585075950760507615076250763507645076550766507675076850769507705077150772507735077450775507765077750778507795078050781507825078350784507855078650787507885078950790507915079250793507945079550796507975079850799508005080150802508035080450805508065080750808508095081050811508125081350814508155081650817508185081950820508215082250823508245082550826508275082850829508305083150832508335083450835508365083750838508395084050841508425084350844508455084650847508485084950850508515085250853508545085550856508575085850859508605086150862508635086450865508665086750868508695087050871508725087350874508755087650877508785087950880508815088250883508845088550886508875088850889508905089150892508935089450895508965089750898508995090050901509025090350904509055090650907509085090950910509115091250913509145091550916509175091850919509205092150922509235092450925509265092750928509295093050931509325093350934509355093650937509385093950940509415094250943509445094550946509475094850949509505095150952509535095450955509565095750958509595096050961509625096350964509655096650967509685096950970509715097250973509745097550976509775097850979509805098150982509835098450985509865098750988509895099050991509925099350994509955099650997509985099951000510015100251003510045100551006510075100851009510105101151012510135101451015510165101751018510195102051021510225102351024510255102651027510285102951030510315103251033510345103551036510375103851039510405104151042510435104451045510465104751048510495105051051510525105351054510555105651057510585105951060510615106251063510645106551066510675106851069510705107151072510735107451075510765107751078510795108051081510825108351084510855108651087510885108951090510915109251093510945109551096510975109851099511005110151102511035110451105511065110751108511095111051111511125111351114511155111651117511185111951120511215112251123511245112551126511275112851129511305113151132511335113451135511365113751138511395114051141511425114351144511455114651147511485114951150511515115251153511545115551156511575115851159511605116151162511635116451165511665116751168511695117051171511725117351174511755117651177511785117951180511815118251183511845118551186511875118851189511905119151192511935119451195511965119751198511995120051201512025120351204512055120651207512085120951210512115121251213512145121551216512175121851219512205122151222512235122451225512265122751228512295123051231512325123351234512355123651237512385123951240512415124251243512445124551246512475124851249512505125151252512535125451255512565125751258512595126051261512625126351264512655126651267512685126951270512715127251273512745127551276512775127851279512805128151282512835128451285512865128751288512895129051291512925129351294512955129651297512985129951300513015130251303513045130551306513075130851309513105131151312513135131451315513165131751318513195132051321513225132351324513255132651327513285132951330513315133251333513345133551336513375133851339513405134151342513435134451345513465134751348513495135051351513525135351354513555135651357513585135951360513615136251363513645136551366513675136851369513705137151372513735137451375513765137751378513795138051381513825138351384513855138651387513885138951390513915139251393513945139551396513975139851399514005140151402514035140451405514065140751408514095141051411514125141351414514155141651417514185141951420514215142251423514245142551426514275142851429514305143151432514335143451435514365143751438514395144051441514425144351444514455144651447514485144951450514515145251453514545145551456514575145851459514605146151462514635146451465514665146751468514695147051471514725147351474514755147651477514785147951480514815148251483514845148551486514875148851489514905149151492514935149451495514965149751498514995150051501515025150351504515055150651507515085150951510515115151251513515145151551516515175151851519515205152151522515235152451525515265152751528515295153051531515325153351534515355153651537515385153951540515415154251543515445154551546515475154851549515505155151552515535155451555515565155751558515595156051561515625156351564515655156651567515685156951570515715157251573515745157551576515775157851579515805158151582515835158451585515865158751588515895159051591515925159351594515955159651597515985159951600516015160251603516045160551606516075160851609516105161151612516135161451615516165161751618516195162051621516225162351624516255162651627516285162951630516315163251633516345163551636516375163851639516405164151642516435164451645516465164751648516495165051651516525165351654516555165651657516585165951660516615166251663516645166551666516675166851669516705167151672516735167451675516765167751678516795168051681516825168351684516855168651687516885168951690516915169251693516945169551696516975169851699517005170151702517035170451705517065170751708517095171051711517125171351714517155171651717517185171951720517215172251723517245172551726517275172851729517305173151732517335173451735517365173751738517395174051741517425174351744517455174651747517485174951750517515175251753517545175551756517575175851759517605176151762517635176451765517665176751768517695177051771517725177351774517755177651777517785177951780517815178251783517845178551786517875178851789517905179151792517935179451795517965179751798517995180051801518025180351804518055180651807518085180951810518115181251813518145181551816518175181851819518205182151822518235182451825518265182751828518295183051831518325183351834518355183651837518385183951840518415184251843518445184551846518475184851849518505185151852518535185451855518565185751858518595186051861518625186351864518655186651867518685186951870518715187251873518745187551876518775187851879518805188151882518835188451885518865188751888518895189051891518925189351894518955189651897518985189951900519015190251903519045190551906519075190851909519105191151912519135191451915519165191751918519195192051921519225192351924519255192651927519285192951930519315193251933519345193551936519375193851939519405194151942519435194451945519465194751948519495195051951519525195351954519555195651957519585195951960519615196251963519645196551966519675196851969519705197151972519735197451975519765197751978519795198051981519825198351984519855198651987519885198951990519915199251993519945199551996519975199851999520005200152002520035200452005520065200752008520095201052011520125201352014520155201652017520185201952020520215202252023520245202552026520275202852029520305203152032520335203452035520365203752038520395204052041520425204352044520455204652047520485204952050520515205252053520545205552056520575205852059520605206152062520635206452065520665206752068520695207052071520725207352074520755207652077520785207952080520815208252083520845208552086520875208852089520905209152092520935209452095520965209752098520995210052101521025210352104521055210652107521085210952110521115211252113521145211552116521175211852119521205212152122521235212452125521265212752128521295213052131521325213352134521355213652137521385213952140521415214252143521445214552146521475214852149521505215152152521535215452155521565215752158521595216052161521625216352164521655216652167521685216952170521715217252173521745217552176521775217852179521805218152182521835218452185521865218752188521895219052191521925219352194521955219652197521985219952200522015220252203522045220552206522075220852209522105221152212522135221452215522165221752218522195222052221522225222352224522255222652227522285222952230522315223252233522345223552236522375223852239522405224152242522435224452245522465224752248522495225052251522525225352254522555225652257522585225952260522615226252263522645226552266522675226852269522705227152272522735227452275522765227752278522795228052281522825228352284522855228652287522885228952290522915229252293522945229552296522975229852299523005230152302523035230452305523065230752308523095231052311523125231352314523155231652317523185231952320523215232252323523245232552326523275232852329523305233152332523335233452335523365233752338523395234052341523425234352344523455234652347523485234952350523515235252353523545235552356523575235852359523605236152362523635236452365523665236752368523695237052371523725237352374523755237652377523785237952380523815238252383523845238552386523875238852389523905239152392523935239452395523965239752398523995240052401524025240352404524055240652407524085240952410524115241252413524145241552416524175241852419524205242152422524235242452425524265242752428524295243052431524325243352434524355243652437524385243952440524415244252443524445244552446524475244852449524505245152452524535245452455524565245752458524595246052461524625246352464524655246652467524685246952470524715247252473524745247552476524775247852479524805248152482524835248452485524865248752488524895249052491524925249352494524955249652497524985249952500525015250252503525045250552506525075250852509525105251152512525135251452515525165251752518525195252052521525225252352524525255252652527525285252952530525315253252533525345253552536525375253852539525405254152542525435254452545525465254752548525495255052551525525255352554525555255652557525585255952560525615256252563525645256552566525675256852569525705257152572525735257452575525765257752578525795258052581525825258352584525855258652587525885258952590525915259252593525945259552596525975259852599526005260152602526035260452605526065260752608526095261052611526125261352614526155261652617526185261952620526215262252623526245262552626526275262852629526305263152632526335263452635526365263752638526395264052641526425264352644526455264652647526485264952650526515265252653526545265552656526575265852659526605266152662526635266452665526665266752668526695267052671526725267352674526755267652677526785267952680526815268252683526845268552686526875268852689526905269152692526935269452695526965269752698526995270052701527025270352704527055270652707527085270952710527115271252713527145271552716527175271852719527205272152722527235272452725527265272752728527295273052731527325273352734527355273652737527385273952740527415274252743527445274552746527475274852749527505275152752527535275452755527565275752758527595276052761527625276352764527655276652767527685276952770527715277252773527745277552776527775277852779527805278152782527835278452785527865278752788527895279052791527925279352794527955279652797527985279952800528015280252803528045280552806528075280852809528105281152812528135281452815528165281752818528195282052821528225282352824528255282652827528285282952830528315283252833528345283552836528375283852839528405284152842528435284452845528465284752848528495285052851528525285352854528555285652857528585285952860528615286252863528645286552866528675286852869528705287152872528735287452875528765287752878528795288052881528825288352884528855288652887528885288952890528915289252893528945289552896528975289852899529005290152902529035290452905529065290752908529095291052911529125291352914529155291652917529185291952920529215292252923529245292552926529275292852929529305293152932529335293452935529365293752938529395294052941529425294352944529455294652947529485294952950529515295252953529545295552956529575295852959529605296152962529635296452965529665296752968529695297052971529725297352974529755297652977529785297952980529815298252983529845298552986529875298852989529905299152992529935299452995529965299752998529995300053001530025300353004530055300653007530085300953010530115301253013530145301553016530175301853019530205302153022530235302453025530265302753028530295303053031530325303353034530355303653037530385303953040530415304253043530445304553046530475304853049530505305153052530535305453055
  1. //go:build freebsd && amd64
  2. package libfontconfig
  3. import (
  4. "reflect"
  5. "unsafe"
  6. "modernc.org/libc"
  7. "modernc.org/libexpat"
  8. "modernc.org/libfreetype"
  9. )
  10. var (
  11. _ reflect.Type
  12. _ unsafe.Pointer
  13. )
  14. const m_ACCESSX_MAX_DESCRIPTORS = 100
  15. const m_ALIGNOF_VOID_P = 8
  16. const m_BADSIG = "SIG_ERR"
  17. const m_BIG_ENDIAN = "__DARWIN_BIG_ENDIAN"
  18. const m_BUFSIZ = 1024
  19. const m_BUS_ADRALN = 1
  20. const m_BUS_ADRERR = 2
  21. const m_BUS_NOOP = 0
  22. const m_BUS_OBJERR = 3
  23. const m_BYTE_ORDER = "__DARWIN_BYTE_ORDER"
  24. const m_CLD_CONTINUED = 6
  25. const m_CLD_DUMPED = 3
  26. const m_CLD_EXITED = 1
  27. const m_CLD_KILLED = 2
  28. const m_CLD_NOOP = 0
  29. const m_CLD_STOPPED = 5
  30. const m_CLD_TRAPPED = 4
  31. const m_CLOCK_MONOTONIC = "_CLOCK_MONOTONIC"
  32. const m_CLOCK_MONOTONIC_RAW = "_CLOCK_MONOTONIC_RAW"
  33. const m_CLOCK_MONOTONIC_RAW_APPROX = "_CLOCK_MONOTONIC_RAW_APPROX"
  34. const m_CLOCK_PROCESS_CPUTIME_ID = "_CLOCK_PROCESS_CPUTIME_ID"
  35. const m_CLOCK_REALTIME = "_CLOCK_REALTIME"
  36. const m_CLOCK_THREAD_CPUTIME_ID = "_CLOCK_THREAD_CPUTIME_ID"
  37. const m_CLOCK_UPTIME_RAW = "_CLOCK_UPTIME_RAW"
  38. const m_CLOCK_UPTIME_RAW_APPROX = "_CLOCK_UPTIME_RAW_APPROX"
  39. const m_CONFIGDIR = "/etc/fonts/conf.d"
  40. const m_CPUMON_MAKE_FATAL = 0x1000
  41. const m_DBL_DECIMAL_DIG = "__DBL_DECIMAL_DIG__"
  42. const m_DBL_DIG = "__DBL_DIG__"
  43. const m_DBL_EPSILON = "__DBL_EPSILON__"
  44. const m_DBL_HAS_SUBNORM = "__DBL_HAS_DENORM__"
  45. const m_DBL_MANT_DIG = "__DBL_MANT_DIG__"
  46. const m_DBL_MAX = "__DBL_MAX__"
  47. const m_DBL_MAX_10_EXP = "__DBL_MAX_10_EXP__"
  48. const m_DBL_MAX_EXP = "__DBL_MAX_EXP__"
  49. const m_DBL_MIN = "__DBL_MIN__"
  50. const m_DBL_MIN_10_EXP = "__DBL_MIN_10_EXP__"
  51. const m_DBL_MIN_EXP = "__DBL_MIN_EXP__"
  52. const m_DBL_TRUE_MIN = "__DBL_DENORM_MIN__"
  53. const m_DECIMAL_DIG = "__DECIMAL_DIG__"
  54. const m_DOMAIN = 1
  55. const m_E2BIG = 7
  56. const m_EACCES = 13
  57. const m_EADDRINUSE = 48
  58. const m_EADDRNOTAVAIL = 49
  59. const m_EAFNOSUPPORT = 47
  60. const m_EAGAIN = 35
  61. const m_EALREADY = 37
  62. const m_EAUTH = 80
  63. const m_EBADARCH = 86
  64. const m_EBADEXEC = 85
  65. const m_EBADF = 9
  66. const m_EBADMACHO = 88
  67. const m_EBADMSG = 94
  68. const m_EBADRPC = 72
  69. const m_EBUSY = 16
  70. const m_ECANCELED = 89
  71. const m_ECHILD = 10
  72. const m_ECONNABORTED = 53
  73. const m_ECONNREFUSED = 61
  74. const m_ECONNRESET = 54
  75. const m_EDEADLK = 11
  76. const m_EDESTADDRREQ = 39
  77. const m_EDEVERR = 83
  78. const m_EDOM = 33
  79. const m_EDQUOT = 69
  80. const m_EEXIST = 17
  81. const m_EFAULT = 14
  82. const m_EFBIG = 27
  83. const m_EFTYPE = 79
  84. const m_EF_IS_PURGEABLE = 0x00000008
  85. const m_EF_IS_SPARSE = 0x00000010
  86. const m_EF_IS_SYNC_ROOT = 0x00000004
  87. const m_EF_IS_SYNTHETIC = 0x00000020
  88. const m_EF_MAY_SHARE_BLOCKS = 0x00000001
  89. const m_EF_NO_XATTRS = 0x00000002
  90. const m_EF_SHARES_ALL_BLOCKS = 0x00000040
  91. const m_EHOSTDOWN = 64
  92. const m_EHOSTUNREACH = 65
  93. const m_EIDRM = 90
  94. const m_EILSEQ = 92
  95. const m_EINPROGRESS = 36
  96. const m_EINTR = 4
  97. const m_EINVAL = 22
  98. const m_EIO = 5
  99. const m_EISCONN = 56
  100. const m_EISDIR = 21
  101. const m_ELAST = 106
  102. const m_ELOOP = 62
  103. const m_EMFILE = 24
  104. const m_EMLINK = 31
  105. const m_EMSGSIZE = 40
  106. const m_EMULTIHOP = 95
  107. const m_ENAMETOOLONG = 63
  108. const m_ENEEDAUTH = 81
  109. const m_ENETDOWN = 50
  110. const m_ENETRESET = 52
  111. const m_ENETUNREACH = 51
  112. const m_ENFILE = 23
  113. const m_ENOATTR = 93
  114. const m_ENOBUFS = 55
  115. const m_ENODATA = 96
  116. const m_ENODEV = 19
  117. const m_ENOENT = 2
  118. const m_ENOEXEC = 8
  119. const m_ENOLCK = 77
  120. const m_ENOLINK = 97
  121. const m_ENOMEM = 12
  122. const m_ENOMSG = 91
  123. const m_ENOPOLICY = 103
  124. const m_ENOPROTOOPT = 42
  125. const m_ENOSPC = 28
  126. const m_ENOSR = 98
  127. const m_ENOSTR = 99
  128. const m_ENOSYS = 78
  129. const m_ENOTBLK = 15
  130. const m_ENOTCONN = 57
  131. const m_ENOTDIR = 20
  132. const m_ENOTEMPTY = 66
  133. const m_ENOTRECOVERABLE = 104
  134. const m_ENOTSOCK = 38
  135. const m_ENOTSUP = 45
  136. const m_ENOTTY = 25
  137. const m_ENXIO = 6
  138. const m_EOPNOTSUPP = 102
  139. const m_EOVERFLOW = 84
  140. const m_EOWNERDEAD = 105
  141. const m_EPERM = 1
  142. const m_EPFNOSUPPORT = 46
  143. const m_EPIPE = 32
  144. const m_EPROCLIM = 67
  145. const m_EPROCUNAVAIL = 76
  146. const m_EPROGMISMATCH = 75
  147. const m_EPROGUNAVAIL = 74
  148. const m_EPROTO = 100
  149. const m_EPROTONOSUPPORT = 43
  150. const m_EPROTOTYPE = 41
  151. const m_EPWROFF = 82
  152. const m_EQFULL = 106
  153. const m_ERANGE = 34
  154. const m_EREMOTE = 71
  155. const m_EROFS = 30
  156. const m_ERPCMISMATCH = 73
  157. const m_ESHLIBVERS = 87
  158. const m_ESHUTDOWN = 58
  159. const m_ESOCKTNOSUPPORT = 44
  160. const m_ESPIPE = 29
  161. const m_ESRCH = 3
  162. const m_ESTALE = 70
  163. const m_ETIME = 101
  164. const m_ETIMEDOUT = 60
  165. const m_ETOOMANYREFS = 59
  166. const m_ETXTBSY = 26
  167. const m_EUSERS = 68
  168. const m_EWOULDBLOCK = "EAGAIN"
  169. const m_EXDEV = 18
  170. const m_EXIT_FAILURE = 1
  171. const m_EXIT_SUCCESS = 0
  172. const m_FCSS_ALLOW_DUPLICATES = 1
  173. const m_FCSS_DEFAULT = 0
  174. const m_FCSS_GROW_BY_64 = 2
  175. const m_FC_ADD_FONTS = "yes"
  176. const m_FC_ANTIALIAS = "antialias"
  177. const m_FC_ASPECT = "aspect"
  178. const m_FC_ATOMIC_INT_FORMAT = "d"
  179. const m_FC_AUTOHINT = "autohint"
  180. const m_FC_CACHEDIR = "/usr/var/cache/fontconfig"
  181. const m_FC_CACHE_MAGIC_ALLOC = 0xFC02FC05
  182. const m_FC_CACHE_MAGIC_MMAP = 0xFC02FC04
  183. const m_FC_CACHE_VERSION_NUMBER = 8
  184. const m_FC_CAPABILITY = "capability"
  185. const m_FC_CASE_FOLD_EVEN_ODD = 1
  186. const m_FC_CASE_FOLD_FULL = 2
  187. const m_FC_CASE_FOLD_RANGE = 0
  188. const m_FC_CHARCELL = 110
  189. const m_FC_CHARSET = "charset"
  190. const m_FC_CHARWIDTH = "charwidth"
  191. const m_FC_CHAR_HEIGHT = "charheight"
  192. const m_FC_CHAR_WIDTH = "FC_CHARWIDTH"
  193. const m_FC_COLOR = "color"
  194. const m_FC_CONFIG_PATH = "fonts.conf"
  195. const m_FC_DBG_CACHE = 16
  196. const m_FC_DBG_CACHEV = 32
  197. const m_FC_DBG_CONFIG = 1024
  198. const m_FC_DBG_EDIT = 4
  199. const m_FC_DBG_FONTSET = 8
  200. const m_FC_DBG_LANGSET = 2048
  201. const m_FC_DBG_MATCH = 1
  202. const m_FC_DBG_MATCH2 = 4096
  203. const m_FC_DBG_MATCHV = 2
  204. const m_FC_DBG_PARSE = 64
  205. const m_FC_DBG_SCAN = 128
  206. const m_FC_DBG_SCANV = 256
  207. const m_FC_DECORATIVE = "decorative"
  208. const m_FC_DEFAULT_FONTS = "<dir>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</dir>"
  209. const m_FC_DIR_SEPARATOR = '/'
  210. const m_FC_DIR_SEPARATOR_S = "/"
  211. const m_FC_DPI = "dpi"
  212. const m_FC_DUAL = 90
  213. const m_FC_EMBEDDED_BITMAP = "embeddedbitmap"
  214. const m_FC_EMBOLDEN = "embolden"
  215. const m_FC_EXT_OBJ_INDEX = 1024
  216. const m_FC_FAMILY = "family"
  217. const m_FC_FAMILYLANG = "familylang"
  218. const m_FC_FILE = "file"
  219. const m_FC_FONTFORMAT = "fontformat"
  220. const m_FC_FONTVERSION = "fontversion"
  221. const m_FC_FONT_FEATURES = "fontfeatures"
  222. const m_FC_FONT_HAS_HINT = "fonthashint"
  223. const m_FC_FONT_VARIATIONS = "fontvariations"
  224. const m_FC_FOUNDRY = "foundry"
  225. const m_FC_FT_FACE = "ftface"
  226. const m_FC_FULLNAME = "fullname"
  227. const m_FC_FULLNAMELANG = "fullnamelang"
  228. const m_FC_GLOBAL_ADVANCE = "globaladvance"
  229. const m_FC_GPERF_SIZE_T = "size_t"
  230. const m_FC_HASH = "hash"
  231. const m_FC_HINTING = "hinting"
  232. const m_FC_HINT_FULL = 3
  233. const m_FC_HINT_MEDIUM = 2
  234. const m_FC_HINT_NONE = 0
  235. const m_FC_HINT_SLIGHT = 1
  236. const m_FC_HINT_STYLE = "hintstyle"
  237. const m_FC_INDEX = "index"
  238. const m_FC_LANG = "lang"
  239. const m_FC_LCD_DEFAULT = 1
  240. const m_FC_LCD_FILTER = "lcdfilter"
  241. const m_FC_LCD_LEGACY = 3
  242. const m_FC_LCD_LIGHT = 2
  243. const m_FC_LCD_NONE = 0
  244. const m_FC_MAJOR = 2
  245. const m_FC_MATRIX = "matrix"
  246. const m_FC_MAX_FILE_LEN = 4096
  247. const m_FC_MINOR = 14
  248. const m_FC_MINSPACE = "minspace"
  249. const m_FC_MONO = 100
  250. const m_FC_MUTEX_IMPL_INIT = 0
  251. const m_FC_NAMELANG = "namelang"
  252. const m_FC_NO_MT = 1
  253. const m_FC_ORDER = "order"
  254. const m_FC_OUTLINE = "outline"
  255. const m_FC_PATH_MAX = 128
  256. const m_FC_PIXEL_SIZE = "pixelsize"
  257. const m_FC_POSTSCRIPT_NAME = "postscriptname"
  258. const m_FC_PRGNAME = "prgname"
  259. const m_FC_PROPORTIONAL = 0
  260. const m_FC_RASTERIZER = "rasterizer"
  261. const m_FC_REVISION = 1
  262. const m_FC_RGBA = "rgba"
  263. const m_FC_RGBA_BGR = 2
  264. const m_FC_RGBA_NONE = 5
  265. const m_FC_RGBA_RGB = 1
  266. const m_FC_RGBA_UNKNOWN = 0
  267. const m_FC_RGBA_VBGR = 4
  268. const m_FC_RGBA_VRGB = 3
  269. const m_FC_SCALABLE = "scalable"
  270. const m_FC_SCALE = "scale"
  271. const m_FC_SEARCH_PATH_SEPARATOR = ':'
  272. const m_FC_SIZE = "size"
  273. const m_FC_SLANT = "slant"
  274. const m_FC_SLANT_ITALIC = 100
  275. const m_FC_SLANT_OBLIQUE = 110
  276. const m_FC_SLANT_ROMAN = 0
  277. const m_FC_SOURCE = "source"
  278. const m_FC_SPACING = "spacing"
  279. const m_FC_STMT_START = "do"
  280. const m_FC_STYLE = "style"
  281. const m_FC_STYLELANG = "stylelang"
  282. const m_FC_SYMBOL = "symbol"
  283. const m_FC_TEMPLATEDIR = "/usr/share/fontconfig/conf.avail"
  284. const m_FC_UINT64_FORMAT = "llu"
  285. const m_FC_UTF8_MAX_LEN = 6
  286. const m_FC_VARIABLE = "variable"
  287. const m_FC_VERTICAL_LAYOUT = "verticallayout"
  288. const m_FC_WEIGHT = "weight"
  289. const m_FC_WEIGHT_BLACK = 210
  290. const m_FC_WEIGHT_BOLD = 200
  291. const m_FC_WEIGHT_BOOK = 75
  292. const m_FC_WEIGHT_DEMIBOLD = 180
  293. const m_FC_WEIGHT_DEMILIGHT = 55
  294. const m_FC_WEIGHT_EXTRABLACK = 215
  295. const m_FC_WEIGHT_EXTRABOLD = 205
  296. const m_FC_WEIGHT_EXTRALIGHT = 40
  297. const m_FC_WEIGHT_HEAVY = "FC_WEIGHT_BLACK"
  298. const m_FC_WEIGHT_LIGHT = 50
  299. const m_FC_WEIGHT_MEDIUM = 100
  300. const m_FC_WEIGHT_NORMAL = "FC_WEIGHT_REGULAR"
  301. const m_FC_WEIGHT_REGULAR = 80
  302. const m_FC_WEIGHT_SEMIBOLD = "FC_WEIGHT_DEMIBOLD"
  303. const m_FC_WEIGHT_SEMILIGHT = "FC_WEIGHT_DEMILIGHT"
  304. const m_FC_WEIGHT_THIN = 0
  305. const m_FC_WEIGHT_ULTRABLACK = "FC_WEIGHT_EXTRABLACK"
  306. const m_FC_WEIGHT_ULTRABOLD = "FC_WEIGHT_EXTRABOLD"
  307. const m_FC_WEIGHT_ULTRALIGHT = "FC_WEIGHT_EXTRALIGHT"
  308. const m_FC_WIDTH = "width"
  309. const m_FC_WIDTH_CONDENSED = 75
  310. const m_FC_WIDTH_EXPANDED = 125
  311. const m_FC_WIDTH_EXTRACONDENSED = 63
  312. const m_FC_WIDTH_EXTRAEXPANDED = 150
  313. const m_FC_WIDTH_NORMAL = 100
  314. const m_FC_WIDTH_SEMICONDENSED = 87
  315. const m_FC_WIDTH_SEMIEXPANDED = 113
  316. const m_FC_WIDTH_ULTRACONDENSED = 50
  317. const m_FC_WIDTH_ULTRAEXPANDED = 200
  318. const m_FD_SETSIZE = "__DARWIN_FD_SETSIZE"
  319. const m_FILENAME_MAX = 1024
  320. const m_FLT16_DECIMAL_DIG = "__FLT16_DECIMAL_DIG__"
  321. const m_FLT16_DIG = "__FLT16_DIG__"
  322. const m_FLT16_EPSILON = "__FLT16_EPSILON__"
  323. const m_FLT16_MANT_DIG = "__FLT16_MANT_DIG__"
  324. const m_FLT16_MAX = "__FLT16_MAX__"
  325. const m_FLT16_MAX_10_EXP = "__FLT16_MAX_10_EXP__"
  326. const m_FLT16_MAX_EXP = "__FLT16_MAX_EXP__"
  327. const m_FLT16_MIN = "__FLT16_MIN__"
  328. const m_FLT16_MIN_10_EXP = "__FLT16_MIN_10_EXP__"
  329. const m_FLT16_MIN_EXP = "__FLT16_MIN_EXP__"
  330. const m_FLT16_TRUE_MIN = "__FLT16_TRUE_MIN__"
  331. const m_FLT_DECIMAL_DIG = "__FLT_DECIMAL_DIG__"
  332. const m_FLT_DIG = "__FLT_DIG__"
  333. const m_FLT_EPSILON = "__FLT_EPSILON__"
  334. const m_FLT_EVAL_METHOD = "__FLT_EVAL_METHOD__"
  335. const m_FLT_HAS_SUBNORM = "__FLT_HAS_DENORM__"
  336. const m_FLT_MANT_DIG = "__FLT_MANT_DIG__"
  337. const m_FLT_MAX = "__FLT_MAX__"
  338. const m_FLT_MAX_10_EXP = "__FLT_MAX_10_EXP__"
  339. const m_FLT_MAX_EXP = "__FLT_MAX_EXP__"
  340. const m_FLT_MIN = "__FLT_MIN__"
  341. const m_FLT_MIN_10_EXP = "__FLT_MIN_10_EXP__"
  342. const m_FLT_MIN_EXP = "__FLT_MIN_EXP__"
  343. const m_FLT_RADIX = "__FLT_RADIX__"
  344. const m_FLT_TRUE_MIN = "__FLT_DENORM_MIN__"
  345. const m_FONTCONFIG_PATH = "/etc/fonts"
  346. const m_FOOTPRINT_INTERVAL_RESET = 0x1
  347. const m_FOPEN_MAX = 20
  348. const m_FPE_FLTDIV = 1
  349. const m_FPE_FLTINV = 5
  350. const m_FPE_FLTOVF = 2
  351. const m_FPE_FLTRES = 4
  352. const m_FPE_FLTSUB = 6
  353. const m_FPE_FLTUND = 3
  354. const m_FPE_INTDIV = 7
  355. const m_FPE_INTOVF = 8
  356. const m_FPE_NOOP = 0
  357. const m_FP_CHOP = 3
  358. const m_FP_INFINITE = 2
  359. const m_FP_NAN = 1
  360. const m_FP_NORMAL = 4
  361. const m_FP_PREC_24B = 0
  362. const m_FP_PREC_53B = 2
  363. const m_FP_PREC_64B = 3
  364. const m_FP_QNAN = "FP_NAN"
  365. const m_FP_RND_DOWN = 1
  366. const m_FP_RND_NEAR = 0
  367. const m_FP_RND_UP = 2
  368. const m_FP_SNAN = "FP_NAN"
  369. const m_FP_STATE_BYTES = 512
  370. const m_FP_SUBNORMAL = 5
  371. const m_FP_SUPERNORMAL = 6
  372. const m_FP_ZERO = 3
  373. const m_F_LOCK = 1
  374. const m_F_OK = 0
  375. const m_F_TEST = 3
  376. const m_F_TLOCK = 2
  377. const m_F_ULOCK = 0
  378. const m_FcDontCare = 2
  379. const m_FcFalse = 0
  380. const m_FcTrue = 1
  381. const m_GETTEXT_PACKAGE = "fontconfig"
  382. const m_HAVE_CFLOCALECOPYCURRENT = 1
  383. const m_HAVE_CFPREFERENCESCOPYAPPVALUE = 1
  384. const m_HAVE_CONFIG_H = 1
  385. const m_HAVE_DIRENT_H = 1
  386. const m_HAVE_DLFCN_H = 1
  387. const m_HAVE_FCNTL_H = 1
  388. const m_HAVE_FSTATFS = 1
  389. const m_HAVE_FSTATVFS = 1
  390. const m_HAVE_GETOPT = 1
  391. const m_HAVE_GETOPT_LONG = 1
  392. const m_HAVE_GETPAGESIZE = 1
  393. const m_HAVE_GETPROGNAME = 1
  394. const m_HAVE_ICONV = 1
  395. const m_HAVE_INTEL_ATOMIC_PRIMITIVES = 1
  396. const m_HAVE_INTTYPES_H = 1
  397. const m_HAVE_LINK = 1
  398. const m_HAVE_LRAND48 = 1
  399. const m_HAVE_LSTAT = 1
  400. const m_HAVE_MKDTEMP = 1
  401. const m_HAVE_MKOSTEMP = 1
  402. const m_HAVE_MKSTEMP = 1
  403. const m_HAVE_MMAP = 1
  404. const m_HAVE_POSIX_FADVISE = 0
  405. const m_HAVE_PTHREAD = 1
  406. const m_HAVE_PTHREAD_PRIO_INHERIT = 1
  407. const m_HAVE_RAND = 1
  408. const m_HAVE_RANDOM = 1
  409. const m_HAVE_RAND_R = 1
  410. const m_HAVE_READLINK = 1
  411. const m_HAVE_STDATOMIC_PRIMITIVES = 1
  412. const m_HAVE_STDINT_H = 1
  413. const m_HAVE_STDIO_H = 1
  414. const m_HAVE_STDLIB_H = 1
  415. const m_HAVE_STRERROR = 1
  416. const m_HAVE_STRERROR_R = 1
  417. const m_HAVE_STRINGS_H = 1
  418. const m_HAVE_STRING_H = 1
  419. const m_HAVE_STRUCT_DIRENT_D_TYPE = 1
  420. const m_HAVE_STRUCT_STATFS_F_FLAGS = 1
  421. const m_HAVE_STRUCT_STATFS_F_FSTYPENAME = 1
  422. const m_HAVE_SYS_MOUNT_H = 1
  423. const m_HAVE_SYS_PARAM_H = 1
  424. const m_HAVE_SYS_STATVFS_H = 1
  425. const m_HAVE_SYS_STAT_H = 1
  426. const m_HAVE_SYS_TYPES_H = 1
  427. const m_HAVE_UNISTD_H = 1
  428. const m_HAVE_VPRINTF = 1
  429. const m_HAVE_WARNING_CPP_DIRECTIVE = 1
  430. const m_HAVE_WCHAR_H = 1
  431. const m_HAVE_XML_SETDOCTYPEDECLHANDLER = 1
  432. const m_HUGE = "MAXFLOAT"
  433. const m_ILL_BADSTK = 8
  434. const m_ILL_COPROC = 7
  435. const m_ILL_ILLADR = 5
  436. const m_ILL_ILLOPC = 1
  437. const m_ILL_ILLOPN = 4
  438. const m_ILL_ILLTRP = 2
  439. const m_ILL_NOOP = 0
  440. const m_ILL_PRVOPC = 3
  441. const m_ILL_PRVREG = 6
  442. const m_INFINITY = "HUGE_VALF"
  443. const m_INTMAX_MAX = "__INTMAX_MAX__"
  444. const m_INTPTR_MAX = "__INTPTR_MAX__"
  445. const m_INT_FAST16_MAX = "__INT_LEAST16_MAX"
  446. const m_INT_FAST16_MIN = "__INT_LEAST16_MIN"
  447. const m_INT_FAST32_MAX = "__INT_LEAST32_MAX"
  448. const m_INT_FAST32_MIN = "__INT_LEAST32_MIN"
  449. const m_INT_FAST64_MAX = "__INT_LEAST64_MAX"
  450. const m_INT_FAST64_MIN = "__INT_LEAST64_MIN"
  451. const m_INT_FAST8_MAX = "__INT_LEAST8_MAX"
  452. const m_INT_FAST8_MIN = "__INT_LEAST8_MIN"
  453. const m_INT_LEAST16_MAX = "__INT_LEAST16_MAX"
  454. const m_INT_LEAST16_MIN = "__INT_LEAST16_MIN"
  455. const m_INT_LEAST32_MAX = "__INT_LEAST32_MAX"
  456. const m_INT_LEAST32_MIN = "__INT_LEAST32_MIN"
  457. const m_INT_LEAST64_MAX = "__INT_LEAST64_MAX"
  458. const m_INT_LEAST64_MIN = "__INT_LEAST64_MIN"
  459. const m_INT_LEAST8_MAX = "__INT_LEAST8_MAX"
  460. const m_INT_LEAST8_MIN = "__INT_LEAST8_MIN"
  461. const m_IOPOL_APPLICATION = "IOPOL_STANDARD"
  462. const m_IOPOL_ATIME_UPDATES_DEFAULT = 0
  463. const m_IOPOL_ATIME_UPDATES_OFF = 1
  464. const m_IOPOL_DEFAULT = 0
  465. const m_IOPOL_IMPORTANT = 1
  466. const m_IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT = 0
  467. const m_IOPOL_MATERIALIZE_DATALESS_FILES_OFF = 1
  468. const m_IOPOL_MATERIALIZE_DATALESS_FILES_ON = 2
  469. const m_IOPOL_NORMAL = "IOPOL_IMPORTANT"
  470. const m_IOPOL_PASSIVE = 2
  471. const m_IOPOL_SCOPE_DARWIN_BG = 2
  472. const m_IOPOL_SCOPE_PROCESS = 0
  473. const m_IOPOL_SCOPE_THREAD = 1
  474. const m_IOPOL_STANDARD = 5
  475. const m_IOPOL_THROTTLE = 3
  476. const m_IOPOL_TYPE_DISK = 0
  477. const m_IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES = 9
  478. const m_IOPOL_TYPE_VFS_ATIME_UPDATES = 2
  479. const m_IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY = 10
  480. const m_IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION = 6
  481. const m_IOPOL_TYPE_VFS_IGNORE_PERMISSIONS = 7
  482. const m_IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES = 3
  483. const m_IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE = 8
  484. const m_IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME = 4
  485. const m_IOPOL_TYPE_VFS_TRIGGER_RESOLVE = 5
  486. const m_IOPOL_UTILITY = 4
  487. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF = 0
  488. const m_IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON = 1
  489. const m_IOPOL_VFS_CONTENT_PROTECTION_DEFAULT = 0
  490. const m_IOPOL_VFS_CONTENT_PROTECTION_IGNORE = 1
  491. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT = 0
  492. const m_IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON = 1
  493. const m_IOPOL_VFS_IGNORE_PERMISSIONS_OFF = 0
  494. const m_IOPOL_VFS_IGNORE_PERMISSIONS_ON = 1
  495. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT = 0
  496. const m_IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON = 1
  497. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_OFF = 0
  498. const m_IOPOL_VFS_SKIP_MTIME_UPDATE_ON = 1
  499. const m_IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME = 1
  500. const m_IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT = 0
  501. const m_IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT = 0
  502. const m_IOPOL_VFS_TRIGGER_RESOLVE_OFF = 1
  503. const m_LCK_NAME = ".LCK"
  504. const m_LDBL_DECIMAL_DIG = "__LDBL_DECIMAL_DIG__"
  505. const m_LDBL_DIG = "__LDBL_DIG__"
  506. const m_LDBL_EPSILON = "__LDBL_EPSILON__"
  507. const m_LDBL_HAS_SUBNORM = "__LDBL_HAS_DENORM__"
  508. const m_LDBL_MANT_DIG = "__LDBL_MANT_DIG__"
  509. const m_LDBL_MAX = "__LDBL_MAX__"
  510. const m_LDBL_MAX_10_EXP = "__LDBL_MAX_10_EXP__"
  511. const m_LDBL_MAX_EXP = "__LDBL_MAX_EXP__"
  512. const m_LDBL_MIN = "__LDBL_MIN__"
  513. const m_LDBL_MIN_10_EXP = "__LDBL_MIN_10_EXP__"
  514. const m_LDBL_MIN_EXP = "__LDBL_MIN_EXP__"
  515. const m_LDBL_TRUE_MIN = "__LDBL_DENORM_MIN__"
  516. const m_LITTLE_ENDIAN = "__DARWIN_LITTLE_ENDIAN"
  517. const m_LT_OBJDIR = ".libs/"
  518. const m_L_INCR = "SEEK_CUR"
  519. const m_L_SET = "SEEK_SET"
  520. const m_L_XTND = "SEEK_END"
  521. const m_L_ctermid = 1024
  522. const m_L_tmpnam = 1024
  523. const m_MAC_OS_VERSION_11_0 = "__MAC_11_0"
  524. const m_MAC_OS_VERSION_11_1 = "__MAC_11_1"
  525. const m_MAC_OS_VERSION_11_3 = "__MAC_11_3"
  526. const m_MAC_OS_VERSION_11_4 = "__MAC_11_4"
  527. const m_MAC_OS_VERSION_11_5 = "__MAC_11_5"
  528. const m_MAC_OS_VERSION_11_6 = "__MAC_11_6"
  529. const m_MAC_OS_VERSION_12_0 = "__MAC_12_0"
  530. const m_MAC_OS_VERSION_12_1 = "__MAC_12_1"
  531. const m_MAC_OS_VERSION_12_2 = "__MAC_12_2"
  532. const m_MAC_OS_VERSION_12_3 = "__MAC_12_3"
  533. const m_MAC_OS_VERSION_12_4 = "__MAC_12_4"
  534. const m_MAC_OS_VERSION_12_5 = "__MAC_12_5"
  535. const m_MAC_OS_VERSION_12_6 = "__MAC_12_6"
  536. const m_MAC_OS_VERSION_12_7 = "__MAC_12_7"
  537. const m_MAC_OS_VERSION_13_0 = "__MAC_13_0"
  538. const m_MAC_OS_VERSION_13_1 = "__MAC_13_1"
  539. const m_MAC_OS_VERSION_13_2 = "__MAC_13_2"
  540. const m_MAC_OS_VERSION_13_3 = "__MAC_13_3"
  541. const m_MAC_OS_VERSION_13_4 = "__MAC_13_4"
  542. const m_MAC_OS_VERSION_13_5 = "__MAC_13_5"
  543. const m_MAC_OS_VERSION_13_6 = "__MAC_13_6"
  544. const m_MAC_OS_VERSION_14_0 = "__MAC_14_0"
  545. const m_MAC_OS_VERSION_14_1 = "__MAC_14_1"
  546. const m_MAC_OS_VERSION_14_2 = "__MAC_14_2"
  547. const m_MAC_OS_VERSION_14_3 = "__MAC_14_3"
  548. const m_MAC_OS_VERSION_14_4 = "__MAC_14_4"
  549. const m_MAC_OS_X_VERSION_10_0 = "__MAC_10_0"
  550. const m_MAC_OS_X_VERSION_10_1 = "__MAC_10_1"
  551. const m_MAC_OS_X_VERSION_10_10 = "__MAC_10_10"
  552. const m_MAC_OS_X_VERSION_10_10_2 = "__MAC_10_10_2"
  553. const m_MAC_OS_X_VERSION_10_10_3 = "__MAC_10_10_3"
  554. const m_MAC_OS_X_VERSION_10_11 = "__MAC_10_11"
  555. const m_MAC_OS_X_VERSION_10_11_2 = "__MAC_10_11_2"
  556. const m_MAC_OS_X_VERSION_10_11_3 = "__MAC_10_11_3"
  557. const m_MAC_OS_X_VERSION_10_11_4 = "__MAC_10_11_4"
  558. const m_MAC_OS_X_VERSION_10_12 = "__MAC_10_12"
  559. const m_MAC_OS_X_VERSION_10_12_1 = "__MAC_10_12_1"
  560. const m_MAC_OS_X_VERSION_10_12_2 = "__MAC_10_12_2"
  561. const m_MAC_OS_X_VERSION_10_12_4 = "__MAC_10_12_4"
  562. const m_MAC_OS_X_VERSION_10_13 = "__MAC_10_13"
  563. const m_MAC_OS_X_VERSION_10_13_1 = "__MAC_10_13_1"
  564. const m_MAC_OS_X_VERSION_10_13_2 = "__MAC_10_13_2"
  565. const m_MAC_OS_X_VERSION_10_13_4 = "__MAC_10_13_4"
  566. const m_MAC_OS_X_VERSION_10_14 = "__MAC_10_14"
  567. const m_MAC_OS_X_VERSION_10_14_1 = "__MAC_10_14_1"
  568. const m_MAC_OS_X_VERSION_10_14_4 = "__MAC_10_14_4"
  569. const m_MAC_OS_X_VERSION_10_14_5 = "__MAC_10_14_5"
  570. const m_MAC_OS_X_VERSION_10_14_6 = "__MAC_10_14_6"
  571. const m_MAC_OS_X_VERSION_10_15 = "__MAC_10_15"
  572. const m_MAC_OS_X_VERSION_10_15_1 = "__MAC_10_15_1"
  573. const m_MAC_OS_X_VERSION_10_15_4 = "__MAC_10_15_4"
  574. const m_MAC_OS_X_VERSION_10_16 = "__MAC_10_16"
  575. const m_MAC_OS_X_VERSION_10_2 = "__MAC_10_2"
  576. const m_MAC_OS_X_VERSION_10_3 = "__MAC_10_3"
  577. const m_MAC_OS_X_VERSION_10_4 = "__MAC_10_4"
  578. const m_MAC_OS_X_VERSION_10_5 = "__MAC_10_5"
  579. const m_MAC_OS_X_VERSION_10_6 = "__MAC_10_6"
  580. const m_MAC_OS_X_VERSION_10_7 = "__MAC_10_7"
  581. const m_MAC_OS_X_VERSION_10_8 = "__MAC_10_8"
  582. const m_MAC_OS_X_VERSION_10_9 = "__MAC_10_9"
  583. const m_MATH_ERREXCEPT = 2
  584. const m_MATH_ERRNO = 1
  585. const m_MAXFLOAT = "0x1.fffffep+127f"
  586. const m_MB_CUR_MAX = "__mb_cur_max"
  587. const m_MB_LEN_MAX = 1
  588. const m_MINSIGSTKSZ = 32768
  589. const m_M_1_PI = 0.318309886183790671537767526745028724
  590. const m_M_2_PI = 0.636619772367581343075535053490057448
  591. const m_M_2_SQRTPI = 1.12837916709551257389615890312154517
  592. const m_M_E = 2.71828182845904523536028747135266250
  593. const m_M_LN10 = 2.30258509299404568401799145468436421
  594. const m_M_LN2 = 0.693147180559945309417232121458176568
  595. const m_M_LOG10E = 0.434294481903251827651128918916605082
  596. const m_M_LOG2E = 1.44269504088896340735992468100189214
  597. const m_M_PI = 3.14159265358979323846264338327950288
  598. const m_M_PI_2 = 1.57079632679489661923132169163975144
  599. const m_M_PI_4 = 0.785398163397448309615660845819875721
  600. const m_M_SQRT1_2 = 0.707106781186547524400844362104849039
  601. const m_M_SQRT2 = 1.41421356237309504880168872420969808
  602. const m_NBBY = "__DARWIN_NBBY"
  603. const m_NDEBUG = 1
  604. const m_NEW_NAME = ".NEW"
  605. const m_NFDBITS = "__DARWIN_NFDBITS"
  606. const m_NSIG = "__DARWIN_NSIG"
  607. const m_OVERFLOW = 3
  608. const m_PACKAGE = "fontconfig"
  609. const m_PACKAGE_BUGREPORT = "https://gitlab.freedesktop.org/fontconfig/fontconfig/issues/new"
  610. const m_PACKAGE_NAME = "fontconfig"
  611. const m_PACKAGE_STRING = "fontconfig 2.14.1"
  612. const m_PACKAGE_TARNAME = "fontconfig"
  613. const m_PACKAGE_URL = ""
  614. const m_PACKAGE_VERSION = "2.14.1"
  615. const m_PDP_ENDIAN = "__DARWIN_PDP_ENDIAN"
  616. const m_PLOSS = 6
  617. const m_POLL_ERR = 4
  618. const m_POLL_HUP = 6
  619. const m_POLL_IN = 1
  620. const m_POLL_MSG = 3
  621. const m_POLL_OUT = 2
  622. const m_POLL_PRI = 5
  623. const m_PRIO_DARWIN_BG = 0x1000
  624. const m_PRIO_DARWIN_NONUI = 0x1001
  625. const m_PRIO_DARWIN_PROCESS = 4
  626. const m_PRIO_DARWIN_THREAD = 3
  627. const m_PRIO_MAX = 20
  628. const m_PRIO_PGRP = 1
  629. const m_PRIO_PROCESS = 0
  630. const m_PRIO_USER = 2
  631. const m_PTRDIFF_MAX = "__PTRDIFF_MAX__"
  632. const m_P_tmpdir = "/var/tmp/"
  633. const m_RAND_MAX = 0x7fffffff
  634. const m_RENAME_EXCL = 0x00000004
  635. const m_RENAME_NOFOLLOW_ANY = 0x00000010
  636. const m_RENAME_RESERVED1 = 0x00000008
  637. const m_RENAME_SECLUDE = 0x00000001
  638. const m_RENAME_SWAP = 0x00000002
  639. const m_RLIMIT_AS = 5
  640. const m_RLIMIT_CORE = 4
  641. const m_RLIMIT_CPU = 0
  642. const m_RLIMIT_CPU_USAGE_MONITOR = 0x2
  643. const m_RLIMIT_DATA = 2
  644. const m_RLIMIT_FOOTPRINT_INTERVAL = 0x4
  645. const m_RLIMIT_FSIZE = 1
  646. const m_RLIMIT_MEMLOCK = 6
  647. const m_RLIMIT_NOFILE = 8
  648. const m_RLIMIT_NPROC = 7
  649. const m_RLIMIT_RSS = "RLIMIT_AS"
  650. const m_RLIMIT_STACK = 3
  651. const m_RLIMIT_THREAD_CPULIMITS = 0x3
  652. const m_RLIMIT_WAKEUPS_MONITOR = 0x1
  653. const m_RLIM_NLIMITS = 9
  654. const m_RLIM_SAVED_CUR = "RLIM_INFINITY"
  655. const m_RLIM_SAVED_MAX = "RLIM_INFINITY"
  656. const m_RUSAGE_INFO_CURRENT = "RUSAGE_INFO_V6"
  657. const m_RUSAGE_INFO_V0 = 0
  658. const m_RUSAGE_INFO_V1 = 1
  659. const m_RUSAGE_INFO_V2 = 2
  660. const m_RUSAGE_INFO_V3 = 3
  661. const m_RUSAGE_INFO_V4 = 4
  662. const m_RUSAGE_INFO_V5 = 5
  663. const m_RUSAGE_INFO_V6 = 6
  664. const m_RUSAGE_SELF = 0
  665. const m_RU_PROC_RUNS_RESLIDE = 0x00000001
  666. const m_SA_64REGSET = 0x0200
  667. const m_SA_NOCLDSTOP = 0x0008
  668. const m_SA_NOCLDWAIT = 0x0020
  669. const m_SA_NODEFER = 0x0010
  670. const m_SA_ONSTACK = 0x0001
  671. const m_SA_RESETHAND = 0x0004
  672. const m_SA_RESTART = 0x0002
  673. const m_SA_SIGINFO = 0x0040
  674. const m_SA_USERTRAMP = 0x0100
  675. const m_SEEK_CUR = 1
  676. const m_SEEK_DATA = 4
  677. const m_SEEK_END = 2
  678. const m_SEEK_HOLE = 3
  679. const m_SEEK_SET = 0
  680. const m_SEGV_ACCERR = 2
  681. const m_SEGV_MAPERR = 1
  682. const m_SEGV_NOOP = 0
  683. const m_SF_APPEND = 0x00040000
  684. const m_SF_ARCHIVED = 0x00010000
  685. const m_SF_DATALESS = 0x40000000
  686. const m_SF_FIRMLINK = 0x00800000
  687. const m_SF_IMMUTABLE = 0x00020000
  688. const m_SF_NOUNLINK = 0x00100000
  689. const m_SF_RESTRICTED = 0x00080000
  690. const m_SF_SETTABLE = 0x3fff0000
  691. const m_SF_SUPPORTED = 0x009f0000
  692. const m_SF_SYNTHETIC = 0xc0000000
  693. const m_SIGABRT = 6
  694. const m_SIGALRM = 14
  695. const m_SIGBUS = 10
  696. const m_SIGCHLD = 20
  697. const m_SIGCONT = 19
  698. const m_SIGEMT = 7
  699. const m_SIGEV_NONE = 0
  700. const m_SIGEV_SIGNAL = 1
  701. const m_SIGEV_THREAD = 3
  702. const m_SIGFPE = 8
  703. const m_SIGHUP = 1
  704. const m_SIGILL = 4
  705. const m_SIGINFO = 29
  706. const m_SIGINT = 2
  707. const m_SIGIO = 23
  708. const m_SIGIOT = "SIGABRT"
  709. const m_SIGKILL = 9
  710. const m_SIGPIPE = 13
  711. const m_SIGPROF = 27
  712. const m_SIGQUIT = 3
  713. const m_SIGSEGV = 11
  714. const m_SIGSTKSZ = 131072
  715. const m_SIGSTOP = 17
  716. const m_SIGSYS = 12
  717. const m_SIGTERM = 15
  718. const m_SIGTRAP = 5
  719. const m_SIGTSTP = 18
  720. const m_SIGTTIN = 21
  721. const m_SIGTTOU = 22
  722. const m_SIGURG = 16
  723. const m_SIGUSR1 = 30
  724. const m_SIGUSR2 = 31
  725. const m_SIGVTALRM = 26
  726. const m_SIGWINCH = 28
  727. const m_SIGXCPU = 24
  728. const m_SIGXFSZ = 25
  729. const m_SIG_BLOCK = 1
  730. const m_SIG_SETMASK = 3
  731. const m_SIG_UNBLOCK = 2
  732. const m_SING = 2
  733. const m_SIZE_MAX = "__SIZE_MAX__"
  734. const m_SI_ASYNCIO = 0x10004
  735. const m_SI_MESGQ = 0x10005
  736. const m_SI_QUEUE = 0x10002
  737. const m_SI_TIMER = 0x10003
  738. const m_SI_USER = 0x10001
  739. const m_SS_DISABLE = 0x0004
  740. const m_SS_ONSTACK = 0x0001
  741. const m_STDC_HEADERS = 1
  742. const m_STDERR_FILENO = 2
  743. const m_STDIN_FILENO = 0
  744. const m_STDOUT_FILENO = 1
  745. const m_SV_INTERRUPT = "SA_RESTART"
  746. const m_SV_NOCLDSTOP = "SA_NOCLDSTOP"
  747. const m_SV_NODEFER = "SA_NODEFER"
  748. const m_SV_ONSTACK = "SA_ONSTACK"
  749. const m_SV_RESETHAND = "SA_RESETHAND"
  750. const m_SV_SIGINFO = "SA_SIGINFO"
  751. const m_SYNC_VOLUME_FULLSYNC = 0x01
  752. const m_SYNC_VOLUME_WAIT = 0x02
  753. const m_S_BLKSIZE = 512
  754. const m_S_IEXEC = "S_IXUSR"
  755. const m_S_IFBLK = 0060000
  756. const m_S_IFCHR = 0020000
  757. const m_S_IFDIR = 0040000
  758. const m_S_IFIFO = 0010000
  759. const m_S_IFLNK = 0120000
  760. const m_S_IFMT = 0170000
  761. const m_S_IFREG = 0100000
  762. const m_S_IFSOCK = 0140000
  763. const m_S_IFWHT = 0160000
  764. const m_S_IREAD = "S_IRUSR"
  765. const m_S_IRGRP = 0000040
  766. const m_S_IROTH = 0000004
  767. const m_S_IRUSR = 0000400
  768. const m_S_IRWXG = 0000070
  769. const m_S_IRWXO = 0000007
  770. const m_S_IRWXU = 0000700
  771. const m_S_ISGID = 0002000
  772. const m_S_ISTXT = "S_ISVTX"
  773. const m_S_ISUID = 0004000
  774. const m_S_ISVTX = 0001000
  775. const m_S_IWGRP = 0000020
  776. const m_S_IWOTH = 0000002
  777. const m_S_IWRITE = "S_IWUSR"
  778. const m_S_IWUSR = 0000200
  779. const m_S_IXGRP = 0000010
  780. const m_S_IXOTH = 0000001
  781. const m_S_IXUSR = 0000100
  782. const m_TIME_UTC = 1
  783. const m_TLOSS = 5
  784. const m_TMP_MAX = 308915776
  785. const m_TMP_NAME = ".TMP-XXXXXX"
  786. const m_TRAP_BRKPT = 1
  787. const m_TRAP_TRACE = 2
  788. const m_UF_APPEND = 0x00000004
  789. const m_UF_COMPRESSED = 0x00000020
  790. const m_UF_DATAVAULT = 0x00000080
  791. const m_UF_HIDDEN = 0x00008000
  792. const m_UF_IMMUTABLE = 0x00000002
  793. const m_UF_NODUMP = 0x00000001
  794. const m_UF_OPAQUE = 0x00000008
  795. const m_UF_SETTABLE = 0x0000ffff
  796. const m_UF_TRACKED = 0x00000040
  797. const m_UINTMAX_MAX = "__UINTMAX_MAX__"
  798. const m_UINTPTR_MAX = "__UINTPTR_MAX__"
  799. const m_UINT_FAST16_MAX = "__UINT_LEAST16_MAX"
  800. const m_UINT_FAST32_MAX = "__UINT_LEAST32_MAX"
  801. const m_UINT_FAST64_MAX = "__UINT_LEAST64_MAX"
  802. const m_UINT_FAST8_MAX = "__UINT_LEAST8_MAX"
  803. const m_UINT_LEAST16_MAX = "__UINT_LEAST16_MAX"
  804. const m_UINT_LEAST32_MAX = "__UINT_LEAST32_MAX"
  805. const m_UINT_LEAST64_MAX = "__UINT_LEAST64_MAX"
  806. const m_UINT_LEAST8_MAX = "__UINT_LEAST8_MAX"
  807. const m_UNDERFLOW = 4
  808. const m_USE_ICONV = 0
  809. const m_VERSION = "2.14.1"
  810. const m_WAIT_MYPGRP = 0
  811. const m_WAKEMON_DISABLE = 0x02
  812. const m_WAKEMON_ENABLE = 0x01
  813. const m_WAKEMON_GET_PARAMS = 0x04
  814. const m_WAKEMON_MAKE_FATAL = 0x10
  815. const m_WAKEMON_SET_DEFAULTS = 0x08
  816. const m_WCHAR_MAX = "__WCHAR_MAX__"
  817. const m_WCONTINUED = 0x00000010
  818. const m_WCOREFLAG = 0200
  819. const m_WEXITED = 0x00000004
  820. const m_WNOHANG = 0x00000001
  821. const m_WNOWAIT = 0x00000020
  822. const m_WSTOPPED = 0x00000008
  823. const m_WUNTRACED = 0x00000002
  824. const m_X_TLOSS = 1.41484755040568800000e+16
  825. const m__ALL_SOURCE = 1
  826. const m__CS_DARWIN_USER_CACHE_DIR = 65538
  827. const m__CS_DARWIN_USER_DIR = 65536
  828. const m__CS_DARWIN_USER_TEMP_DIR = 65537
  829. const m__CS_PATH = 1
  830. const m__CS_POSIX_V6_ILP32_OFF32_CFLAGS = 2
  831. const m__CS_POSIX_V6_ILP32_OFF32_LDFLAGS = 3
  832. const m__CS_POSIX_V6_ILP32_OFF32_LIBS = 4
  833. const m__CS_POSIX_V6_ILP32_OFFBIG_CFLAGS = 5
  834. const m__CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS = 6
  835. const m__CS_POSIX_V6_ILP32_OFFBIG_LIBS = 7
  836. const m__CS_POSIX_V6_LP64_OFF64_CFLAGS = 8
  837. const m__CS_POSIX_V6_LP64_OFF64_LDFLAGS = 9
  838. const m__CS_POSIX_V6_LP64_OFF64_LIBS = 10
  839. const m__CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS = 11
  840. const m__CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS = 12
  841. const m__CS_POSIX_V6_LPBIG_OFFBIG_LIBS = 13
  842. const m__CS_POSIX_V6_WIDTH_RESTRICTED_ENVS = 14
  843. const m__CS_XBS5_ILP32_OFF32_CFLAGS = 20
  844. const m__CS_XBS5_ILP32_OFF32_LDFLAGS = 21
  845. const m__CS_XBS5_ILP32_OFF32_LIBS = 22
  846. const m__CS_XBS5_ILP32_OFF32_LINTFLAGS = 23
  847. const m__CS_XBS5_ILP32_OFFBIG_CFLAGS = 24
  848. const m__CS_XBS5_ILP32_OFFBIG_LDFLAGS = 25
  849. const m__CS_XBS5_ILP32_OFFBIG_LIBS = 26
  850. const m__CS_XBS5_ILP32_OFFBIG_LINTFLAGS = 27
  851. const m__CS_XBS5_LP64_OFF64_CFLAGS = 28
  852. const m__CS_XBS5_LP64_OFF64_LDFLAGS = 29
  853. const m__CS_XBS5_LP64_OFF64_LIBS = 30
  854. const m__CS_XBS5_LP64_OFF64_LINTFLAGS = 31
  855. const m__CS_XBS5_LPBIG_OFFBIG_CFLAGS = 32
  856. const m__CS_XBS5_LPBIG_OFFBIG_LDFLAGS = 33
  857. const m__CS_XBS5_LPBIG_OFFBIG_LIBS = 34
  858. const m__CS_XBS5_LPBIG_OFFBIG_LINTFLAGS = 35
  859. const m__CTYPE_A = 256
  860. const m__CTYPE_B = 131072
  861. const m__CTYPE_C = 512
  862. const m__CTYPE_D = 1024
  863. const m__CTYPE_G = 2048
  864. const m__CTYPE_I = 524288
  865. const m__CTYPE_L = 4096
  866. const m__CTYPE_P = 8192
  867. const m__CTYPE_Q = 2097152
  868. const m__CTYPE_R = 262144
  869. const m__CTYPE_S = 16384
  870. const m__CTYPE_SW0 = 0x20000000
  871. const m__CTYPE_SW1 = 0x40000000
  872. const m__CTYPE_SW2 = 0x80000000
  873. const m__CTYPE_SW3 = 0xc0000000
  874. const m__CTYPE_SWM = 3758096384
  875. const m__CTYPE_SWS = 30
  876. const m__CTYPE_T = 1048576
  877. const m__CTYPE_U = 32768
  878. const m__CTYPE_X = 65536
  879. const m__DARWIN_C_SOURCE = 1
  880. const m__DARWIN_FEATURE_64_BIT_INODE = 1
  881. const m__DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE = 1
  882. const m__DARWIN_FEATURE_UNIX_CONFORMANCE = 3
  883. const m__FONTCONFIG_SRC_FCSTDINT_H = 1
  884. const m__FORTIFY_SOURCE = 2
  885. const m__GENERATED_STDINT_H = "fontconfig 2.14.1"
  886. const m__GNU_SOURCE = 1
  887. const m__HPUX_ALT_XOPEN_SOCKET_API = 1
  888. const m__I386_SIGNAL_H_ = 1
  889. const m__IOFBF = 0
  890. const m__IOLBF = 1
  891. const m__IONBF = 2
  892. const m__LP64 = 1
  893. const m__NETBSD_SOURCE = 1
  894. const m__OPENBSD_SOURCE = 1
  895. const m__PC_2_SYMLINKS = 15
  896. const m__PC_ALLOC_SIZE_MIN = 16
  897. const m__PC_ASYNC_IO = 17
  898. const m__PC_AUTH_OPAQUE_NP = 14
  899. const m__PC_CASE_PRESERVING = 12
  900. const m__PC_CASE_SENSITIVE = 11
  901. const m__PC_CHOWN_RESTRICTED = 7
  902. const m__PC_EXTENDED_SECURITY_NP = 13
  903. const m__PC_FILESIZEBITS = 18
  904. const m__PC_LINK_MAX = 1
  905. const m__PC_MAX_CANON = 2
  906. const m__PC_MAX_INPUT = 3
  907. const m__PC_MIN_HOLE_SIZE = 27
  908. const m__PC_NAME_CHARS_MAX = 10
  909. const m__PC_NAME_MAX = 4
  910. const m__PC_NO_TRUNC = 8
  911. const m__PC_PATH_MAX = 5
  912. const m__PC_PIPE_BUF = 6
  913. const m__PC_PRIO_IO = 19
  914. const m__PC_REC_INCR_XFER_SIZE = 20
  915. const m__PC_REC_MAX_XFER_SIZE = 21
  916. const m__PC_REC_MIN_XFER_SIZE = 22
  917. const m__PC_REC_XFER_ALIGN = 23
  918. const m__PC_SYMLINK_MAX = 24
  919. const m__PC_SYNC_IO = 25
  920. const m__PC_VDISABLE = 9
  921. const m__PC_XATTR_SIZE_BITS = 26
  922. const m__POSIX2_CHAR_TERM = 200112
  923. const m__POSIX2_C_BIND = 200112
  924. const m__POSIX2_C_DEV = 200112
  925. const m__POSIX2_FORT_RUN = 200112
  926. const m__POSIX2_LOCALEDEF = 200112
  927. const m__POSIX2_SW_DEV = 200112
  928. const m__POSIX2_UPE = 200112
  929. const m__POSIX2_VERSION = 200112
  930. const m__POSIX_CHOWN_RESTRICTED = 200112
  931. const m__POSIX_FSYNC = 200112
  932. const m__POSIX_IPV6 = 200112
  933. const m__POSIX_JOB_CONTROL = 200112
  934. const m__POSIX_MAPPED_FILES = 200112
  935. const m__POSIX_MEMORY_PROTECTION = 200112
  936. const m__POSIX_NO_TRUNC = 200112
  937. const m__POSIX_PTHREAD_SEMANTICS = 1
  938. const m__POSIX_READER_WRITER_LOCKS = 200112
  939. const m__POSIX_REGEXP = 200112
  940. const m__POSIX_SAVED_IDS = 200112
  941. const m__POSIX_SHELL = 200112
  942. const m__POSIX_SPAWN = 200112
  943. const m__POSIX_THREADS = 200112
  944. const m__POSIX_THREAD_ATTR_STACKADDR = 200112
  945. const m__POSIX_THREAD_ATTR_STACKSIZE = 200112
  946. const m__POSIX_THREAD_KEYS_MAX = 128
  947. const m__POSIX_THREAD_PROCESS_SHARED = 200112
  948. const m__POSIX_THREAD_SAFE_FUNCTIONS = 200112
  949. const m__POSIX_V6_ILP32_OFF32 = "__ILP32_OFF32"
  950. const m__POSIX_V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  951. const m__POSIX_V6_LP64_OFF64 = "__LP64_OFF64"
  952. const m__POSIX_V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  953. const m__POSIX_V7_ILP32_OFF32 = "__ILP32_OFF32"
  954. const m__POSIX_V7_ILP32_OFFBIG = "__ILP32_OFFBIG"
  955. const m__POSIX_V7_LP64_OFF64 = "__LP64_OFF64"
  956. const m__POSIX_V7_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  957. const m__POSIX_VERSION = 200112
  958. const m__QUAD_HIGHWORD = 1
  959. const m__QUAD_LOWWORD = 0
  960. const m__REENTRANT = 1
  961. const m__RLIMIT_POSIX_FLAG = 0x1000
  962. const m__RUNE_MAGIC_A = "RuneMagA"
  963. const m__SC_2_CHAR_TERM = 20
  964. const m__SC_2_C_BIND = 18
  965. const m__SC_2_C_DEV = 19
  966. const m__SC_2_FORT_DEV = 21
  967. const m__SC_2_FORT_RUN = 22
  968. const m__SC_2_LOCALEDEF = 23
  969. const m__SC_2_PBS = 59
  970. const m__SC_2_PBS_ACCOUNTING = 60
  971. const m__SC_2_PBS_CHECKPOINT = 61
  972. const m__SC_2_PBS_LOCATE = 62
  973. const m__SC_2_PBS_MESSAGE = 63
  974. const m__SC_2_PBS_TRACK = 64
  975. const m__SC_2_SW_DEV = 24
  976. const m__SC_2_UPE = 25
  977. const m__SC_2_VERSION = 17
  978. const m__SC_ADVISORY_INFO = 65
  979. const m__SC_AIO_LISTIO_MAX = 42
  980. const m__SC_AIO_MAX = 43
  981. const m__SC_AIO_PRIO_DELTA_MAX = 44
  982. const m__SC_ARG_MAX = 1
  983. const m__SC_ASYNCHRONOUS_IO = 28
  984. const m__SC_ATEXIT_MAX = 107
  985. const m__SC_BARRIERS = 66
  986. const m__SC_BC_BASE_MAX = 9
  987. const m__SC_BC_DIM_MAX = 10
  988. const m__SC_BC_SCALE_MAX = 11
  989. const m__SC_BC_STRING_MAX = 12
  990. const m__SC_CHILD_MAX = 2
  991. const m__SC_CLK_TCK = 3
  992. const m__SC_CLOCK_SELECTION = 67
  993. const m__SC_COLL_WEIGHTS_MAX = 13
  994. const m__SC_CPUTIME = 68
  995. const m__SC_DELAYTIMER_MAX = 45
  996. const m__SC_EXPR_NEST_MAX = 14
  997. const m__SC_FILE_LOCKING = 69
  998. const m__SC_FSYNC = 38
  999. const m__SC_GETGR_R_SIZE_MAX = 70
  1000. const m__SC_GETPW_R_SIZE_MAX = 71
  1001. const m__SC_HOST_NAME_MAX = 72
  1002. const m__SC_IOV_MAX = 56
  1003. const m__SC_IPV6 = 118
  1004. const m__SC_JOB_CONTROL = 6
  1005. const m__SC_LINE_MAX = 15
  1006. const m__SC_LOGIN_NAME_MAX = 73
  1007. const m__SC_MAPPED_FILES = 47
  1008. const m__SC_MEMLOCK = 30
  1009. const m__SC_MEMLOCK_RANGE = 31
  1010. const m__SC_MEMORY_PROTECTION = 32
  1011. const m__SC_MESSAGE_PASSING = 33
  1012. const m__SC_MONOTONIC_CLOCK = 74
  1013. const m__SC_MQ_OPEN_MAX = 46
  1014. const m__SC_MQ_PRIO_MAX = 75
  1015. const m__SC_NGROUPS_MAX = 4
  1016. const m__SC_NPROCESSORS_CONF = 57
  1017. const m__SC_NPROCESSORS_ONLN = 58
  1018. const m__SC_OPEN_MAX = 5
  1019. const m__SC_PAGESIZE = 29
  1020. const m__SC_PAGE_SIZE = "_SC_PAGESIZE"
  1021. const m__SC_PASS_MAX = 131
  1022. const m__SC_PHYS_PAGES = 200
  1023. const m__SC_PRIORITIZED_IO = 34
  1024. const m__SC_PRIORITY_SCHEDULING = 35
  1025. const m__SC_RAW_SOCKETS = 119
  1026. const m__SC_READER_WRITER_LOCKS = 76
  1027. const m__SC_REALTIME_SIGNALS = 36
  1028. const m__SC_REGEXP = 77
  1029. const m__SC_RE_DUP_MAX = 16
  1030. const m__SC_RTSIG_MAX = 48
  1031. const m__SC_SAVED_IDS = 7
  1032. const m__SC_SEMAPHORES = 37
  1033. const m__SC_SEM_NSEMS_MAX = 49
  1034. const m__SC_SEM_VALUE_MAX = 50
  1035. const m__SC_SHARED_MEMORY_OBJECTS = 39
  1036. const m__SC_SHELL = 78
  1037. const m__SC_SIGQUEUE_MAX = 51
  1038. const m__SC_SPAWN = 79
  1039. const m__SC_SPIN_LOCKS = 80
  1040. const m__SC_SPORADIC_SERVER = 81
  1041. const m__SC_SS_REPL_MAX = 126
  1042. const m__SC_STREAM_MAX = 26
  1043. const m__SC_SYMLOOP_MAX = 120
  1044. const m__SC_SYNCHRONIZED_IO = 40
  1045. const m__SC_THREADS = 96
  1046. const m__SC_THREAD_ATTR_STACKADDR = 82
  1047. const m__SC_THREAD_ATTR_STACKSIZE = 83
  1048. const m__SC_THREAD_CPUTIME = 84
  1049. const m__SC_THREAD_DESTRUCTOR_ITERATIONS = 85
  1050. const m__SC_THREAD_KEYS_MAX = 86
  1051. const m__SC_THREAD_PRIORITY_SCHEDULING = 89
  1052. const m__SC_THREAD_PRIO_INHERIT = 87
  1053. const m__SC_THREAD_PRIO_PROTECT = 88
  1054. const m__SC_THREAD_PROCESS_SHARED = 90
  1055. const m__SC_THREAD_SAFE_FUNCTIONS = 91
  1056. const m__SC_THREAD_SPORADIC_SERVER = 92
  1057. const m__SC_THREAD_STACK_MIN = 93
  1058. const m__SC_THREAD_THREADS_MAX = 94
  1059. const m__SC_TIMEOUTS = 95
  1060. const m__SC_TIMERS = 41
  1061. const m__SC_TIMER_MAX = 52
  1062. const m__SC_TRACE = 97
  1063. const m__SC_TRACE_EVENT_FILTER = 98
  1064. const m__SC_TRACE_EVENT_NAME_MAX = 127
  1065. const m__SC_TRACE_INHERIT = 99
  1066. const m__SC_TRACE_LOG = 100
  1067. const m__SC_TRACE_NAME_MAX = 128
  1068. const m__SC_TRACE_SYS_MAX = 129
  1069. const m__SC_TRACE_USER_EVENT_MAX = 130
  1070. const m__SC_TTY_NAME_MAX = 101
  1071. const m__SC_TYPED_MEMORY_OBJECTS = 102
  1072. const m__SC_TZNAME_MAX = 27
  1073. const m__SC_V6_ILP32_OFF32 = 103
  1074. const m__SC_V6_ILP32_OFFBIG = 104
  1075. const m__SC_V6_LP64_OFF64 = 105
  1076. const m__SC_V6_LPBIG_OFFBIG = 106
  1077. const m__SC_VERSION = 8
  1078. const m__SC_XBS5_ILP32_OFF32 = 122
  1079. const m__SC_XBS5_ILP32_OFFBIG = 123
  1080. const m__SC_XBS5_LP64_OFF64 = 124
  1081. const m__SC_XBS5_LPBIG_OFFBIG = 125
  1082. const m__SC_XOPEN_CRYPT = 108
  1083. const m__SC_XOPEN_ENH_I18N = 109
  1084. const m__SC_XOPEN_LEGACY = 110
  1085. const m__SC_XOPEN_REALTIME = 111
  1086. const m__SC_XOPEN_REALTIME_THREADS = 112
  1087. const m__SC_XOPEN_SHM = 113
  1088. const m__SC_XOPEN_STREAMS = 114
  1089. const m__SC_XOPEN_UNIX = 115
  1090. const m__SC_XOPEN_VERSION = 116
  1091. const m__SC_XOPEN_XCU_VERSION = 121
  1092. const m__STDINT_HAVE_STDINT_H = 1
  1093. const m__STRUCT_MCONTEXT = "_STRUCT_MCONTEXT64"
  1094. const m__TANDEM_SOURCE = 1
  1095. const m__THREAD_SAFE = 1
  1096. const m__V6_ILP32_OFF32 = "__ILP32_OFF32"
  1097. const m__V6_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1098. const m__V6_LP64_OFF64 = "__LP64_OFF64"
  1099. const m__V6_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1100. const m__WSTOPPED = 0177
  1101. const m__X86_INSTRUCTION_STATE_CACHELINE_SIZE = 64
  1102. const m__XBS5_ILP32_OFF32 = "__ILP32_OFF32"
  1103. const m__XBS5_ILP32_OFFBIG = "__ILP32_OFFBIG"
  1104. const m__XBS5_LP64_OFF64 = "__LP64_OFF64"
  1105. const m__XBS5_LPBIG_OFFBIG = "__LPBIG_OFFBIG"
  1106. const m__XOPEN_CRYPT = 1
  1107. const m__XOPEN_ENH_I18N = 1
  1108. const m__XOPEN_SHM = 1
  1109. const m__XOPEN_UNIX = 1
  1110. const m__XOPEN_VERSION = 600
  1111. const m__XOPEN_XCU_VERSION = 4
  1112. const m___API_TO_BE_DEPRECATED = 100000
  1113. const m___API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  1114. const m___API_TO_BE_DEPRECATED_IOS = 100000
  1115. const m___API_TO_BE_DEPRECATED_MACCATALYST = 100000
  1116. const m___API_TO_BE_DEPRECATED_MACOS = 100000
  1117. const m___API_TO_BE_DEPRECATED_TVOS = 100000
  1118. const m___API_TO_BE_DEPRECATED_VISIONOS = 100000
  1119. const m___API_TO_BE_DEPRECATED_WATCHOS = 100000
  1120. const m___APPLE_CC__ = 6000
  1121. const m___APPLE__ = 1
  1122. const m___ATOMIC_ACQUIRE = 2
  1123. const m___ATOMIC_ACQ_REL = 4
  1124. const m___ATOMIC_CONSUME = 1
  1125. const m___ATOMIC_RELAXED = 0
  1126. const m___ATOMIC_RELEASE = 3
  1127. const m___ATOMIC_SEQ_CST = 5
  1128. const m___BIGGEST_ALIGNMENT__ = 16
  1129. const m___BITINT_MAXWIDTH__ = 128
  1130. const m___BLOCKS__ = 1
  1131. const m___BOOL_WIDTH__ = 8
  1132. const m___BRIDGEOS_2_0 = 20000
  1133. const m___BRIDGEOS_3_0 = 30000
  1134. const m___BRIDGEOS_3_1 = 30100
  1135. const m___BRIDGEOS_3_4 = 30400
  1136. const m___BRIDGEOS_4_0 = 40000
  1137. const m___BRIDGEOS_4_1 = 40100
  1138. const m___BRIDGEOS_5_0 = 50000
  1139. const m___BRIDGEOS_5_1 = 50100
  1140. const m___BRIDGEOS_5_3 = 50300
  1141. const m___BRIDGEOS_6_0 = 60000
  1142. const m___BRIDGEOS_6_2 = 60200
  1143. const m___BRIDGEOS_6_4 = 60400
  1144. const m___BRIDGEOS_6_5 = 60500
  1145. const m___BRIDGEOS_6_6 = 60600
  1146. const m___BRIDGEOS_7_0 = 70000
  1147. const m___BRIDGEOS_7_1 = 70100
  1148. const m___BRIDGEOS_7_2 = 70200
  1149. const m___BRIDGEOS_7_3 = 70300
  1150. const m___BRIDGEOS_7_4 = 70400
  1151. const m___BRIDGEOS_7_6 = 70600
  1152. const m___BRIDGEOS_8_0 = 80000
  1153. const m___BRIDGEOS_8_1 = 80100
  1154. const m___BRIDGEOS_8_2 = 80200
  1155. const m___BRIDGEOS_8_3 = 80300
  1156. const m___BRIDGEOS_8_4 = 80400
  1157. const m___BYTE_ORDER__ = "__ORDER_LITTLE_ENDIAN__"
  1158. const m___CCGO__ = 1
  1159. const m___CHAR_BIT__ = 8
  1160. const m___CLANG_ATOMIC_BOOL_LOCK_FREE = 2
  1161. const m___CLANG_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1162. const m___CLANG_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1163. const m___CLANG_ATOMIC_CHAR_LOCK_FREE = 2
  1164. const m___CLANG_ATOMIC_INT_LOCK_FREE = 2
  1165. const m___CLANG_ATOMIC_LLONG_LOCK_FREE = 2
  1166. const m___CLANG_ATOMIC_LONG_LOCK_FREE = 2
  1167. const m___CLANG_ATOMIC_POINTER_LOCK_FREE = 2
  1168. const m___CLANG_ATOMIC_SHORT_LOCK_FREE = 2
  1169. const m___CLANG_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1170. const m___CONSTANT_CFSTRINGS__ = 1
  1171. const m___DARWIN_64_BIT_INO_T = 1
  1172. const m___DARWIN_BIG_ENDIAN = 4321
  1173. const m___DARWIN_BYTE_ORDER = "__DARWIN_LITTLE_ENDIAN"
  1174. const m___DARWIN_CTYPE_TOP_inline = "__header_inline"
  1175. const m___DARWIN_CTYPE_inline = "__header_inline"
  1176. const m___DARWIN_C_ANSI = 010000
  1177. const m___DARWIN_C_FULL = 900000
  1178. const m___DARWIN_C_LEVEL = "__DARWIN_C_FULL"
  1179. const m___DARWIN_FD_SETSIZE = 1024
  1180. const m___DARWIN_LITTLE_ENDIAN = 1234
  1181. const m___DARWIN_NBBY = 8
  1182. const m___DARWIN_NON_CANCELABLE = 0
  1183. const m___DARWIN_NO_LONG_LONG = 0
  1184. const m___DARWIN_NSIG = 32
  1185. const m___DARWIN_ONLY_64_BIT_INO_T = 0
  1186. const m___DARWIN_ONLY_UNIX_CONFORMANCE = 1
  1187. const m___DARWIN_ONLY_VERS_1050 = 0
  1188. const m___DARWIN_PDP_ENDIAN = 3412
  1189. const m___DARWIN_SUF_1050 = "$1050"
  1190. const m___DARWIN_SUF_64_BIT_INO_T = "$INODE64"
  1191. const m___DARWIN_SUF_EXTSN = "$DARWIN_EXTSN"
  1192. const m___DARWIN_UNIX03 = 1
  1193. const m___DARWIN_VERS_1050 = 1
  1194. const m___DARWIN_WCHAR_MAX = "__WCHAR_MAX__"
  1195. const m___DBL_DECIMAL_DIG__ = 17
  1196. const m___DBL_DENORM_MIN__ = 4.9406564584124654e-324
  1197. const m___DBL_DIG__ = 15
  1198. const m___DBL_EPSILON__ = 2.2204460492503131e-16
  1199. const m___DBL_HAS_DENORM__ = 1
  1200. const m___DBL_HAS_INFINITY__ = 1
  1201. const m___DBL_HAS_QUIET_NAN__ = 1
  1202. const m___DBL_MANT_DIG__ = 53
  1203. const m___DBL_MAX_10_EXP__ = 308
  1204. const m___DBL_MAX_EXP__ = 1024
  1205. const m___DBL_MAX__ = 1.7976931348623157e+308
  1206. const m___DBL_MIN__ = 2.2250738585072014e-308
  1207. const m___DECIMAL_DIG__ = "__LDBL_DECIMAL_DIG__"
  1208. const m___DRIVERKIT_19_0 = 190000
  1209. const m___DRIVERKIT_20_0 = 200000
  1210. const m___DRIVERKIT_21_0 = 210000
  1211. const m___DRIVERKIT_22_0 = 220000
  1212. const m___DRIVERKIT_22_4 = 220400
  1213. const m___DRIVERKIT_22_5 = 220500
  1214. const m___DRIVERKIT_22_6 = 220600
  1215. const m___DRIVERKIT_23_0 = 230000
  1216. const m___DRIVERKIT_23_1 = 230100
  1217. const m___DRIVERKIT_23_2 = 230200
  1218. const m___DRIVERKIT_23_3 = 230300
  1219. const m___DRIVERKIT_23_4 = 230400
  1220. const m___DYNAMIC__ = 1
  1221. const m___ENABLE_LEGACY_MAC_AVAILABILITY = 1
  1222. const m___ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ = 140000
  1223. const m___ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ = 140000
  1224. const m___EXTENSIONS__ = 1
  1225. const m___FINITE_MATH_ONLY__ = 0
  1226. const m___FLT16_DECIMAL_DIG__ = 5
  1227. const m___FLT16_DENORM_MIN__ = 5.9604644775390625e-8
  1228. const m___FLT16_DIG__ = 3
  1229. const m___FLT16_EPSILON__ = 9.765625e-4
  1230. const m___FLT16_HAS_DENORM__ = 1
  1231. const m___FLT16_HAS_INFINITY__ = 1
  1232. const m___FLT16_HAS_QUIET_NAN__ = 1
  1233. const m___FLT16_MANT_DIG__ = 11
  1234. const m___FLT16_MAX_10_EXP__ = 4
  1235. const m___FLT16_MAX_EXP__ = 16
  1236. const m___FLT16_MAX__ = 6.5504e+4
  1237. const m___FLT16_MIN__ = 6.103515625e-5
  1238. const m___FLT_DECIMAL_DIG__ = 9
  1239. const m___FLT_DENORM_MIN__ = 1.40129846e-45
  1240. const m___FLT_DIG__ = 6
  1241. const m___FLT_EPSILON__ = 1.19209290e-7
  1242. const m___FLT_HAS_DENORM__ = 1
  1243. const m___FLT_HAS_INFINITY__ = 1
  1244. const m___FLT_HAS_QUIET_NAN__ = 1
  1245. const m___FLT_MANT_DIG__ = 24
  1246. const m___FLT_MAX_10_EXP__ = 38
  1247. const m___FLT_MAX_EXP__ = 128
  1248. const m___FLT_MAX__ = 3.40282347e+38
  1249. const m___FLT_MIN__ = 1.17549435e-38
  1250. const m___FLT_RADIX__ = 2
  1251. const m___FUNCTION__ = "__func__"
  1252. const m___FXSR__ = 1
  1253. const m___GCC_ASM_FLAG_OUTPUTS__ = 1
  1254. const m___GCC_ATOMIC_BOOL_LOCK_FREE = 2
  1255. const m___GCC_ATOMIC_CHAR16_T_LOCK_FREE = 2
  1256. const m___GCC_ATOMIC_CHAR32_T_LOCK_FREE = 2
  1257. const m___GCC_ATOMIC_CHAR_LOCK_FREE = 2
  1258. const m___GCC_ATOMIC_INT_LOCK_FREE = 2
  1259. const m___GCC_ATOMIC_LLONG_LOCK_FREE = 2
  1260. const m___GCC_ATOMIC_LONG_LOCK_FREE = 2
  1261. const m___GCC_ATOMIC_POINTER_LOCK_FREE = 2
  1262. const m___GCC_ATOMIC_SHORT_LOCK_FREE = 2
  1263. const m___GCC_ATOMIC_TEST_AND_SET_TRUEVAL = 1
  1264. const m___GCC_ATOMIC_WCHAR_T_LOCK_FREE = 2
  1265. const m___GCC_HAVE_DWARF2_CFI_ASM = 1
  1266. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 = 1
  1267. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 = 1
  1268. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 = 1
  1269. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 = 1
  1270. const m___GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 = 1
  1271. const m___GNUC_MINOR__ = 2
  1272. const m___GNUC_PATCHLEVEL__ = 1
  1273. const m___GNUC_STDC_INLINE__ = 1
  1274. const m___GNUC_VA_LIST = 1
  1275. const m___GNUC__ = 4
  1276. const m___GXX_ABI_VERSION = 1002
  1277. const m___INT16_FMTd__ = "hd"
  1278. const m___INT16_FMTi__ = "hi"
  1279. const m___INT16_MAX__ = 32767
  1280. const m___INT16_TYPE__ = "short"
  1281. const m___INT32_FMTd__ = "d"
  1282. const m___INT32_FMTi__ = "i"
  1283. const m___INT32_MAX__ = 2147483647
  1284. const m___INT32_TYPE__ = "int"
  1285. const m___INT64_C_SUFFIX__ = "LL"
  1286. const m___INT64_FMTd__ = "lld"
  1287. const m___INT64_FMTi__ = "lli"
  1288. const m___INT64_MAX__ = 9223372036854775807
  1289. const m___INT8_FMTd__ = "hhd"
  1290. const m___INT8_FMTi__ = "hhi"
  1291. const m___INT8_MAX__ = 127
  1292. const m___INTMAX_C_SUFFIX__ = "L"
  1293. const m___INTMAX_FMTd__ = "ld"
  1294. const m___INTMAX_FMTi__ = "li"
  1295. const m___INTMAX_MAX__ = 9223372036854775807
  1296. const m___INTMAX_WIDTH__ = 64
  1297. const m___INTPTR_FMTd__ = "ld"
  1298. const m___INTPTR_FMTi__ = "li"
  1299. const m___INTPTR_MAX__ = 9223372036854775807
  1300. const m___INTPTR_WIDTH__ = 64
  1301. const m___INT_FAST16_FMTd__ = "hd"
  1302. const m___INT_FAST16_FMTi__ = "hi"
  1303. const m___INT_FAST16_MAX__ = 32767
  1304. const m___INT_FAST16_TYPE__ = "short"
  1305. const m___INT_FAST16_WIDTH__ = 16
  1306. const m___INT_FAST32_FMTd__ = "d"
  1307. const m___INT_FAST32_FMTi__ = "i"
  1308. const m___INT_FAST32_MAX__ = 2147483647
  1309. const m___INT_FAST32_TYPE__ = "int"
  1310. const m___INT_FAST32_WIDTH__ = 32
  1311. const m___INT_FAST64_FMTd__ = "lld"
  1312. const m___INT_FAST64_FMTi__ = "lli"
  1313. const m___INT_FAST64_MAX__ = 9223372036854775807
  1314. const m___INT_FAST64_WIDTH__ = 64
  1315. const m___INT_FAST8_FMTd__ = "hhd"
  1316. const m___INT_FAST8_FMTi__ = "hhi"
  1317. const m___INT_FAST8_MAX__ = 127
  1318. const m___INT_FAST8_WIDTH__ = 8
  1319. const m___INT_LEAST16_FMTd__ = "hd"
  1320. const m___INT_LEAST16_FMTi__ = "hi"
  1321. const m___INT_LEAST16_MAX__ = 32767
  1322. const m___INT_LEAST16_TYPE__ = "short"
  1323. const m___INT_LEAST16_WIDTH__ = 16
  1324. const m___INT_LEAST32_FMTd__ = "d"
  1325. const m___INT_LEAST32_FMTi__ = "i"
  1326. const m___INT_LEAST32_MAX__ = 2147483647
  1327. const m___INT_LEAST32_TYPE__ = "int"
  1328. const m___INT_LEAST32_WIDTH__ = 32
  1329. const m___INT_LEAST64_FMTd__ = "lld"
  1330. const m___INT_LEAST64_FMTi__ = "lli"
  1331. const m___INT_LEAST64_MAX = "INT64_MAX"
  1332. const m___INT_LEAST64_MAX__ = 9223372036854775807
  1333. const m___INT_LEAST64_MIN = "INT64_MIN"
  1334. const m___INT_LEAST64_WIDTH__ = 64
  1335. const m___INT_LEAST8_FMTd__ = "hhd"
  1336. const m___INT_LEAST8_FMTi__ = "hhi"
  1337. const m___INT_LEAST8_MAX__ = 127
  1338. const m___INT_LEAST8_WIDTH__ = 8
  1339. const m___INT_MAX__ = 2147483647
  1340. const m___INT_WIDTH__ = 32
  1341. const m___IPHONE_10_0 = 100000
  1342. const m___IPHONE_10_1 = 100100
  1343. const m___IPHONE_10_2 = 100200
  1344. const m___IPHONE_10_3 = 100300
  1345. const m___IPHONE_11_0 = 110000
  1346. const m___IPHONE_11_1 = 110100
  1347. const m___IPHONE_11_2 = 110200
  1348. const m___IPHONE_11_3 = 110300
  1349. const m___IPHONE_11_4 = 110400
  1350. const m___IPHONE_12_0 = 120000
  1351. const m___IPHONE_12_1 = 120100
  1352. const m___IPHONE_12_2 = 120200
  1353. const m___IPHONE_12_3 = 120300
  1354. const m___IPHONE_12_4 = 120400
  1355. const m___IPHONE_13_0 = 130000
  1356. const m___IPHONE_13_1 = 130100
  1357. const m___IPHONE_13_2 = 130200
  1358. const m___IPHONE_13_3 = 130300
  1359. const m___IPHONE_13_4 = 130400
  1360. const m___IPHONE_13_5 = 130500
  1361. const m___IPHONE_13_6 = 130600
  1362. const m___IPHONE_13_7 = 130700
  1363. const m___IPHONE_14_0 = 140000
  1364. const m___IPHONE_14_1 = 140100
  1365. const m___IPHONE_14_2 = 140200
  1366. const m___IPHONE_14_3 = 140300
  1367. const m___IPHONE_14_4 = 140400
  1368. const m___IPHONE_14_5 = 140500
  1369. const m___IPHONE_14_6 = 140600
  1370. const m___IPHONE_14_7 = 140700
  1371. const m___IPHONE_14_8 = 140800
  1372. const m___IPHONE_15_0 = 150000
  1373. const m___IPHONE_15_1 = 150100
  1374. const m___IPHONE_15_2 = 150200
  1375. const m___IPHONE_15_3 = 150300
  1376. const m___IPHONE_15_4 = 150400
  1377. const m___IPHONE_15_5 = 150500
  1378. const m___IPHONE_15_6 = 150600
  1379. const m___IPHONE_15_7 = 150700
  1380. const m___IPHONE_15_8 = 150800
  1381. const m___IPHONE_16_0 = 160000
  1382. const m___IPHONE_16_1 = 160100
  1383. const m___IPHONE_16_2 = 160200
  1384. const m___IPHONE_16_3 = 160300
  1385. const m___IPHONE_16_4 = 160400
  1386. const m___IPHONE_16_5 = 160500
  1387. const m___IPHONE_16_6 = 160600
  1388. const m___IPHONE_16_7 = 160700
  1389. const m___IPHONE_17_0 = 170000
  1390. const m___IPHONE_17_1 = 170100
  1391. const m___IPHONE_17_2 = 170200
  1392. const m___IPHONE_17_3 = 170300
  1393. const m___IPHONE_17_4 = 170400
  1394. const m___IPHONE_2_0 = 20000
  1395. const m___IPHONE_2_1 = 20100
  1396. const m___IPHONE_2_2 = 20200
  1397. const m___IPHONE_3_0 = 30000
  1398. const m___IPHONE_3_1 = 30100
  1399. const m___IPHONE_3_2 = 30200
  1400. const m___IPHONE_4_0 = 40000
  1401. const m___IPHONE_4_1 = 40100
  1402. const m___IPHONE_4_2 = 40200
  1403. const m___IPHONE_4_3 = 40300
  1404. const m___IPHONE_5_0 = 50000
  1405. const m___IPHONE_5_1 = 50100
  1406. const m___IPHONE_6_0 = 60000
  1407. const m___IPHONE_6_1 = 60100
  1408. const m___IPHONE_7_0 = 70000
  1409. const m___IPHONE_7_1 = 70100
  1410. const m___IPHONE_8_0 = 80000
  1411. const m___IPHONE_8_1 = 80100
  1412. const m___IPHONE_8_2 = 80200
  1413. const m___IPHONE_8_3 = 80300
  1414. const m___IPHONE_8_4 = 80400
  1415. const m___IPHONE_9_0 = 90000
  1416. const m___IPHONE_9_1 = 90100
  1417. const m___IPHONE_9_2 = 90200
  1418. const m___IPHONE_9_3 = 90300
  1419. const m___LAHF_SAHF__ = 1
  1420. const m___LASTBRANCH_MAX = 32
  1421. const m___LDBL_DECIMAL_DIG__ = 17
  1422. const m___LDBL_DENORM_MIN__ = 4.9406564584124654e-324
  1423. const m___LDBL_DIG__ = 15
  1424. const m___LDBL_EPSILON__ = 2.2204460492503131e-16
  1425. const m___LDBL_HAS_DENORM__ = 1
  1426. const m___LDBL_HAS_INFINITY__ = 1
  1427. const m___LDBL_HAS_QUIET_NAN__ = 1
  1428. const m___LDBL_MANT_DIG__ = 53
  1429. const m___LDBL_MAX_10_EXP__ = 308
  1430. const m___LDBL_MAX_EXP__ = 1024
  1431. const m___LDBL_MAX__ = 1.7976931348623157e+308
  1432. const m___LDBL_MIN__ = 2.2250738585072014e-308
  1433. const m___LITTLE_ENDIAN__ = 1
  1434. const m___LLONG_WIDTH__ = 64
  1435. const m___LONG_LONG_MAX__ = 9223372036854775807
  1436. const m___LONG_MAX__ = 9223372036854775807
  1437. const m___LONG_WIDTH__ = 64
  1438. const m___LP64_OFF64 = 1
  1439. const m___LP64__ = 1
  1440. const m___LPBIG_OFFBIG = 1
  1441. const m___MACH__ = 1
  1442. const m___MAC_10_0 = 1000
  1443. const m___MAC_10_1 = 1010
  1444. const m___MAC_10_10 = 101000
  1445. const m___MAC_10_10_2 = 101002
  1446. const m___MAC_10_10_3 = 101003
  1447. const m___MAC_10_11 = 101100
  1448. const m___MAC_10_11_2 = 101102
  1449. const m___MAC_10_11_3 = 101103
  1450. const m___MAC_10_11_4 = 101104
  1451. const m___MAC_10_12 = 101200
  1452. const m___MAC_10_12_1 = 101201
  1453. const m___MAC_10_12_2 = 101202
  1454. const m___MAC_10_12_4 = 101204
  1455. const m___MAC_10_13 = 101300
  1456. const m___MAC_10_13_1 = 101301
  1457. const m___MAC_10_13_2 = 101302
  1458. const m___MAC_10_13_4 = 101304
  1459. const m___MAC_10_14 = 101400
  1460. const m___MAC_10_14_1 = 101401
  1461. const m___MAC_10_14_4 = 101404
  1462. const m___MAC_10_14_5 = 101405
  1463. const m___MAC_10_14_6 = 101406
  1464. const m___MAC_10_15 = 101500
  1465. const m___MAC_10_15_1 = 101501
  1466. const m___MAC_10_15_4 = 101504
  1467. const m___MAC_10_16 = 101600
  1468. const m___MAC_10_2 = 1020
  1469. const m___MAC_10_3 = 1030
  1470. const m___MAC_10_4 = 1040
  1471. const m___MAC_10_5 = 1050
  1472. const m___MAC_10_6 = 1060
  1473. const m___MAC_10_7 = 1070
  1474. const m___MAC_10_8 = 1080
  1475. const m___MAC_10_9 = 1090
  1476. const m___MAC_11_0 = 110000
  1477. const m___MAC_11_1 = 110100
  1478. const m___MAC_11_3 = 110300
  1479. const m___MAC_11_4 = 110400
  1480. const m___MAC_11_5 = 110500
  1481. const m___MAC_11_6 = 110600
  1482. const m___MAC_12_0 = 120000
  1483. const m___MAC_12_1 = 120100
  1484. const m___MAC_12_2 = 120200
  1485. const m___MAC_12_3 = 120300
  1486. const m___MAC_12_4 = 120400
  1487. const m___MAC_12_5 = 120500
  1488. const m___MAC_12_6 = 120600
  1489. const m___MAC_12_7 = 120700
  1490. const m___MAC_13_0 = 130000
  1491. const m___MAC_13_1 = 130100
  1492. const m___MAC_13_2 = 130200
  1493. const m___MAC_13_3 = 130300
  1494. const m___MAC_13_4 = 130400
  1495. const m___MAC_13_5 = 130500
  1496. const m___MAC_13_6 = 130600
  1497. const m___MAC_14_0 = 140000
  1498. const m___MAC_14_1 = 140100
  1499. const m___MAC_14_2 = 140200
  1500. const m___MAC_14_3 = 140300
  1501. const m___MAC_14_4 = 140400
  1502. const m___MAC_OS_X_VERSION_MAX_ALLOWED = "__MAC_14_4"
  1503. const m___MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  1504. const m___MMX__ = 1
  1505. const m___NO_INLINE__ = 1
  1506. const m___NO_MATH_ERRNO__ = 1
  1507. const m___NO_MATH_INLINES = 1
  1508. const m___OBJC_BOOL_IS_BOOL = 0
  1509. const m___OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES = 3
  1510. const m___OPENCL_MEMORY_SCOPE_DEVICE = 2
  1511. const m___OPENCL_MEMORY_SCOPE_SUB_GROUP = 4
  1512. const m___OPENCL_MEMORY_SCOPE_WORK_GROUP = 1
  1513. const m___OPENCL_MEMORY_SCOPE_WORK_ITEM = 0
  1514. const m___ORDER_BIG_ENDIAN__ = 4321
  1515. const m___ORDER_LITTLE_ENDIAN__ = 1234
  1516. const m___ORDER_PDP_ENDIAN__ = 3412
  1517. const m___PIC__ = 2
  1518. const m___POINTER_WIDTH__ = 64
  1519. const m___PRAGMA_REDEFINE_EXTNAME = 1
  1520. const m___PRETTY_FUNCTION__ = "__func__"
  1521. const m___PTHREAD_ATTR_SIZE__ = 56
  1522. const m___PTHREAD_CONDATTR_SIZE__ = 8
  1523. const m___PTHREAD_COND_SIZE__ = 40
  1524. const m___PTHREAD_MUTEXATTR_SIZE__ = 8
  1525. const m___PTHREAD_MUTEX_SIZE__ = 56
  1526. const m___PTHREAD_ONCE_SIZE__ = 8
  1527. const m___PTHREAD_RWLOCKATTR_SIZE__ = 16
  1528. const m___PTHREAD_RWLOCK_SIZE__ = 192
  1529. const m___PTHREAD_SIZE__ = 8176
  1530. const m___PTRDIFF_FMTd__ = "ld"
  1531. const m___PTRDIFF_FMTi__ = "li"
  1532. const m___PTRDIFF_MAX__ = 9223372036854775807
  1533. const m___PTRDIFF_WIDTH__ = 64
  1534. const m___SALC = 0x4000
  1535. const m___SAPP = 0x0100
  1536. const m___SCHAR_MAX__ = 127
  1537. const m___SEG_FS = 1
  1538. const m___SEG_GS = 1
  1539. const m___SEOF = 0x0020
  1540. const m___SERR = 0x0040
  1541. const m___SHRT_MAX__ = 32767
  1542. const m___SHRT_WIDTH__ = 16
  1543. const m___SIGN = 0x8000
  1544. const m___SIG_ATOMIC_MAX__ = 2147483647
  1545. const m___SIG_ATOMIC_WIDTH__ = 32
  1546. const m___SIZEOF_DOUBLE__ = 8
  1547. const m___SIZEOF_FLOAT__ = 4
  1548. const m___SIZEOF_INT128__ = 16
  1549. const m___SIZEOF_INT__ = 4
  1550. const m___SIZEOF_LONG_DOUBLE__ = 8
  1551. const m___SIZEOF_LONG_LONG__ = 8
  1552. const m___SIZEOF_LONG__ = 8
  1553. const m___SIZEOF_POINTER__ = 8
  1554. const m___SIZEOF_PTRDIFF_T__ = 8
  1555. const m___SIZEOF_SHORT__ = 2
  1556. const m___SIZEOF_SIZE_T__ = 8
  1557. const m___SIZEOF_WCHAR_T__ = 4
  1558. const m___SIZEOF_WINT_T__ = 4
  1559. const m___SIZE_FMTX__ = "lX"
  1560. const m___SIZE_FMTo__ = "lo"
  1561. const m___SIZE_FMTu__ = "lu"
  1562. const m___SIZE_FMTx__ = "lx"
  1563. const m___SIZE_MAX__ = 18446744073709551615
  1564. const m___SIZE_WIDTH__ = 64
  1565. const m___SLBF = 0x0001
  1566. const m___SMBF = 0x0080
  1567. const m___SMOD = 0x2000
  1568. const m___SNBF = 0x0002
  1569. const m___SNPT = 0x0800
  1570. const m___SOFF = 0x1000
  1571. const m___SOPT = 0x0400
  1572. const m___SRD = 0x0004
  1573. const m___SRW = 0x0010
  1574. const m___SSE2_MATH__ = 1
  1575. const m___SSE2__ = 1
  1576. const m___SSE3__ = 1
  1577. const m___SSE4_1__ = 1
  1578. const m___SSE_MATH__ = 1
  1579. const m___SSE__ = 1
  1580. const m___SSP__ = 1
  1581. const m___SSSE3__ = 1
  1582. const m___SSTR = 0x0200
  1583. const m___STDC_HOSTED__ = 1
  1584. const m___STDC_NO_THREADS__ = 1
  1585. const m___STDC_UTF_16__ = 1
  1586. const m___STDC_UTF_32__ = 1
  1587. const m___STDC_VERSION__ = 201710
  1588. const m___STDC_WANT_IEC_60559_ATTRIBS_EXT__ = 1
  1589. const m___STDC_WANT_IEC_60559_BFP_EXT__ = 1
  1590. const m___STDC_WANT_IEC_60559_DFP_EXT__ = 1
  1591. const m___STDC_WANT_IEC_60559_FUNCS_EXT__ = 1
  1592. const m___STDC_WANT_IEC_60559_TYPES_EXT__ = 1
  1593. const m___STDC_WANT_LIB_EXT1__ = 1
  1594. const m___STDC_WANT_LIB_EXT2__ = 1
  1595. const m___STDC_WANT_MATH_SPEC_FUNCS__ = 1
  1596. const m___STDC__ = 1
  1597. const m___SWR = 0x0008
  1598. const m___TVOS_10_0 = 100000
  1599. const m___TVOS_10_0_1 = 100001
  1600. const m___TVOS_10_1 = 100100
  1601. const m___TVOS_10_2 = 100200
  1602. const m___TVOS_11_0 = 110000
  1603. const m___TVOS_11_1 = 110100
  1604. const m___TVOS_11_2 = 110200
  1605. const m___TVOS_11_3 = 110300
  1606. const m___TVOS_11_4 = 110400
  1607. const m___TVOS_12_0 = 120000
  1608. const m___TVOS_12_1 = 120100
  1609. const m___TVOS_12_2 = 120200
  1610. const m___TVOS_12_3 = 120300
  1611. const m___TVOS_12_4 = 120400
  1612. const m___TVOS_13_0 = 130000
  1613. const m___TVOS_13_2 = 130200
  1614. const m___TVOS_13_3 = 130300
  1615. const m___TVOS_13_4 = 130400
  1616. const m___TVOS_14_0 = 140000
  1617. const m___TVOS_14_1 = 140100
  1618. const m___TVOS_14_2 = 140200
  1619. const m___TVOS_14_3 = 140300
  1620. const m___TVOS_14_5 = 140500
  1621. const m___TVOS_14_6 = 140600
  1622. const m___TVOS_14_7 = 140700
  1623. const m___TVOS_15_0 = 150000
  1624. const m___TVOS_15_1 = 150100
  1625. const m___TVOS_15_2 = 150200
  1626. const m___TVOS_15_3 = 150300
  1627. const m___TVOS_15_4 = 150400
  1628. const m___TVOS_15_5 = 150500
  1629. const m___TVOS_15_6 = 150600
  1630. const m___TVOS_16_0 = 160000
  1631. const m___TVOS_16_1 = 160100
  1632. const m___TVOS_16_2 = 160200
  1633. const m___TVOS_16_3 = 160300
  1634. const m___TVOS_16_4 = 160400
  1635. const m___TVOS_16_5 = 160500
  1636. const m___TVOS_16_6 = 160600
  1637. const m___TVOS_17_0 = 170000
  1638. const m___TVOS_17_1 = 170100
  1639. const m___TVOS_17_2 = 170200
  1640. const m___TVOS_17_3 = 170300
  1641. const m___TVOS_17_4 = 170400
  1642. const m___TVOS_9_0 = 90000
  1643. const m___TVOS_9_1 = 90100
  1644. const m___TVOS_9_2 = 90200
  1645. const m___UINT16_FMTX__ = "hX"
  1646. const m___UINT16_FMTo__ = "ho"
  1647. const m___UINT16_FMTu__ = "hu"
  1648. const m___UINT16_FMTx__ = "hx"
  1649. const m___UINT16_MAX__ = 65535
  1650. const m___UINT32_C_SUFFIX__ = "U"
  1651. const m___UINT32_FMTX__ = "X"
  1652. const m___UINT32_FMTo__ = "o"
  1653. const m___UINT32_FMTu__ = "u"
  1654. const m___UINT32_FMTx__ = "x"
  1655. const m___UINT32_MAX__ = 4294967295
  1656. const m___UINT64_C_SUFFIX__ = "ULL"
  1657. const m___UINT64_FMTX__ = "llX"
  1658. const m___UINT64_FMTo__ = "llo"
  1659. const m___UINT64_FMTu__ = "llu"
  1660. const m___UINT64_FMTx__ = "llx"
  1661. const m___UINT64_MAX__ = "18446744073709551615U"
  1662. const m___UINT8_FMTX__ = "hhX"
  1663. const m___UINT8_FMTo__ = "hho"
  1664. const m___UINT8_FMTu__ = "hhu"
  1665. const m___UINT8_FMTx__ = "hhx"
  1666. const m___UINT8_MAX__ = 255
  1667. const m___UINTMAX_C_SUFFIX__ = "UL"
  1668. const m___UINTMAX_FMTX__ = "lX"
  1669. const m___UINTMAX_FMTo__ = "lo"
  1670. const m___UINTMAX_FMTu__ = "lu"
  1671. const m___UINTMAX_FMTx__ = "lx"
  1672. const m___UINTMAX_MAX__ = 18446744073709551615
  1673. const m___UINTMAX_WIDTH__ = 64
  1674. const m___UINTPTR_FMTX__ = "lX"
  1675. const m___UINTPTR_FMTo__ = "lo"
  1676. const m___UINTPTR_FMTu__ = "lu"
  1677. const m___UINTPTR_FMTx__ = "lx"
  1678. const m___UINTPTR_MAX__ = 18446744073709551615
  1679. const m___UINTPTR_WIDTH__ = 64
  1680. const m___UINT_FAST16_FMTX__ = "hX"
  1681. const m___UINT_FAST16_FMTo__ = "ho"
  1682. const m___UINT_FAST16_FMTu__ = "hu"
  1683. const m___UINT_FAST16_FMTx__ = "hx"
  1684. const m___UINT_FAST16_MAX__ = 65535
  1685. const m___UINT_FAST32_FMTX__ = "X"
  1686. const m___UINT_FAST32_FMTo__ = "o"
  1687. const m___UINT_FAST32_FMTu__ = "u"
  1688. const m___UINT_FAST32_FMTx__ = "x"
  1689. const m___UINT_FAST32_MAX__ = 4294967295
  1690. const m___UINT_FAST64_FMTX__ = "llX"
  1691. const m___UINT_FAST64_FMTo__ = "llo"
  1692. const m___UINT_FAST64_FMTu__ = "llu"
  1693. const m___UINT_FAST64_FMTx__ = "llx"
  1694. const m___UINT_FAST64_MAX__ = "18446744073709551615U"
  1695. const m___UINT_FAST8_FMTX__ = "hhX"
  1696. const m___UINT_FAST8_FMTo__ = "hho"
  1697. const m___UINT_FAST8_FMTu__ = "hhu"
  1698. const m___UINT_FAST8_FMTx__ = "hhx"
  1699. const m___UINT_FAST8_MAX__ = 255
  1700. const m___UINT_LEAST16_FMTX__ = "hX"
  1701. const m___UINT_LEAST16_FMTo__ = "ho"
  1702. const m___UINT_LEAST16_FMTu__ = "hu"
  1703. const m___UINT_LEAST16_FMTx__ = "hx"
  1704. const m___UINT_LEAST16_MAX__ = 65535
  1705. const m___UINT_LEAST32_FMTX__ = "X"
  1706. const m___UINT_LEAST32_FMTo__ = "o"
  1707. const m___UINT_LEAST32_FMTu__ = "u"
  1708. const m___UINT_LEAST32_FMTx__ = "x"
  1709. const m___UINT_LEAST32_MAX__ = 4294967295
  1710. const m___UINT_LEAST64_FMTX__ = "llX"
  1711. const m___UINT_LEAST64_FMTo__ = "llo"
  1712. const m___UINT_LEAST64_FMTu__ = "llu"
  1713. const m___UINT_LEAST64_FMTx__ = "llx"
  1714. const m___UINT_LEAST64_MAX = "UINT64_MAX"
  1715. const m___UINT_LEAST64_MAX__ = "18446744073709551615U"
  1716. const m___UINT_LEAST8_FMTX__ = "hhX"
  1717. const m___UINT_LEAST8_FMTo__ = "hho"
  1718. const m___UINT_LEAST8_FMTu__ = "hhu"
  1719. const m___UINT_LEAST8_FMTx__ = "hhx"
  1720. const m___UINT_LEAST8_MAX__ = 255
  1721. const m___USER_LABEL_PREFIX__ = "_"
  1722. const m___VERSION__ = "Apple LLVM 15.0.0 (clang-1500.3.9.4)"
  1723. const m___VISIONOS_1_0 = 10000
  1724. const m___VISIONOS_1_1 = 10100
  1725. const m___WATCHOS_10_0 = 100000
  1726. const m___WATCHOS_10_1 = 100100
  1727. const m___WATCHOS_10_2 = 100200
  1728. const m___WATCHOS_10_3 = 100300
  1729. const m___WATCHOS_10_4 = 100400
  1730. const m___WATCHOS_1_0 = 10000
  1731. const m___WATCHOS_2_0 = 20000
  1732. const m___WATCHOS_2_1 = 20100
  1733. const m___WATCHOS_2_2 = 20200
  1734. const m___WATCHOS_3_0 = 30000
  1735. const m___WATCHOS_3_1 = 30100
  1736. const m___WATCHOS_3_1_1 = 30101
  1737. const m___WATCHOS_3_2 = 30200
  1738. const m___WATCHOS_4_0 = 40000
  1739. const m___WATCHOS_4_1 = 40100
  1740. const m___WATCHOS_4_2 = 40200
  1741. const m___WATCHOS_4_3 = 40300
  1742. const m___WATCHOS_5_0 = 50000
  1743. const m___WATCHOS_5_1 = 50100
  1744. const m___WATCHOS_5_2 = 50200
  1745. const m___WATCHOS_5_3 = 50300
  1746. const m___WATCHOS_6_0 = 60000
  1747. const m___WATCHOS_6_1 = 60100
  1748. const m___WATCHOS_6_2 = 60200
  1749. const m___WATCHOS_7_0 = 70000
  1750. const m___WATCHOS_7_1 = 70100
  1751. const m___WATCHOS_7_2 = 70200
  1752. const m___WATCHOS_7_3 = 70300
  1753. const m___WATCHOS_7_4 = 70400
  1754. const m___WATCHOS_7_5 = 70500
  1755. const m___WATCHOS_7_6 = 70600
  1756. const m___WATCHOS_8_0 = 80000
  1757. const m___WATCHOS_8_1 = 80100
  1758. const m___WATCHOS_8_3 = 80300
  1759. const m___WATCHOS_8_4 = 80400
  1760. const m___WATCHOS_8_5 = 80500
  1761. const m___WATCHOS_8_6 = 80600
  1762. const m___WATCHOS_8_7 = 80700
  1763. const m___WATCHOS_8_8 = 80800
  1764. const m___WATCHOS_9_0 = 90000
  1765. const m___WATCHOS_9_1 = 90100
  1766. const m___WATCHOS_9_2 = 90200
  1767. const m___WATCHOS_9_3 = 90300
  1768. const m___WATCHOS_9_4 = 90400
  1769. const m___WATCHOS_9_5 = 90500
  1770. const m___WATCHOS_9_6 = 90600
  1771. const m___WCHAR_MAX__ = 2147483647
  1772. const m___WCHAR_TYPE__ = "int"
  1773. const m___WCHAR_WIDTH__ = 32
  1774. const m___WINT_MAX__ = 2147483647
  1775. const m___WINT_TYPE__ = "int"
  1776. const m___WINT_WIDTH__ = 32
  1777. const m___amd64 = 1
  1778. const m___amd64__ = 1
  1779. const m___apple_build_version__ = 15000309
  1780. const m___clang__ = 1
  1781. const m___clang_literal_encoding__ = "UTF-8"
  1782. const m___clang_major__ = 15
  1783. const m___clang_minor__ = 0
  1784. const m___clang_patchlevel__ = 0
  1785. const m___clang_version__ = "15.0.0 (clang-1500.3.9.4)"
  1786. const m___clang_wide_literal_encoding__ = "UTF-32"
  1787. const m___code_model_small__ = 1
  1788. const m___const = "const"
  1789. const m___core2 = 1
  1790. const m___core2__ = 1
  1791. const m___has_ptrcheck = 0
  1792. const m___has_safe_buffers = 0
  1793. const m___header_inline = "inline"
  1794. const m___llvm__ = 1
  1795. const m___nonnull = "_Nonnull"
  1796. const m___null_unspecified = "_Null_unspecified"
  1797. const m___nullable = "_Nullable"
  1798. const m___pic__ = 2
  1799. const m___restrict = "restrict"
  1800. const m___restrict_arr = "restrict"
  1801. const m___signed = "signed"
  1802. const m___tune_core2__ = 1
  1803. const m___volatile = "volatile"
  1804. const m___x86_64 = 1
  1805. const m___x86_64__ = 1
  1806. const m_ru_first = "ru_ixrss"
  1807. const m_ru_last = "ru_nivcsw"
  1808. const m_static_assert = "_Static_assert"
  1809. const m_stderr = "__stderrp"
  1810. const m_stdin = "__stdinp"
  1811. const m_stdout = "__stdoutp"
  1812. const m_sv_onstack = "sv_flags"
  1813. type t__builtin_va_list = uintptr
  1814. type t__predefined_size_t = uint64
  1815. type t__predefined_wchar_t = int32
  1816. type t__predefined_ptrdiff_t = int64
  1817. type t__int8_t = int8
  1818. type t__uint8_t = uint8
  1819. type t__int16_t = int16
  1820. type t__uint16_t = uint16
  1821. type t__int32_t = int32
  1822. type t__uint32_t = uint32
  1823. type t__int64_t = int64
  1824. type t__uint64_t = uint64
  1825. type t__darwin_intptr_t = int64
  1826. type t__darwin_natural_t = uint32
  1827. type t__darwin_ct_rune_t = int32
  1828. type t__mbstate_t = struct {
  1829. F_mbstateL [0]int64
  1830. F__mbstate8 [128]int8
  1831. }
  1832. type t__darwin_mbstate_t = struct {
  1833. F_mbstateL [0]int64
  1834. F__mbstate8 [128]int8
  1835. }
  1836. type t__darwin_ptrdiff_t = int64
  1837. type t__darwin_size_t = uint64
  1838. type t__darwin_va_list = uintptr
  1839. type t__darwin_wchar_t = int32
  1840. type t__darwin_rune_t = int32
  1841. type t__darwin_wint_t = int32
  1842. type t__darwin_clock_t = uint64
  1843. type t__darwin_socklen_t = uint32
  1844. type t__darwin_ssize_t = int64
  1845. type t__darwin_time_t = int64
  1846. type t__darwin_blkcnt_t = int64
  1847. type t__darwin_blksize_t = int32
  1848. type t__darwin_dev_t = int32
  1849. type t__darwin_fsblkcnt_t = uint32
  1850. type t__darwin_fsfilcnt_t = uint32
  1851. type t__darwin_gid_t = uint32
  1852. type t__darwin_id_t = uint32
  1853. type t__darwin_ino64_t = uint64
  1854. type t__darwin_ino_t = uint64
  1855. type t__darwin_mach_port_name_t = uint32
  1856. type t__darwin_mach_port_t = uint32
  1857. type t__darwin_mode_t = uint16
  1858. type t__darwin_off_t = int64
  1859. type t__darwin_pid_t = int32
  1860. type t__darwin_sigset_t = uint32
  1861. type t__darwin_suseconds_t = int32
  1862. type t__darwin_uid_t = uint32
  1863. type t__darwin_useconds_t = uint32
  1864. type t__darwin_uuid_t = [16]uint8
  1865. type t__darwin_uuid_string_t = [37]int8
  1866. type t__darwin_pthread_handler_rec = struct {
  1867. F__routine uintptr
  1868. F__arg uintptr
  1869. F__next uintptr
  1870. }
  1871. type T_opaque_pthread_attr_t = struct {
  1872. F__sig int64
  1873. F__opaque [56]int8
  1874. }
  1875. type T_opaque_pthread_cond_t = struct {
  1876. F__sig int64
  1877. F__opaque [40]int8
  1878. }
  1879. type T_opaque_pthread_condattr_t = struct {
  1880. F__sig int64
  1881. F__opaque [8]int8
  1882. }
  1883. type T_opaque_pthread_mutex_t = struct {
  1884. F__sig int64
  1885. F__opaque [56]int8
  1886. }
  1887. type T_opaque_pthread_mutexattr_t = struct {
  1888. F__sig int64
  1889. F__opaque [8]int8
  1890. }
  1891. type T_opaque_pthread_once_t = struct {
  1892. F__sig int64
  1893. F__opaque [8]int8
  1894. }
  1895. type T_opaque_pthread_rwlock_t = struct {
  1896. F__sig int64
  1897. F__opaque [192]int8
  1898. }
  1899. type T_opaque_pthread_rwlockattr_t = struct {
  1900. F__sig int64
  1901. F__opaque [16]int8
  1902. }
  1903. type T_opaque_pthread_t = struct {
  1904. F__sig int64
  1905. F__cleanup_stack uintptr
  1906. F__opaque [8176]int8
  1907. }
  1908. type t__darwin_pthread_attr_t = struct {
  1909. F__sig int64
  1910. F__opaque [56]int8
  1911. }
  1912. type t__darwin_pthread_cond_t = struct {
  1913. F__sig int64
  1914. F__opaque [40]int8
  1915. }
  1916. type t__darwin_pthread_condattr_t = struct {
  1917. F__sig int64
  1918. F__opaque [8]int8
  1919. }
  1920. type t__darwin_pthread_key_t = uint64
  1921. type t__darwin_pthread_mutex_t = struct {
  1922. F__sig int64
  1923. F__opaque [56]int8
  1924. }
  1925. type t__darwin_pthread_mutexattr_t = struct {
  1926. F__sig int64
  1927. F__opaque [8]int8
  1928. }
  1929. type t__darwin_pthread_once_t = struct {
  1930. F__sig int64
  1931. F__opaque [8]int8
  1932. }
  1933. type t__darwin_pthread_rwlock_t = struct {
  1934. F__sig int64
  1935. F__opaque [192]int8
  1936. }
  1937. type t__darwin_pthread_rwlockattr_t = struct {
  1938. F__sig int64
  1939. F__opaque [16]int8
  1940. }
  1941. type t__darwin_pthread_t = uintptr
  1942. type Tint64_t = int64
  1943. type Tuint64_t = uint64
  1944. type Tint_least64_t = int64
  1945. type Tuint_least64_t = uint64
  1946. type Tint_fast64_t = int64
  1947. type Tuint_fast64_t = uint64
  1948. type Tint32_t = int32
  1949. type Tuint32_t = uint32
  1950. type Tint_least32_t = int32
  1951. type Tuint_least32_t = uint32
  1952. type Tint_fast32_t = int32
  1953. type Tuint_fast32_t = uint32
  1954. type Tint16_t = int16
  1955. type Tuint16_t = uint16
  1956. type Tint_least16_t = int16
  1957. type Tuint_least16_t = uint16
  1958. type Tint_fast16_t = int16
  1959. type Tuint_fast16_t = uint16
  1960. type Tint8_t = int8
  1961. type Tuint8_t = uint8
  1962. type Tint_least8_t = int8
  1963. type Tuint_least8_t = uint8
  1964. type Tint_fast8_t = int8
  1965. type Tuint_fast8_t = uint8
  1966. type Tintptr_t = int64
  1967. type Tuintptr_t = uint64
  1968. type Tintmax_t = int64
  1969. type Tuintmax_t = uint64
  1970. type t__darwin_nl_item = int32
  1971. type t__darwin_wctrans_t = int32
  1972. type t__darwin_wctype_t = uint32
  1973. type Tidtype_t = int32
  1974. const _P_ALL = 0
  1975. const _P_PID = 1
  1976. const _P_PGID = 2
  1977. type Tpid_t = int32
  1978. type Tid_t = uint32
  1979. type Tsig_atomic_t = int32
  1980. type Tu_int8_t = uint8
  1981. type Tu_int16_t = uint16
  1982. type Tu_int32_t = uint32
  1983. type Tu_int64_t = uint64
  1984. type Tregister_t = int64
  1985. type Tuser_addr_t = uint64
  1986. type Tuser_size_t = uint64
  1987. type Tuser_ssize_t = int64
  1988. type Tuser_long_t = int64
  1989. type Tuser_ulong_t = uint64
  1990. type Tuser_time_t = int64
  1991. type Tuser_off_t = int64
  1992. type Tsyscall_arg_t = uint64
  1993. type t__darwin_i386_thread_state = struct {
  1994. F__eax uint32
  1995. F__ebx uint32
  1996. F__ecx uint32
  1997. F__edx uint32
  1998. F__edi uint32
  1999. F__esi uint32
  2000. F__ebp uint32
  2001. F__esp uint32
  2002. F__ss uint32
  2003. F__eflags uint32
  2004. F__eip uint32
  2005. F__cs uint32
  2006. F__ds uint32
  2007. F__es uint32
  2008. F__fs uint32
  2009. F__gs uint32
  2010. }
  2011. type t__darwin_fp_control = struct {
  2012. F__ccgo0 uint16
  2013. }
  2014. type t__darwin_fp_control_t = struct {
  2015. F__ccgo0 uint16
  2016. }
  2017. type t__darwin_fp_status = struct {
  2018. F__ccgo0 uint16
  2019. }
  2020. type t__darwin_fp_status_t = struct {
  2021. F__ccgo0 uint16
  2022. }
  2023. type t__darwin_mmst_reg = struct {
  2024. F__mmst_reg [10]int8
  2025. F__mmst_rsrv [6]int8
  2026. }
  2027. type t__darwin_xmm_reg = struct {
  2028. F__xmm_reg [16]int8
  2029. }
  2030. type t__darwin_ymm_reg = struct {
  2031. F__ymm_reg [32]int8
  2032. }
  2033. type t__darwin_zmm_reg = struct {
  2034. F__zmm_reg [64]int8
  2035. }
  2036. type t__darwin_opmask_reg = struct {
  2037. F__opmask_reg [8]int8
  2038. }
  2039. type t__darwin_i386_float_state = struct {
  2040. F__fpu_reserved [2]int32
  2041. F__fpu_fcw t__darwin_fp_control
  2042. F__fpu_fsw t__darwin_fp_status
  2043. F__fpu_ftw t__uint8_t
  2044. F__fpu_rsrv1 t__uint8_t
  2045. F__fpu_fop t__uint16_t
  2046. F__fpu_ip t__uint32_t
  2047. F__fpu_cs t__uint16_t
  2048. F__fpu_rsrv2 t__uint16_t
  2049. F__fpu_dp t__uint32_t
  2050. F__fpu_ds t__uint16_t
  2051. F__fpu_rsrv3 t__uint16_t
  2052. F__fpu_mxcsr t__uint32_t
  2053. F__fpu_mxcsrmask t__uint32_t
  2054. F__fpu_stmm0 t__darwin_mmst_reg
  2055. F__fpu_stmm1 t__darwin_mmst_reg
  2056. F__fpu_stmm2 t__darwin_mmst_reg
  2057. F__fpu_stmm3 t__darwin_mmst_reg
  2058. F__fpu_stmm4 t__darwin_mmst_reg
  2059. F__fpu_stmm5 t__darwin_mmst_reg
  2060. F__fpu_stmm6 t__darwin_mmst_reg
  2061. F__fpu_stmm7 t__darwin_mmst_reg
  2062. F__fpu_xmm0 t__darwin_xmm_reg
  2063. F__fpu_xmm1 t__darwin_xmm_reg
  2064. F__fpu_xmm2 t__darwin_xmm_reg
  2065. F__fpu_xmm3 t__darwin_xmm_reg
  2066. F__fpu_xmm4 t__darwin_xmm_reg
  2067. F__fpu_xmm5 t__darwin_xmm_reg
  2068. F__fpu_xmm6 t__darwin_xmm_reg
  2069. F__fpu_xmm7 t__darwin_xmm_reg
  2070. F__fpu_rsrv4 [224]int8
  2071. F__fpu_reserved1 int32
  2072. }
  2073. type t__darwin_i386_avx_state = struct {
  2074. F__fpu_reserved [2]int32
  2075. F__fpu_fcw t__darwin_fp_control
  2076. F__fpu_fsw t__darwin_fp_status
  2077. F__fpu_ftw t__uint8_t
  2078. F__fpu_rsrv1 t__uint8_t
  2079. F__fpu_fop t__uint16_t
  2080. F__fpu_ip t__uint32_t
  2081. F__fpu_cs t__uint16_t
  2082. F__fpu_rsrv2 t__uint16_t
  2083. F__fpu_dp t__uint32_t
  2084. F__fpu_ds t__uint16_t
  2085. F__fpu_rsrv3 t__uint16_t
  2086. F__fpu_mxcsr t__uint32_t
  2087. F__fpu_mxcsrmask t__uint32_t
  2088. F__fpu_stmm0 t__darwin_mmst_reg
  2089. F__fpu_stmm1 t__darwin_mmst_reg
  2090. F__fpu_stmm2 t__darwin_mmst_reg
  2091. F__fpu_stmm3 t__darwin_mmst_reg
  2092. F__fpu_stmm4 t__darwin_mmst_reg
  2093. F__fpu_stmm5 t__darwin_mmst_reg
  2094. F__fpu_stmm6 t__darwin_mmst_reg
  2095. F__fpu_stmm7 t__darwin_mmst_reg
  2096. F__fpu_xmm0 t__darwin_xmm_reg
  2097. F__fpu_xmm1 t__darwin_xmm_reg
  2098. F__fpu_xmm2 t__darwin_xmm_reg
  2099. F__fpu_xmm3 t__darwin_xmm_reg
  2100. F__fpu_xmm4 t__darwin_xmm_reg
  2101. F__fpu_xmm5 t__darwin_xmm_reg
  2102. F__fpu_xmm6 t__darwin_xmm_reg
  2103. F__fpu_xmm7 t__darwin_xmm_reg
  2104. F__fpu_rsrv4 [224]int8
  2105. F__fpu_reserved1 int32
  2106. F__avx_reserved1 [64]int8
  2107. F__fpu_ymmh0 t__darwin_xmm_reg
  2108. F__fpu_ymmh1 t__darwin_xmm_reg
  2109. F__fpu_ymmh2 t__darwin_xmm_reg
  2110. F__fpu_ymmh3 t__darwin_xmm_reg
  2111. F__fpu_ymmh4 t__darwin_xmm_reg
  2112. F__fpu_ymmh5 t__darwin_xmm_reg
  2113. F__fpu_ymmh6 t__darwin_xmm_reg
  2114. F__fpu_ymmh7 t__darwin_xmm_reg
  2115. }
  2116. type t__darwin_i386_avx512_state = struct {
  2117. F__fpu_reserved [2]int32
  2118. F__fpu_fcw t__darwin_fp_control
  2119. F__fpu_fsw t__darwin_fp_status
  2120. F__fpu_ftw t__uint8_t
  2121. F__fpu_rsrv1 t__uint8_t
  2122. F__fpu_fop t__uint16_t
  2123. F__fpu_ip t__uint32_t
  2124. F__fpu_cs t__uint16_t
  2125. F__fpu_rsrv2 t__uint16_t
  2126. F__fpu_dp t__uint32_t
  2127. F__fpu_ds t__uint16_t
  2128. F__fpu_rsrv3 t__uint16_t
  2129. F__fpu_mxcsr t__uint32_t
  2130. F__fpu_mxcsrmask t__uint32_t
  2131. F__fpu_stmm0 t__darwin_mmst_reg
  2132. F__fpu_stmm1 t__darwin_mmst_reg
  2133. F__fpu_stmm2 t__darwin_mmst_reg
  2134. F__fpu_stmm3 t__darwin_mmst_reg
  2135. F__fpu_stmm4 t__darwin_mmst_reg
  2136. F__fpu_stmm5 t__darwin_mmst_reg
  2137. F__fpu_stmm6 t__darwin_mmst_reg
  2138. F__fpu_stmm7 t__darwin_mmst_reg
  2139. F__fpu_xmm0 t__darwin_xmm_reg
  2140. F__fpu_xmm1 t__darwin_xmm_reg
  2141. F__fpu_xmm2 t__darwin_xmm_reg
  2142. F__fpu_xmm3 t__darwin_xmm_reg
  2143. F__fpu_xmm4 t__darwin_xmm_reg
  2144. F__fpu_xmm5 t__darwin_xmm_reg
  2145. F__fpu_xmm6 t__darwin_xmm_reg
  2146. F__fpu_xmm7 t__darwin_xmm_reg
  2147. F__fpu_rsrv4 [224]int8
  2148. F__fpu_reserved1 int32
  2149. F__avx_reserved1 [64]int8
  2150. F__fpu_ymmh0 t__darwin_xmm_reg
  2151. F__fpu_ymmh1 t__darwin_xmm_reg
  2152. F__fpu_ymmh2 t__darwin_xmm_reg
  2153. F__fpu_ymmh3 t__darwin_xmm_reg
  2154. F__fpu_ymmh4 t__darwin_xmm_reg
  2155. F__fpu_ymmh5 t__darwin_xmm_reg
  2156. F__fpu_ymmh6 t__darwin_xmm_reg
  2157. F__fpu_ymmh7 t__darwin_xmm_reg
  2158. F__fpu_k0 t__darwin_opmask_reg
  2159. F__fpu_k1 t__darwin_opmask_reg
  2160. F__fpu_k2 t__darwin_opmask_reg
  2161. F__fpu_k3 t__darwin_opmask_reg
  2162. F__fpu_k4 t__darwin_opmask_reg
  2163. F__fpu_k5 t__darwin_opmask_reg
  2164. F__fpu_k6 t__darwin_opmask_reg
  2165. F__fpu_k7 t__darwin_opmask_reg
  2166. F__fpu_zmmh0 t__darwin_ymm_reg
  2167. F__fpu_zmmh1 t__darwin_ymm_reg
  2168. F__fpu_zmmh2 t__darwin_ymm_reg
  2169. F__fpu_zmmh3 t__darwin_ymm_reg
  2170. F__fpu_zmmh4 t__darwin_ymm_reg
  2171. F__fpu_zmmh5 t__darwin_ymm_reg
  2172. F__fpu_zmmh6 t__darwin_ymm_reg
  2173. F__fpu_zmmh7 t__darwin_ymm_reg
  2174. }
  2175. type t__darwin_i386_exception_state = struct {
  2176. F__trapno t__uint16_t
  2177. F__cpu t__uint16_t
  2178. F__err t__uint32_t
  2179. F__faultvaddr t__uint32_t
  2180. }
  2181. type t__darwin_x86_debug_state32 = struct {
  2182. F__dr0 uint32
  2183. F__dr1 uint32
  2184. F__dr2 uint32
  2185. F__dr3 uint32
  2186. F__dr4 uint32
  2187. F__dr5 uint32
  2188. F__dr6 uint32
  2189. F__dr7 uint32
  2190. }
  2191. type t__x86_instruction_state = struct {
  2192. F__insn_stream_valid_bytes int32
  2193. F__insn_offset int32
  2194. F__out_of_synch int32
  2195. F__insn_bytes [2380]t__uint8_t
  2196. F__insn_cacheline [64]t__uint8_t
  2197. }
  2198. type t__last_branch_record = struct {
  2199. F__from_ip t__uint64_t
  2200. F__to_ip t__uint64_t
  2201. F__ccgo16 uint32
  2202. }
  2203. type t__last_branch_state = struct {
  2204. F__lbr_count int32
  2205. F__ccgo4 uint32
  2206. F__lbrs [32]t__last_branch_record
  2207. }
  2208. type t__x86_pagein_state = struct {
  2209. F__pagein_error int32
  2210. }
  2211. type t__darwin_x86_thread_state64 = struct {
  2212. F__rax t__uint64_t
  2213. F__rbx t__uint64_t
  2214. F__rcx t__uint64_t
  2215. F__rdx t__uint64_t
  2216. F__rdi t__uint64_t
  2217. F__rsi t__uint64_t
  2218. F__rbp t__uint64_t
  2219. F__rsp t__uint64_t
  2220. F__r8 t__uint64_t
  2221. F__r9 t__uint64_t
  2222. F__r10 t__uint64_t
  2223. F__r11 t__uint64_t
  2224. F__r12 t__uint64_t
  2225. F__r13 t__uint64_t
  2226. F__r14 t__uint64_t
  2227. F__r15 t__uint64_t
  2228. F__rip t__uint64_t
  2229. F__rflags t__uint64_t
  2230. F__cs t__uint64_t
  2231. F__fs t__uint64_t
  2232. F__gs t__uint64_t
  2233. }
  2234. type t__darwin_x86_thread_full_state64 = struct {
  2235. F__ss64 t__darwin_x86_thread_state64
  2236. F__ds t__uint64_t
  2237. F__es t__uint64_t
  2238. F__ss t__uint64_t
  2239. F__gsbase t__uint64_t
  2240. }
  2241. type t__darwin_x86_float_state64 = struct {
  2242. F__fpu_reserved [2]int32
  2243. F__fpu_fcw t__darwin_fp_control
  2244. F__fpu_fsw t__darwin_fp_status
  2245. F__fpu_ftw t__uint8_t
  2246. F__fpu_rsrv1 t__uint8_t
  2247. F__fpu_fop t__uint16_t
  2248. F__fpu_ip t__uint32_t
  2249. F__fpu_cs t__uint16_t
  2250. F__fpu_rsrv2 t__uint16_t
  2251. F__fpu_dp t__uint32_t
  2252. F__fpu_ds t__uint16_t
  2253. F__fpu_rsrv3 t__uint16_t
  2254. F__fpu_mxcsr t__uint32_t
  2255. F__fpu_mxcsrmask t__uint32_t
  2256. F__fpu_stmm0 t__darwin_mmst_reg
  2257. F__fpu_stmm1 t__darwin_mmst_reg
  2258. F__fpu_stmm2 t__darwin_mmst_reg
  2259. F__fpu_stmm3 t__darwin_mmst_reg
  2260. F__fpu_stmm4 t__darwin_mmst_reg
  2261. F__fpu_stmm5 t__darwin_mmst_reg
  2262. F__fpu_stmm6 t__darwin_mmst_reg
  2263. F__fpu_stmm7 t__darwin_mmst_reg
  2264. F__fpu_xmm0 t__darwin_xmm_reg
  2265. F__fpu_xmm1 t__darwin_xmm_reg
  2266. F__fpu_xmm2 t__darwin_xmm_reg
  2267. F__fpu_xmm3 t__darwin_xmm_reg
  2268. F__fpu_xmm4 t__darwin_xmm_reg
  2269. F__fpu_xmm5 t__darwin_xmm_reg
  2270. F__fpu_xmm6 t__darwin_xmm_reg
  2271. F__fpu_xmm7 t__darwin_xmm_reg
  2272. F__fpu_xmm8 t__darwin_xmm_reg
  2273. F__fpu_xmm9 t__darwin_xmm_reg
  2274. F__fpu_xmm10 t__darwin_xmm_reg
  2275. F__fpu_xmm11 t__darwin_xmm_reg
  2276. F__fpu_xmm12 t__darwin_xmm_reg
  2277. F__fpu_xmm13 t__darwin_xmm_reg
  2278. F__fpu_xmm14 t__darwin_xmm_reg
  2279. F__fpu_xmm15 t__darwin_xmm_reg
  2280. F__fpu_rsrv4 [96]int8
  2281. F__fpu_reserved1 int32
  2282. }
  2283. type t__darwin_x86_avx_state64 = struct {
  2284. F__fpu_reserved [2]int32
  2285. F__fpu_fcw t__darwin_fp_control
  2286. F__fpu_fsw t__darwin_fp_status
  2287. F__fpu_ftw t__uint8_t
  2288. F__fpu_rsrv1 t__uint8_t
  2289. F__fpu_fop t__uint16_t
  2290. F__fpu_ip t__uint32_t
  2291. F__fpu_cs t__uint16_t
  2292. F__fpu_rsrv2 t__uint16_t
  2293. F__fpu_dp t__uint32_t
  2294. F__fpu_ds t__uint16_t
  2295. F__fpu_rsrv3 t__uint16_t
  2296. F__fpu_mxcsr t__uint32_t
  2297. F__fpu_mxcsrmask t__uint32_t
  2298. F__fpu_stmm0 t__darwin_mmst_reg
  2299. F__fpu_stmm1 t__darwin_mmst_reg
  2300. F__fpu_stmm2 t__darwin_mmst_reg
  2301. F__fpu_stmm3 t__darwin_mmst_reg
  2302. F__fpu_stmm4 t__darwin_mmst_reg
  2303. F__fpu_stmm5 t__darwin_mmst_reg
  2304. F__fpu_stmm6 t__darwin_mmst_reg
  2305. F__fpu_stmm7 t__darwin_mmst_reg
  2306. F__fpu_xmm0 t__darwin_xmm_reg
  2307. F__fpu_xmm1 t__darwin_xmm_reg
  2308. F__fpu_xmm2 t__darwin_xmm_reg
  2309. F__fpu_xmm3 t__darwin_xmm_reg
  2310. F__fpu_xmm4 t__darwin_xmm_reg
  2311. F__fpu_xmm5 t__darwin_xmm_reg
  2312. F__fpu_xmm6 t__darwin_xmm_reg
  2313. F__fpu_xmm7 t__darwin_xmm_reg
  2314. F__fpu_xmm8 t__darwin_xmm_reg
  2315. F__fpu_xmm9 t__darwin_xmm_reg
  2316. F__fpu_xmm10 t__darwin_xmm_reg
  2317. F__fpu_xmm11 t__darwin_xmm_reg
  2318. F__fpu_xmm12 t__darwin_xmm_reg
  2319. F__fpu_xmm13 t__darwin_xmm_reg
  2320. F__fpu_xmm14 t__darwin_xmm_reg
  2321. F__fpu_xmm15 t__darwin_xmm_reg
  2322. F__fpu_rsrv4 [96]int8
  2323. F__fpu_reserved1 int32
  2324. F__avx_reserved1 [64]int8
  2325. F__fpu_ymmh0 t__darwin_xmm_reg
  2326. F__fpu_ymmh1 t__darwin_xmm_reg
  2327. F__fpu_ymmh2 t__darwin_xmm_reg
  2328. F__fpu_ymmh3 t__darwin_xmm_reg
  2329. F__fpu_ymmh4 t__darwin_xmm_reg
  2330. F__fpu_ymmh5 t__darwin_xmm_reg
  2331. F__fpu_ymmh6 t__darwin_xmm_reg
  2332. F__fpu_ymmh7 t__darwin_xmm_reg
  2333. F__fpu_ymmh8 t__darwin_xmm_reg
  2334. F__fpu_ymmh9 t__darwin_xmm_reg
  2335. F__fpu_ymmh10 t__darwin_xmm_reg
  2336. F__fpu_ymmh11 t__darwin_xmm_reg
  2337. F__fpu_ymmh12 t__darwin_xmm_reg
  2338. F__fpu_ymmh13 t__darwin_xmm_reg
  2339. F__fpu_ymmh14 t__darwin_xmm_reg
  2340. F__fpu_ymmh15 t__darwin_xmm_reg
  2341. }
  2342. type t__darwin_x86_avx512_state64 = struct {
  2343. F__fpu_reserved [2]int32
  2344. F__fpu_fcw t__darwin_fp_control
  2345. F__fpu_fsw t__darwin_fp_status
  2346. F__fpu_ftw t__uint8_t
  2347. F__fpu_rsrv1 t__uint8_t
  2348. F__fpu_fop t__uint16_t
  2349. F__fpu_ip t__uint32_t
  2350. F__fpu_cs t__uint16_t
  2351. F__fpu_rsrv2 t__uint16_t
  2352. F__fpu_dp t__uint32_t
  2353. F__fpu_ds t__uint16_t
  2354. F__fpu_rsrv3 t__uint16_t
  2355. F__fpu_mxcsr t__uint32_t
  2356. F__fpu_mxcsrmask t__uint32_t
  2357. F__fpu_stmm0 t__darwin_mmst_reg
  2358. F__fpu_stmm1 t__darwin_mmst_reg
  2359. F__fpu_stmm2 t__darwin_mmst_reg
  2360. F__fpu_stmm3 t__darwin_mmst_reg
  2361. F__fpu_stmm4 t__darwin_mmst_reg
  2362. F__fpu_stmm5 t__darwin_mmst_reg
  2363. F__fpu_stmm6 t__darwin_mmst_reg
  2364. F__fpu_stmm7 t__darwin_mmst_reg
  2365. F__fpu_xmm0 t__darwin_xmm_reg
  2366. F__fpu_xmm1 t__darwin_xmm_reg
  2367. F__fpu_xmm2 t__darwin_xmm_reg
  2368. F__fpu_xmm3 t__darwin_xmm_reg
  2369. F__fpu_xmm4 t__darwin_xmm_reg
  2370. F__fpu_xmm5 t__darwin_xmm_reg
  2371. F__fpu_xmm6 t__darwin_xmm_reg
  2372. F__fpu_xmm7 t__darwin_xmm_reg
  2373. F__fpu_xmm8 t__darwin_xmm_reg
  2374. F__fpu_xmm9 t__darwin_xmm_reg
  2375. F__fpu_xmm10 t__darwin_xmm_reg
  2376. F__fpu_xmm11 t__darwin_xmm_reg
  2377. F__fpu_xmm12 t__darwin_xmm_reg
  2378. F__fpu_xmm13 t__darwin_xmm_reg
  2379. F__fpu_xmm14 t__darwin_xmm_reg
  2380. F__fpu_xmm15 t__darwin_xmm_reg
  2381. F__fpu_rsrv4 [96]int8
  2382. F__fpu_reserved1 int32
  2383. F__avx_reserved1 [64]int8
  2384. F__fpu_ymmh0 t__darwin_xmm_reg
  2385. F__fpu_ymmh1 t__darwin_xmm_reg
  2386. F__fpu_ymmh2 t__darwin_xmm_reg
  2387. F__fpu_ymmh3 t__darwin_xmm_reg
  2388. F__fpu_ymmh4 t__darwin_xmm_reg
  2389. F__fpu_ymmh5 t__darwin_xmm_reg
  2390. F__fpu_ymmh6 t__darwin_xmm_reg
  2391. F__fpu_ymmh7 t__darwin_xmm_reg
  2392. F__fpu_ymmh8 t__darwin_xmm_reg
  2393. F__fpu_ymmh9 t__darwin_xmm_reg
  2394. F__fpu_ymmh10 t__darwin_xmm_reg
  2395. F__fpu_ymmh11 t__darwin_xmm_reg
  2396. F__fpu_ymmh12 t__darwin_xmm_reg
  2397. F__fpu_ymmh13 t__darwin_xmm_reg
  2398. F__fpu_ymmh14 t__darwin_xmm_reg
  2399. F__fpu_ymmh15 t__darwin_xmm_reg
  2400. F__fpu_k0 t__darwin_opmask_reg
  2401. F__fpu_k1 t__darwin_opmask_reg
  2402. F__fpu_k2 t__darwin_opmask_reg
  2403. F__fpu_k3 t__darwin_opmask_reg
  2404. F__fpu_k4 t__darwin_opmask_reg
  2405. F__fpu_k5 t__darwin_opmask_reg
  2406. F__fpu_k6 t__darwin_opmask_reg
  2407. F__fpu_k7 t__darwin_opmask_reg
  2408. F__fpu_zmmh0 t__darwin_ymm_reg
  2409. F__fpu_zmmh1 t__darwin_ymm_reg
  2410. F__fpu_zmmh2 t__darwin_ymm_reg
  2411. F__fpu_zmmh3 t__darwin_ymm_reg
  2412. F__fpu_zmmh4 t__darwin_ymm_reg
  2413. F__fpu_zmmh5 t__darwin_ymm_reg
  2414. F__fpu_zmmh6 t__darwin_ymm_reg
  2415. F__fpu_zmmh7 t__darwin_ymm_reg
  2416. F__fpu_zmmh8 t__darwin_ymm_reg
  2417. F__fpu_zmmh9 t__darwin_ymm_reg
  2418. F__fpu_zmmh10 t__darwin_ymm_reg
  2419. F__fpu_zmmh11 t__darwin_ymm_reg
  2420. F__fpu_zmmh12 t__darwin_ymm_reg
  2421. F__fpu_zmmh13 t__darwin_ymm_reg
  2422. F__fpu_zmmh14 t__darwin_ymm_reg
  2423. F__fpu_zmmh15 t__darwin_ymm_reg
  2424. F__fpu_zmm16 t__darwin_zmm_reg
  2425. F__fpu_zmm17 t__darwin_zmm_reg
  2426. F__fpu_zmm18 t__darwin_zmm_reg
  2427. F__fpu_zmm19 t__darwin_zmm_reg
  2428. F__fpu_zmm20 t__darwin_zmm_reg
  2429. F__fpu_zmm21 t__darwin_zmm_reg
  2430. F__fpu_zmm22 t__darwin_zmm_reg
  2431. F__fpu_zmm23 t__darwin_zmm_reg
  2432. F__fpu_zmm24 t__darwin_zmm_reg
  2433. F__fpu_zmm25 t__darwin_zmm_reg
  2434. F__fpu_zmm26 t__darwin_zmm_reg
  2435. F__fpu_zmm27 t__darwin_zmm_reg
  2436. F__fpu_zmm28 t__darwin_zmm_reg
  2437. F__fpu_zmm29 t__darwin_zmm_reg
  2438. F__fpu_zmm30 t__darwin_zmm_reg
  2439. F__fpu_zmm31 t__darwin_zmm_reg
  2440. }
  2441. type t__darwin_x86_exception_state64 = struct {
  2442. F__trapno t__uint16_t
  2443. F__cpu t__uint16_t
  2444. F__err t__uint32_t
  2445. F__faultvaddr t__uint64_t
  2446. }
  2447. type t__darwin_x86_debug_state64 = struct {
  2448. F__dr0 t__uint64_t
  2449. F__dr1 t__uint64_t
  2450. F__dr2 t__uint64_t
  2451. F__dr3 t__uint64_t
  2452. F__dr4 t__uint64_t
  2453. F__dr5 t__uint64_t
  2454. F__dr6 t__uint64_t
  2455. F__dr7 t__uint64_t
  2456. }
  2457. type t__darwin_x86_cpmu_state64 = struct {
  2458. F__ctrs [16]t__uint64_t
  2459. }
  2460. type t__darwin_mcontext32 = struct {
  2461. F__es t__darwin_i386_exception_state
  2462. F__ss t__darwin_i386_thread_state
  2463. F__fs t__darwin_i386_float_state
  2464. }
  2465. type t__darwin_mcontext_avx32 = struct {
  2466. F__es t__darwin_i386_exception_state
  2467. F__ss t__darwin_i386_thread_state
  2468. F__fs t__darwin_i386_avx_state
  2469. }
  2470. type t__darwin_mcontext_avx512_32 = struct {
  2471. F__es t__darwin_i386_exception_state
  2472. F__ss t__darwin_i386_thread_state
  2473. F__fs t__darwin_i386_avx512_state
  2474. }
  2475. type t__darwin_mcontext64 = struct {
  2476. F__es t__darwin_x86_exception_state64
  2477. F__ss t__darwin_x86_thread_state64
  2478. F__fs t__darwin_x86_float_state64
  2479. }
  2480. type t__darwin_mcontext64_full = struct {
  2481. F__es t__darwin_x86_exception_state64
  2482. F__ss t__darwin_x86_thread_full_state64
  2483. F__fs t__darwin_x86_float_state64
  2484. }
  2485. type t__darwin_mcontext_avx64 = struct {
  2486. F__es t__darwin_x86_exception_state64
  2487. F__ss t__darwin_x86_thread_state64
  2488. F__fs t__darwin_x86_avx_state64
  2489. }
  2490. type t__darwin_mcontext_avx64_full = struct {
  2491. F__es t__darwin_x86_exception_state64
  2492. F__ss t__darwin_x86_thread_full_state64
  2493. F__fs t__darwin_x86_avx_state64
  2494. }
  2495. type t__darwin_mcontext_avx512_64 = struct {
  2496. F__es t__darwin_x86_exception_state64
  2497. F__ss t__darwin_x86_thread_state64
  2498. F__fs t__darwin_x86_avx512_state64
  2499. }
  2500. type t__darwin_mcontext_avx512_64_full = struct {
  2501. F__es t__darwin_x86_exception_state64
  2502. F__ss t__darwin_x86_thread_full_state64
  2503. F__fs t__darwin_x86_avx512_state64
  2504. }
  2505. type Tmcontext_t = uintptr
  2506. type Tpthread_attr_t = struct {
  2507. F__sig int64
  2508. F__opaque [56]int8
  2509. }
  2510. type t__darwin_sigaltstack = struct {
  2511. Fss_sp uintptr
  2512. Fss_size t__darwin_size_t
  2513. Fss_flags int32
  2514. }
  2515. type Tstack_t = struct {
  2516. Fss_sp uintptr
  2517. Fss_size t__darwin_size_t
  2518. Fss_flags int32
  2519. }
  2520. type t__darwin_ucontext = struct {
  2521. Fuc_onstack int32
  2522. Fuc_sigmask t__darwin_sigset_t
  2523. Fuc_stack t__darwin_sigaltstack
  2524. Fuc_link uintptr
  2525. Fuc_mcsize t__darwin_size_t
  2526. Fuc_mcontext uintptr
  2527. }
  2528. type Tucontext_t = struct {
  2529. Fuc_onstack int32
  2530. Fuc_sigmask t__darwin_sigset_t
  2531. Fuc_stack t__darwin_sigaltstack
  2532. Fuc_link uintptr
  2533. Fuc_mcsize t__darwin_size_t
  2534. Fuc_mcontext uintptr
  2535. }
  2536. type Tsigset_t = uint32
  2537. type Tsize_t = uint64
  2538. type Tuid_t = uint32
  2539. type Tsigval = struct {
  2540. Fsival_ptr [0]uintptr
  2541. Fsival_int int32
  2542. F__ccgo_pad2 [4]byte
  2543. }
  2544. type Tsigevent = struct {
  2545. Fsigev_notify int32
  2546. Fsigev_signo int32
  2547. Fsigev_value Tsigval
  2548. Fsigev_notify_function uintptr
  2549. Fsigev_notify_attributes uintptr
  2550. }
  2551. type Tsiginfo_t = struct {
  2552. Fsi_signo int32
  2553. Fsi_errno int32
  2554. Fsi_code int32
  2555. Fsi_pid Tpid_t
  2556. Fsi_uid Tuid_t
  2557. Fsi_status int32
  2558. Fsi_addr uintptr
  2559. Fsi_value Tsigval
  2560. Fsi_band int64
  2561. F__pad [7]uint64
  2562. }
  2563. type t__siginfo = Tsiginfo_t
  2564. type t__sigaction_u = struct {
  2565. F__sa_sigaction [0]uintptr
  2566. F__sa_handler uintptr
  2567. }
  2568. type t__sigaction = struct {
  2569. F__sigaction_u t__sigaction_u
  2570. Fsa_tramp uintptr
  2571. Fsa_mask Tsigset_t
  2572. Fsa_flags int32
  2573. }
  2574. type Tsigaction = struct {
  2575. F__sigaction_u t__sigaction_u
  2576. Fsa_mask Tsigset_t
  2577. Fsa_flags int32
  2578. }
  2579. type Tsig_t = uintptr
  2580. type Tsigvec = struct {
  2581. Fsv_handler uintptr
  2582. Fsv_mask int32
  2583. Fsv_flags int32
  2584. }
  2585. type Tsigstack = struct {
  2586. Fss_sp uintptr
  2587. Fss_onstack int32
  2588. }
  2589. type Ttimeval = struct {
  2590. Ftv_sec t__darwin_time_t
  2591. Ftv_usec t__darwin_suseconds_t
  2592. }
  2593. type Trlim_t = uint64
  2594. type Trusage = struct {
  2595. Fru_utime Ttimeval
  2596. Fru_stime Ttimeval
  2597. Fru_maxrss int64
  2598. Fru_ixrss int64
  2599. Fru_idrss int64
  2600. Fru_isrss int64
  2601. Fru_minflt int64
  2602. Fru_majflt int64
  2603. Fru_nswap int64
  2604. Fru_inblock int64
  2605. Fru_oublock int64
  2606. Fru_msgsnd int64
  2607. Fru_msgrcv int64
  2608. Fru_nsignals int64
  2609. Fru_nvcsw int64
  2610. Fru_nivcsw int64
  2611. }
  2612. type Trusage_info_t = uintptr
  2613. type Trusage_info_v0 = struct {
  2614. Fri_uuid [16]Tuint8_t
  2615. Fri_user_time Tuint64_t
  2616. Fri_system_time Tuint64_t
  2617. Fri_pkg_idle_wkups Tuint64_t
  2618. Fri_interrupt_wkups Tuint64_t
  2619. Fri_pageins Tuint64_t
  2620. Fri_wired_size Tuint64_t
  2621. Fri_resident_size Tuint64_t
  2622. Fri_phys_footprint Tuint64_t
  2623. Fri_proc_start_abstime Tuint64_t
  2624. Fri_proc_exit_abstime Tuint64_t
  2625. }
  2626. type Trusage_info_v1 = struct {
  2627. Fri_uuid [16]Tuint8_t
  2628. Fri_user_time Tuint64_t
  2629. Fri_system_time Tuint64_t
  2630. Fri_pkg_idle_wkups Tuint64_t
  2631. Fri_interrupt_wkups Tuint64_t
  2632. Fri_pageins Tuint64_t
  2633. Fri_wired_size Tuint64_t
  2634. Fri_resident_size Tuint64_t
  2635. Fri_phys_footprint Tuint64_t
  2636. Fri_proc_start_abstime Tuint64_t
  2637. Fri_proc_exit_abstime Tuint64_t
  2638. Fri_child_user_time Tuint64_t
  2639. Fri_child_system_time Tuint64_t
  2640. Fri_child_pkg_idle_wkups Tuint64_t
  2641. Fri_child_interrupt_wkups Tuint64_t
  2642. Fri_child_pageins Tuint64_t
  2643. Fri_child_elapsed_abstime Tuint64_t
  2644. }
  2645. type Trusage_info_v2 = struct {
  2646. Fri_uuid [16]Tuint8_t
  2647. Fri_user_time Tuint64_t
  2648. Fri_system_time Tuint64_t
  2649. Fri_pkg_idle_wkups Tuint64_t
  2650. Fri_interrupt_wkups Tuint64_t
  2651. Fri_pageins Tuint64_t
  2652. Fri_wired_size Tuint64_t
  2653. Fri_resident_size Tuint64_t
  2654. Fri_phys_footprint Tuint64_t
  2655. Fri_proc_start_abstime Tuint64_t
  2656. Fri_proc_exit_abstime Tuint64_t
  2657. Fri_child_user_time Tuint64_t
  2658. Fri_child_system_time Tuint64_t
  2659. Fri_child_pkg_idle_wkups Tuint64_t
  2660. Fri_child_interrupt_wkups Tuint64_t
  2661. Fri_child_pageins Tuint64_t
  2662. Fri_child_elapsed_abstime Tuint64_t
  2663. Fri_diskio_bytesread Tuint64_t
  2664. Fri_diskio_byteswritten Tuint64_t
  2665. }
  2666. type Trusage_info_v3 = struct {
  2667. Fri_uuid [16]Tuint8_t
  2668. Fri_user_time Tuint64_t
  2669. Fri_system_time Tuint64_t
  2670. Fri_pkg_idle_wkups Tuint64_t
  2671. Fri_interrupt_wkups Tuint64_t
  2672. Fri_pageins Tuint64_t
  2673. Fri_wired_size Tuint64_t
  2674. Fri_resident_size Tuint64_t
  2675. Fri_phys_footprint Tuint64_t
  2676. Fri_proc_start_abstime Tuint64_t
  2677. Fri_proc_exit_abstime Tuint64_t
  2678. Fri_child_user_time Tuint64_t
  2679. Fri_child_system_time Tuint64_t
  2680. Fri_child_pkg_idle_wkups Tuint64_t
  2681. Fri_child_interrupt_wkups Tuint64_t
  2682. Fri_child_pageins Tuint64_t
  2683. Fri_child_elapsed_abstime Tuint64_t
  2684. Fri_diskio_bytesread Tuint64_t
  2685. Fri_diskio_byteswritten Tuint64_t
  2686. Fri_cpu_time_qos_default Tuint64_t
  2687. Fri_cpu_time_qos_maintenance Tuint64_t
  2688. Fri_cpu_time_qos_background Tuint64_t
  2689. Fri_cpu_time_qos_utility Tuint64_t
  2690. Fri_cpu_time_qos_legacy Tuint64_t
  2691. Fri_cpu_time_qos_user_initiated Tuint64_t
  2692. Fri_cpu_time_qos_user_interactive Tuint64_t
  2693. Fri_billed_system_time Tuint64_t
  2694. Fri_serviced_system_time Tuint64_t
  2695. }
  2696. type Trusage_info_v4 = struct {
  2697. Fri_uuid [16]Tuint8_t
  2698. Fri_user_time Tuint64_t
  2699. Fri_system_time Tuint64_t
  2700. Fri_pkg_idle_wkups Tuint64_t
  2701. Fri_interrupt_wkups Tuint64_t
  2702. Fri_pageins Tuint64_t
  2703. Fri_wired_size Tuint64_t
  2704. Fri_resident_size Tuint64_t
  2705. Fri_phys_footprint Tuint64_t
  2706. Fri_proc_start_abstime Tuint64_t
  2707. Fri_proc_exit_abstime Tuint64_t
  2708. Fri_child_user_time Tuint64_t
  2709. Fri_child_system_time Tuint64_t
  2710. Fri_child_pkg_idle_wkups Tuint64_t
  2711. Fri_child_interrupt_wkups Tuint64_t
  2712. Fri_child_pageins Tuint64_t
  2713. Fri_child_elapsed_abstime Tuint64_t
  2714. Fri_diskio_bytesread Tuint64_t
  2715. Fri_diskio_byteswritten Tuint64_t
  2716. Fri_cpu_time_qos_default Tuint64_t
  2717. Fri_cpu_time_qos_maintenance Tuint64_t
  2718. Fri_cpu_time_qos_background Tuint64_t
  2719. Fri_cpu_time_qos_utility Tuint64_t
  2720. Fri_cpu_time_qos_legacy Tuint64_t
  2721. Fri_cpu_time_qos_user_initiated Tuint64_t
  2722. Fri_cpu_time_qos_user_interactive Tuint64_t
  2723. Fri_billed_system_time Tuint64_t
  2724. Fri_serviced_system_time Tuint64_t
  2725. Fri_logical_writes Tuint64_t
  2726. Fri_lifetime_max_phys_footprint Tuint64_t
  2727. Fri_instructions Tuint64_t
  2728. Fri_cycles Tuint64_t
  2729. Fri_billed_energy Tuint64_t
  2730. Fri_serviced_energy Tuint64_t
  2731. Fri_interval_max_phys_footprint Tuint64_t
  2732. Fri_runnable_time Tuint64_t
  2733. }
  2734. type Trusage_info_v5 = struct {
  2735. Fri_uuid [16]Tuint8_t
  2736. Fri_user_time Tuint64_t
  2737. Fri_system_time Tuint64_t
  2738. Fri_pkg_idle_wkups Tuint64_t
  2739. Fri_interrupt_wkups Tuint64_t
  2740. Fri_pageins Tuint64_t
  2741. Fri_wired_size Tuint64_t
  2742. Fri_resident_size Tuint64_t
  2743. Fri_phys_footprint Tuint64_t
  2744. Fri_proc_start_abstime Tuint64_t
  2745. Fri_proc_exit_abstime Tuint64_t
  2746. Fri_child_user_time Tuint64_t
  2747. Fri_child_system_time Tuint64_t
  2748. Fri_child_pkg_idle_wkups Tuint64_t
  2749. Fri_child_interrupt_wkups Tuint64_t
  2750. Fri_child_pageins Tuint64_t
  2751. Fri_child_elapsed_abstime Tuint64_t
  2752. Fri_diskio_bytesread Tuint64_t
  2753. Fri_diskio_byteswritten Tuint64_t
  2754. Fri_cpu_time_qos_default Tuint64_t
  2755. Fri_cpu_time_qos_maintenance Tuint64_t
  2756. Fri_cpu_time_qos_background Tuint64_t
  2757. Fri_cpu_time_qos_utility Tuint64_t
  2758. Fri_cpu_time_qos_legacy Tuint64_t
  2759. Fri_cpu_time_qos_user_initiated Tuint64_t
  2760. Fri_cpu_time_qos_user_interactive Tuint64_t
  2761. Fri_billed_system_time Tuint64_t
  2762. Fri_serviced_system_time Tuint64_t
  2763. Fri_logical_writes Tuint64_t
  2764. Fri_lifetime_max_phys_footprint Tuint64_t
  2765. Fri_instructions Tuint64_t
  2766. Fri_cycles Tuint64_t
  2767. Fri_billed_energy Tuint64_t
  2768. Fri_serviced_energy Tuint64_t
  2769. Fri_interval_max_phys_footprint Tuint64_t
  2770. Fri_runnable_time Tuint64_t
  2771. Fri_flags Tuint64_t
  2772. }
  2773. type Trusage_info_v6 = struct {
  2774. Fri_uuid [16]Tuint8_t
  2775. Fri_user_time Tuint64_t
  2776. Fri_system_time Tuint64_t
  2777. Fri_pkg_idle_wkups Tuint64_t
  2778. Fri_interrupt_wkups Tuint64_t
  2779. Fri_pageins Tuint64_t
  2780. Fri_wired_size Tuint64_t
  2781. Fri_resident_size Tuint64_t
  2782. Fri_phys_footprint Tuint64_t
  2783. Fri_proc_start_abstime Tuint64_t
  2784. Fri_proc_exit_abstime Tuint64_t
  2785. Fri_child_user_time Tuint64_t
  2786. Fri_child_system_time Tuint64_t
  2787. Fri_child_pkg_idle_wkups Tuint64_t
  2788. Fri_child_interrupt_wkups Tuint64_t
  2789. Fri_child_pageins Tuint64_t
  2790. Fri_child_elapsed_abstime Tuint64_t
  2791. Fri_diskio_bytesread Tuint64_t
  2792. Fri_diskio_byteswritten Tuint64_t
  2793. Fri_cpu_time_qos_default Tuint64_t
  2794. Fri_cpu_time_qos_maintenance Tuint64_t
  2795. Fri_cpu_time_qos_background Tuint64_t
  2796. Fri_cpu_time_qos_utility Tuint64_t
  2797. Fri_cpu_time_qos_legacy Tuint64_t
  2798. Fri_cpu_time_qos_user_initiated Tuint64_t
  2799. Fri_cpu_time_qos_user_interactive Tuint64_t
  2800. Fri_billed_system_time Tuint64_t
  2801. Fri_serviced_system_time Tuint64_t
  2802. Fri_logical_writes Tuint64_t
  2803. Fri_lifetime_max_phys_footprint Tuint64_t
  2804. Fri_instructions Tuint64_t
  2805. Fri_cycles Tuint64_t
  2806. Fri_billed_energy Tuint64_t
  2807. Fri_serviced_energy Tuint64_t
  2808. Fri_interval_max_phys_footprint Tuint64_t
  2809. Fri_runnable_time Tuint64_t
  2810. Fri_flags Tuint64_t
  2811. Fri_user_ptime Tuint64_t
  2812. Fri_system_ptime Tuint64_t
  2813. Fri_pinstructions Tuint64_t
  2814. Fri_pcycles Tuint64_t
  2815. Fri_energy_nj Tuint64_t
  2816. Fri_penergy_nj Tuint64_t
  2817. Fri_secure_time_in_system Tuint64_t
  2818. Fri_secure_ptime_in_system Tuint64_t
  2819. Fri_reserved [12]Tuint64_t
  2820. }
  2821. type Trusage_info_current = struct {
  2822. Fri_uuid [16]Tuint8_t
  2823. Fri_user_time Tuint64_t
  2824. Fri_system_time Tuint64_t
  2825. Fri_pkg_idle_wkups Tuint64_t
  2826. Fri_interrupt_wkups Tuint64_t
  2827. Fri_pageins Tuint64_t
  2828. Fri_wired_size Tuint64_t
  2829. Fri_resident_size Tuint64_t
  2830. Fri_phys_footprint Tuint64_t
  2831. Fri_proc_start_abstime Tuint64_t
  2832. Fri_proc_exit_abstime Tuint64_t
  2833. Fri_child_user_time Tuint64_t
  2834. Fri_child_system_time Tuint64_t
  2835. Fri_child_pkg_idle_wkups Tuint64_t
  2836. Fri_child_interrupt_wkups Tuint64_t
  2837. Fri_child_pageins Tuint64_t
  2838. Fri_child_elapsed_abstime Tuint64_t
  2839. Fri_diskio_bytesread Tuint64_t
  2840. Fri_diskio_byteswritten Tuint64_t
  2841. Fri_cpu_time_qos_default Tuint64_t
  2842. Fri_cpu_time_qos_maintenance Tuint64_t
  2843. Fri_cpu_time_qos_background Tuint64_t
  2844. Fri_cpu_time_qos_utility Tuint64_t
  2845. Fri_cpu_time_qos_legacy Tuint64_t
  2846. Fri_cpu_time_qos_user_initiated Tuint64_t
  2847. Fri_cpu_time_qos_user_interactive Tuint64_t
  2848. Fri_billed_system_time Tuint64_t
  2849. Fri_serviced_system_time Tuint64_t
  2850. Fri_logical_writes Tuint64_t
  2851. Fri_lifetime_max_phys_footprint Tuint64_t
  2852. Fri_instructions Tuint64_t
  2853. Fri_cycles Tuint64_t
  2854. Fri_billed_energy Tuint64_t
  2855. Fri_serviced_energy Tuint64_t
  2856. Fri_interval_max_phys_footprint Tuint64_t
  2857. Fri_runnable_time Tuint64_t
  2858. Fri_flags Tuint64_t
  2859. Fri_user_ptime Tuint64_t
  2860. Fri_system_ptime Tuint64_t
  2861. Fri_pinstructions Tuint64_t
  2862. Fri_pcycles Tuint64_t
  2863. Fri_energy_nj Tuint64_t
  2864. Fri_penergy_nj Tuint64_t
  2865. Fri_secure_time_in_system Tuint64_t
  2866. Fri_secure_ptime_in_system Tuint64_t
  2867. Fri_reserved [12]Tuint64_t
  2868. }
  2869. type Trlimit = struct {
  2870. Frlim_cur Trlim_t
  2871. Frlim_max Trlim_t
  2872. }
  2873. type Tproc_rlimit_control_wakeupmon = struct {
  2874. Fwm_flags Tuint32_t
  2875. Fwm_rate Tint32_t
  2876. }
  2877. type Twait = struct {
  2878. Fw_T [0]struct {
  2879. F__ccgo0 uint32
  2880. }
  2881. Fw_S [0]struct {
  2882. F__ccgo0 uint32
  2883. }
  2884. Fw_status int32
  2885. }
  2886. type Tct_rune_t = int32
  2887. type Trune_t = int32
  2888. type Twchar_t = int32
  2889. type Tdiv_t = struct {
  2890. Fquot int32
  2891. Frem int32
  2892. }
  2893. type Tldiv_t = struct {
  2894. Fquot int64
  2895. Frem int64
  2896. }
  2897. type Tlldiv_t = struct {
  2898. Fquot int64
  2899. Frem int64
  2900. }
  2901. type Tmalloc_type_id_t = uint64
  2902. type Tdev_t = int32
  2903. type Tmode_t = uint16
  2904. type Tva_list = uintptr
  2905. type Tfpos_t = int64
  2906. type t__sbuf = struct {
  2907. F_base uintptr
  2908. F_size int32
  2909. }
  2910. type TFILE = struct {
  2911. F_p uintptr
  2912. F_r int32
  2913. F_w int32
  2914. F_flags int16
  2915. F_file int16
  2916. F_bf t__sbuf
  2917. F_lbfsize int32
  2918. F_cookie uintptr
  2919. F_close uintptr
  2920. F_read uintptr
  2921. F_seek uintptr
  2922. F_write uintptr
  2923. F_ub t__sbuf
  2924. F_extra uintptr
  2925. F_ur int32
  2926. F_ubuf [3]uint8
  2927. F_nbuf [1]uint8
  2928. F_lb t__sbuf
  2929. F_blksize int32
  2930. F_offset Tfpos_t
  2931. }
  2932. type t__sFILE = TFILE
  2933. type Toff_t = int64
  2934. type Tssize_t = int64
  2935. type Trsize_t = uint64
  2936. type Terrno_t = int32
  2937. type Twint_t = int32
  2938. type T_RuneEntry = struct {
  2939. F__min t__darwin_rune_t
  2940. F__max t__darwin_rune_t
  2941. F__map t__darwin_rune_t
  2942. F__types uintptr
  2943. }
  2944. type T_RuneRange = struct {
  2945. F__nranges int32
  2946. F__ranges uintptr
  2947. }
  2948. type T_RuneCharClass = struct {
  2949. F__name [14]int8
  2950. F__mask t__uint32_t
  2951. }
  2952. type T_RuneLocale = struct {
  2953. F__magic [8]int8
  2954. F__encoding [32]int8
  2955. F__sgetrune uintptr
  2956. F__sputrune uintptr
  2957. F__invalid_rune t__darwin_rune_t
  2958. F__runetype [256]t__uint32_t
  2959. F__maplower [256]t__darwin_rune_t
  2960. F__mapupper [256]t__darwin_rune_t
  2961. F__runetype_ext T_RuneRange
  2962. F__maplower_ext T_RuneRange
  2963. F__mapupper_ext T_RuneRange
  2964. F__variable uintptr
  2965. F__variable_len int32
  2966. F__ncharclasses int32
  2967. F__charclasses uintptr
  2968. }
  2969. type Tfloat_t = float32
  2970. type Tdouble_t = float64
  2971. type t__float2 = struct {
  2972. F__sinval float32
  2973. F__cosval float32
  2974. }
  2975. type t__double2 = struct {
  2976. F__sinval float64
  2977. F__cosval float64
  2978. }
  2979. type Texception = struct {
  2980. Ftype1 int32
  2981. Fname uintptr
  2982. Farg1 float64
  2983. Farg2 float64
  2984. Fretval float64
  2985. }
  2986. type Taccessx_descriptor = struct {
  2987. Fad_name_offset uint32
  2988. Fad_flags int32
  2989. Fad_pad [2]int32
  2990. }
  2991. type Tgid_t = uint32
  2992. type Tuseconds_t = uint32
  2993. type Tfd_set = struct {
  2994. Ffds_bits [32]t__int32_t
  2995. }
  2996. type Ttimespec = struct {
  2997. Ftv_sec t__darwin_time_t
  2998. Ftv_nsec int64
  2999. }
  3000. type Ttime_t = int64
  3001. type Tsuseconds_t = int32
  3002. type Tuuid_t = [16]uint8
  3003. type Tptrdiff_t = int64
  3004. type Tmax_align_t = float64
  3005. type Tu_char = uint8
  3006. type Tu_short = uint16
  3007. type Tu_int = uint32
  3008. type Tu_long = uint64
  3009. type Tushort = uint16
  3010. type Tuint = uint32
  3011. type Tu_quad_t = uint64
  3012. type Tquad_t = int64
  3013. type Tqaddr_t = uintptr
  3014. type Tcaddr_t = uintptr
  3015. type Tdaddr_t = int32
  3016. type Tfixpt_t = uint32
  3017. type Tblkcnt_t = int64
  3018. type Tblksize_t = int32
  3019. type Tin_addr_t = uint32
  3020. type Tin_port_t = uint16
  3021. type Tino_t = uint64
  3022. type Tino64_t = uint64
  3023. type Tkey_t = int32
  3024. type Tnlink_t = uint16
  3025. type Tsegsz_t = int32
  3026. type Tswblk_t = int32
  3027. type Tclock_t = uint64
  3028. type Tfd_mask = int32
  3029. type Tpthread_cond_t = struct {
  3030. F__sig int64
  3031. F__opaque [40]int8
  3032. }
  3033. type Tpthread_condattr_t = struct {
  3034. F__sig int64
  3035. F__opaque [8]int8
  3036. }
  3037. type Tpthread_mutex_t = struct {
  3038. F__sig int64
  3039. F__opaque [56]int8
  3040. }
  3041. type Tpthread_mutexattr_t = struct {
  3042. F__sig int64
  3043. F__opaque [8]int8
  3044. }
  3045. type Tpthread_once_t = struct {
  3046. F__sig int64
  3047. F__opaque [8]int8
  3048. }
  3049. type Tpthread_rwlock_t = struct {
  3050. F__sig int64
  3051. F__opaque [192]int8
  3052. }
  3053. type Tpthread_rwlockattr_t = struct {
  3054. F__sig int64
  3055. F__opaque [16]int8
  3056. }
  3057. type Tpthread_t = uintptr
  3058. type Tpthread_key_t = uint64
  3059. type Tfsblkcnt_t = uint32
  3060. type Tfsfilcnt_t = uint32
  3061. type Tostat = struct {
  3062. Fst_dev t__uint16_t
  3063. Fst_ino Tino_t
  3064. Fst_mode Tmode_t
  3065. Fst_nlink Tnlink_t
  3066. Fst_uid t__uint16_t
  3067. Fst_gid t__uint16_t
  3068. Fst_rdev t__uint16_t
  3069. Fst_size t__int32_t
  3070. Fst_atimespec Ttimespec
  3071. Fst_mtimespec Ttimespec
  3072. Fst_ctimespec Ttimespec
  3073. Fst_blksize t__int32_t
  3074. Fst_blocks t__int32_t
  3075. Fst_flags t__uint32_t
  3076. Fst_gen t__uint32_t
  3077. }
  3078. type Tstat = struct {
  3079. Fst_dev Tdev_t
  3080. Fst_mode Tmode_t
  3081. Fst_nlink Tnlink_t
  3082. Fst_ino t__darwin_ino64_t
  3083. Fst_uid Tuid_t
  3084. Fst_gid Tgid_t
  3085. Fst_rdev Tdev_t
  3086. Fst_atimespec Ttimespec
  3087. Fst_mtimespec Ttimespec
  3088. Fst_ctimespec Ttimespec
  3089. Fst_birthtimespec Ttimespec
  3090. Fst_size Toff_t
  3091. Fst_blocks Tblkcnt_t
  3092. Fst_blksize Tblksize_t
  3093. Fst_flags t__uint32_t
  3094. Fst_gen t__uint32_t
  3095. Fst_lspare t__int32_t
  3096. Fst_qspare [2]t__int64_t
  3097. }
  3098. type Tstat64 = struct {
  3099. Fst_dev Tdev_t
  3100. Fst_mode Tmode_t
  3101. Fst_nlink Tnlink_t
  3102. Fst_ino t__darwin_ino64_t
  3103. Fst_uid Tuid_t
  3104. Fst_gid Tgid_t
  3105. Fst_rdev Tdev_t
  3106. Fst_atimespec Ttimespec
  3107. Fst_mtimespec Ttimespec
  3108. Fst_ctimespec Ttimespec
  3109. Fst_birthtimespec Ttimespec
  3110. Fst_size Toff_t
  3111. Fst_blocks Tblkcnt_t
  3112. Fst_blksize Tblksize_t
  3113. Fst_flags t__uint32_t
  3114. Fst_gen t__uint32_t
  3115. Fst_lspare t__int32_t
  3116. Fst_qspare [2]t__int64_t
  3117. }
  3118. type Tfilesec_t = uintptr
  3119. type Ttm = struct {
  3120. Ftm_sec int32
  3121. Ftm_min int32
  3122. Ftm_hour int32
  3123. Ftm_mday int32
  3124. Ftm_mon int32
  3125. Ftm_year int32
  3126. Ftm_wday int32
  3127. Ftm_yday int32
  3128. Ftm_isdst int32
  3129. Ftm_gmtoff int64
  3130. Ftm_zone uintptr
  3131. } //TODO "timezone" // time.h:103:13:
  3132. type Tclockid_t = int32
  3133. const __CLOCK_REALTIME = 0
  3134. const __CLOCK_MONOTONIC = 6
  3135. const __CLOCK_MONOTONIC_RAW = 4
  3136. const __CLOCK_MONOTONIC_RAW_APPROX = 5
  3137. const __CLOCK_UPTIME_RAW = 8
  3138. const __CLOCK_UPTIME_RAW_APPROX = 9
  3139. const __CLOCK_PROCESS_CPUTIME_ID = 12
  3140. const __CLOCK_THREAD_CPUTIME_ID = 16
  3141. type t__gnuc_va_list = uintptr
  3142. type TFcChar8 = uint8
  3143. type TFcChar16 = uint16
  3144. type TFcChar32 = uint32
  3145. type TFcBool = int32
  3146. type TFcType = int32
  3147. type __FcType = int32
  3148. const _FcTypeUnknown = -1
  3149. const _FcTypeVoid = 0
  3150. const _FcTypeInteger = 1
  3151. const _FcTypeDouble = 2
  3152. const _FcTypeString = 3
  3153. const _FcTypeBool = 4
  3154. const _FcTypeMatrix = 5
  3155. const _FcTypeCharSet = 6
  3156. const _FcTypeFTFace = 7
  3157. const _FcTypeLangSet = 8
  3158. const _FcTypeRange = 9
  3159. type TFcMatrix = struct {
  3160. Fxx float64
  3161. Fxy float64
  3162. Fyx float64
  3163. Fyy float64
  3164. }
  3165. type T_FcMatrix = TFcMatrix
  3166. type TFcCharSet = struct {
  3167. Fref TFcRef
  3168. Fnum int32
  3169. Fleaves_offset Tintptr_t
  3170. Fnumbers_offset Tintptr_t
  3171. }
  3172. type T_FcCharSet = TFcCharSet
  3173. type TFcObjectType = struct {
  3174. Fobject uintptr
  3175. Ftype1 TFcType
  3176. }
  3177. type T_FcObjectType = TFcObjectType
  3178. type TFcConstant = struct {
  3179. Fname uintptr
  3180. Fobject uintptr
  3181. Fvalue int32
  3182. }
  3183. type T_FcConstant = TFcConstant
  3184. type TFcResult = int32
  3185. type __FcResult = int32
  3186. const _FcResultMatch = 0
  3187. const _FcResultNoMatch = 1
  3188. const _FcResultTypeMismatch = 2
  3189. const _FcResultNoId = 3
  3190. const _FcResultOutOfMemory = 4
  3191. type TFcValueBinding = int32
  3192. type __FcValueBinding = int32
  3193. const _FcValueBindingWeak = 0
  3194. const _FcValueBindingStrong = 1
  3195. const _FcValueBindingSame = 2
  3196. const _FcValueBindingEnd = 2147483647
  3197. type TFcPattern = struct {
  3198. Fnum int32
  3199. Fsize int32
  3200. Felts_offset Tintptr_t
  3201. Fref TFcRef
  3202. }
  3203. type T_FcPattern = TFcPattern
  3204. type TFcPatternIter = struct {
  3205. Fdummy1 uintptr
  3206. Fdummy2 uintptr
  3207. }
  3208. type T_FcPatternIter = TFcPatternIter
  3209. type TFcRange = struct {
  3210. Fbegin float64
  3211. Fend float64
  3212. }
  3213. type T_FcRange = TFcRange
  3214. type TFcValue = struct {
  3215. Ftype1 TFcType
  3216. Fu struct {
  3217. Fi [0]int32
  3218. Fb [0]TFcBool
  3219. Fd [0]float64
  3220. Fm [0]uintptr
  3221. Fc [0]uintptr
  3222. Ff [0]uintptr
  3223. Fl [0]uintptr
  3224. Fr [0]uintptr
  3225. Fs uintptr
  3226. }
  3227. }
  3228. type T_FcValue = TFcValue
  3229. type TFcFontSet = struct {
  3230. Fnfont int32
  3231. Fsfont int32
  3232. Ffonts uintptr
  3233. }
  3234. type T_FcFontSet = TFcFontSet
  3235. type TFcObjectSet = struct {
  3236. Fnobject int32
  3237. Fsobject int32
  3238. Fobjects uintptr
  3239. }
  3240. type T_FcObjectSet = TFcObjectSet
  3241. type TFcMatchKind = int32
  3242. type __FcMatchKind = int32
  3243. const _FcMatchPattern = 0
  3244. const _FcMatchFont = 1
  3245. const _FcMatchScan = 2
  3246. const _FcMatchKindEnd = 3
  3247. const _FcMatchKindBegin = 0
  3248. type TFcLangResult = int32
  3249. type __FcLangResult = int32
  3250. const _FcLangEqual = 0
  3251. const _FcLangDifferentCountry = 1
  3252. const _FcLangDifferentTerritory = 1
  3253. const _FcLangDifferentLang = 2
  3254. type TFcSetName = int32
  3255. type __FcSetName = int32
  3256. const _FcSetSystem = 0
  3257. const _FcSetApplication = 1
  3258. type TFcConfigFileInfoIter = struct {
  3259. Fdummy1 uintptr
  3260. Fdummy2 uintptr
  3261. Fdummy3 uintptr
  3262. }
  3263. type T_FcConfigFileInfoIter = TFcConfigFileInfoIter
  3264. type TFcAtomic = struct {
  3265. Ffile uintptr
  3266. Fnew1 uintptr
  3267. Flck uintptr
  3268. Ftmp uintptr
  3269. }
  3270. type T_FcAtomic = TFcAtomic
  3271. type TFcEndian = int32
  3272. const _FcEndianBig = 0
  3273. const _FcEndianLittle = 1
  3274. type TFcConfig = struct {
  3275. FconfigDirs uintptr
  3276. FconfigMapDirs uintptr
  3277. FfontDirs uintptr
  3278. FcacheDirs uintptr
  3279. FconfigFiles uintptr
  3280. Fsubst [3]uintptr
  3281. FmaxObjects int32
  3282. FacceptGlobs uintptr
  3283. FrejectGlobs uintptr
  3284. FacceptPatterns uintptr
  3285. FrejectPatterns uintptr
  3286. Ffonts [2]uintptr
  3287. FrescanTime Ttime_t
  3288. FrescanInterval int32
  3289. Fref TFcRef
  3290. Fexpr_pool uintptr
  3291. FsysRoot uintptr
  3292. FavailConfigFiles uintptr
  3293. FrulesetList uintptr
  3294. }
  3295. type T_FcConfig = TFcConfig
  3296. type TFcStrList = struct {
  3297. Fset uintptr
  3298. Fn int32
  3299. }
  3300. type T_FcStrList = TFcStrList
  3301. type TFcStrSet = struct {
  3302. Fref TFcRef
  3303. Fnum int32
  3304. Fsize int32
  3305. Fstrs uintptr
  3306. Fcontrol uint32
  3307. }
  3308. type T_FcStrSet = TFcStrSet
  3309. type TFcCache = struct {
  3310. Fmagic uint32
  3311. Fversion int32
  3312. Fsize Tintptr_t
  3313. Fdir Tintptr_t
  3314. Fdirs Tintptr_t
  3315. Fdirs_count int32
  3316. Fset Tintptr_t
  3317. Fchecksum int32
  3318. Fchecksum_nano Tint64_t
  3319. }
  3320. type T_FcCache = TFcCache
  3321. type Tfc_mutex_impl_t = int32
  3322. type TFcMutex = int32
  3323. type Tfc_atomic_int_t = int32
  3324. type TFcRef = struct {
  3325. Fcount Tfc_atomic_int_t
  3326. }
  3327. type T_FcRef = TFcRef
  3328. type T_static_assert_on_line_141_failed = [1]int32
  3329. type TFcValueListPtr = uintptr
  3330. type T_FcValueList = struct {
  3331. Fnext uintptr
  3332. Fvalue TFcValue
  3333. Fbinding TFcValueBinding
  3334. }
  3335. type TFcValueList = struct {
  3336. Fnext uintptr
  3337. Fvalue TFcValue
  3338. Fbinding TFcValueBinding
  3339. }
  3340. type TFcObject = int32
  3341. type TFcPatternEltPtr = uintptr
  3342. type T_FcPatternElt = struct {
  3343. Fobject TFcObject
  3344. Fvalues uintptr
  3345. }
  3346. type TFcPatternElt = struct {
  3347. Fobject TFcObject
  3348. Fvalues uintptr
  3349. }
  3350. type TFcOp = int32
  3351. type __FcOp = int32
  3352. const _FcOpInteger = 0
  3353. const _FcOpDouble = 1
  3354. const _FcOpString = 2
  3355. const _FcOpMatrix = 3
  3356. const _FcOpRange = 4
  3357. const _FcOpBool = 5
  3358. const _FcOpCharSet = 6
  3359. const _FcOpLangSet = 7
  3360. const _FcOpNil = 8
  3361. const _FcOpField = 9
  3362. const _FcOpConst = 10
  3363. const _FcOpAssign = 11
  3364. const _FcOpAssignReplace = 12
  3365. const _FcOpPrependFirst = 13
  3366. const _FcOpPrepend = 14
  3367. const _FcOpAppend = 15
  3368. const _FcOpAppendLast = 16
  3369. const _FcOpDelete = 17
  3370. const _FcOpDeleteAll = 18
  3371. const _FcOpQuest = 19
  3372. const _FcOpOr = 20
  3373. const _FcOpAnd = 21
  3374. const _FcOpEqual = 22
  3375. const _FcOpNotEqual = 23
  3376. const _FcOpContains = 24
  3377. const _FcOpListing = 25
  3378. const _FcOpNotContains = 26
  3379. const _FcOpLess = 27
  3380. const _FcOpLessEqual = 28
  3381. const _FcOpMore = 29
  3382. const _FcOpMoreEqual = 30
  3383. const _FcOpPlus = 31
  3384. const _FcOpMinus = 32
  3385. const _FcOpTimes = 33
  3386. const _FcOpDivide = 34
  3387. const _FcOpNot = 35
  3388. const _FcOpComma = 36
  3389. const _FcOpFloor = 37
  3390. const _FcOpCeil = 38
  3391. const _FcOpRound = 39
  3392. const _FcOpTrunc = 40
  3393. const _FcOpInvalid = 41
  3394. type TFcOpFlags = int32
  3395. type __FcOpFlags = int32
  3396. const _FcOpFlagIgnoreBlanks = 1
  3397. type TFcExprMatrix = struct {
  3398. Fxx uintptr
  3399. Fxy uintptr
  3400. Fyx uintptr
  3401. Fyy uintptr
  3402. }
  3403. type T_FcExprMatrix = TFcExprMatrix
  3404. type TFcExprName = struct {
  3405. Fobject TFcObject
  3406. Fkind TFcMatchKind
  3407. }
  3408. type T_FcExprName = TFcExprName
  3409. type TFcExpr = struct {
  3410. Fop TFcOp
  3411. Fu struct {
  3412. Fdval [0]float64
  3413. Fsval [0]uintptr
  3414. Fmexpr [0]uintptr
  3415. Fbval [0]TFcBool
  3416. Fcval [0]uintptr
  3417. Flval [0]uintptr
  3418. Frval [0]uintptr
  3419. Fname [0]TFcExprName
  3420. Fconstant [0]uintptr
  3421. Ftree [0]struct {
  3422. Fleft uintptr
  3423. Fright uintptr
  3424. }
  3425. Fival int32
  3426. F__ccgo_pad11 [12]byte
  3427. }
  3428. }
  3429. type T_FcExpr = TFcExpr
  3430. type TFcExprPage = struct {
  3431. Fnext_page uintptr
  3432. Fnext uintptr
  3433. Fexprs [340]TFcExpr
  3434. }
  3435. type T_FcExprPage = TFcExprPage
  3436. type TFcQual = int32
  3437. type __FcQual = int32
  3438. const _FcQualAny = 0
  3439. const _FcQualAll = 1
  3440. const _FcQualFirst = 2
  3441. const _FcQualNotFirst = 3
  3442. type TFcTest = struct {
  3443. Fkind TFcMatchKind
  3444. Fqual TFcQual
  3445. Fobject TFcObject
  3446. Fop TFcOp
  3447. Fexpr uintptr
  3448. }
  3449. type T_FcTest = TFcTest
  3450. type TFcEdit = struct {
  3451. Fobject TFcObject
  3452. Fop TFcOp
  3453. Fexpr uintptr
  3454. Fbinding TFcValueBinding
  3455. }
  3456. type T_FcEdit = TFcEdit
  3457. type TFcDestroyFunc = uintptr
  3458. type TFcPtrListIter = struct {
  3459. Fdummy1 uintptr
  3460. Fdummy2 uintptr
  3461. Fdummy3 uintptr
  3462. }
  3463. type T_FcPtrListIter = TFcPtrListIter
  3464. type TFcRuleType = int32
  3465. type __FcRuleType = int32
  3466. const _FcRuleUnknown = 0
  3467. const _FcRuleTest = 1
  3468. const _FcRuleEdit = 2
  3469. type TFcRule = struct {
  3470. Fnext uintptr
  3471. Ftype1 TFcRuleType
  3472. Fu struct {
  3473. Fedit [0]uintptr
  3474. Ftest uintptr
  3475. }
  3476. }
  3477. type T_FcRule = TFcRule
  3478. type TFcRuleSet = struct {
  3479. Fref TFcRef
  3480. Fname uintptr
  3481. Fdescription uintptr
  3482. Fdomain uintptr
  3483. Fenabled TFcBool
  3484. Fsubst [3]uintptr
  3485. }
  3486. type T_FcRuleSet = TFcRuleSet
  3487. type TFcCharLeaf = struct {
  3488. Fmap1 [8]TFcChar32
  3489. }
  3490. type T_FcCharLeaf = TFcCharLeaf
  3491. type TFcStrBuf = struct {
  3492. Fbuf uintptr
  3493. Fallocated TFcBool
  3494. Ffailed TFcBool
  3495. Flen1 int32
  3496. Fsize int32
  3497. Fbuf_static [128]TFcChar8
  3498. }
  3499. type T_FcStrBuf = TFcStrBuf
  3500. type TFcHashFunc = uintptr
  3501. type TFcCompareFunc = uintptr
  3502. type TFcCopyFunc = uintptr
  3503. type TFcAlign = struct {
  3504. Fi [0]int32
  3505. Fip [0]Tintptr_t
  3506. Fb [0]TFcBool
  3507. Fp [0]uintptr
  3508. Fd float64
  3509. }
  3510. type T_FcAlign = TFcAlign
  3511. type TFcSerializeBucket = struct {
  3512. Fobject uintptr
  3513. Fhash Tuintptr_t
  3514. Foffset Tintptr_t
  3515. }
  3516. type T_FcSerializeBucket = TFcSerializeBucket
  3517. type TFcSerialize = struct {
  3518. Fsize Tintptr_t
  3519. Fcs_freezer uintptr
  3520. Flinear uintptr
  3521. Fbuckets uintptr
  3522. Fbuckets_count Tsize_t
  3523. Fbuckets_used Tsize_t
  3524. Fbuckets_used_max Tsize_t
  3525. }
  3526. type T_FcSerialize = TFcSerialize
  3527. type TFcGlyphName = struct {
  3528. Fucs TFcChar32
  3529. Fname [1]TFcChar8
  3530. }
  3531. type T_FcGlyphName = TFcGlyphName
  3532. type TFcCaseFold = struct {
  3533. Fupper TFcChar32
  3534. F__ccgo4 uint16
  3535. Foffset int16
  3536. }
  3537. type T_FcCaseFold = TFcCaseFold
  3538. type TFcFileTime = struct {
  3539. Ftime Ttime_t
  3540. Fset TFcBool
  3541. }
  3542. type T_FcFileTime = TFcFileTime
  3543. type TFcStatFS = struct {
  3544. Fis_remote_fs TFcBool
  3545. Fis_mtime_broken TFcBool
  3546. }
  3547. type T_FcStatFS = TFcStatFS
  3548. type TFcValuePromotionBuffer = struct {
  3549. Fu struct {
  3550. Fi [0]int32
  3551. Fl [0]int64
  3552. Fc [0][256]int8
  3553. Fd float64
  3554. F__ccgo_pad4 [248]byte
  3555. }
  3556. }
  3557. type T_FcValuePromotionBuffer = TFcValuePromotionBuffer
  3558. const _FC_INVALID_OBJECT = 0
  3559. const _FC_FAMILY_OBJECT = 1
  3560. const _FC_FAMILYLANG_OBJECT = 2
  3561. const _FC_STYLE_OBJECT = 3
  3562. const _FC_STYLELANG_OBJECT = 4
  3563. const _FC_FULLNAME_OBJECT = 5
  3564. const _FC_FULLNAMELANG_OBJECT = 6
  3565. const _FC_SLANT_OBJECT = 7
  3566. const _FC_WEIGHT_OBJECT = 8
  3567. const _FC_WIDTH_OBJECT = 9
  3568. const _FC_SIZE_OBJECT = 10
  3569. const _FC_ASPECT_OBJECT = 11
  3570. const _FC_PIXEL_SIZE_OBJECT = 12
  3571. const _FC_SPACING_OBJECT = 13
  3572. const _FC_FOUNDRY_OBJECT = 14
  3573. const _FC_ANTIALIAS_OBJECT = 15
  3574. const _FC_HINT_STYLE_OBJECT = 16
  3575. const _FC_HINTING_OBJECT = 17
  3576. const _FC_VERTICAL_LAYOUT_OBJECT = 18
  3577. const _FC_AUTOHINT_OBJECT = 19
  3578. const _FC_GLOBAL_ADVANCE_OBJECT = 20
  3579. const _FC_FILE_OBJECT = 21
  3580. const _FC_INDEX_OBJECT = 22
  3581. const _FC_RASTERIZER_OBJECT = 23
  3582. const _FC_OUTLINE_OBJECT = 24
  3583. const _FC_SCALABLE_OBJECT = 25
  3584. const _FC_DPI_OBJECT = 26
  3585. const _FC_RGBA_OBJECT = 27
  3586. const _FC_SCALE_OBJECT = 28
  3587. const _FC_MINSPACE_OBJECT = 29
  3588. const _FC_CHARWIDTH_OBJECT = 30
  3589. const _FC_CHAR_HEIGHT_OBJECT = 31
  3590. const _FC_MATRIX_OBJECT = 32
  3591. const _FC_CHARSET_OBJECT = 33
  3592. const _FC_LANG_OBJECT = 34
  3593. const _FC_FONTVERSION_OBJECT = 35
  3594. const _FC_CAPABILITY_OBJECT = 36
  3595. const _FC_FONTFORMAT_OBJECT = 37
  3596. const _FC_EMBOLDEN_OBJECT = 38
  3597. const _FC_EMBEDDED_BITMAP_OBJECT = 39
  3598. const _FC_DECORATIVE_OBJECT = 40
  3599. const _FC_LCD_FILTER_OBJECT = 41
  3600. const _FC_NAMELANG_OBJECT = 42
  3601. const _FC_FONT_FEATURES_OBJECT = 43
  3602. const _FC_PRGNAME_OBJECT = 44
  3603. const _FC_HASH_OBJECT = 45
  3604. const _FC_POSTSCRIPT_NAME_OBJECT = 46
  3605. const _FC_COLOR_OBJECT = 47
  3606. const _FC_SYMBOL_OBJECT = 48
  3607. const _FC_FONT_VARIATIONS_OBJECT = 49
  3608. const _FC_VARIABLE_OBJECT = 50
  3609. const _FC_FONT_HAS_HINT_OBJECT = 51
  3610. const _FC_ORDER_OBJECT = 52
  3611. const _FC_ONE_AFTER_MAX_BASE_OBJECT = 53
  3612. /*
  3613. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  3614. *
  3615. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3616. *
  3617. * This file contains Original Code and/or Modifications of Original Code
  3618. * as defined in and that are subject to the Apple Public Source License
  3619. * Version 2.0 (the 'License'). You may not use this file except in
  3620. * compliance with the License. The rights granted to you under the License
  3621. * may not be used to create, or enable the creation or redistribution of,
  3622. * unlawful or unlicensed copies of an Apple operating system, or to
  3623. * circumvent, violate, or enable the circumvention or violation of, any
  3624. * terms of an Apple operating system software license agreement.
  3625. *
  3626. * Please obtain a copy of the License at
  3627. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3628. *
  3629. * The Original Code and all software distributed under the License are
  3630. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3631. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3632. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3633. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3634. * Please see the License for the specific language governing rights and
  3635. * limitations under the License.
  3636. *
  3637. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3638. */
  3639. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3640. /*
  3641. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  3642. * The Regents of the University of California. All rights reserved.
  3643. * (c) UNIX System Laboratories, Inc.
  3644. * All or some portions of this file are derived from material licensed
  3645. * to the University of California by American Telephone and Telegraph
  3646. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3647. * the permission of UNIX System Laboratories, Inc.
  3648. *
  3649. * Redistribution and use in source and binary forms, with or without
  3650. * modification, are permitted provided that the following conditions
  3651. * are met:
  3652. * 1. Redistributions of source code must retain the above copyright
  3653. * notice, this list of conditions and the following disclaimer.
  3654. * 2. Redistributions in binary form must reproduce the above copyright
  3655. * notice, this list of conditions and the following disclaimer in the
  3656. * documentation and/or other materials provided with the distribution.
  3657. * 3. All advertising materials mentioning features or use of this software
  3658. * must display the following acknowledgement:
  3659. * This product includes software developed by the University of
  3660. * California, Berkeley and its contributors.
  3661. * 4. Neither the name of the University nor the names of its contributors
  3662. * may be used to endorse or promote products derived from this software
  3663. * without specific prior written permission.
  3664. *
  3665. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3666. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3667. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3668. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3669. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3670. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3671. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3672. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3673. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3674. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3675. * SUCH DAMAGE.
  3676. *
  3677. * @(#)types.h 8.4 (Berkeley) 1/21/94
  3678. */
  3679. /*
  3680. * Copyright (c) 2000-2014 Apple Inc. All rights reserved.
  3681. *
  3682. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  3683. *
  3684. * This file contains Original Code and/or Modifications of Original Code
  3685. * as defined in and that are subject to the Apple Public Source License
  3686. * Version 2.0 (the 'License'). You may not use this file except in
  3687. * compliance with the License. The rights granted to you under the License
  3688. * may not be used to create, or enable the creation or redistribution of,
  3689. * unlawful or unlicensed copies of an Apple operating system, or to
  3690. * circumvent, violate, or enable the circumvention or violation of, any
  3691. * terms of an Apple operating system software license agreement.
  3692. *
  3693. * Please obtain a copy of the License at
  3694. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  3695. *
  3696. * The Original Code and all software distributed under the License are
  3697. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3698. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3699. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3700. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3701. * Please see the License for the specific language governing rights and
  3702. * limitations under the License.
  3703. *
  3704. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  3705. */
  3706. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  3707. /*-
  3708. * Copyright (c) 1982, 1986, 1989, 1993
  3709. * The Regents of the University of California. All rights reserved.
  3710. * (c) UNIX System Laboratories, Inc.
  3711. * All or some portions of this file are derived from material licensed
  3712. * to the University of California by American Telephone and Telegraph
  3713. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3714. * the permission of UNIX System Laboratories, Inc.
  3715. *
  3716. * Redistribution and use in source and binary forms, with or without
  3717. * modification, are permitted provided that the following conditions
  3718. * are met:
  3719. * 1. Redistributions of source code must retain the above copyright
  3720. * notice, this list of conditions and the following disclaimer.
  3721. * 2. Redistributions in binary form must reproduce the above copyright
  3722. * notice, this list of conditions and the following disclaimer in the
  3723. * documentation and/or other materials provided with the distribution.
  3724. * 3. All advertising materials mentioning features or use of this software
  3725. * must display the following acknowledgement:
  3726. * This product includes software developed by the University of
  3727. * California, Berkeley and its contributors.
  3728. * 4. Neither the name of the University nor the names of its contributors
  3729. * may be used to endorse or promote products derived from this software
  3730. * without specific prior written permission.
  3731. *
  3732. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3733. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3734. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3735. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3736. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3737. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3738. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3739. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3740. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3741. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3742. * SUCH DAMAGE.
  3743. *
  3744. * @(#)stat.h 8.9 (Berkeley) 8/17/94
  3745. */
  3746. /*
  3747. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  3748. *
  3749. * @APPLE_LICENSE_HEADER_START@
  3750. *
  3751. * This file contains Original Code and/or Modifications of Original Code
  3752. * as defined in and that are subject to the Apple Public Source License
  3753. * Version 2.0 (the 'License'). You may not use this file except in
  3754. * compliance with the License. Please obtain a copy of the License at
  3755. * http://www.opensource.apple.com/apsl/ and read it before using this
  3756. * file.
  3757. *
  3758. * The Original Code and all software distributed under the License are
  3759. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3760. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3761. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3762. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3763. * Please see the License for the specific language governing rights and
  3764. * limitations under the License.
  3765. *
  3766. * @APPLE_LICENSE_HEADER_END@
  3767. */
  3768. /*-
  3769. * Copyright (c) 1990, 1993
  3770. * The Regents of the University of California. All rights reserved.
  3771. *
  3772. * Redistribution and use in source and binary forms, with or without
  3773. * modification, are permitted provided that the following conditions
  3774. * are met:
  3775. * 1. Redistributions of source code must retain the above copyright
  3776. * notice, this list of conditions and the following disclaimer.
  3777. * 2. Redistributions in binary form must reproduce the above copyright
  3778. * notice, this list of conditions and the following disclaimer in the
  3779. * documentation and/or other materials provided with the distribution.
  3780. * 3. All advertising materials mentioning features or use of this software
  3781. * must display the following acknowledgement:
  3782. * This product includes software developed by the University of
  3783. * California, Berkeley and its contributors.
  3784. * 4. Neither the name of the University nor the names of its contributors
  3785. * may be used to endorse or promote products derived from this software
  3786. * without specific prior written permission.
  3787. *
  3788. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3789. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3790. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3791. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3792. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3793. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3794. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3795. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3796. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3797. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3798. * SUCH DAMAGE.
  3799. *
  3800. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  3801. */
  3802. /*
  3803. * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  3804. *
  3805. * @APPLE_LICENSE_HEADER_START@
  3806. *
  3807. * This file contains Original Code and/or Modifications of Original Code
  3808. * as defined in and that are subject to the Apple Public Source License
  3809. * Version 2.0 (the 'License'). You may not use this file except in
  3810. * compliance with the License. Please obtain a copy of the License at
  3811. * http://www.opensource.apple.com/apsl/ and read it before using this
  3812. * file.
  3813. *
  3814. * The Original Code and all software distributed under the License are
  3815. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3816. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3817. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3818. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3819. * Please see the License for the specific language governing rights and
  3820. * limitations under the License.
  3821. *
  3822. * @APPLE_LICENSE_HEADER_END@
  3823. */
  3824. /*
  3825. * Copyright (c) 1989, 1993
  3826. * The Regents of the University of California. All rights reserved.
  3827. * (c) UNIX System Laboratories, Inc.
  3828. * All or some portions of this file are derived from material licensed
  3829. * to the University of California by American Telephone and Telegraph
  3830. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  3831. * the permission of UNIX System Laboratories, Inc.
  3832. *
  3833. * Redistribution and use in source and binary forms, with or without
  3834. * modification, are permitted provided that the following conditions
  3835. * are met:
  3836. * 1. Redistributions of source code must retain the above copyright
  3837. * notice, this list of conditions and the following disclaimer.
  3838. * 2. Redistributions in binary form must reproduce the above copyright
  3839. * notice, this list of conditions and the following disclaimer in the
  3840. * documentation and/or other materials provided with the distribution.
  3841. * 3. All advertising materials mentioning features or use of this software
  3842. * must display the following acknowledgement:
  3843. * This product includes software developed by the University of
  3844. * California, Berkeley and its contributors.
  3845. * 4. Neither the name of the University nor the names of its contributors
  3846. * may be used to endorse or promote products derived from this software
  3847. * without specific prior written permission.
  3848. *
  3849. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3850. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3851. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3852. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3853. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3854. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3855. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3856. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3857. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3858. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3859. * SUCH DAMAGE.
  3860. *
  3861. * @(#)time.h 8.3 (Berkeley) 1/21/94
  3862. */
  3863. /*
  3864. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  3865. *
  3866. * @APPLE_LICENSE_HEADER_START@
  3867. *
  3868. * This file contains Original Code and/or Modifications of Original Code
  3869. * as defined in and that are subject to the Apple Public Source License
  3870. * Version 2.0 (the 'License'). You may not use this file except in
  3871. * compliance with the License. Please obtain a copy of the License at
  3872. * http://www.opensource.apple.com/apsl/ and read it before using this
  3873. * file.
  3874. *
  3875. * The Original Code and all software distributed under the License are
  3876. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  3877. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  3878. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  3879. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  3880. * Please see the License for the specific language governing rights and
  3881. * limitations under the License.
  3882. *
  3883. * @APPLE_LICENSE_HEADER_END@
  3884. */
  3885. /*-
  3886. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  3887. * Copyright (c) 1991, 1993, 1994
  3888. * The Regents of the University of California. All rights reserved.
  3889. *
  3890. * Redistribution and use in source and binary forms, with or without
  3891. * modification, are permitted provided that the following conditions
  3892. * are met:
  3893. * 1. Redistributions of source code must retain the above copyright
  3894. * notice, this list of conditions and the following disclaimer.
  3895. * 2. Redistributions in binary form must reproduce the above copyright
  3896. * notice, this list of conditions and the following disclaimer in the
  3897. * documentation and/or other materials provided with the distribution.
  3898. * 3. All advertising materials mentioning features or use of this software
  3899. * must display the following acknowledgement:
  3900. * This product includes software developed by the University of
  3901. * California, Berkeley and its contributors.
  3902. * 4. Neither the name of the University nor the names of its contributors
  3903. * may be used to endorse or promote products derived from this software
  3904. * without specific prior written permission.
  3905. *
  3906. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  3907. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  3908. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  3909. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  3910. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  3911. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  3912. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  3913. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  3914. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  3915. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  3916. * SUCH DAMAGE.
  3917. *
  3918. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  3919. *
  3920. * Copyright (c) 1998 Apple Compter, Inc.
  3921. * All Rights Reserved
  3922. */
  3923. /* History:
  3924. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  3925. 3/26/98 CHW at Apple added real interface to searchfs call
  3926. 3/5/98 CHW at Apple added hfs semantic system calls headers
  3927. */
  3928. func XFcAtomicCreate(tls *libc.TLS, file uintptr) (r uintptr) {
  3929. var atomic uintptr
  3930. var file_len, lck_len, new_len, tmp_len, total_len int32
  3931. _, _, _, _, _, _ = atomic, file_len, lck_len, new_len, tmp_len, total_len
  3932. file_len = int32(libc.Xstrlen(tls, file))
  3933. new_len = int32(uint64(file_len) + uint64(5))
  3934. lck_len = int32(uint64(file_len) + uint64(5))
  3935. tmp_len = int32(uint64(file_len) + uint64(12))
  3936. total_len = int32(libc.Uint64FromInt64(32) + uint64(file_len) + libc.Uint64FromInt32(1) + uint64(new_len) + libc.Uint64FromInt32(1) + uint64(lck_len) + libc.Uint64FromInt32(1) + uint64(tmp_len) + libc.Uint64FromInt32(1))
  3937. atomic = libc.Xmalloc(tls, uint64(total_len))
  3938. if !(atomic != 0) {
  3939. return uintptr(0)
  3940. }
  3941. (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile = atomic + libc.UintptrFromInt32(1)*32
  3942. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, file, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, int32(1)))
  3943. (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 = (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile + uintptr(file_len) + uintptr(1)
  3944. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, file, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, int32(1)))
  3945. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, __ccgo_ts, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, int32(1)))
  3946. (*TFcAtomic)(unsafe.Pointer(atomic)).Flck = (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1 + uintptr(new_len) + uintptr(1)
  3947. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, file, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, int32(1)))
  3948. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, __ccgo_ts+5, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, int32(1)))
  3949. (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp = (*TFcAtomic)(unsafe.Pointer(atomic)).Flck + uintptr(lck_len) + uintptr(1)
  3950. return atomic
  3951. }
  3952. func XFcAtomicLock(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  3953. bp := tls.Alloc(160)
  3954. defer tls.Free(160)
  3955. var f uintptr
  3956. var fd, ret int32
  3957. var no_link TFcBool
  3958. var now Ttime_t
  3959. var _ /* lck_stat at bp+0 */ Tstat
  3960. _, _, _, _, _ = f, fd, no_link, now, ret
  3961. fd = -int32(1)
  3962. f = uintptr(0)
  3963. no_link = m_FcFalse
  3964. libc.X__builtin___strcpy_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, int32(1)))
  3965. libc.X__builtin___strcat_chk(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, __ccgo_ts+10, libc.X__builtin_object_size(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, int32(1)))
  3966. fd = XFcMakeTempfile(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3967. if fd < 0 {
  3968. return m_FcFalse
  3969. }
  3970. f = libc.Xfdopen(tls, fd, __ccgo_ts+22)
  3971. if !(f != 0) {
  3972. libc.Xclose(tls, fd)
  3973. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3974. return m_FcFalse
  3975. }
  3976. ret = libc.Xfprintf(tls, f, __ccgo_ts+24, libc.VaList(bp+152, int64(libc.Xgetpid(tls))))
  3977. if ret <= 0 {
  3978. libc.Xfclose(tls, f)
  3979. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3980. return m_FcFalse
  3981. }
  3982. if libc.Xfclose(tls, f) == -int32(1) {
  3983. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3984. return m_FcFalse
  3985. }
  3986. ret = libc.Xlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  3987. if ret < 0 && (*(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EPERM) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ENOTSUP) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_EACCES)) {
  3988. /* the filesystem where atomic->lck points to may not supports
  3989. * the hard link. so better try to fallback
  3990. */
  3991. ret = libc.Xmkdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, uint16(0600))
  3992. no_link = int32(m_FcTrue)
  3993. }
  3994. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Ftmp)
  3995. if ret < 0 {
  3996. /*
  3997. * If the file is around and old (> 10 minutes),
  3998. * assume the lock is stale. This assumes that any
  3999. * machines sharing the same filesystem will have clocks
  4000. * reasonably close to each other.
  4001. */
  4002. if XFcStat(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck, bp) >= 0 {
  4003. now = libc.Xtime(tls, uintptr(0))
  4004. if now-(*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec > int64(libc.Int32FromInt32(10)*libc.Int32FromInt32(60)) {
  4005. if no_link != 0 {
  4006. if libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  4007. return XFcAtomicLock(tls, atomic)
  4008. }
  4009. } else {
  4010. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == 0 {
  4011. return XFcAtomicLock(tls, atomic)
  4012. }
  4013. }
  4014. }
  4015. }
  4016. return m_FcFalse
  4017. }
  4018. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  4019. return int32(m_FcTrue)
  4020. }
  4021. func XFcAtomicNewFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  4022. return (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1
  4023. }
  4024. func XFcAtomicOrigFile(tls *libc.TLS, atomic uintptr) (r uintptr) {
  4025. return (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile
  4026. }
  4027. func XFcAtomicReplaceOrig(tls *libc.TLS, atomic uintptr) (r TFcBool) {
  4028. if libc.Xrename(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1, (*TFcAtomic)(unsafe.Pointer(atomic)).Ffile) < 0 {
  4029. return m_FcFalse
  4030. }
  4031. return int32(m_FcTrue)
  4032. }
  4033. func XFcAtomicDeleteNew(tls *libc.TLS, atomic uintptr) {
  4034. libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Fnew1)
  4035. }
  4036. func XFcAtomicUnlock(tls *libc.TLS, atomic uintptr) {
  4037. if libc.Xunlink(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck) == -int32(1) {
  4038. libc.Xrmdir(tls, (*TFcAtomic)(unsafe.Pointer(atomic)).Flck)
  4039. }
  4040. }
  4041. func XFcAtomicDestroy(tls *libc.TLS, atomic uintptr) {
  4042. libc.Xfree(tls, atomic)
  4043. }
  4044. const m_ATTRIBUTION_NAME_MAX = 255
  4045. const m_AT_EACCESS = 0x0010
  4046. const m_AT_FDONLY = 0x0400
  4047. const m_AT_REALDEV = 0x0200
  4048. const m_AT_REMOVEDIR = 0x0080
  4049. const m_AT_SYMLINK_FOLLOW = 0x0040
  4050. const m_AT_SYMLINK_NOFOLLOW = 0x0020
  4051. const m_AT_SYMLINK_NOFOLLOW_ANY = 0x0800
  4052. const m_CPF_IGNORE_MODE = 0x0002
  4053. const m_CPF_OVERWRITE = 0x0001
  4054. const m_DIRBLKSIZ = 1024
  4055. const m_DST_AUST = 2
  4056. const m_DST_CAN = 6
  4057. const m_DST_EET = 5
  4058. const m_DST_MET = 4
  4059. const m_DST_NONE = 0
  4060. const m_DST_USA = 1
  4061. const m_DST_WET = 3
  4062. const m_DTF_HIDEW = 0x0001
  4063. const m_DTF_NODUP = 0x0002
  4064. const m_DTF_REWIND = 0x0004
  4065. const m_DT_BLK = 6
  4066. const m_DT_CHR = 2
  4067. const m_DT_DIR = 4
  4068. const m_DT_FIFO = 1
  4069. const m_DT_LNK = 10
  4070. const m_DT_REG = 8
  4071. const m_DT_SOCK = 12
  4072. const m_DT_UNKNOWN = 0
  4073. const m_DT_WHT = 14
  4074. const m_FAPPEND = "O_APPEND"
  4075. const m_FASYNC = "O_ASYNC"
  4076. const m_FCNTL_FS_SPECIFIC_BASE = 0x00010000
  4077. const m_FC_ARCH_ENDIAN = "le64"
  4078. const m_FC_ARCH_SIZE_ALIGN = "64"
  4079. const m_FC_CACHE_MAGIC_ALLOC1 = 4228054021
  4080. const m_FC_CACHE_MAGIC_MMAP1 = 4228054020
  4081. const m_FC_CACHE_MAX_LEVEL = 16
  4082. const m_FC_CACHE_MIN_MMAP = 1024
  4083. const m_FD_CLOEXEC = 1
  4084. const m_FFDSYNC = "O_DSYNC"
  4085. const m_FFSYNC = "O_FSYNC"
  4086. const m_FILESEC_GUID = "FILESEC_UUID"
  4087. const m_FNDELAY = "O_NONBLOCK"
  4088. const m_FNONBLOCK = "O_NONBLOCK"
  4089. const m_FREAD = 0x00000001
  4090. const m_FWRITE = 0x00000002
  4091. const m_F_ADDFILESIGS = 61
  4092. const m_F_ADDFILESIGS_FOR_DYLD_SIM = 83
  4093. const m_F_ADDFILESIGS_INFO = 103
  4094. const m_F_ADDFILESIGS_RETURN = 97
  4095. const m_F_ADDFILESUPPL = 104
  4096. const m_F_ADDSIGS = 59
  4097. const m_F_ALLOCATEALL = 0x00000004
  4098. const m_F_ALLOCATECONTIG = 0x00000002
  4099. const m_F_ALLOCATEPERSIST = 0x00000008
  4100. const m_F_ATTRIBUTION_TAG = 111
  4101. const m_F_BARRIERFSYNC = 85
  4102. const m_F_CHECK_LV = 98
  4103. const m_F_CHKCLEAN = 41
  4104. const m_F_CREATE_TAG = 0x00000001
  4105. const m_F_DELETE_TAG = 0x00000002
  4106. const m_F_DUPFD = 0
  4107. const m_F_DUPFD_CLOEXEC = 67
  4108. const m_F_FINDSIGS = 78
  4109. const m_F_FLUSH_DATA = 40
  4110. const m_F_FREEZE_FS = 53
  4111. const m_F_FULLFSYNC = 51
  4112. const m_F_GETCODEDIR = 72
  4113. const m_F_GETFD = 1
  4114. const m_F_GETFL = 3
  4115. const m_F_GETLEASE = 107
  4116. const m_F_GETLK = 7
  4117. const m_F_GETLKPID = 66
  4118. const m_F_GETNOSIGPIPE = 74
  4119. const m_F_GETOWN = 5
  4120. const m_F_GETPATH = 50
  4121. const m_F_GETPATH_MTMINFO = 71
  4122. const m_F_GETPATH_NOFIRMLINK = 102
  4123. const m_F_GETPROTECTIONCLASS = 63
  4124. const m_F_GETPROTECTIONLEVEL = 77
  4125. const m_F_GETSIGSINFO = 105
  4126. const m_F_GLOBAL_NOCACHE = 55
  4127. const m_F_LOG2PHYS = 49
  4128. const m_F_LOG2PHYS_EXT = 65
  4129. const m_F_NOCACHE = 48
  4130. const m_F_NODIRECT = 62
  4131. const m_F_OFD_GETLK = 92
  4132. const m_F_OFD_SETLK = 90
  4133. const m_F_OFD_SETLKW = 91
  4134. const m_F_OFD_SETLKWTIMEOUT = 93
  4135. const m_F_PATHPKG_CHECK = 52
  4136. const m_F_PEOFPOSMODE = 3
  4137. const m_F_PREALLOCATE = 42
  4138. const m_F_PUNCHHOLE = 99
  4139. const m_F_QUERY_TAG = 0x00000004
  4140. const m_F_RDADVISE = 44
  4141. const m_F_RDAHEAD = 45
  4142. const m_F_RDLCK = 1
  4143. const m_F_SETBACKINGSTORE = 70
  4144. const m_F_SETFD = 2
  4145. const m_F_SETFL = 4
  4146. const m_F_SETLEASE = 106
  4147. const m_F_SETLK = 8
  4148. const m_F_SETLKW = 9
  4149. const m_F_SETLKWTIMEOUT = 10
  4150. const m_F_SETNOSIGPIPE = 73
  4151. const m_F_SETOWN = 6
  4152. const m_F_SETPROTECTIONCLASS = 64
  4153. const m_F_SETSIZE = 43
  4154. const m_F_SINGLE_WRITER = 76
  4155. const m_F_SPECULATIVE_READ = 101
  4156. const m_F_THAW_FS = 54
  4157. const m_F_TRANSCODEKEY = 75
  4158. const m_F_TRANSFEREXTENTS = 110
  4159. const m_F_TRIM_ACTIVE_FILE = 100
  4160. const m_F_UNLCK = 2
  4161. const m_F_VOLPOSMODE = 4
  4162. const m_F_WRLCK = 3
  4163. const m_GETSIGSINFO_PLATFORM_BINARY = 1
  4164. const m_ITIMER_PROF = 2
  4165. const m_ITIMER_REAL = 0
  4166. const m_ITIMER_VIRTUAL = 1
  4167. const m_LOCK_EX = 0x02
  4168. const m_LOCK_NB = 0x04
  4169. const m_LOCK_SH = 0x01
  4170. const m_LOCK_UN = 0x08
  4171. const m_MADV_CAN_REUSE = 9
  4172. const m_MADV_DONTNEED = "POSIX_MADV_DONTNEED"
  4173. const m_MADV_FREE = 5
  4174. const m_MADV_FREE_REUSABLE = 7
  4175. const m_MADV_FREE_REUSE = 8
  4176. const m_MADV_NORMAL = "POSIX_MADV_NORMAL"
  4177. const m_MADV_PAGEOUT = 10
  4178. const m_MADV_RANDOM = "POSIX_MADV_RANDOM"
  4179. const m_MADV_SEQUENTIAL = "POSIX_MADV_SEQUENTIAL"
  4180. const m_MADV_WILLNEED = "POSIX_MADV_WILLNEED"
  4181. const m_MADV_ZERO = 11
  4182. const m_MADV_ZERO_WIRED_PAGES = 6
  4183. const m_MAP_32BIT = 0x8000
  4184. const m_MAP_ANON = 0x1000
  4185. const m_MAP_ANONYMOUS = "MAP_ANON"
  4186. const m_MAP_COPY = "MAP_PRIVATE"
  4187. const m_MAP_FILE = 0x0000
  4188. const m_MAP_FIXED = 0x0010
  4189. const m_MAP_HASSEMAPHORE = 0x0200
  4190. const m_MAP_JIT = 0x0800
  4191. const m_MAP_NOCACHE = 0x0400
  4192. const m_MAP_NOEXTEND = 0x0100
  4193. const m_MAP_NORESERVE = 0x0040
  4194. const m_MAP_PRIVATE = 0x0002
  4195. const m_MAP_RENAME = 0x0020
  4196. const m_MAP_RESERVED0080 = 0x0080
  4197. const m_MAP_RESILIENT_CODESIGN = 0x2000
  4198. const m_MAP_RESILIENT_MEDIA = 0x4000
  4199. const m_MAP_SHARED = 1
  4200. const m_MAP_TPRO = 0x80000
  4201. const m_MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
  4202. const m_MAP_UNIX03 = 0x40000
  4203. const m_MAXNAMLEN = "__DARWIN_MAXNAMLEN"
  4204. const m_MCL_CURRENT = 0x0001
  4205. const m_MCL_FUTURE = 0x0002
  4206. const m_MINCORE_ANONYMOUS = 0x80
  4207. const m_MINCORE_COPIED = 0x40
  4208. const m_MINCORE_INCORE = 0x1
  4209. const m_MINCORE_MODIFIED = 0x4
  4210. const m_MINCORE_MODIFIED_OTHER = 0x10
  4211. const m_MINCORE_PAGED_OUT = 0x20
  4212. const m_MINCORE_REFERENCED = 0x2
  4213. const m_MINCORE_REFERENCED_OTHER = 0x8
  4214. const m_MS_ASYNC = 0x0001
  4215. const m_MS_DEACTIVATE = 0x0008
  4216. const m_MS_INVALIDATE = 0x0002
  4217. const m_MS_KILLPAGES = 0x0004
  4218. const m_MS_SYNC = 0x0010
  4219. const m_O_ACCMODE = 0x0003
  4220. const m_O_ALERT = 0x20000000
  4221. const m_O_APPEND = 0x00000008
  4222. const m_O_ASYNC = 0x00000040
  4223. const m_O_BINARY = 0
  4224. const m_O_CLOEXEC = 0x01000000
  4225. const m_O_CREAT = 512
  4226. const m_O_DIRECTORY = 0x00100000
  4227. const m_O_DP_AUTHENTICATE = 0x0004
  4228. const m_O_DP_GETRAWENCRYPTED = 0x0001
  4229. const m_O_DP_GETRAWUNENCRYPTED = 0x0002
  4230. const m_O_DSYNC = 0x400000
  4231. const m_O_EVTONLY = 0x00008000
  4232. const m_O_EXCL = 0x00000800
  4233. const m_O_EXEC = 0x40000000
  4234. const m_O_EXLOCK = 0x00000020
  4235. const m_O_FSYNC = "O_SYNC"
  4236. const m_O_NDELAY = "O_NONBLOCK"
  4237. const m_O_NOCTTY = 0x00020000
  4238. const m_O_NOFOLLOW = 0x00000100
  4239. const m_O_NOFOLLOW_ANY = 0x20000000
  4240. const m_O_NONBLOCK = 0x00000004
  4241. const m_O_POPUP = 0x80000000
  4242. const m_O_RDONLY = 0
  4243. const m_O_RDWR = 2
  4244. const m_O_SHLOCK = 0x00000010
  4245. const m_O_SYMLINK = 0x00200000
  4246. const m_O_SYNC = 0x0080
  4247. const m_O_TRUNC = 0x00000400
  4248. const m_O_WRONLY = 0x0001
  4249. const m_POSIX_MADV_DONTNEED = 4
  4250. const m_POSIX_MADV_NORMAL = 0
  4251. const m_POSIX_MADV_RANDOM = 1
  4252. const m_POSIX_MADV_SEQUENTIAL = 2
  4253. const m_POSIX_MADV_WILLNEED = 3
  4254. const m_PROT_EXEC = 0x04
  4255. const m_PROT_NONE = 0x00
  4256. const m_PROT_READ = 1
  4257. const m_PROT_WRITE = 0x02
  4258. const m_USER_FSIGNATURES_CDHASH_LEN = 20
  4259. const m___DARWIN_MAXNAMLEN = 255
  4260. const m___DARWIN_MAXPATHLEN = 1024
  4261. const m___DTF_ATEND = 0x0020
  4262. const m___DTF_READALL = 0x0008
  4263. const m___DTF_SKIPREAD = 0x0010
  4264. const m_d_fileno = "d_ino"
  4265. type TMD5Context = struct {
  4266. Fbuf [4]TFcChar32
  4267. Fbits [2]TFcChar32
  4268. Fin [64]uint8
  4269. }
  4270. func _MD5Init(tls *libc.TLS, ctx uintptr) {
  4271. *(*TFcChar32)(unsafe.Pointer(ctx)) = uint32(0x67452301)
  4272. *(*TFcChar32)(unsafe.Pointer(ctx + 1*4)) = uint32(0xefcdab89)
  4273. *(*TFcChar32)(unsafe.Pointer(ctx + 2*4)) = uint32(0x98badcfe)
  4274. *(*TFcChar32)(unsafe.Pointer(ctx + 3*4)) = uint32(0x10325476)
  4275. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = uint32(0)
  4276. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) = uint32(0)
  4277. }
  4278. func _MD5Update(tls *libc.TLS, ctx uintptr, buf uintptr, len1 uint32) {
  4279. var p uintptr
  4280. var t, v1 TFcChar32
  4281. _, _, _ = p, t, v1
  4282. t = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4283. v1 = t + len1<<libc.Int32FromInt32(3)
  4284. *(*TFcChar32)(unsafe.Pointer(ctx + 16)) = v1
  4285. if v1 < t {
  4286. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))++
  4287. }
  4288. *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4)) += len1 >> int32(29)
  4289. t = t >> libc.Int32FromInt32(3) & uint32(0x3f)
  4290. if t != 0 {
  4291. p = ctx + 24 + uintptr(t)
  4292. t = uint32(64) - t
  4293. if len1 < t {
  4294. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(len1), uint64(libc.X__builtin_object_size(tls, p, 0)))
  4295. return
  4296. }
  4297. libc.X__builtin___memcpy_chk(tls, p, buf, uint64(t), uint64(libc.X__builtin_object_size(tls, p, 0)))
  4298. _MD5Transform(tls, ctx, ctx+24)
  4299. buf += uintptr(t)
  4300. len1 -= t
  4301. }
  4302. for len1 >= uint32(64) {
  4303. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(64), uint64(libc.X__builtin_object_size(tls, ctx+24, 0)))
  4304. _MD5Transform(tls, ctx, ctx+24)
  4305. buf += uintptr(64)
  4306. len1 -= uint32(64)
  4307. }
  4308. libc.X__builtin___memcpy_chk(tls, ctx+24, buf, uint64(len1), uint64(libc.X__builtin_object_size(tls, ctx+24, 0)))
  4309. }
  4310. func _MD5Final(tls *libc.TLS, digest uintptr, ctx uintptr) {
  4311. var count uint32
  4312. var p, v1 uintptr
  4313. _, _, _ = count, p, v1
  4314. count = *(*TFcChar32)(unsafe.Pointer(ctx + 16)) >> libc.Int32FromInt32(3) & uint32(0x3F)
  4315. p = ctx + 24 + uintptr(count)
  4316. v1 = p
  4317. p++
  4318. *(*uint8)(unsafe.Pointer(v1)) = uint8(0x80)
  4319. count = uint32(libc.Int32FromInt32(64)-libc.Int32FromInt32(1)) - count
  4320. if count < uint32(8) {
  4321. libc.X__builtin___memset_chk(tls, p, 0, uint64(count), uint64(libc.X__builtin_object_size(tls, p, 0)))
  4322. _MD5Transform(tls, ctx, ctx+24)
  4323. libc.X__builtin___memset_chk(tls, ctx+24, 0, uint64(56), uint64(libc.X__builtin_object_size(tls, ctx+24, 0)))
  4324. } else {
  4325. libc.X__builtin___memset_chk(tls, p, 0, uint64(count-uint32(8)), uint64(libc.X__builtin_object_size(tls, p, 0)))
  4326. }
  4327. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 14*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16))
  4328. *(*TFcChar32)(unsafe.Pointer(ctx + 24 + 15*4)) = *(*TFcChar32)(unsafe.Pointer(ctx + 16 + 1*4))
  4329. _MD5Transform(tls, ctx, ctx+24)
  4330. libc.X__builtin___memcpy_chk(tls, digest, ctx, uint64(16), uint64(libc.X__builtin_object_size(tls, digest, 0)))
  4331. libc.X__builtin___memset_chk(tls, ctx, 0, uint64(88), uint64(libc.X__builtin_object_size(tls, ctx, 0)))
  4332. }
  4333. func _MD5Transform(tls *libc.TLS, buf uintptr, in uintptr) {
  4334. var a, b, c, d TFcChar32
  4335. _, _, _, _ = a, b, c, d
  4336. a = *(*TFcChar32)(unsafe.Pointer(buf))
  4337. b = *(*TFcChar32)(unsafe.Pointer(buf + 1*4))
  4338. c = *(*TFcChar32)(unsafe.Pointer(buf + 2*4))
  4339. d = *(*TFcChar32)(unsafe.Pointer(buf + 3*4))
  4340. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xd76aa478)
  4341. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4342. a += b
  4343. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xe8c7b756)
  4344. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4345. d += a
  4346. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x242070db)
  4347. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4348. c += d
  4349. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xc1bdceee)
  4350. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4351. b += c
  4352. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf57c0faf)
  4353. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4354. a += b
  4355. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0x4787c62a)
  4356. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4357. d += a
  4358. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa8304613)
  4359. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4360. c += d
  4361. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xfd469501)
  4362. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4363. b += c
  4364. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x698098d8)
  4365. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4366. a += b
  4367. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x8b44f7af)
  4368. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4369. d += a
  4370. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffff5bb1)
  4371. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4372. c += d
  4373. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x895cd7be)
  4374. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4375. b += c
  4376. a += d ^ b&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x6b901122)
  4377. a = a<<int32(7) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(7))
  4378. a += b
  4379. d += c ^ a&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xfd987193)
  4380. d = d<<int32(12) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(12))
  4381. d += a
  4382. c += b ^ d&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xa679438e)
  4383. c = c<<int32(17) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(17))
  4384. c += d
  4385. b += a ^ c&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x49b40821)
  4386. b = b<<int32(22) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(22))
  4387. b += c
  4388. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xf61e2562)
  4389. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4390. a += b
  4391. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xc040b340)
  4392. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4393. d += a
  4394. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x265e5a51)
  4395. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4396. c += d
  4397. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xe9b6c7aa)
  4398. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4399. b += c
  4400. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xd62f105d)
  4401. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4402. a += b
  4403. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0x02441453)
  4404. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4405. d += a
  4406. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xd8a1e681)
  4407. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4408. c += d
  4409. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xe7d3fbc8)
  4410. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4411. b += c
  4412. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0x21e1cde6)
  4413. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4414. a += b
  4415. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xc33707d6)
  4416. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4417. d += a
  4418. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xf4d50d87)
  4419. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4420. c += d
  4421. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x455a14ed)
  4422. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4423. b += c
  4424. a += c ^ d&(b^c) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0xa9e3e905)
  4425. a = a<<int32(5) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(5))
  4426. a += b
  4427. d += b ^ c&(a^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xfcefa3f8)
  4428. d = d<<int32(9) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(9))
  4429. d += a
  4430. c += a ^ b&(d^a) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x676f02d9)
  4431. c = c<<int32(14) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(14))
  4432. c += d
  4433. b += d ^ a&(c^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x8d2a4c8a)
  4434. b = b<<int32(20) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(20))
  4435. b += c
  4436. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfffa3942)
  4437. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4438. a += b
  4439. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x8771f681)
  4440. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4441. d += a
  4442. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0x6d9d6122)
  4443. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4444. c += d
  4445. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xfde5380c)
  4446. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4447. b += c
  4448. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0xa4beea44)
  4449. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4450. a += b
  4451. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0x4bdecfa9)
  4452. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4453. d += a
  4454. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0xf6bb4b60)
  4455. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4456. c += d
  4457. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xbebfbc70)
  4458. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4459. b += c
  4460. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x289b7ec6)
  4461. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4462. a += b
  4463. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xeaa127fa)
  4464. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4465. d += a
  4466. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0xd4ef3085)
  4467. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4468. c += d
  4469. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0x04881d05)
  4470. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4471. b += c
  4472. a += b ^ c ^ d + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xd9d4d039)
  4473. a = a<<int32(4) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(4))
  4474. a += b
  4475. d += a ^ b ^ c + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0xe6db99e5)
  4476. d = d<<int32(11) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(11))
  4477. d += a
  4478. c += d ^ a ^ b + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0x1fa27cf8)
  4479. c = c<<int32(16) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(16))
  4480. c += d
  4481. b += c ^ d ^ a + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0xc4ac5665)
  4482. b = b<<int32(23) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(23))
  4483. b += c
  4484. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in)) + uint32(0xf4292244)
  4485. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4486. a += b
  4487. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 7*4)) + uint32(0x432aff97)
  4488. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4489. d += a
  4490. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 14*4)) + uint32(0xab9423a7)
  4491. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4492. c += d
  4493. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 5*4)) + uint32(0xfc93a039)
  4494. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4495. b += c
  4496. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 12*4)) + uint32(0x655b59c3)
  4497. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4498. a += b
  4499. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 3*4)) + uint32(0x8f0ccc92)
  4500. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4501. d += a
  4502. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 10*4)) + uint32(0xffeff47d)
  4503. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4504. c += d
  4505. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 1*4)) + uint32(0x85845dd1)
  4506. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4507. b += c
  4508. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 8*4)) + uint32(0x6fa87e4f)
  4509. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4510. a += b
  4511. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 15*4)) + uint32(0xfe2ce6e0)
  4512. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4513. d += a
  4514. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 6*4)) + uint32(0xa3014314)
  4515. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4516. c += d
  4517. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 13*4)) + uint32(0x4e0811a1)
  4518. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4519. b += c
  4520. a += c ^ (b | ^d) + *(*TFcChar32)(unsafe.Pointer(in + 4*4)) + uint32(0xf7537e82)
  4521. a = a<<int32(6) | a>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(6))
  4522. a += b
  4523. d += b ^ (a | ^c) + *(*TFcChar32)(unsafe.Pointer(in + 11*4)) + uint32(0xbd3af235)
  4524. d = d<<int32(10) | d>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(10))
  4525. d += a
  4526. c += a ^ (d | ^b) + *(*TFcChar32)(unsafe.Pointer(in + 2*4)) + uint32(0x2ad7d2bb)
  4527. c = c<<int32(15) | c>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(15))
  4528. c += d
  4529. b += d ^ (c | ^a) + *(*TFcChar32)(unsafe.Pointer(in + 9*4)) + uint32(0xeb86d391)
  4530. b = b<<int32(21) | b>>(libc.Int32FromInt32(32)-libc.Int32FromInt32(21))
  4531. b += c
  4532. *(*TFcChar32)(unsafe.Pointer(buf)) += a
  4533. *(*TFcChar32)(unsafe.Pointer(buf + 1*4)) += b
  4534. *(*TFcChar32)(unsafe.Pointer(buf + 2*4)) += c
  4535. *(*TFcChar32)(unsafe.Pointer(buf + 3*4)) += d
  4536. }
  4537. type Tflock = struct {
  4538. Fl_start Toff_t
  4539. Fl_len Toff_t
  4540. Fl_pid Tpid_t
  4541. Fl_type int16
  4542. Fl_whence int16
  4543. }
  4544. type Tflocktimeout = struct {
  4545. Ffl Tflock
  4546. Ftimeout Ttimespec
  4547. }
  4548. type Tradvisory = struct {
  4549. Fra_offset Toff_t
  4550. Fra_count int32
  4551. }
  4552. type Tfsignatures_t = struct {
  4553. Ffs_file_start Toff_t
  4554. Ffs_blob_start uintptr
  4555. Ffs_blob_size Tsize_t
  4556. Ffs_fsignatures_size Tsize_t
  4557. Ffs_cdhash [20]int8
  4558. Ffs_hash_type int32
  4559. }
  4560. type Tfsignatures = Tfsignatures_t
  4561. type Tfsupplement_t = struct {
  4562. Ffs_file_start Toff_t
  4563. Ffs_blob_start Toff_t
  4564. Ffs_blob_size Tsize_t
  4565. Ffs_orig_fd int32
  4566. }
  4567. type Tfsupplement = Tfsupplement_t
  4568. type Tfchecklv_t = struct {
  4569. Flv_file_start Toff_t
  4570. Flv_error_message_size Tsize_t
  4571. Flv_error_message uintptr
  4572. }
  4573. type Tfchecklv = Tfchecklv_t
  4574. type Tfgetsigsinfo_t = struct {
  4575. Ffg_file_start Toff_t
  4576. Ffg_info_request int32
  4577. Ffg_sig_is_platform int32
  4578. }
  4579. type Tfgetsigsinfo = Tfgetsigsinfo_t
  4580. type Tfstore_t = struct {
  4581. Ffst_flags uint32
  4582. Ffst_posmode int32
  4583. Ffst_offset Toff_t
  4584. Ffst_length Toff_t
  4585. Ffst_bytesalloc Toff_t
  4586. }
  4587. type Tfstore = Tfstore_t
  4588. type Tfpunchhole_t = struct {
  4589. Ffp_flags uint32
  4590. Freserved uint32
  4591. Ffp_offset Toff_t
  4592. Ffp_length Toff_t
  4593. }
  4594. type Tfpunchhole = Tfpunchhole_t
  4595. type Tftrimactivefile_t = struct {
  4596. Ffta_offset Toff_t
  4597. Ffta_length Toff_t
  4598. }
  4599. type Tftrimactivefile = Tftrimactivefile_t
  4600. type Tfspecread_t = struct {
  4601. Ffsr_flags uint32
  4602. Freserved uint32
  4603. Ffsr_offset Toff_t
  4604. Ffsr_length Toff_t
  4605. }
  4606. type Tfspecread = Tfspecread_t
  4607. type Tfattributiontag_t = struct {
  4608. Fft_flags uint32
  4609. Fft_hash uint64
  4610. Fft_attribution_name [255]int8
  4611. }
  4612. type Tfattributiontag = Tfattributiontag_t
  4613. type Tlog2phys = struct {
  4614. Fl2p_flags uint32
  4615. Fl2p_contigbytes Toff_t
  4616. Fl2p_devoffset Toff_t
  4617. }
  4618. type Tfilesec_property_t = int32
  4619. const _FILESEC_OWNER = 1
  4620. const _FILESEC_GROUP = 2
  4621. const _FILESEC_UUID = 3
  4622. const _FILESEC_MODE = 4
  4623. const _FILESEC_ACL = 5
  4624. const _FILESEC_GRPUUID = 6
  4625. const _FILESEC_ACL_RAW = 100
  4626. const _FILESEC_ACL_ALLOCSIZE = 101
  4627. type Tdirent = struct {
  4628. Fd_ino t__uint64_t
  4629. Fd_seekoff t__uint64_t
  4630. Fd_reclen t__uint16_t
  4631. Fd_namlen t__uint16_t
  4632. Fd_type t__uint8_t
  4633. Fd_name [1024]int8
  4634. }
  4635. type TDIR = struct {
  4636. F__dd_fd int32
  4637. F__dd_loc int64
  4638. F__dd_size int64
  4639. F__dd_buf uintptr
  4640. F__dd_len int32
  4641. F__dd_seek int64
  4642. F__padding int64
  4643. F__dd_flags int32
  4644. F__dd_lock t__darwin_pthread_mutex_t
  4645. F__dd_td uintptr
  4646. }
  4647. type Ttimeval64 = struct {
  4648. Ftv_sec t__int64_t
  4649. Ftv_usec t__int64_t
  4650. }
  4651. type Titimerval = struct {
  4652. Fit_interval Ttimeval
  4653. Fit_value Ttimeval
  4654. }
  4655. type Ttimezone = struct {
  4656. Ftz_minuteswest int32
  4657. Ftz_dsttime int32
  4658. }
  4659. type Tclockinfo = struct {
  4660. Fhz int32
  4661. Ftick int32
  4662. Ftickadj int32
  4663. Fstathz int32
  4664. Fprofhz int32
  4665. }
  4666. func XFcDirCacheCreateUUID(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  4667. return int32(m_FcTrue)
  4668. }
  4669. func XFcDirCacheDeleteUUID(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4670. bp := tls.Alloc(208)
  4671. defer tls.Free(208)
  4672. var d, sysroot, target uintptr
  4673. var ret TFcBool
  4674. var _ /* statb at bp+0 */ Tstat
  4675. var _ /* times at bp+144 */ [2]Ttimeval
  4676. _, _, _, _ = d, ret, sysroot, target
  4677. ret = int32(m_FcTrue)
  4678. config = XFcConfigReference(tls, config)
  4679. if !(config != 0) {
  4680. return m_FcFalse
  4681. }
  4682. sysroot = XFcConfigGetSysRoot(tls, config)
  4683. if sysroot != 0 {
  4684. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+184, dir, libc.UintptrFromInt32(0)))
  4685. } else {
  4686. d = XFcStrBuildFilename(tls, dir, libc.VaList(bp+184, libc.UintptrFromInt32(0)))
  4687. }
  4688. if XFcStat(tls, d, bp) != 0 {
  4689. ret = m_FcFalse
  4690. goto bail
  4691. }
  4692. target = XFcStrBuildFilename(tls, d, libc.VaList(bp+184, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  4693. ret = libc.BoolInt32(libc.Xunlink(tls, target) == 0)
  4694. if ret != 0 {
  4695. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_atimespec.Ftv_sec
  4696. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_sec = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  4697. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[0].Ftv_usec = 0
  4698. (*(*[2]Ttimeval)(unsafe.Pointer(bp + 144)))[int32(1)].Ftv_usec = 0
  4699. if libc.Xutimes(tls, d, bp+144) != 0 {
  4700. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+35, libc.VaList(bp+184, d))
  4701. }
  4702. }
  4703. XFcStrFree(tls, target)
  4704. goto bail
  4705. bail:
  4706. ;
  4707. XFcStrFree(tls, d)
  4708. XFcConfigDestroy(tls, config)
  4709. return ret
  4710. }
  4711. func _FcCacheIsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  4712. bp := tls.Alloc(16)
  4713. defer tls.Free(16)
  4714. var env uintptr
  4715. var status, v1 int32
  4716. var _ /* use at bp+0 */ TFcBool
  4717. _, _, _ = env, status, v1
  4718. status = int32(int64(*(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status))))))
  4719. if status == 0 {
  4720. env = libc.Xgetenv(tls, __ccgo_ts+63)
  4721. if env != 0 && XFcNameBool(tls, env, bp) != 0 {
  4722. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  4723. v1 = 1
  4724. } else {
  4725. v1 = 2
  4726. }
  4727. status = v1
  4728. } else {
  4729. status = 3
  4730. }
  4731. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) == libc.UintptrFromInt32(0) {
  4732. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_static_status)))) = uintptr(int64(status))
  4733. _ = libc.Int32FromInt32(m_FcTrue)
  4734. }
  4735. }
  4736. if status == 3 {
  4737. return XFcIsFsMmapSafe(tls, fd)
  4738. } else {
  4739. return libc.BoolInt32(status == 1)
  4740. }
  4741. return r
  4742. }
  4743. var _static_status uintptr
  4744. var _bin2hex = [16]int8{
  4745. 0: int8('0'),
  4746. 1: int8('1'),
  4747. 2: int8('2'),
  4748. 3: int8('3'),
  4749. 4: int8('4'),
  4750. 5: int8('5'),
  4751. 6: int8('6'),
  4752. 7: int8('7'),
  4753. 8: int8('8'),
  4754. 9: int8('9'),
  4755. 10: int8('a'),
  4756. 11: int8('b'),
  4757. 12: int8('c'),
  4758. 13: int8('d'),
  4759. 14: int8('e'),
  4760. 15: int8('f'),
  4761. }
  4762. func _FcDirCacheBasenameMD5(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  4763. bp := tls.Alloc(176)
  4764. defer tls.Free(176)
  4765. var cnt int32
  4766. var dl, sl Tsize_t
  4767. var hex_hash, key, mapped_dir, orig_dir, salt, v2, v3, v4, v5, v6, v7 uintptr
  4768. var _ /* ctx at bp+16 */ TMD5Context
  4769. var _ /* hash at bp+0 */ [16]uint8
  4770. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = cnt, dl, hex_hash, key, mapped_dir, orig_dir, salt, sl, v2, v3, v4, v5, v6, v7
  4771. mapped_dir = libc.UintptrFromInt32(0)
  4772. key = libc.UintptrFromInt32(0)
  4773. orig_dir = libc.UintptrFromInt32(0)
  4774. salt = XFcConfigMapSalt(tls, config, dir)
  4775. /* Obtain a path where "dir" is mapped to.
  4776. * In case:
  4777. * <remap-dir as-path="/usr/share/fonts">/run/host/fonts</remap-dir>
  4778. *
  4779. * FcConfigMapFontPath (config, "/run/host/fonts") will returns "/usr/share/fonts".
  4780. */
  4781. mapped_dir = XFcConfigMapFontPath(tls, config, dir)
  4782. if mapped_dir != 0 {
  4783. orig_dir = dir
  4784. dir = mapped_dir
  4785. }
  4786. if salt != 0 {
  4787. dl = libc.Xstrlen(tls, dir)
  4788. sl = libc.Xstrlen(tls, salt)
  4789. key = libc.Xmalloc(tls, dl+sl+uint64(1))
  4790. libc.X__builtin___memcpy_chk(tls, key, dir, dl, uint64(libc.X__builtin_object_size(tls, key, 0)))
  4791. libc.X__builtin___memcpy_chk(tls, key+uintptr(dl), salt, sl+uint64(1), uint64(libc.X__builtin_object_size(tls, key+uintptr(dl), 0)))
  4792. *(*TFcChar8)(unsafe.Pointer(key + uintptr(dl+sl))) = uint8(0)
  4793. if !(orig_dir != 0) {
  4794. orig_dir = dir
  4795. }
  4796. dir = key
  4797. }
  4798. _MD5Init(tls, bp+16)
  4799. _MD5Update(tls, bp+16, dir, uint32(libc.Xstrlen(tls, dir)))
  4800. _MD5Final(tls, bp, bp+16)
  4801. if key != 0 {
  4802. XFcStrFree(tls, key)
  4803. }
  4804. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  4805. hex_hash = cache_base + uintptr(1)
  4806. cnt = 0
  4807. for {
  4808. if !(cnt < int32(16)) {
  4809. break
  4810. }
  4811. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(_bin2hex[int32((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])>>int32(4)])
  4812. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt+int32(1)))) = uint8(_bin2hex[int32((*(*[16]uint8)(unsafe.Pointer(bp)))[cnt])&int32(0xf)])
  4813. goto _1
  4814. _1:
  4815. ;
  4816. cnt++
  4817. }
  4818. *(*TFcChar8)(unsafe.Pointer(hex_hash + uintptr(int32(2)*cnt))) = uint8(0)
  4819. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, libc.X__builtin_object_size(tls, cache_base, int32(1)))
  4820. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4821. if orig_dir != 0 {
  4822. v2 = orig_dir
  4823. } else {
  4824. v2 = dir
  4825. }
  4826. if mapped_dir != 0 {
  4827. v3 = __ccgo_ts + 97
  4828. } else {
  4829. v3 = __ccgo_ts + 110
  4830. }
  4831. if mapped_dir != 0 {
  4832. v4 = mapped_dir
  4833. } else {
  4834. v4 = __ccgo_ts + 110
  4835. }
  4836. if mapped_dir != 0 {
  4837. v5 = __ccgo_ts + 111
  4838. } else {
  4839. v5 = __ccgo_ts + 110
  4840. }
  4841. if salt != 0 {
  4842. v6 = __ccgo_ts + 113
  4843. } else {
  4844. v6 = __ccgo_ts + 110
  4845. }
  4846. if salt != 0 {
  4847. v7 = salt
  4848. } else {
  4849. v7 = __ccgo_ts + 110
  4850. }
  4851. libc.Xprintf(tls, __ccgo_ts+122, libc.VaList(bp+112, cache_base, v2, v3, v4, v5, v6, v7))
  4852. }
  4853. if mapped_dir != 0 {
  4854. XFcStrFree(tls, mapped_dir)
  4855. }
  4856. return cache_base
  4857. }
  4858. func _FcDirCacheBasenameUUID(tls *libc.TLS, config uintptr, dir uintptr, cache_base uintptr) (r uintptr) {
  4859. bp := tls.Alloc(64)
  4860. defer tls.Free(64)
  4861. var fd, v1 int32
  4862. var fuuid, sysroot, target uintptr
  4863. var len1 Tssize_t
  4864. var _ /* suuid at bp+0 */ [37]int8
  4865. _, _, _, _, _, _ = fd, fuuid, len1, sysroot, target, v1
  4866. sysroot = XFcConfigGetSysRoot(tls, config)
  4867. /* We don't need to apply remapping here. because .uuid was created at that very directory
  4868. * to determine the cache name no matter where it was mapped to.
  4869. */
  4870. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8(0)
  4871. if sysroot != 0 {
  4872. target = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+48, dir, libc.UintptrFromInt32(0)))
  4873. } else {
  4874. target = libc.Xstrdup(tls, dir)
  4875. }
  4876. fuuid = XFcStrBuildFilename(tls, target, libc.VaList(bp+48, __ccgo_ts+29, libc.UintptrFromInt32(0)))
  4877. v1 = XFcOpen(tls, fuuid, m_O_RDONLY, 0)
  4878. fd = v1
  4879. if v1 != -int32(1) {
  4880. libc.X__builtin___memset_chk(tls, bp, 0, uint64(37), uint64(libc.X__builtin_object_size(tls, bp, 0)))
  4881. len1 = libc.Xread(tls, fd, bp, uint64(36))
  4882. (*(*[37]int8)(unsafe.Pointer(bp)))[int32(36)] = 0
  4883. libc.Xclose(tls, fd)
  4884. if len1 < 0 {
  4885. goto bail
  4886. }
  4887. *(*TFcChar8)(unsafe.Pointer(cache_base)) = uint8('/')
  4888. libc.X__builtin___strcpy_chk(tls, cache_base+1, bp, libc.X__builtin_object_size(tls, cache_base+1, int32(1)))
  4889. libc.X__builtin___strcat_chk(tls, cache_base, __ccgo_ts+83, libc.X__builtin_object_size(tls, cache_base, int32(1)))
  4890. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  4891. libc.Xprintf(tls, __ccgo_ts+153, libc.VaList(bp+48, cache_base, dir))
  4892. }
  4893. }
  4894. goto bail
  4895. bail:
  4896. ;
  4897. XFcStrFree(tls, fuuid)
  4898. XFcStrFree(tls, target)
  4899. return cache_base
  4900. }
  4901. func XFcDirCacheUnlink(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  4902. bp := tls.Alloc(144)
  4903. defer tls.Free(144)
  4904. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  4905. var ret TFcBool
  4906. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4907. var _ /* uuid_cache_base at bp+52 */ [52]TFcChar8
  4908. _, _, _, _, _, _ = cache_dir, cache_hashed, list, ret, sysroot, v1
  4909. cache_hashed = libc.UintptrFromInt32(0)
  4910. ret = int32(m_FcTrue)
  4911. config = XFcConfigReference(tls, config)
  4912. if !(config != 0) {
  4913. return m_FcFalse
  4914. }
  4915. sysroot = XFcConfigGetSysRoot(tls, config)
  4916. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  4917. _FcDirCacheBasenameUUID(tls, config, dir, bp+52)
  4918. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  4919. if !(list != 0) {
  4920. ret = m_FcFalse
  4921. goto bail
  4922. }
  4923. for {
  4924. v1 = XFcStrListNext(tls, list)
  4925. cache_dir = v1
  4926. if !(v1 != 0) {
  4927. break
  4928. }
  4929. if sysroot != 0 {
  4930. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp, libc.UintptrFromInt32(0)))
  4931. } else {
  4932. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp, libc.UintptrFromInt32(0)))
  4933. }
  4934. if !(cache_hashed != 0) {
  4935. break
  4936. }
  4937. libc.Xunlink(tls, cache_hashed)
  4938. XFcStrFree(tls, cache_hashed)
  4939. if int32((*(*[52]TFcChar8)(unsafe.Pointer(bp + 52)))[0]) != 0 {
  4940. if sysroot != 0 {
  4941. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+112, cache_dir, bp+52, libc.UintptrFromInt32(0)))
  4942. } else {
  4943. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+112, bp+52, libc.UintptrFromInt32(0)))
  4944. }
  4945. if !(cache_hashed != 0) {
  4946. break
  4947. }
  4948. libc.Xunlink(tls, cache_hashed)
  4949. XFcStrFree(tls, cache_hashed)
  4950. }
  4951. }
  4952. XFcStrListDone(tls, list)
  4953. XFcDirCacheDeleteUUID(tls, dir, config)
  4954. /* return FcFalse if something went wrong */
  4955. if cache_dir != 0 {
  4956. ret = m_FcFalse
  4957. }
  4958. goto bail
  4959. bail:
  4960. ;
  4961. XFcConfigDestroy(tls, config)
  4962. return ret
  4963. }
  4964. func _FcDirCacheOpenFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r int32) {
  4965. var fd int32
  4966. _ = fd
  4967. fd = XFcOpen(tls, cache_file, libc.Int32FromInt32(m_O_RDONLY)|libc.Int32FromInt32(m_O_BINARY), 0)
  4968. if fd < 0 {
  4969. return fd
  4970. }
  4971. if libc.Xfstat(tls, fd, file_stat) < 0 {
  4972. libc.Xclose(tls, fd)
  4973. return -int32(1)
  4974. }
  4975. return fd
  4976. }
  4977. // C documentation
  4978. //
  4979. // /*
  4980. // * Look for a cache file for the specified dir. Attempt
  4981. // * to use each one we find, stopping when the callback
  4982. // * indicates success
  4983. // */
  4984. func _FcDirCacheProcess(tls *libc.TLS, config uintptr, dir uintptr, callback uintptr, closure uintptr, cache_file_ret uintptr) (r TFcBool) {
  4985. bp := tls.Alloc(448)
  4986. defer tls.Free(448)
  4987. var cache_dir, cache_hashed, d, list, sysroot, v1 uintptr
  4988. var fd int32
  4989. var ret, retried TFcBool
  4990. var _ /* cache_base at bp+0 */ [52]TFcChar8
  4991. var _ /* dir_stat at bp+200 */ Tstat
  4992. var _ /* file_stat at bp+56 */ Tstat
  4993. var _ /* latest_mtime at bp+344 */ Ttimeval
  4994. var _ /* uuid_cache_base at bp+360 */ [52]TFcChar8
  4995. _, _, _, _, _, _, _, _, _ = cache_dir, cache_hashed, d, fd, list, ret, retried, sysroot, v1
  4996. fd = -int32(1)
  4997. ret = m_FcFalse
  4998. sysroot = XFcConfigGetSysRoot(tls, config)
  4999. *(*Ttimeval)(unsafe.Pointer(bp + 344)) = Ttimeval{}
  5000. if sysroot != 0 {
  5001. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, dir, libc.UintptrFromInt32(0)))
  5002. } else {
  5003. d = libc.Xstrdup(tls, dir)
  5004. }
  5005. if XFcStatChecksum(tls, d, bp+200) < 0 {
  5006. XFcStrFree(tls, d)
  5007. return m_FcFalse
  5008. }
  5009. XFcStrFree(tls, d)
  5010. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  5011. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  5012. if !(list != 0) {
  5013. return m_FcFalse
  5014. }
  5015. for {
  5016. v1 = XFcStrListNext(tls, list)
  5017. cache_dir = v1
  5018. if !(v1 != 0) {
  5019. break
  5020. }
  5021. retried = m_FcFalse
  5022. if sysroot != 0 {
  5023. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp, libc.UintptrFromInt32(0)))
  5024. } else {
  5025. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp, libc.UintptrFromInt32(0)))
  5026. }
  5027. if !(cache_hashed != 0) {
  5028. break
  5029. }
  5030. goto retry
  5031. retry:
  5032. ;
  5033. fd = _FcDirCacheOpenFile(tls, cache_hashed, bp+56)
  5034. if fd >= 0 {
  5035. ret = (*(*func(*libc.TLS, uintptr, int32, uintptr, uintptr, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{callback})))(tls, config, fd, bp+56, bp+200, bp+344, closure)
  5036. libc.Xclose(tls, fd)
  5037. if ret != 0 {
  5038. if cache_file_ret != 0 {
  5039. if *(*uintptr)(unsafe.Pointer(cache_file_ret)) != 0 {
  5040. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(cache_file_ret)))
  5041. }
  5042. *(*uintptr)(unsafe.Pointer(cache_file_ret)) = cache_hashed
  5043. } else {
  5044. XFcStrFree(tls, cache_hashed)
  5045. }
  5046. } else {
  5047. XFcStrFree(tls, cache_hashed)
  5048. }
  5049. } else {
  5050. if !(retried != 0) {
  5051. retried = int32(m_FcTrue)
  5052. _FcDirCacheBasenameUUID(tls, config, dir, bp+360)
  5053. if int32((*(*[52]TFcChar8)(unsafe.Pointer(bp + 360)))[0]) != 0 {
  5054. XFcStrFree(tls, cache_hashed)
  5055. if sysroot != 0 {
  5056. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+424, cache_dir, bp+360, libc.UintptrFromInt32(0)))
  5057. } else {
  5058. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+424, bp+360, libc.UintptrFromInt32(0)))
  5059. }
  5060. if !(cache_hashed != 0) {
  5061. break
  5062. }
  5063. goto retry
  5064. } else {
  5065. XFcStrFree(tls, cache_hashed)
  5066. }
  5067. } else {
  5068. XFcStrFree(tls, cache_hashed)
  5069. }
  5070. }
  5071. }
  5072. XFcStrListDone(tls, list)
  5073. if closure != 0 {
  5074. return libc.BoolInt32(!!(*(*uintptr)(unsafe.Pointer(closure)) != libc.UintptrFromInt32(0)))
  5075. }
  5076. return ret
  5077. }
  5078. /*
  5079. * Skip list element, make sure the 'next' pointer is the last thing
  5080. * in the structure, it will be allocated large enough to hold all
  5081. * of the necessary pointers
  5082. */
  5083. type TFcCacheSkip = struct {
  5084. Fcache uintptr
  5085. Fref TFcRef
  5086. Fsize Tintptr_t
  5087. Fallocated uintptr
  5088. Fcache_dev Tdev_t
  5089. Fcache_ino Tino_t
  5090. Fcache_mtime Ttime_t
  5091. Fcache_mtime_nano int64
  5092. Fnext [1]uintptr
  5093. }
  5094. /*
  5095. * Skip list element, make sure the 'next' pointer is the last thing
  5096. * in the structure, it will be allocated large enough to hold all
  5097. * of the necessary pointers
  5098. */
  5099. type T_FcCacheSkip = TFcCacheSkip
  5100. /*
  5101. * The head of the skip list; pointers for every possible level
  5102. * in the skip list, plus the largest level in the list
  5103. */
  5104. // C documentation
  5105. //
  5106. // /* Protected by cache_lock below */
  5107. var _fcCacheChains [16]uintptr
  5108. var _fcCacheMaxLevel int32
  5109. var _cache_lock uintptr
  5110. func _lock_cache(tls *libc.TLS) {
  5111. var lock uintptr
  5112. var v1 int32
  5113. _, _ = lock, v1
  5114. goto retry
  5115. retry:
  5116. ;
  5117. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5118. if !(lock != 0) {
  5119. lock = libc.Xmalloc(tls, uint64(4))
  5120. _ = lock
  5121. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == libc.UintptrFromInt32(0) {
  5122. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = lock
  5123. v1 = libc.Int32FromInt32(m_FcTrue)
  5124. } else {
  5125. v1 = m_FcFalse
  5126. }
  5127. if !(v1 != 0) {
  5128. _ = lock
  5129. libc.Xfree(tls, lock)
  5130. goto retry
  5131. }
  5132. _ = lock
  5133. /* Initialize random state */
  5134. XFcRandom(tls)
  5135. return
  5136. }
  5137. _ = lock
  5138. }
  5139. func _unlock_cache(tls *libc.TLS) {
  5140. var lock uintptr
  5141. _ = lock
  5142. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5143. _ = lock
  5144. }
  5145. func _free_lock(tls *libc.TLS) {
  5146. var lock uintptr
  5147. var v1 int32
  5148. var v2 bool
  5149. _, _, _ = lock, v1, v2
  5150. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock))))
  5151. if v2 = lock != 0; v2 {
  5152. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) == lock {
  5153. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_cache_lock)))) = libc.UintptrFromInt32(0)
  5154. v1 = libc.Int32FromInt32(m_FcTrue)
  5155. } else {
  5156. v1 = m_FcFalse
  5157. }
  5158. }
  5159. if v2 && v1 != 0 {
  5160. _ = lock
  5161. libc.Xfree(tls, lock)
  5162. }
  5163. }
  5164. // C documentation
  5165. //
  5166. // /*
  5167. // * Generate a random level number, distributed
  5168. // * so that each level is 1/4 as likely as the one before
  5169. // *
  5170. // * Note that level numbers run 1 <= level <= MAX_LEVEL
  5171. // */
  5172. func _random_level(tls *libc.TLS) (r int32) {
  5173. var bits int64
  5174. var level, v1 int32
  5175. _, _, _ = bits, level, v1
  5176. /* tricky bit -- each bit is '1' 75% of the time */
  5177. bits = int64(XFcRandom(tls) | XFcRandom(tls))
  5178. level = 0
  5179. for {
  5180. level++
  5181. v1 = level
  5182. if !(v1 < int32(m_FC_CACHE_MAX_LEVEL)) {
  5183. break
  5184. }
  5185. if bits&int64(1) != 0 {
  5186. break
  5187. }
  5188. bits >>= int64(1)
  5189. }
  5190. return level
  5191. }
  5192. // C documentation
  5193. //
  5194. // /*
  5195. // * Insert cache into the list
  5196. // */
  5197. func _FcCacheInsert(tls *libc.TLS, cache uintptr, cache_stat uintptr) (r TFcBool) {
  5198. var i, level, v2 int32
  5199. var next, s, v4 uintptr
  5200. var update [16]uintptr
  5201. _, _, _, _, _, _, _ = i, level, next, s, update, v2, v4
  5202. _lock_cache(tls)
  5203. /*
  5204. * Find links along each chain
  5205. */
  5206. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5207. i = _fcCacheMaxLevel
  5208. for {
  5209. i--
  5210. v2 = i
  5211. if !(v2 >= 0) {
  5212. break
  5213. }
  5214. for {
  5215. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  5216. s = v4
  5217. if !(v4 != 0) {
  5218. break
  5219. }
  5220. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache > cache {
  5221. break
  5222. }
  5223. goto _3
  5224. _3:
  5225. ;
  5226. next = s + 64
  5227. }
  5228. update[i] = next + uintptr(i)*8
  5229. goto _1
  5230. _1:
  5231. }
  5232. /*
  5233. * Create new list element
  5234. */
  5235. level = _random_level(tls)
  5236. if level > _fcCacheMaxLevel {
  5237. level = _fcCacheMaxLevel + int32(1)
  5238. update[_fcCacheMaxLevel] = uintptr(unsafe.Pointer(&_fcCacheChains)) + uintptr(_fcCacheMaxLevel)*8
  5239. _fcCacheMaxLevel = level
  5240. }
  5241. s = libc.Xmalloc(tls, uint64(72)+uint64(level-libc.Int32FromInt32(1))*uint64(8))
  5242. if !(s != 0) {
  5243. return m_FcFalse
  5244. }
  5245. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache = cache
  5246. (*TFcCacheSkip)(unsafe.Pointer(s)).Fsize = (*TFcCache)(unsafe.Pointer(cache)).Fsize
  5247. (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated = libc.UintptrFromInt32(0)
  5248. (*TFcRef)(unsafe.Pointer(s + 8)).Fcount = int32(1)
  5249. if cache_stat != 0 {
  5250. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev
  5251. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino
  5252. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtimespec.Ftv_sec
  5253. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5254. } else {
  5255. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev = 0
  5256. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino = uint64(0)
  5257. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime = 0
  5258. (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime_nano = 0
  5259. }
  5260. /*
  5261. * Insert into all fcCacheChains
  5262. */
  5263. i = 0
  5264. for {
  5265. if !(i < level) {
  5266. break
  5267. }
  5268. *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer(update[i]))
  5269. *(*uintptr)(unsafe.Pointer(update[i])) = s
  5270. goto _5
  5271. _5:
  5272. ;
  5273. i++
  5274. }
  5275. _unlock_cache(tls)
  5276. return int32(m_FcTrue)
  5277. }
  5278. func _FcCacheFindByAddrUnlocked(tls *libc.TLS, object uintptr) (r uintptr) {
  5279. var i, v2 int32
  5280. var next, s uintptr
  5281. _, _, _, _ = i, next, s, v2
  5282. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5283. if !(object != 0) {
  5284. return libc.UintptrFromInt32(0)
  5285. }
  5286. /*
  5287. * Walk chain pointers one level at a time
  5288. */
  5289. i = _fcCacheMaxLevel
  5290. for {
  5291. i--
  5292. v2 = i
  5293. if !(v2 >= 0) {
  5294. break
  5295. }
  5296. 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) {
  5297. next = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8)) + 64
  5298. }
  5299. goto _1
  5300. _1:
  5301. }
  5302. /*
  5303. * Here we are
  5304. */
  5305. s = *(*uintptr)(unsafe.Pointer(next))
  5306. if s != 0 && object < (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache+uintptr((*TFcCacheSkip)(unsafe.Pointer(s)).Fsize) {
  5307. return s
  5308. }
  5309. return libc.UintptrFromInt32(0)
  5310. }
  5311. func _FcCacheFindByAddr(tls *libc.TLS, object uintptr) (r uintptr) {
  5312. var ret uintptr
  5313. _ = ret
  5314. _lock_cache(tls)
  5315. ret = _FcCacheFindByAddrUnlocked(tls, object)
  5316. _unlock_cache(tls)
  5317. return ret
  5318. }
  5319. func _FcCacheRemoveUnlocked(tls *libc.TLS, cache uintptr) {
  5320. var allocated, next, s, v4 uintptr
  5321. var i, v2 int32
  5322. var update [16]uintptr
  5323. _, _, _, _, _, _, _ = allocated, i, next, s, update, v2, v4
  5324. /*
  5325. * Find links along each chain
  5326. */
  5327. next = uintptr(unsafe.Pointer(&_fcCacheChains))
  5328. i = _fcCacheMaxLevel
  5329. for {
  5330. i--
  5331. v2 = i
  5332. if !(v2 >= 0) {
  5333. break
  5334. }
  5335. for {
  5336. v4 = *(*uintptr)(unsafe.Pointer(next + uintptr(i)*8))
  5337. s = v4
  5338. if !(v4 != 0) {
  5339. break
  5340. }
  5341. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache >= cache {
  5342. break
  5343. }
  5344. goto _3
  5345. _3:
  5346. ;
  5347. next = s + 64
  5348. }
  5349. update[i] = next + uintptr(i)*8
  5350. goto _1
  5351. _1:
  5352. }
  5353. s = *(*uintptr)(unsafe.Pointer(next))
  5354. i = 0
  5355. for {
  5356. if !(i < _fcCacheMaxLevel && *(*uintptr)(unsafe.Pointer(update[i])) == s) {
  5357. break
  5358. }
  5359. *(*uintptr)(unsafe.Pointer(update[i])) = *(*uintptr)(unsafe.Pointer(s + 64 + uintptr(i)*8))
  5360. goto _5
  5361. _5:
  5362. ;
  5363. i++
  5364. }
  5365. for _fcCacheMaxLevel > 0 && _fcCacheChains[_fcCacheMaxLevel-int32(1)] == libc.UintptrFromInt32(0) {
  5366. _fcCacheMaxLevel--
  5367. }
  5368. if s != 0 {
  5369. allocated = (*TFcCacheSkip)(unsafe.Pointer(s)).Fallocated
  5370. for allocated != 0 {
  5371. /* First element in allocated chunk is the free list */
  5372. next = *(*uintptr)(unsafe.Pointer(allocated))
  5373. libc.Xfree(tls, allocated)
  5374. allocated = next
  5375. }
  5376. libc.Xfree(tls, s)
  5377. }
  5378. }
  5379. func _FcCacheFindByStat(tls *libc.TLS, cache_stat uintptr) (r uintptr) {
  5380. var s, p3 uintptr
  5381. _, _ = s, p3
  5382. _lock_cache(tls)
  5383. s = _fcCacheChains[0]
  5384. for {
  5385. if !(s != 0) {
  5386. break
  5387. }
  5388. if (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_dev == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_dev && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_ino == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_ino && (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache_mtime == (*Tstat)(unsafe.Pointer(cache_stat)).Fst_mtimespec.Ftv_sec {
  5389. p3 = s + 8
  5390. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  5391. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  5392. goto _2
  5393. _2:
  5394. ;
  5395. _unlock_cache(tls)
  5396. return (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache
  5397. }
  5398. goto _1
  5399. _1:
  5400. ;
  5401. s = *(*uintptr)(unsafe.Pointer(s + 64))
  5402. }
  5403. _unlock_cache(tls)
  5404. return libc.UintptrFromInt32(0)
  5405. }
  5406. func _FcDirCacheDisposeUnlocked(tls *libc.TLS, cache uintptr) {
  5407. _FcCacheRemoveUnlocked(tls, cache)
  5408. switch (*TFcCache)(unsafe.Pointer(cache)).Fmagic {
  5409. case uint32(m_FC_CACHE_MAGIC_ALLOC1):
  5410. libc.Xfree(tls, cache)
  5411. case uint32(m_FC_CACHE_MAGIC_MMAP1):
  5412. libc.Xmunmap(tls, cache, uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize))
  5413. break
  5414. }
  5415. }
  5416. func XFcCacheObjectReference(tls *libc.TLS, object uintptr) {
  5417. var skip, p2 uintptr
  5418. _, _ = skip, p2
  5419. skip = _FcCacheFindByAddr(tls, object)
  5420. if skip != 0 {
  5421. p2 = skip + 8
  5422. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  5423. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  5424. goto _1
  5425. _1:
  5426. }
  5427. }
  5428. func XFcCacheObjectDereference(tls *libc.TLS, object uintptr) {
  5429. var skip, p3 uintptr
  5430. var v1 int32
  5431. _, _, _ = skip, v1, p3
  5432. _lock_cache(tls)
  5433. skip = _FcCacheFindByAddrUnlocked(tls, object)
  5434. if skip != 0 {
  5435. p3 = skip + 8
  5436. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  5437. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  5438. goto _2
  5439. _2:
  5440. if v1 == int32(1) {
  5441. _FcDirCacheDisposeUnlocked(tls, (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache)
  5442. }
  5443. }
  5444. _unlock_cache(tls)
  5445. }
  5446. func XFcCacheAllocate(tls *libc.TLS, cache uintptr, len1 Tsize_t) (r uintptr) {
  5447. var allocated, chunk, skip uintptr
  5448. _, _, _ = allocated, chunk, skip
  5449. allocated = libc.UintptrFromInt32(0)
  5450. _lock_cache(tls)
  5451. skip = _FcCacheFindByAddrUnlocked(tls, cache)
  5452. if skip != 0 {
  5453. chunk = libc.Xmalloc(tls, uint64(8)+len1)
  5454. if chunk != 0 {
  5455. /* First element in allocated chunk is the free list */
  5456. *(*uintptr)(unsafe.Pointer(chunk)) = (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated
  5457. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fallocated = chunk
  5458. /* Return the rest */
  5459. allocated = chunk + uintptr(8)
  5460. }
  5461. }
  5462. _unlock_cache(tls)
  5463. return allocated
  5464. }
  5465. func XFcCacheFini(tls *libc.TLS) {
  5466. bp := tls.Alloc(32)
  5467. defer tls.Free(32)
  5468. var i int32
  5469. var s uintptr
  5470. _, _ = i, s
  5471. i = 0
  5472. for {
  5473. if !(i < int32(m_FC_CACHE_MAX_LEVEL)) {
  5474. break
  5475. }
  5476. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5477. if _fcCacheChains[i] != libc.UintptrFromInt32(0) {
  5478. s = _fcCacheChains[i]
  5479. libc.Xprintf(tls, __ccgo_ts+187, libc.VaList(bp+8, (*TFcCacheSkip)(unsafe.Pointer(s)).Fcache, uintptr(int64((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)+(*TFcCache)(unsafe.Pointer((*TFcCacheSkip)(unsafe.Pointer(s)).Fcache)).Fdir), (*TFcCacheSkip)(unsafe.Pointer(s)).Fref.Fcount))
  5480. }
  5481. } else {
  5482. }
  5483. goto _1
  5484. _1:
  5485. ;
  5486. i++
  5487. }
  5488. _free_lock(tls)
  5489. }
  5490. func _FcCacheTimeValid(tls *libc.TLS, config uintptr, cache uintptr, dir_stat uintptr) (r TFcBool) {
  5491. bp := tls.Alloc(176)
  5492. defer tls.Free(176)
  5493. var d, sysroot uintptr
  5494. var fnano TFcBool
  5495. var _ /* dir_static at bp+0 */ Tstat
  5496. _, _, _ = d, fnano, sysroot
  5497. fnano = int32(m_FcTrue)
  5498. if !(dir_stat != 0) {
  5499. sysroot = XFcConfigGetSysRoot(tls, config)
  5500. if sysroot != 0 {
  5501. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), libc.UintptrFromInt32(0)))
  5502. } else {
  5503. d = libc.Xstrdup(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir))
  5504. }
  5505. if XFcStatChecksum(tls, d, bp) < 0 {
  5506. XFcStrFree(tls, d)
  5507. return m_FcFalse
  5508. }
  5509. XFcStrFree(tls, d)
  5510. dir_stat = bp
  5511. }
  5512. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  5513. libc.Xprintf(tls, __ccgo_ts+242, libc.VaList(bp+152, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), (*TFcCache)(unsafe.Pointer(cache)).Fchecksum, int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec)))
  5514. }
  5515. return libc.BoolInt32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec == 0 || (*TFcCache)(unsafe.Pointer(cache)).Fchecksum == int32((*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec) && fnano != 0)
  5516. }
  5517. func _FcCacheOffsetsValid(tls *libc.TLS, cache uintptr) (r TFcBool) {
  5518. var base, dir, dirs, e, end, font, fs, last_offset, v10, v11, v3, v4 uintptr
  5519. var i, j int32
  5520. var l TFcValueListPtr
  5521. var v5 TFcBool
  5522. var v7 bool
  5523. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, e, end, font, fs, i, j, l, last_offset, v10, v11, v3, v4, v5, v7
  5524. base = cache
  5525. end = base + uintptr((*TFcCache)(unsafe.Pointer(cache)).Fsize)
  5526. if (*TFcCache)(unsafe.Pointer(cache)).Fdir < 0 || uint64((*TFcCache)(unsafe.Pointer(cache)).Fdir) > uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(8) || libc.Xmemchr(tls, base+uintptr((*TFcCache)(unsafe.Pointer(cache)).Fdir), int32('\000'), uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdir)) == libc.UintptrFromInt32(0) {
  5527. return m_FcFalse
  5528. }
  5529. if (*TFcCache)(unsafe.Pointer(cache)).Fdirs < 0 || (*TFcCache)(unsafe.Pointer(cache)).Fdirs >= (*TFcCache)(unsafe.Pointer(cache)).Fsize || (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count < 0 || uint64((*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) > uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize-(*TFcCache)(unsafe.Pointer(cache)).Fdirs)/uint64(8) {
  5530. return m_FcFalse
  5531. }
  5532. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  5533. if dirs != 0 {
  5534. i = 0
  5535. for {
  5536. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  5537. break
  5538. }
  5539. if *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)) < 0 || uint64(*(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8))) > uint64(int64(end)-int64(dirs))-uint64(8) {
  5540. return m_FcFalse
  5541. }
  5542. dir = uintptr(int64(dirs) + *(*Tintptr_t)(unsafe.Pointer(dirs + uintptr(i)*8)))
  5543. if libc.Xmemchr(tls, dir, int32('\000'), uint64(int64(end)-int64(dir))) == libc.UintptrFromInt32(0) {
  5544. return m_FcFalse
  5545. }
  5546. goto _1
  5547. _1:
  5548. ;
  5549. i++
  5550. }
  5551. }
  5552. if (*TFcCache)(unsafe.Pointer(cache)).Fset < 0 || uint64((*TFcCache)(unsafe.Pointer(cache)).Fset) > uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize)-uint64(16) {
  5553. return m_FcFalse
  5554. }
  5555. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  5556. if fs != 0 {
  5557. if uint64((*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) > uint64(int64(end)-int64(fs))/uint64(24) {
  5558. return m_FcFalse
  5559. }
  5560. if !(int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5561. return m_FcFalse
  5562. }
  5563. i = 0
  5564. for {
  5565. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  5566. break
  5567. }
  5568. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5569. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  5570. v4 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  5571. } else {
  5572. v4 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  5573. }
  5574. v3 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v4 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  5575. } else {
  5576. v3 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  5577. }
  5578. font = v3
  5579. 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) || uint64((*TFcPattern)(unsafe.Pointer(font)).Fnum) > uint64(int64(end)-int64(font)-(*TFcPattern)(unsafe.Pointer(font)).Felts_offset)/uint64(16); !v7 {
  5580. v5 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(font+16)).Fcount == -libc.Int32FromInt32(1))
  5581. goto _6
  5582. _6:
  5583. }
  5584. if v7 || !(v5 != 0) {
  5585. return m_FcFalse
  5586. }
  5587. e = uintptr(int64(font) + (*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5588. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != uintptr(0) && !(int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&libc.Int64FromInt32(1) != libc.Int64FromInt32(0)) {
  5589. return m_FcFalse
  5590. }
  5591. j = 0
  5592. for {
  5593. if !(j < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  5594. break
  5595. }
  5596. last_offset = font + uintptr((*TFcPattern)(unsafe.Pointer(font)).Felts_offset)
  5597. if int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(1) != 0 {
  5598. v10 = uintptr(Tintptr_t(e+uintptr(j)*16) + int64((*TFcPatternElt)(unsafe.Pointer(e+uintptr(j)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  5599. } else {
  5600. v10 = (*TFcPatternElt)(unsafe.Pointer(e + uintptr(j)*16)).Fvalues
  5601. }
  5602. l = v10
  5603. for {
  5604. if !(l != 0) {
  5605. break
  5606. }
  5607. 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)) {
  5608. return m_FcFalse
  5609. }
  5610. last_offset = l + uintptr(1)
  5611. goto _9
  5612. _9:
  5613. ;
  5614. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  5615. v11 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  5616. } else {
  5617. v11 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  5618. }
  5619. l = v11
  5620. }
  5621. goto _8
  5622. _8:
  5623. ;
  5624. j++
  5625. }
  5626. goto _2
  5627. _2:
  5628. ;
  5629. i++
  5630. }
  5631. }
  5632. return int32(m_FcTrue)
  5633. }
  5634. // C documentation
  5635. //
  5636. // /*
  5637. // * Map a cache file into memory
  5638. // */
  5639. func _FcDirCacheMapFd(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr) (r uintptr) {
  5640. var allocated TFcBool
  5641. var cache uintptr
  5642. _, _ = allocated, cache
  5643. allocated = m_FcFalse
  5644. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size > int64(9223372036854775807) || (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size < int64(libc.Int32FromInt64(64)) {
  5645. return libc.UintptrFromInt32(0)
  5646. }
  5647. cache = _FcCacheFindByStat(tls, fd_stat)
  5648. if cache != 0 {
  5649. if _FcCacheTimeValid(tls, config, cache, dir_stat) != 0 {
  5650. return cache
  5651. }
  5652. XFcDirCacheUnload(tls, cache)
  5653. cache = libc.UintptrFromInt32(0)
  5654. }
  5655. /*
  5656. * Large cache files are mmap'ed, smaller cache files are read. This
  5657. * balances the system cost of mmap against per-process memory usage.
  5658. */
  5659. if _FcCacheIsMmapSafe(tls, fd) != 0 && (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size >= int64(m_FC_CACHE_MIN_MMAP) {
  5660. cache = libc.Xmmap(tls, uintptr(0), uint64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size), int32(m_PROT_READ), int32(m_MAP_SHARED), fd, 0)
  5661. if cache == uintptr(-libc.Int32FromInt32(1)) {
  5662. cache = libc.UintptrFromInt32(0)
  5663. }
  5664. }
  5665. if !(cache != 0) {
  5666. cache = libc.Xmalloc(tls, uint64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5667. if !(cache != 0) {
  5668. return libc.UintptrFromInt32(0)
  5669. }
  5670. if int64(libc.Xread(tls, fd, cache, uint64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))) != (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size {
  5671. libc.Xfree(tls, cache)
  5672. return libc.UintptrFromInt32(0)
  5673. }
  5674. allocated = int32(m_FcTrue)
  5675. }
  5676. 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) {
  5677. if allocated != 0 {
  5678. libc.Xfree(tls, cache)
  5679. } else {
  5680. libc.Xmunmap(tls, cache, uint64((*Tstat)(unsafe.Pointer(fd_stat)).Fst_size))
  5681. }
  5682. return libc.UintptrFromInt32(0)
  5683. }
  5684. /* Mark allocated caches so they're freed rather than unmapped */
  5685. if allocated != 0 {
  5686. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  5687. }
  5688. return cache
  5689. }
  5690. func XFcDirCacheReference(tls *libc.TLS, cache uintptr, nref int32) {
  5691. var skip, p3 uintptr
  5692. var v1 int32
  5693. _, _, _ = skip, v1, p3
  5694. skip = _FcCacheFindByAddr(tls, cache)
  5695. if skip != 0 {
  5696. v1 = nref
  5697. p3 = skip + 8
  5698. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += v1
  5699. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - v1
  5700. goto _2
  5701. _2:
  5702. }
  5703. }
  5704. func XFcDirCacheUnload(tls *libc.TLS, cache uintptr) {
  5705. XFcCacheObjectDereference(tls, cache)
  5706. }
  5707. func _FcDirCacheMapHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  5708. bp := tls.Alloc(48)
  5709. defer tls.Free(48)
  5710. var cache uintptr
  5711. var v1, v2, v3, v5, v6 int32
  5712. var v4 bool
  5713. var _ /* cache_mtime at bp+0 */ Ttimeval
  5714. var _ /* dir_mtime at bp+32 */ Ttimeval
  5715. var _ /* zero_mtime at bp+16 */ Ttimeval
  5716. _, _, _, _, _, _, _ = cache, v1, v2, v3, v4, v5, v6
  5717. cache = _FcDirCacheMapFd(tls, config, fd, fd_stat, dir_stat)
  5718. *(*Ttimeval)(unsafe.Pointer(bp + 16)) = Ttimeval{}
  5719. if !(cache != 0) {
  5720. return m_FcFalse
  5721. }
  5722. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec = (*Tstat)(unsafe.Pointer(fd_stat)).Fst_mtimespec.Ftv_sec
  5723. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_sec = (*Tstat)(unsafe.Pointer(dir_stat)).Fst_mtimespec.Ftv_sec
  5724. (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec = 0
  5725. (*(*Ttimeval)(unsafe.Pointer(bp + 32))).Ftv_usec = 0
  5726. /* special take care of OSTree */
  5727. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec {
  5728. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_usec)
  5729. } else {
  5730. v1 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp+32)).Ftv_sec)
  5731. }
  5732. if !(v1 != 0) {
  5733. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5734. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5735. } else {
  5736. v2 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5737. }
  5738. if !(v2 != 0) {
  5739. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5740. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5741. }
  5742. } else {
  5743. if v4 = *(*uintptr)(unsafe.Pointer(closure)) != 0; v4 {
  5744. if (*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec {
  5745. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_usec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec)
  5746. } else {
  5747. v3 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(bp+16)).Ftv_sec != (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec)
  5748. }
  5749. }
  5750. if v4 && !(v3 != 0) {
  5751. XFcDirCacheUnload(tls, cache)
  5752. return m_FcFalse
  5753. } else {
  5754. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5755. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5756. } else {
  5757. v5 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5758. }
  5759. if v5 != 0 {
  5760. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5761. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5762. }
  5763. }
  5764. }
  5765. }
  5766. } else {
  5767. if (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec == (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec {
  5768. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_usec)
  5769. } else {
  5770. v6 = libc.BoolInt32((*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec < (*Ttimeval)(unsafe.Pointer(bp)).Ftv_sec)
  5771. }
  5772. if v6 != 0 {
  5773. if *(*uintptr)(unsafe.Pointer(closure)) != 0 {
  5774. XFcDirCacheUnload(tls, *(*uintptr)(unsafe.Pointer(closure)))
  5775. }
  5776. } else {
  5777. XFcDirCacheUnload(tls, cache)
  5778. return m_FcFalse
  5779. }
  5780. }
  5781. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_sec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_sec
  5782. (*Ttimeval)(unsafe.Pointer(latest_cache_mtime)).Ftv_usec = (*(*Ttimeval)(unsafe.Pointer(bp))).Ftv_usec
  5783. *(*uintptr)(unsafe.Pointer(closure)) = cache
  5784. return int32(m_FcTrue)
  5785. }
  5786. func XFcDirCacheLoad(tls *libc.TLS, dir uintptr, config uintptr, cache_file uintptr) (r uintptr) {
  5787. bp := tls.Alloc(16)
  5788. defer tls.Free(16)
  5789. var _ /* cache at bp+0 */ uintptr
  5790. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5791. config = XFcConfigReference(tls, config)
  5792. if !(config != 0) {
  5793. return libc.UintptrFromInt32(0)
  5794. }
  5795. if !(_FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheMapHelper), bp, cache_file) != 0) {
  5796. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  5797. }
  5798. XFcConfigDestroy(tls, config)
  5799. return *(*uintptr)(unsafe.Pointer(bp))
  5800. }
  5801. func XFcDirCacheLoadFile(tls *libc.TLS, cache_file uintptr, file_stat uintptr) (r uintptr) {
  5802. bp := tls.Alloc(144)
  5803. defer tls.Free(144)
  5804. var cache, config uintptr
  5805. var fd int32
  5806. var _ /* my_file_stat at bp+0 */ Tstat
  5807. _, _, _ = cache, config, fd
  5808. cache = libc.UintptrFromInt32(0)
  5809. if !(file_stat != 0) {
  5810. file_stat = bp
  5811. }
  5812. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5813. if !(config != 0) {
  5814. return libc.UintptrFromInt32(0)
  5815. }
  5816. fd = _FcDirCacheOpenFile(tls, cache_file, file_stat)
  5817. if fd >= 0 {
  5818. cache = _FcDirCacheMapFd(tls, config, fd, file_stat, libc.UintptrFromInt32(0))
  5819. libc.Xclose(tls, fd)
  5820. }
  5821. XFcConfigDestroy(tls, config)
  5822. return cache
  5823. }
  5824. func _FcDirChecksum(tls *libc.TLS, statb uintptr) (r int32) {
  5825. bp := tls.Alloc(32)
  5826. defer tls.Free(32)
  5827. var epoch uint64
  5828. var ret int32
  5829. var source_date_epoch uintptr
  5830. var _ /* endptr at bp+0 */ uintptr
  5831. _, _, _ = epoch, ret, source_date_epoch
  5832. ret = int32((*Tstat)(unsafe.Pointer(statb)).Fst_mtimespec.Ftv_sec)
  5833. source_date_epoch = libc.Xgetenv(tls, __ccgo_ts+303)
  5834. if source_date_epoch != 0 {
  5835. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  5836. epoch = libc.Xstrtoull(tls, source_date_epoch, bp, int32(10))
  5837. if *(*uintptr)(unsafe.Pointer(bp)) == source_date_epoch {
  5838. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+321, 0)
  5839. } else {
  5840. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) == int32(m_ERANGE) && (epoch == libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1) || epoch == uint64(0)) || *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 && epoch == uint64(0) {
  5841. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+360, libc.VaList(bp+16, libc.Xstrerror(tls, *(*int32)(unsafe.Pointer(libc.X__error(tls)))), epoch))
  5842. } else {
  5843. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) != int32('\000') {
  5844. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+411, 0)
  5845. } else {
  5846. if epoch > uint64(libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1)) {
  5847. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+463, libc.VaList(bp+16, libc.Uint64FromInt64(9223372036854775807)*libc.Uint64FromUint64(2)+libc.Uint64FromUint64(1), epoch))
  5848. } else {
  5849. if epoch < uint64(ret) {
  5850. /* Only override if directory is newer */
  5851. ret = int32(epoch)
  5852. }
  5853. }
  5854. }
  5855. }
  5856. }
  5857. }
  5858. return ret
  5859. }
  5860. func _FcDirChecksumNano(tls *libc.TLS, statb uintptr) (r Tint64_t) {
  5861. return 0
  5862. }
  5863. // C documentation
  5864. //
  5865. // /*
  5866. // * Validate a cache file by reading the header and checking
  5867. // * the magic number and the size field
  5868. // */
  5869. func _FcDirCacheValidateHelper(tls *libc.TLS, config uintptr, fd int32, fd_stat uintptr, dir_stat uintptr, latest_cache_mtime uintptr, closure uintptr) (r TFcBool) {
  5870. bp := tls.Alloc(64)
  5871. defer tls.Free(64)
  5872. var ret TFcBool
  5873. var _ /* c at bp+0 */ TFcCache
  5874. _ = ret
  5875. ret = int32(m_FcTrue)
  5876. if uint64(libc.Xread(tls, fd, bp, uint64(64))) != uint64(64) {
  5877. ret = m_FcFalse
  5878. } else {
  5879. if (*(*TFcCache)(unsafe.Pointer(bp))).Fmagic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  5880. ret = m_FcFalse
  5881. } else {
  5882. if (*(*TFcCache)(unsafe.Pointer(bp))).Fversion < int32(m_FC_CACHE_VERSION_NUMBER) {
  5883. ret = m_FcFalse
  5884. } else {
  5885. if (*Tstat)(unsafe.Pointer(fd_stat)).Fst_size != (*(*TFcCache)(unsafe.Pointer(bp))).Fsize {
  5886. ret = m_FcFalse
  5887. } else {
  5888. if (*(*TFcCache)(unsafe.Pointer(bp))).Fchecksum != _FcDirChecksum(tls, dir_stat) {
  5889. ret = m_FcFalse
  5890. }
  5891. }
  5892. }
  5893. }
  5894. }
  5895. return ret
  5896. }
  5897. func _FcDirCacheValidConfig(tls *libc.TLS, dir uintptr, config uintptr) (r TFcBool) {
  5898. return _FcDirCacheProcess(tls, config, dir, __ccgo_fp(_FcDirCacheValidateHelper), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  5899. }
  5900. func XFcDirCacheValid(tls *libc.TLS, dir uintptr) (r TFcBool) {
  5901. var config uintptr
  5902. var ret TFcBool
  5903. _, _ = config, ret
  5904. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  5905. if !(config != 0) {
  5906. return m_FcFalse
  5907. }
  5908. ret = _FcDirCacheValidConfig(tls, dir, config)
  5909. XFcConfigDestroy(tls, config)
  5910. return ret
  5911. }
  5912. // C documentation
  5913. //
  5914. // /*
  5915. // * Build a cache structure from the given contents
  5916. // */
  5917. func XFcDirCacheBuild(tls *libc.TLS, set uintptr, dir uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  5918. var cache, d_serialize, dir_serialize, dirs_serialize, serialize, set_serialize uintptr
  5919. var i int32
  5920. _, _, _, _, _, _, _ = cache, d_serialize, dir_serialize, dirs_serialize, i, serialize, set_serialize
  5921. serialize = XFcSerializeCreate(tls)
  5922. if !(serialize != 0) {
  5923. return libc.UintptrFromInt32(0)
  5924. }
  5925. /*
  5926. * Space for cache structure
  5927. */
  5928. XFcSerializeReserve(tls, serialize, int32(64))
  5929. /*
  5930. * Directory name
  5931. */
  5932. if !(XFcStrSerializeAlloc(tls, serialize, dir) != 0) {
  5933. goto bail1
  5934. }
  5935. /*
  5936. * Subdirs
  5937. */
  5938. XFcSerializeAlloc(tls, serialize, dirs, int32(uint64((*TFcStrSet)(unsafe.Pointer(dirs)).Fnum)*uint64(8)))
  5939. i = 0
  5940. for {
  5941. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  5942. break
  5943. }
  5944. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8))) != 0) {
  5945. goto bail1
  5946. }
  5947. goto _1
  5948. _1:
  5949. ;
  5950. i++
  5951. }
  5952. /*
  5953. * Patterns
  5954. */
  5955. if !(XFcFontSetSerializeAlloc(tls, serialize, set) != 0) {
  5956. goto bail1
  5957. }
  5958. /* Serialize layout complete. Now allocate space and fill it */
  5959. cache = libc.Xmalloc(tls, uint64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize))
  5960. if !(cache != 0) {
  5961. goto bail1
  5962. }
  5963. /* shut up valgrind */
  5964. libc.X__builtin___memset_chk(tls, cache, 0, uint64((*TFcSerialize)(unsafe.Pointer(serialize)).Fsize), uint64(libc.X__builtin_object_size(tls, cache, 0)))
  5965. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = cache
  5966. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_ALLOC1)
  5967. (*TFcCache)(unsafe.Pointer(cache)).Fversion = int32(m_FC_CACHE_VERSION_NUMBER)
  5968. (*TFcCache)(unsafe.Pointer(cache)).Fsize = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  5969. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum = _FcDirChecksum(tls, dir_stat)
  5970. (*TFcCache)(unsafe.Pointer(cache)).Fchecksum_nano = _FcDirChecksumNano(tls, dir_stat)
  5971. /*
  5972. * Serialize directory name
  5973. */
  5974. dir_serialize = XFcStrSerialize(tls, serialize, dir)
  5975. if !(dir_serialize != 0) {
  5976. goto bail2
  5977. }
  5978. (*TFcCache)(unsafe.Pointer(cache)).Fdir = int64(dir_serialize) - int64(cache)
  5979. /*
  5980. * Serialize sub dirs
  5981. */
  5982. dirs_serialize = XFcSerializePtr(tls, serialize, dirs)
  5983. if !(dirs_serialize != 0) {
  5984. goto bail2
  5985. }
  5986. (*TFcCache)(unsafe.Pointer(cache)).Fdirs = int64(dirs_serialize) - int64(cache)
  5987. (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count = (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum
  5988. i = 0
  5989. for {
  5990. if !(i < (*TFcStrSet)(unsafe.Pointer(dirs)).Fnum) {
  5991. break
  5992. }
  5993. d_serialize = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(dirs)).Fstrs + uintptr(i)*8)))
  5994. if !(d_serialize != 0) {
  5995. goto bail2
  5996. }
  5997. *(*Tintptr_t)(unsafe.Pointer(dirs_serialize + uintptr(i)*8)) = int64(d_serialize) - int64(dirs_serialize)
  5998. goto _2
  5999. _2:
  6000. ;
  6001. i++
  6002. }
  6003. /*
  6004. * Serialize font set
  6005. */
  6006. set_serialize = XFcFontSetSerialize(tls, serialize, set)
  6007. if !(set_serialize != 0) {
  6008. goto bail2
  6009. }
  6010. (*TFcCache)(unsafe.Pointer(cache)).Fset = int64(set_serialize) - int64(cache)
  6011. XFcSerializeDestroy(tls, serialize)
  6012. _FcCacheInsert(tls, cache, libc.UintptrFromInt32(0))
  6013. return cache
  6014. goto bail2
  6015. bail2:
  6016. ;
  6017. libc.Xfree(tls, cache)
  6018. goto bail1
  6019. bail1:
  6020. ;
  6021. XFcSerializeDestroy(tls, serialize)
  6022. return libc.UintptrFromInt32(0)
  6023. }
  6024. func XFcDirCacheRebuild(tls *libc.TLS, cache uintptr, dir_stat uintptr, dirs uintptr) (r uintptr) {
  6025. var dir, new1, set uintptr
  6026. _, _, _ = dir, new1, set
  6027. set = XFcFontSetDeserialize(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fset))
  6028. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6029. new1 = XFcDirCacheBuild(tls, set, dir, dir_stat, dirs)
  6030. XFcFontSetDestroy(tls, set)
  6031. return new1
  6032. }
  6033. // C documentation
  6034. //
  6035. // /* write serialized state to the cache file */
  6036. func XFcDirCacheWrite(tls *libc.TLS, cache uintptr, config uintptr) (r TFcBool) {
  6037. bp := tls.Alloc(224)
  6038. defer tls.Free(224)
  6039. var atomic, cache_dir, cache_hashed, d, dir, list, skip, sysroot, test_dir, v1, v2 uintptr
  6040. var fd, written int32
  6041. var magic uint32
  6042. var _ /* cache_base at bp+0 */ [52]TFcChar8
  6043. var _ /* cache_stat at bp+56 */ Tstat
  6044. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = atomic, cache_dir, cache_hashed, d, dir, fd, list, magic, skip, sysroot, test_dir, written, v1, v2
  6045. dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6046. cache_dir = libc.UintptrFromInt32(0)
  6047. d = libc.UintptrFromInt32(0)
  6048. sysroot = XFcConfigGetSysRoot(tls, config)
  6049. /*
  6050. * Write it to the first directory in the list which is writable
  6051. */
  6052. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6053. if !(list != 0) {
  6054. return m_FcFalse
  6055. }
  6056. for {
  6057. v1 = XFcStrListNext(tls, list)
  6058. test_dir = v1
  6059. if !(v1 != 0) {
  6060. break
  6061. }
  6062. if d != 0 {
  6063. XFcStrFree(tls, d)
  6064. }
  6065. if sysroot != 0 {
  6066. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+208, test_dir, libc.UintptrFromInt32(0)))
  6067. } else {
  6068. d = XFcStrCopyFilename(tls, test_dir)
  6069. }
  6070. if libc.Xaccess(tls, d, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  6071. cache_dir = XFcStrCopyFilename(tls, d)
  6072. break
  6073. } else {
  6074. /*
  6075. * If the directory doesn't exist, try to create it
  6076. */
  6077. if libc.Xaccess(tls, d, m_F_OK) == -int32(1) {
  6078. if XFcMakeDirectory(tls, d) != 0 {
  6079. cache_dir = XFcStrCopyFilename(tls, d)
  6080. /* Create CACHEDIR.TAG */
  6081. XFcDirCacheCreateTagFile(tls, d)
  6082. break
  6083. }
  6084. } else {
  6085. if libc.Xchmod(tls, d, uint16(0755)) == 0 {
  6086. cache_dir = XFcStrCopyFilename(tls, d)
  6087. /* Try to create CACHEDIR.TAG too */
  6088. XFcDirCacheCreateTagFile(tls, d)
  6089. break
  6090. }
  6091. }
  6092. }
  6093. }
  6094. if !(test_dir != 0) {
  6095. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+523, 0)
  6096. }
  6097. if d != 0 {
  6098. XFcStrFree(tls, d)
  6099. }
  6100. XFcStrListDone(tls, list)
  6101. if !(cache_dir != 0) {
  6102. return m_FcFalse
  6103. }
  6104. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  6105. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+208, bp, libc.UintptrFromInt32(0)))
  6106. XFcStrFree(tls, cache_dir)
  6107. if !(cache_hashed != 0) {
  6108. return m_FcFalse
  6109. }
  6110. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6111. libc.Xprintf(tls, __ccgo_ts+572, libc.VaList(bp+208, dir, cache_hashed))
  6112. }
  6113. atomic = XFcAtomicCreate(tls, cache_hashed)
  6114. if !(atomic != 0) {
  6115. goto bail1
  6116. }
  6117. if !(XFcAtomicLock(tls, atomic) != 0) {
  6118. goto bail3
  6119. }
  6120. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT)|libc.Int32FromInt32(m_O_BINARY), libc.VaList(bp+208, int32(0666)))
  6121. if fd == -int32(1) {
  6122. goto bail4
  6123. }
  6124. /* Temporarily switch magic to MMAP while writing to file */
  6125. magic = (*TFcCache)(unsafe.Pointer(cache)).Fmagic
  6126. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  6127. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = uint32(m_FC_CACHE_MAGIC_MMAP1)
  6128. }
  6129. /*
  6130. * Write cache contents to file
  6131. */
  6132. written = int32(libc.Xwrite(tls, fd, cache, uint64((*TFcCache)(unsafe.Pointer(cache)).Fsize)))
  6133. /* Switch magic back */
  6134. if magic != uint32(m_FC_CACHE_MAGIC_MMAP1) {
  6135. (*TFcCache)(unsafe.Pointer(cache)).Fmagic = magic
  6136. }
  6137. if int64(written) != (*TFcCache)(unsafe.Pointer(cache)).Fsize {
  6138. libc.Xperror(tls, __ccgo_ts+611)
  6139. goto bail5
  6140. }
  6141. libc.Xclose(tls, fd)
  6142. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  6143. goto bail4
  6144. }
  6145. /* If the file is small, update the cache chain entry such that the
  6146. * new cache file is not read again. If it's large, we don't do that
  6147. * such that we reload it, using mmap, which is shared across processes.
  6148. */
  6149. if (*TFcCache)(unsafe.Pointer(cache)).Fsize < int64(m_FC_CACHE_MIN_MMAP) && XFcStat(tls, cache_hashed, bp+56) != 0 {
  6150. _lock_cache(tls)
  6151. v2 = _FcCacheFindByAddrUnlocked(tls, cache)
  6152. skip = v2
  6153. if v2 != 0 {
  6154. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_dev = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_dev
  6155. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_ino = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_ino
  6156. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime = (*(*Tstat)(unsafe.Pointer(bp + 56))).Fst_mtimespec.Ftv_sec
  6157. (*TFcCacheSkip)(unsafe.Pointer(skip)).Fcache_mtime_nano = 0
  6158. }
  6159. _unlock_cache(tls)
  6160. }
  6161. XFcStrFree(tls, cache_hashed)
  6162. XFcAtomicUnlock(tls, atomic)
  6163. XFcAtomicDestroy(tls, atomic)
  6164. return int32(m_FcTrue)
  6165. goto bail5
  6166. bail5:
  6167. ;
  6168. libc.Xclose(tls, fd)
  6169. goto bail4
  6170. bail4:
  6171. ;
  6172. XFcAtomicUnlock(tls, atomic)
  6173. goto bail3
  6174. bail3:
  6175. ;
  6176. XFcAtomicDestroy(tls, atomic)
  6177. goto bail1
  6178. bail1:
  6179. ;
  6180. XFcStrFree(tls, cache_hashed)
  6181. return m_FcFalse
  6182. }
  6183. func XFcDirCacheClean(tls *libc.TLS, cache_dir uintptr, verbose TFcBool) (r TFcBool) {
  6184. bp := tls.Alloc(176)
  6185. defer tls.Free(176)
  6186. var cache, config, d, dir, ent, file_name, s, sysroot, target_dir, v1, v2 uintptr
  6187. var remove, ret TFcBool
  6188. var _ /* target_stat at bp+0 */ Tstat
  6189. _, _, _, _, _, _, _, _, _, _, _, _, _ = cache, config, d, dir, ent, file_name, remove, ret, s, sysroot, target_dir, v1, v2
  6190. ret = int32(m_FcTrue)
  6191. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  6192. if !(config != 0) {
  6193. return m_FcFalse
  6194. }
  6195. /* FIXME: this API needs to support non-current FcConfig */
  6196. sysroot = XFcConfigGetSysRoot(tls, config)
  6197. if sysroot != 0 {
  6198. dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, cache_dir, libc.UintptrFromInt32(0)))
  6199. } else {
  6200. dir = XFcStrCopyFilename(tls, cache_dir)
  6201. }
  6202. if !(dir != 0) {
  6203. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+623, libc.VaList(bp+152, cache_dir))
  6204. ret = m_FcFalse
  6205. goto bail
  6206. }
  6207. if libc.Xaccess(tls, dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  6208. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6209. if libc.Xaccess(tls, dir, m_F_OK) == 0 {
  6210. v1 = __ccgo_ts + 660
  6211. } else {
  6212. v1 = __ccgo_ts + 671
  6213. }
  6214. libc.Xprintf(tls, __ccgo_ts+684, libc.VaList(bp+152, dir, v1))
  6215. }
  6216. goto bail0
  6217. }
  6218. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6219. libc.Xprintf(tls, __ccgo_ts+721, libc.VaList(bp+152, dir))
  6220. }
  6221. d = libc.Xopendir(tls, dir)
  6222. if !(d != 0) {
  6223. libc.Xperror(tls, dir)
  6224. ret = m_FcFalse
  6225. goto bail0
  6226. }
  6227. for {
  6228. v2 = libc.Xreaddir(tls, d)
  6229. ent = v2
  6230. if !(v2 != 0) {
  6231. break
  6232. }
  6233. if int32(*(*int8)(unsafe.Pointer(ent + 21))) == int32('.') {
  6234. continue
  6235. }
  6236. /* skip cache files for different architectures and */
  6237. /* files which are not cache files at all */
  6238. if libc.Xstrlen(tls, ent+21) != uint64(32)+libc.Xstrlen(tls, __ccgo_ts+83) || libc.Xstrcmp(tls, ent+21+uintptr(32), __ccgo_ts+83) != 0 {
  6239. continue
  6240. }
  6241. file_name = XFcStrBuildFilename(tls, dir, libc.VaList(bp+152, ent+21, libc.UintptrFromInt32(0)))
  6242. if !(file_name != 0) {
  6243. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+751, libc.VaList(bp+152, dir))
  6244. ret = m_FcFalse
  6245. break
  6246. }
  6247. remove = m_FcFalse
  6248. cache = XFcDirCacheLoadFile(tls, file_name, libc.UintptrFromInt32(0))
  6249. if !(cache != 0) {
  6250. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6251. libc.Xprintf(tls, __ccgo_ts+793, libc.VaList(bp+152, dir, ent+21))
  6252. }
  6253. remove = int32(m_FcTrue)
  6254. } else {
  6255. target_dir = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdir)
  6256. if sysroot != 0 {
  6257. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, target_dir, libc.UintptrFromInt32(0)))
  6258. } else {
  6259. s = libc.Xstrdup(tls, target_dir)
  6260. }
  6261. if libc.Xstat(tls, s, bp) < 0 {
  6262. if verbose != 0 || XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6263. libc.Xprintf(tls, __ccgo_ts+821, libc.VaList(bp+152, dir, ent+21, s))
  6264. }
  6265. remove = int32(m_FcTrue)
  6266. }
  6267. XFcDirCacheUnload(tls, cache)
  6268. XFcStrFree(tls, s)
  6269. }
  6270. if remove != 0 {
  6271. if libc.Xunlink(tls, file_name) < 0 {
  6272. libc.Xperror(tls, file_name)
  6273. ret = m_FcFalse
  6274. }
  6275. }
  6276. XFcStrFree(tls, file_name)
  6277. }
  6278. libc.Xclosedir(tls, d)
  6279. goto bail0
  6280. bail0:
  6281. ;
  6282. XFcStrFree(tls, dir)
  6283. goto bail
  6284. bail:
  6285. ;
  6286. XFcConfigDestroy(tls, config)
  6287. return ret
  6288. }
  6289. func XFcDirCacheLock(tls *libc.TLS, dir uintptr, config uintptr) (r int32) {
  6290. bp := tls.Alloc(112)
  6291. defer tls.Free(112)
  6292. var cache_dir, cache_hashed, list, sysroot, v1 uintptr
  6293. var fd int32
  6294. var _ /* cache_base at bp+0 */ [52]TFcChar8
  6295. var _ /* fl at bp+56 */ Tflock
  6296. _, _, _, _, _, _ = cache_dir, cache_hashed, fd, list, sysroot, v1
  6297. cache_hashed = libc.UintptrFromInt32(0)
  6298. sysroot = XFcConfigGetSysRoot(tls, config)
  6299. fd = -int32(1)
  6300. _FcDirCacheBasenameMD5(tls, config, dir, bp)
  6301. list = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6302. if !(list != 0) {
  6303. return -int32(1)
  6304. }
  6305. for {
  6306. v1 = XFcStrListNext(tls, list)
  6307. cache_dir = v1
  6308. if !(v1 != 0) {
  6309. break
  6310. }
  6311. if sysroot != 0 {
  6312. cache_hashed = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+88, cache_dir, bp, libc.UintptrFromInt32(0)))
  6313. } else {
  6314. cache_hashed = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+88, bp, libc.UintptrFromInt32(0)))
  6315. }
  6316. if !(cache_hashed != 0) {
  6317. break
  6318. }
  6319. fd = XFcOpen(tls, cache_hashed, int32(m_O_RDWR), 0)
  6320. XFcStrFree(tls, cache_hashed)
  6321. /* No caches in that directory. simply retry with another one */
  6322. if fd != -int32(1) {
  6323. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_type = int16(m_F_WRLCK)
  6324. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_whence = m_SEEK_SET
  6325. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_start = 0
  6326. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_len = 0
  6327. (*(*Tflock)(unsafe.Pointer(bp + 56))).Fl_pid = libc.Xgetpid(tls)
  6328. if libc.Xfcntl(tls, fd, int32(m_F_SETLKW), libc.VaList(bp+88, bp+56)) == -int32(1) {
  6329. goto bail
  6330. }
  6331. break
  6332. }
  6333. }
  6334. XFcStrListDone(tls, list)
  6335. return fd
  6336. goto bail
  6337. bail:
  6338. ;
  6339. XFcStrListDone(tls, list)
  6340. if fd != -int32(1) {
  6341. libc.Xclose(tls, fd)
  6342. }
  6343. return -int32(1)
  6344. }
  6345. func XFcDirCacheUnlock(tls *libc.TLS, fd int32) {
  6346. bp := tls.Alloc(48)
  6347. defer tls.Free(48)
  6348. var _ /* fl at bp+0 */ Tflock
  6349. if fd != -int32(1) {
  6350. (*(*Tflock)(unsafe.Pointer(bp))).Fl_type = int16(m_F_UNLCK)
  6351. (*(*Tflock)(unsafe.Pointer(bp))).Fl_whence = m_SEEK_SET
  6352. (*(*Tflock)(unsafe.Pointer(bp))).Fl_start = 0
  6353. (*(*Tflock)(unsafe.Pointer(bp))).Fl_len = 0
  6354. (*(*Tflock)(unsafe.Pointer(bp))).Fl_pid = libc.Xgetpid(tls)
  6355. libc.Xfcntl(tls, fd, int32(m_F_SETLK), libc.VaList(bp+32, bp))
  6356. libc.Xclose(tls, fd)
  6357. }
  6358. }
  6359. /*
  6360. * Hokey little macro trick to permit the definitions of C functions
  6361. * with the same name as CPP macros
  6362. */
  6363. func XFcCacheDir(tls *libc.TLS, c uintptr) (r uintptr) {
  6364. return uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fdir)
  6365. }
  6366. func XFcCacheCopySet(tls *libc.TLS, c uintptr) (r uintptr) {
  6367. var font, new1, old, v2, v3 uintptr
  6368. var i int32
  6369. _, _, _, _, _, _ = font, i, new1, old, v2, v3
  6370. old = uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset)
  6371. new1 = XFcFontSetCreate(tls)
  6372. if !(new1 != 0) {
  6373. return libc.UintptrFromInt32(0)
  6374. }
  6375. i = 0
  6376. for {
  6377. if !(i < (*TFcFontSet)(unsafe.Pointer(old)).Fnfont) {
  6378. break
  6379. }
  6380. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6381. if int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(1) != 0 {
  6382. v3 = uintptr(int64(old) + int64((*TFcFontSet)(unsafe.Pointer(old)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  6383. } else {
  6384. v3 = (*TFcFontSet)(unsafe.Pointer(old)).Ffonts
  6385. }
  6386. v2 = uintptr(int64(old) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  6387. } else {
  6388. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(old)).Ffonts + uintptr(i)*8))
  6389. }
  6390. font = v2
  6391. XFcPatternReference(tls, font)
  6392. if !(XFcFontSetAdd(tls, new1, font) != 0) {
  6393. XFcFontSetDestroy(tls, new1)
  6394. return libc.UintptrFromInt32(0)
  6395. }
  6396. goto _1
  6397. _1:
  6398. ;
  6399. i++
  6400. }
  6401. return new1
  6402. }
  6403. func XFcCacheSubdir(tls *libc.TLS, c uintptr, i int32) (r uintptr) {
  6404. 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)))
  6405. }
  6406. func XFcCacheNumSubdir(tls *libc.TLS, c uintptr) (r int32) {
  6407. return (*TFcCache)(unsafe.Pointer(c)).Fdirs_count
  6408. }
  6409. func XFcCacheNumFont(tls *libc.TLS, c uintptr) (r int32) {
  6410. return (*TFcFontSet)(unsafe.Pointer(uintptr(int64(c) + (*TFcCache)(unsafe.Pointer(c)).Fset))).Fnfont
  6411. }
  6412. func XFcDirCacheCreateTagFile(tls *libc.TLS, cache_dir uintptr) (r TFcBool) {
  6413. bp := tls.Alloc(32)
  6414. defer tls.Free(32)
  6415. var atomic, cache_tag, fp uintptr
  6416. var fd int32
  6417. var ret TFcBool
  6418. _, _, _, _, _ = atomic, cache_tag, fd, fp, ret
  6419. ret = m_FcFalse
  6420. if !(cache_dir != 0) {
  6421. return m_FcFalse
  6422. }
  6423. if libc.Xaccess(tls, cache_dir, libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) == 0 {
  6424. /* Create CACHEDIR.TAG */
  6425. cache_tag = XFcStrBuildFilename(tls, cache_dir, libc.VaList(bp+8, __ccgo_ts+853, libc.UintptrFromInt32(0)))
  6426. if !(cache_tag != 0) {
  6427. return m_FcFalse
  6428. }
  6429. atomic = XFcAtomicCreate(tls, cache_tag)
  6430. if !(atomic != 0) {
  6431. goto bail1
  6432. }
  6433. if !(XFcAtomicLock(tls, atomic) != 0) {
  6434. goto bail2
  6435. }
  6436. fd = XFcOpen(tls, XFcAtomicNewFile(tls, atomic), libc.Int32FromInt32(m_O_RDWR)|libc.Int32FromInt32(m_O_CREAT), libc.VaList(bp+8, int32(0644)))
  6437. if fd == -int32(1) {
  6438. goto bail3
  6439. }
  6440. fp = libc.Xfdopen(tls, fd, __ccgo_ts+866)
  6441. if fp == libc.UintptrFromInt32(0) {
  6442. goto bail3
  6443. }
  6444. libc.Xfwrite(tls, uintptr(unsafe.Pointer(&_cache_tag_contents)), _cache_tag_contents_size, uint64(1), fp)
  6445. libc.Xfclose(tls, fp)
  6446. if !(XFcAtomicReplaceOrig(tls, atomic) != 0) {
  6447. goto bail3
  6448. }
  6449. ret = int32(m_FcTrue)
  6450. goto bail3
  6451. bail3:
  6452. ;
  6453. XFcAtomicUnlock(tls, atomic)
  6454. goto bail2
  6455. bail2:
  6456. ;
  6457. XFcAtomicDestroy(tls, atomic)
  6458. goto bail1
  6459. bail1:
  6460. ;
  6461. XFcStrFree(tls, cache_tag)
  6462. }
  6463. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  6464. if ret != 0 {
  6465. libc.Xprintf(tls, __ccgo_ts+869, libc.VaList(bp+8, cache_dir))
  6466. } else {
  6467. libc.Xprintf(tls, __ccgo_ts+897, libc.VaList(bp+8, cache_dir))
  6468. }
  6469. }
  6470. return ret
  6471. }
  6472. 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}
  6473. var _cache_tag_contents_size = libc.Uint64FromInt64(201) - libc.Uint64FromInt32(1)
  6474. func XFcCacheCreateTagFile(tls *libc.TLS, config uintptr) {
  6475. bp := tls.Alloc(32)
  6476. defer tls.Free(32)
  6477. var cache_dir, d, list, sysroot, v1 uintptr
  6478. _, _, _, _, _ = cache_dir, d, list, sysroot, v1
  6479. cache_dir = libc.UintptrFromInt32(0)
  6480. d = libc.UintptrFromInt32(0)
  6481. config = XFcConfigReference(tls, config)
  6482. if !(config != 0) {
  6483. return
  6484. }
  6485. sysroot = XFcConfigGetSysRoot(tls, config)
  6486. list = XFcConfigGetCacheDirs(tls, config)
  6487. if !(list != 0) {
  6488. goto bail
  6489. }
  6490. for {
  6491. v1 = XFcStrListNext(tls, list)
  6492. cache_dir = v1
  6493. if !(v1 != 0) {
  6494. break
  6495. }
  6496. if d != 0 {
  6497. XFcStrFree(tls, d)
  6498. }
  6499. if sysroot != 0 {
  6500. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, cache_dir, libc.UintptrFromInt32(0)))
  6501. } else {
  6502. d = XFcStrCopyFilename(tls, cache_dir)
  6503. }
  6504. if XFcDirCacheCreateTagFile(tls, d) != 0 {
  6505. break
  6506. }
  6507. }
  6508. if d != 0 {
  6509. XFcStrFree(tls, d)
  6510. }
  6511. XFcStrListDone(tls, list)
  6512. goto bail
  6513. bail:
  6514. ;
  6515. XFcConfigDestroy(tls, config)
  6516. }
  6517. const m_FC_CACHE_MAGIC_ALLOC2 = 0xFC02FC05
  6518. const m_FC_CACHE_MAGIC_MMAP2 = 0xFC02FC04
  6519. const m_FC_DIR_SEPARATOR1 = 47
  6520. const m_FC_DIR_SEPARATOR_S1 = "/.cache"
  6521. const m_FC_SEARCH_PATH_SEPARATOR1 = 58
  6522. const m_FONTCONFIG_FILE = "fonts.conf"
  6523. const m_S_IFIFO1 = 4096
  6524. const m_S_IFMT1 = 61440
  6525. /*
  6526. * Copyright (c) 2000-2021 Apple Inc. All rights reserved.
  6527. *
  6528. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  6529. *
  6530. * This file contains Original Code and/or Modifications of Original Code
  6531. * as defined in and that are subject to the Apple Public Source License
  6532. * Version 2.0 (the 'License'). You may not use this file except in
  6533. * compliance with the License. The rights granted to you under the License
  6534. * may not be used to create, or enable the creation or redistribution of,
  6535. * unlawful or unlicensed copies of an Apple operating system, or to
  6536. * circumvent, violate, or enable the circumvention or violation of, any
  6537. * terms of an Apple operating system software license agreement.
  6538. *
  6539. * Please obtain a copy of the License at
  6540. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  6541. *
  6542. * The Original Code and all software distributed under the License are
  6543. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  6544. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  6545. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  6546. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  6547. * Please see the License for the specific language governing rights and
  6548. * limitations under the License.
  6549. *
  6550. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  6551. */
  6552. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  6553. /*
  6554. * Copyright (c) 1982, 1986, 1991, 1993, 1994
  6555. * The Regents of the University of California. All rights reserved.
  6556. * (c) UNIX System Laboratories, Inc.
  6557. * All or some portions of this file are derived from material licensed
  6558. * to the University of California by American Telephone and Telegraph
  6559. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  6560. * the permission of UNIX System Laboratories, Inc.
  6561. *
  6562. * Redistribution and use in source and binary forms, with or without
  6563. * modification, are permitted provided that the following conditions
  6564. * are met:
  6565. * 1. Redistributions of source code must retain the above copyright
  6566. * notice, this list of conditions and the following disclaimer.
  6567. * 2. Redistributions in binary form must reproduce the above copyright
  6568. * notice, this list of conditions and the following disclaimer in the
  6569. * documentation and/or other materials provided with the distribution.
  6570. * 3. All advertising materials mentioning features or use of this software
  6571. * must display the following acknowledgement:
  6572. * This product includes software developed by the University of
  6573. * California, Berkeley and its contributors.
  6574. * 4. Neither the name of the University nor the names of its contributors
  6575. * may be used to endorse or promote products derived from this software
  6576. * without specific prior written permission.
  6577. *
  6578. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  6579. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  6580. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  6581. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  6582. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  6583. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  6584. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  6585. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  6586. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  6587. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  6588. * SUCH DAMAGE.
  6589. *
  6590. * @(#)types.h 8.4 (Berkeley) 1/21/94
  6591. */
  6592. var __fcConfig uintptr /* MT-safe */
  6593. var __lock uintptr
  6594. func _lock_config(tls *libc.TLS) {
  6595. var lock uintptr
  6596. var v1 int32
  6597. _, _ = lock, v1
  6598. goto retry
  6599. retry:
  6600. ;
  6601. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6602. if !(lock != 0) {
  6603. lock = libc.Xmalloc(tls, uint64(4))
  6604. _ = lock
  6605. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == libc.UintptrFromInt32(0) {
  6606. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = lock
  6607. v1 = libc.Int32FromInt32(m_FcTrue)
  6608. } else {
  6609. v1 = m_FcFalse
  6610. }
  6611. if !(v1 != 0) {
  6612. _ = lock
  6613. libc.Xfree(tls, lock)
  6614. goto retry
  6615. }
  6616. _ = lock
  6617. /* Initialize random state */
  6618. XFcRandom(tls)
  6619. return
  6620. }
  6621. _ = lock
  6622. }
  6623. func _unlock_config(tls *libc.TLS) {
  6624. var lock uintptr
  6625. _ = lock
  6626. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6627. _ = lock
  6628. }
  6629. func _free_lock1(tls *libc.TLS) {
  6630. var lock uintptr
  6631. var v1 int32
  6632. var v2 bool
  6633. _, _, _ = lock, v1, v2
  6634. lock = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock))))
  6635. if v2 = lock != 0; v2 {
  6636. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) == lock {
  6637. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__lock)))) = libc.UintptrFromInt32(0)
  6638. v1 = libc.Int32FromInt32(m_FcTrue)
  6639. } else {
  6640. v1 = m_FcFalse
  6641. }
  6642. }
  6643. if v2 && v1 != 0 {
  6644. _ = lock
  6645. libc.Xfree(tls, lock)
  6646. }
  6647. }
  6648. func _FcConfigEnsure(tls *libc.TLS) (r uintptr) {
  6649. var config uintptr
  6650. var v1 int32
  6651. var v2 bool
  6652. _, _, _ = config, v1, v2
  6653. goto retry
  6654. retry:
  6655. ;
  6656. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6657. if !(config != 0) {
  6658. config = XFcInitLoadConfigAndFonts(tls)
  6659. if v2 = !(config != 0); !v2 {
  6660. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  6661. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6662. v1 = libc.Int32FromInt32(m_FcTrue)
  6663. } else {
  6664. v1 = m_FcFalse
  6665. }
  6666. }
  6667. if v2 || !(v1 != 0) {
  6668. if config != 0 {
  6669. XFcConfigDestroy(tls, config)
  6670. }
  6671. goto retry
  6672. }
  6673. }
  6674. return config
  6675. }
  6676. func _FcDestroyAsRule(tls *libc.TLS, data uintptr) {
  6677. XFcRuleDestroy(tls, data)
  6678. }
  6679. func _FcDestroyAsRuleSet(tls *libc.TLS, data uintptr) {
  6680. XFcRuleSetDestroy(tls, data)
  6681. }
  6682. func XFcConfigInit(tls *libc.TLS) (r TFcBool) {
  6683. var v1 int32
  6684. _ = v1
  6685. if _FcConfigEnsure(tls) != 0 {
  6686. v1 = int32(m_FcTrue)
  6687. } else {
  6688. v1 = m_FcFalse
  6689. }
  6690. return v1
  6691. }
  6692. func XFcConfigFini(tls *libc.TLS) {
  6693. var cfg uintptr
  6694. var v1 int32
  6695. var v2 bool
  6696. _, _, _ = cfg, v1, v2
  6697. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6698. if v2 = cfg != 0; v2 {
  6699. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  6700. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  6701. v1 = libc.Int32FromInt32(m_FcTrue)
  6702. } else {
  6703. v1 = m_FcFalse
  6704. }
  6705. }
  6706. if v2 && v1 != 0 {
  6707. XFcConfigDestroy(tls, cfg)
  6708. }
  6709. _free_lock1(tls)
  6710. }
  6711. func XFcConfigCreate(tls *libc.TLS) (r uintptr) {
  6712. var config uintptr
  6713. var err TFcBool
  6714. var k TFcMatchKind
  6715. var set TFcSetName
  6716. _, _, _, _ = config, err, k, set
  6717. err = m_FcFalse
  6718. config = libc.Xmalloc(tls, uint64(168))
  6719. if !(config != 0) {
  6720. goto bail0
  6721. }
  6722. (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs = XFcStrSetCreate(tls)
  6723. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigDirs != 0) {
  6724. goto bail1
  6725. }
  6726. (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs = XFcStrSetCreate(tls)
  6727. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs != 0) {
  6728. goto bail1_5
  6729. }
  6730. (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles = XFcStrSetCreate(tls)
  6731. if !((*TFcConfig)(unsafe.Pointer(config)).FconfigFiles != 0) {
  6732. goto bail2
  6733. }
  6734. (*TFcConfig)(unsafe.Pointer(config)).FfontDirs = XFcStrSetCreate(tls)
  6735. if !((*TFcConfig)(unsafe.Pointer(config)).FfontDirs != 0) {
  6736. goto bail3
  6737. }
  6738. (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs = XFcStrSetCreate(tls)
  6739. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs != 0) {
  6740. goto bail4
  6741. }
  6742. (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs = XFcStrSetCreate(tls)
  6743. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs != 0) {
  6744. goto bail5
  6745. }
  6746. (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns = XFcFontSetCreate(tls)
  6747. if !((*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns != 0) {
  6748. goto bail6
  6749. }
  6750. (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns = XFcFontSetCreate(tls)
  6751. if !((*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns != 0) {
  6752. goto bail7
  6753. }
  6754. (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs = XFcStrSetCreate(tls)
  6755. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0) {
  6756. goto bail8
  6757. }
  6758. k = int32(_FcMatchKindBegin)
  6759. for {
  6760. if !(k < int32(_FcMatchKindEnd)) {
  6761. break
  6762. }
  6763. *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6764. if !(*(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0) {
  6765. err = int32(m_FcTrue)
  6766. }
  6767. goto _1
  6768. _1:
  6769. ;
  6770. k++
  6771. }
  6772. if err != 0 {
  6773. goto bail9
  6774. }
  6775. (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects = 0
  6776. set = int32(_FcSetSystem)
  6777. for {
  6778. if !(set <= int32(_FcSetApplication)) {
  6779. break
  6780. }
  6781. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = uintptr(0)
  6782. goto _2
  6783. _2:
  6784. ;
  6785. set++
  6786. }
  6787. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = libc.Xtime(tls, uintptr(0))
  6788. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = int32(30)
  6789. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = libc.UintptrFromInt32(0)
  6790. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = XFcStrRealPath(tls, libc.Xgetenv(tls, __ccgo_ts+934))
  6791. (*TFcConfig)(unsafe.Pointer(config)).FrulesetList = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRuleSet))
  6792. if !((*TFcConfig)(unsafe.Pointer(config)).FrulesetList != 0) {
  6793. goto bail9
  6794. }
  6795. (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles = XFcStrSetCreate(tls)
  6796. if !((*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles != 0) {
  6797. goto bail10
  6798. }
  6799. (*TFcRef)(unsafe.Pointer(config + 132)).Fcount = int32(1)
  6800. return config
  6801. goto bail10
  6802. bail10:
  6803. ;
  6804. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  6805. goto bail9
  6806. bail9:
  6807. ;
  6808. k = int32(_FcMatchKindBegin)
  6809. for {
  6810. if !(k < int32(_FcMatchKindEnd)) {
  6811. break
  6812. }
  6813. if *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)) != 0 {
  6814. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  6815. }
  6816. goto _3
  6817. _3:
  6818. ;
  6819. k++
  6820. }
  6821. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  6822. goto bail8
  6823. bail8:
  6824. ;
  6825. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  6826. goto bail7
  6827. bail7:
  6828. ;
  6829. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  6830. goto bail6
  6831. bail6:
  6832. ;
  6833. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  6834. goto bail5
  6835. bail5:
  6836. ;
  6837. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  6838. goto bail4
  6839. bail4:
  6840. ;
  6841. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  6842. goto bail3
  6843. bail3:
  6844. ;
  6845. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  6846. goto bail2
  6847. bail2:
  6848. ;
  6849. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  6850. goto bail1_5
  6851. bail1_5:
  6852. ;
  6853. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  6854. goto bail1
  6855. bail1:
  6856. ;
  6857. libc.Xfree(tls, config)
  6858. goto bail0
  6859. bail0:
  6860. ;
  6861. return uintptr(0)
  6862. return r
  6863. }
  6864. func _FcConfigNewestFile(tls *libc.TLS, files uintptr) (r TFcFileTime) {
  6865. bp := tls.Alloc(144)
  6866. defer tls.Free(144)
  6867. var file, list, v1 uintptr
  6868. var newest TFcFileTime
  6869. var _ /* statb at bp+0 */ Tstat
  6870. _, _, _, _ = file, list, newest, v1
  6871. list = XFcStrListCreate(tls, files)
  6872. newest = TFcFileTime{}
  6873. if list != 0 {
  6874. for {
  6875. v1 = XFcStrListNext(tls, list)
  6876. file = v1
  6877. if !(v1 != 0) {
  6878. break
  6879. }
  6880. if XFcStat(tls, file, bp) == 0 {
  6881. if !(newest.Fset != 0) || (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec-newest.Ftime > 0 {
  6882. newest.Fset = int32(m_FcTrue)
  6883. newest.Ftime = (*(*Tstat)(unsafe.Pointer(bp))).Fst_mtimespec.Ftv_sec
  6884. }
  6885. }
  6886. }
  6887. XFcStrListDone(tls, list)
  6888. }
  6889. return newest
  6890. }
  6891. func XFcConfigUptoDate(tls *libc.TLS, config uintptr) (r TFcBool) {
  6892. var config_dir_time, config_time, font_time TFcFileTime
  6893. var now Ttime_t
  6894. var ret TFcBool
  6895. _, _, _, _, _ = config_dir_time, config_time, font_time, now, ret
  6896. now = libc.Xtime(tls, uintptr(0))
  6897. ret = int32(m_FcTrue)
  6898. config = XFcConfigReference(tls, config)
  6899. if !(config != 0) {
  6900. return m_FcFalse
  6901. }
  6902. config_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  6903. config_dir_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  6904. font_time = _FcConfigNewestFile(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  6905. 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 {
  6906. /* We need to check for potential clock problems here (OLPC ticket #6046) */
  6907. 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 {
  6908. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+953, 0)
  6909. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  6910. goto bail
  6911. } else {
  6912. ret = m_FcFalse
  6913. goto bail
  6914. }
  6915. }
  6916. (*TFcConfig)(unsafe.Pointer(config)).FrescanTime = now
  6917. goto bail
  6918. bail:
  6919. ;
  6920. XFcConfigDestroy(tls, config)
  6921. return ret
  6922. }
  6923. func XFcConfigAllocExpr(tls *libc.TLS, config uintptr) (r uintptr) {
  6924. var new_page, v1, v2 uintptr
  6925. _, _, _ = new_page, v1, v2
  6926. 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 {
  6927. new_page = libc.Xmalloc(tls, uint64(8176))
  6928. if !(new_page != 0) {
  6929. return uintptr(0)
  6930. }
  6931. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext_page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  6932. (*TFcExprPage)(unsafe.Pointer(new_page)).Fnext = new_page + 16
  6933. (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool = new_page
  6934. }
  6935. v2 = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool + 8
  6936. v1 = *(*uintptr)(unsafe.Pointer(v2))
  6937. *(*uintptr)(unsafe.Pointer(v2)) += 24
  6938. return v1
  6939. }
  6940. func XFcConfigReference(tls *libc.TLS, config uintptr) (r uintptr) {
  6941. var v1 int32
  6942. var p3, p5 uintptr
  6943. _, _, _ = v1, p3, p5
  6944. if !(config != 0) {
  6945. /* lock during obtaining the value from _fcConfig and count up refcount there,
  6946. * there are the race between them.
  6947. */
  6948. _lock_config(tls)
  6949. goto retry
  6950. retry:
  6951. ;
  6952. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  6953. if !(config != 0) {
  6954. _unlock_config(tls)
  6955. config = XFcInitLoadConfigAndFonts(tls)
  6956. if !(config != 0) {
  6957. goto retry
  6958. }
  6959. _lock_config(tls)
  6960. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == libc.UintptrFromInt32(0) {
  6961. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  6962. v1 = libc.Int32FromInt32(m_FcTrue)
  6963. } else {
  6964. v1 = m_FcFalse
  6965. }
  6966. if !(v1 != 0) {
  6967. XFcConfigDestroy(tls, config)
  6968. goto retry
  6969. }
  6970. }
  6971. p3 = config + 132
  6972. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += +libc.Int32FromInt32(1)
  6973. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - +libc.Int32FromInt32(1)
  6974. goto _2
  6975. _2:
  6976. ;
  6977. _unlock_config(tls)
  6978. } else {
  6979. p5 = config + 132
  6980. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += +libc.Int32FromInt32(1)
  6981. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - +libc.Int32FromInt32(1)
  6982. goto _4
  6983. _4:
  6984. }
  6985. return config
  6986. }
  6987. func XFcConfigDestroy(tls *libc.TLS, config uintptr) {
  6988. var k TFcMatchKind
  6989. var next, page, p3 uintptr
  6990. var set TFcSetName
  6991. var v1 int32
  6992. _, _, _, _, _, _ = k, next, page, set, v1, p3
  6993. p3 = config + 132
  6994. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  6995. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  6996. goto _2
  6997. _2:
  6998. if v1 != int32(1) {
  6999. return
  7000. }
  7001. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == config {
  7002. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = libc.UintptrFromInt32(0)
  7003. _ = libc.Int32FromInt32(m_FcTrue)
  7004. }
  7005. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7006. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigMapDirs)
  7007. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7008. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  7009. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7010. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs)
  7011. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs)
  7012. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns)
  7013. XFcFontSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns)
  7014. k = int32(_FcMatchKindBegin)
  7015. for {
  7016. if !(k < int32(_FcMatchKindEnd)) {
  7017. break
  7018. }
  7019. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(k)*8)))
  7020. goto _5
  7021. _5:
  7022. ;
  7023. k++
  7024. }
  7025. XFcPtrListDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FrulesetList)
  7026. XFcStrSetDestroy(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles)
  7027. set = int32(_FcSetSystem)
  7028. for {
  7029. if !(set <= int32(_FcSetApplication)) {
  7030. break
  7031. }
  7032. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  7033. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  7034. }
  7035. goto _6
  7036. _6:
  7037. ;
  7038. set++
  7039. }
  7040. page = (*TFcConfig)(unsafe.Pointer(config)).Fexpr_pool
  7041. for page != 0 {
  7042. next = (*TFcExprPage)(unsafe.Pointer(page)).Fnext_page
  7043. libc.Xfree(tls, page)
  7044. page = next
  7045. }
  7046. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  7047. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  7048. }
  7049. libc.Xfree(tls, config)
  7050. }
  7051. /*
  7052. * Add cache to configuration, adding fonts and directories
  7053. */
  7054. func XFcConfigAddCache(tls *libc.TLS, config uintptr, cache uintptr, set TFcSetName, dirSet uintptr, forDir uintptr) (r TFcBool) {
  7055. bp := tls.Alloc(32)
  7056. defer tls.Free(32)
  7057. var base, dir, dirs, font, fs, relocated_font_file, s, slash, v2, v3, v5 uintptr
  7058. var i, nref int32
  7059. var relocated TFcBool
  7060. var _ /* font_file at bp+0 */ uintptr
  7061. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = base, dir, dirs, font, fs, i, nref, relocated, relocated_font_file, s, slash, v2, v3, v5
  7062. relocated = m_FcFalse
  7063. if libc.Xstrcmp(tls, uintptr(int64(cache)+(*TFcCache)(unsafe.Pointer(cache)).Fdir), forDir) != 0 {
  7064. relocated = int32(m_FcTrue)
  7065. }
  7066. /*
  7067. * Add fonts
  7068. */
  7069. fs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fset)
  7070. if fs != 0 {
  7071. nref = 0
  7072. i = 0
  7073. for {
  7074. if !(i < (*TFcFontSet)(unsafe.Pointer(fs)).Fnfont) {
  7075. break
  7076. }
  7077. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  7078. if int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(1) != 0 {
  7079. v3 = uintptr(int64(fs) + int64((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  7080. } else {
  7081. v3 = (*TFcFontSet)(unsafe.Pointer(fs)).Ffonts
  7082. }
  7083. v2 = uintptr(int64(fs) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  7084. } else {
  7085. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(fs)).Ffonts + uintptr(i)*8))
  7086. }
  7087. font = v2
  7088. relocated_font_file = libc.UintptrFromInt32(0)
  7089. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) {
  7090. if relocated != 0 {
  7091. slash = XFcStrLastSlash(tls, *(*uintptr)(unsafe.Pointer(bp)))
  7092. relocated_font_file = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, slash+uintptr(1), libc.UintptrFromInt32(0)))
  7093. *(*uintptr)(unsafe.Pointer(bp)) = relocated_font_file
  7094. }
  7095. /*
  7096. * Check to see if font is banned by filename
  7097. */
  7098. if !(XFcConfigAcceptFilename(tls, config, *(*uintptr)(unsafe.Pointer(bp))) != 0) {
  7099. libc.Xfree(tls, relocated_font_file)
  7100. goto _1
  7101. }
  7102. }
  7103. /*
  7104. * Check to see if font is banned by pattern
  7105. */
  7106. if !(XFcConfigAcceptFont(tls, config, font) != 0) {
  7107. libc.Xfree(tls, relocated_font_file)
  7108. goto _1
  7109. }
  7110. if relocated_font_file != 0 {
  7111. font = XFcPatternCacheRewriteFile(tls, font, cache, relocated_font_file)
  7112. libc.Xfree(tls, relocated_font_file)
  7113. }
  7114. if XFcFontSetAdd(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)), font) != 0 {
  7115. nref++
  7116. }
  7117. goto _1
  7118. _1:
  7119. ;
  7120. i++
  7121. }
  7122. XFcDirCacheReference(tls, cache, nref)
  7123. }
  7124. /*
  7125. * Add directories
  7126. */
  7127. dirs = uintptr(int64(cache) + (*TFcCache)(unsafe.Pointer(cache)).Fdirs)
  7128. if dirs != 0 {
  7129. i = 0
  7130. for {
  7131. if !(i < (*TFcCache)(unsafe.Pointer(cache)).Fdirs_count) {
  7132. break
  7133. }
  7134. 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)))
  7135. s = libc.UintptrFromInt32(0)
  7136. if relocated != 0 {
  7137. base = XFcStrBasename(tls, dir)
  7138. v5 = XFcStrBuildFilename(tls, forDir, libc.VaList(bp+16, base, libc.UintptrFromInt32(0)))
  7139. s = v5
  7140. dir = v5
  7141. XFcStrFree(tls, base)
  7142. }
  7143. if XFcConfigAcceptFilename(tls, config, dir) != 0 {
  7144. XFcStrSetAddFilename(tls, dirSet, dir)
  7145. }
  7146. if s != 0 {
  7147. XFcStrFree(tls, s)
  7148. }
  7149. goto _4
  7150. _4:
  7151. ;
  7152. i++
  7153. }
  7154. }
  7155. return int32(m_FcTrue)
  7156. }
  7157. func _FcConfigAddDirList(tls *libc.TLS, config uintptr, set TFcSetName, dirSet uintptr) (r TFcBool) {
  7158. bp := tls.Alloc(16)
  7159. defer tls.Free(16)
  7160. var cache, dir, dirlist, v1 uintptr
  7161. _, _, _, _ = cache, dir, dirlist, v1
  7162. dirlist = XFcStrListCreate(tls, dirSet)
  7163. if !(dirlist != 0) {
  7164. return m_FcFalse
  7165. }
  7166. for {
  7167. v1 = XFcStrListNext(tls, dirlist)
  7168. dir = v1
  7169. if !(v1 != 0) {
  7170. break
  7171. }
  7172. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  7173. libc.Xprintf(tls, __ccgo_ts+1041, libc.VaList(bp+8, dir))
  7174. }
  7175. cache = XFcDirCacheRead(tls, dir, m_FcFalse, config)
  7176. if !(cache != 0) {
  7177. continue
  7178. }
  7179. XFcConfigAddCache(tls, config, cache, set, dirSet, dir)
  7180. XFcDirCacheUnload(tls, cache)
  7181. }
  7182. XFcStrListDone(tls, dirlist)
  7183. return int32(m_FcTrue)
  7184. }
  7185. /*
  7186. * Scan the current list of directories in the configuration
  7187. * and build the set of available fonts.
  7188. */
  7189. func XFcConfigBuildFonts(tls *libc.TLS, config uintptr) (r TFcBool) {
  7190. var fonts uintptr
  7191. var ret TFcBool
  7192. _, _ = fonts, ret
  7193. ret = int32(m_FcTrue)
  7194. config = XFcConfigReference(tls, config)
  7195. if !(config != 0) {
  7196. return m_FcFalse
  7197. }
  7198. fonts = XFcFontSetCreate(tls)
  7199. if !(fonts != 0) {
  7200. ret = m_FcFalse
  7201. goto bail
  7202. }
  7203. XFcConfigSetFonts(tls, config, fonts, int32(_FcSetSystem))
  7204. if !(_FcConfigAddDirList(tls, config, int32(_FcSetSystem), (*TFcConfig)(unsafe.Pointer(config)).FfontDirs) != 0) {
  7205. ret = m_FcFalse
  7206. goto bail
  7207. }
  7208. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  7209. XFcFontSetPrint(tls, fonts)
  7210. }
  7211. goto bail
  7212. bail:
  7213. ;
  7214. XFcConfigDestroy(tls, config)
  7215. return ret
  7216. }
  7217. func XFcConfigSetCurrent(tls *libc.TLS, config uintptr) (r TFcBool) {
  7218. var cfg, p2 uintptr
  7219. var v3 int32
  7220. _, _, _ = cfg, v3, p2
  7221. if config != 0 {
  7222. if !(*(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0) {
  7223. if !(XFcConfigBuildFonts(tls, config) != 0) {
  7224. return m_FcFalse
  7225. }
  7226. }
  7227. p2 = config + 132
  7228. *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) += +libc.Int32FromInt32(1)
  7229. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p2)) - +libc.Int32FromInt32(1)
  7230. goto _1
  7231. _1:
  7232. }
  7233. _lock_config(tls)
  7234. goto retry
  7235. retry:
  7236. ;
  7237. cfg = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  7238. if config == cfg {
  7239. _unlock_config(tls)
  7240. if config != 0 {
  7241. XFcConfigDestroy(tls, config)
  7242. }
  7243. return int32(m_FcTrue)
  7244. }
  7245. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) == cfg {
  7246. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig)))) = config
  7247. v3 = libc.Int32FromInt32(m_FcTrue)
  7248. } else {
  7249. v3 = m_FcFalse
  7250. }
  7251. if !(v3 != 0) {
  7252. goto retry
  7253. }
  7254. _unlock_config(tls)
  7255. if cfg != 0 {
  7256. XFcConfigDestroy(tls, cfg)
  7257. }
  7258. return int32(m_FcTrue)
  7259. }
  7260. func XFcConfigGetCurrent(tls *libc.TLS) (r uintptr) {
  7261. return _FcConfigEnsure(tls)
  7262. }
  7263. func XFcConfigAddConfigDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7264. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs, d)
  7265. }
  7266. func XFcConfigGetConfigDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7267. var ret uintptr
  7268. _ = ret
  7269. config = XFcConfigReference(tls, config)
  7270. if !(config != 0) {
  7271. return libc.UintptrFromInt32(0)
  7272. }
  7273. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigDirs)
  7274. XFcConfigDestroy(tls, config)
  7275. return ret
  7276. }
  7277. func XFcConfigAddFontDir(tls *libc.TLS, config uintptr, d uintptr, m uintptr, salt uintptr) (r TFcBool) {
  7278. bp := tls.Alloc(48)
  7279. defer tls.Free(48)
  7280. var v1, v2, v3, v4, v5, v6 uintptr
  7281. _, _, _, _, _, _ = v1, v2, v3, v4, v5, v6
  7282. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7283. if m != 0 {
  7284. if salt != 0 {
  7285. v1 = __ccgo_ts + 1063
  7286. } else {
  7287. v1 = __ccgo_ts + 110
  7288. }
  7289. if salt != 0 {
  7290. v2 = salt
  7291. } else {
  7292. v2 = __ccgo_ts + 110
  7293. }
  7294. if salt != 0 {
  7295. v3 = __ccgo_ts + 111
  7296. } else {
  7297. v3 = __ccgo_ts + 110
  7298. }
  7299. libc.Xprintf(tls, __ccgo_ts+1072, libc.VaList(bp+8, d, m, v1, v2, v3))
  7300. } else {
  7301. if salt != 0 {
  7302. if salt != 0 {
  7303. v4 = __ccgo_ts + 1063
  7304. } else {
  7305. v4 = __ccgo_ts + 110
  7306. }
  7307. if salt != 0 {
  7308. v5 = salt
  7309. } else {
  7310. v5 = __ccgo_ts + 110
  7311. }
  7312. if salt != 0 {
  7313. v6 = __ccgo_ts + 111
  7314. } else {
  7315. v6 = __ccgo_ts + 110
  7316. }
  7317. libc.Xprintf(tls, __ccgo_ts+1088, libc.VaList(bp+8, d, v4, v5, v6))
  7318. }
  7319. }
  7320. }
  7321. return XFcStrSetAddFilenamePairWithSalt(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs, d, m, salt)
  7322. }
  7323. func XFcConfigResetFontDirs(tls *libc.TLS, config uintptr) (r TFcBool) {
  7324. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  7325. libc.Xprintf(tls, __ccgo_ts+1098, 0)
  7326. }
  7327. return XFcStrSetDeleteAll(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7328. }
  7329. func XFcConfigGetFontDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7330. var ret uintptr
  7331. _ = ret
  7332. config = XFcConfigReference(tls, config)
  7333. if !(config != 0) {
  7334. return libc.UintptrFromInt32(0)
  7335. }
  7336. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FfontDirs)
  7337. XFcConfigDestroy(tls, config)
  7338. return ret
  7339. }
  7340. func _FcConfigPathStartsWith(tls *libc.TLS, path uintptr, start uintptr) (r TFcBool) {
  7341. var len1 int32
  7342. _ = len1
  7343. len1 = int32(libc.Xstrlen(tls, start))
  7344. if libc.Xstrncmp(tls, path, start, uint64(len1)) != 0 {
  7345. return m_FcFalse
  7346. }
  7347. switch int32(*(*TFcChar8)(unsafe.Pointer(path + uintptr(len1)))) {
  7348. case int32('\000'):
  7349. fallthrough
  7350. case int32('/'):
  7351. return int32(m_FcTrue)
  7352. default:
  7353. return m_FcFalse
  7354. }
  7355. return r
  7356. }
  7357. func XFcConfigMapFontPath(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7358. bp := tls.Alloc(32)
  7359. defer tls.Free(32)
  7360. var dir, list, map1, retval, rpath, v1 uintptr
  7361. var len1 Tsize_t
  7362. _, _, _, _, _, _, _ = dir, len1, list, map1, retval, rpath, v1
  7363. list = XFcConfigGetFontDirs(tls, config)
  7364. if !(list != 0) {
  7365. return uintptr(0)
  7366. }
  7367. for {
  7368. v1 = XFcStrListNext(tls, list)
  7369. dir = v1
  7370. if !(v1 != 0) {
  7371. break
  7372. }
  7373. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7374. break
  7375. }
  7376. }
  7377. XFcStrListDone(tls, list)
  7378. if !(dir != 0) {
  7379. return uintptr(0)
  7380. }
  7381. map1 = XFcStrTripleSecond(tls, dir)
  7382. if !(map1 != 0) {
  7383. return uintptr(0)
  7384. }
  7385. rpath = path + uintptr(libc.Xstrlen(tls, dir))
  7386. for int32(*(*TFcChar8)(unsafe.Pointer(rpath))) == int32('/') {
  7387. rpath++
  7388. }
  7389. retval = XFcStrBuildFilename(tls, map1, libc.VaList(bp+8, rpath, libc.UintptrFromInt32(0)))
  7390. if retval != 0 {
  7391. len1 = libc.Xstrlen(tls, retval)
  7392. for len1 > uint64(0) && int32(*(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1-uint64(1))))) == int32('/') {
  7393. len1--
  7394. }
  7395. /* trim the last slash */
  7396. *(*TFcChar8)(unsafe.Pointer(retval + uintptr(len1))) = uint8(0)
  7397. }
  7398. return retval
  7399. }
  7400. func XFcConfigMapSalt(tls *libc.TLS, config uintptr, path uintptr) (r uintptr) {
  7401. var dir, list, v1 uintptr
  7402. _, _, _ = dir, list, v1
  7403. list = XFcConfigGetFontDirs(tls, config)
  7404. if !(list != 0) {
  7405. return libc.UintptrFromInt32(0)
  7406. }
  7407. for {
  7408. v1 = XFcStrListNext(tls, list)
  7409. dir = v1
  7410. if !(v1 != 0) {
  7411. break
  7412. }
  7413. if _FcConfigPathStartsWith(tls, path, dir) != 0 {
  7414. break
  7415. }
  7416. }
  7417. XFcStrListDone(tls, list)
  7418. if !(dir != 0) {
  7419. return libc.UintptrFromInt32(0)
  7420. }
  7421. return XFcStrTripleThird(tls, dir)
  7422. }
  7423. func XFcConfigAddCacheDir(tls *libc.TLS, config uintptr, d uintptr) (r TFcBool) {
  7424. return XFcStrSetAddFilename(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs, d)
  7425. }
  7426. func XFcConfigGetCacheDirs(tls *libc.TLS, config uintptr) (r uintptr) {
  7427. var ret uintptr
  7428. _ = ret
  7429. config = XFcConfigReference(tls, config)
  7430. if !(config != 0) {
  7431. return libc.UintptrFromInt32(0)
  7432. }
  7433. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)
  7434. XFcConfigDestroy(tls, config)
  7435. return ret
  7436. }
  7437. func XFcConfigAddConfigFile(tls *libc.TLS, config uintptr, f uintptr) (r TFcBool) {
  7438. var file uintptr
  7439. var ret TFcBool
  7440. _, _ = file, ret
  7441. file = XFcConfigGetFilename(tls, config, f)
  7442. if !(file != 0) {
  7443. return m_FcFalse
  7444. }
  7445. ret = XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, file)
  7446. XFcStrFree(tls, file)
  7447. return ret
  7448. }
  7449. func XFcConfigGetConfigFiles(tls *libc.TLS, config uintptr) (r uintptr) {
  7450. var ret uintptr
  7451. _ = ret
  7452. config = XFcConfigReference(tls, config)
  7453. if !(config != 0) {
  7454. return libc.UintptrFromInt32(0)
  7455. }
  7456. ret = XFcStrListCreate(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles)
  7457. XFcConfigDestroy(tls, config)
  7458. return ret
  7459. }
  7460. func XFcConfigGetCache(tls *libc.TLS, config uintptr) (r uintptr) {
  7461. return libc.UintptrFromInt32(0)
  7462. }
  7463. func XFcConfigGetFonts(tls *libc.TLS, config uintptr, set TFcSetName) (r uintptr) {
  7464. if !(config != 0) {
  7465. config = XFcConfigGetCurrent(tls)
  7466. if !(config != 0) {
  7467. return uintptr(0)
  7468. }
  7469. }
  7470. return *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8))
  7471. }
  7472. func XFcConfigSetFonts(tls *libc.TLS, config uintptr, fonts uintptr, set TFcSetName) {
  7473. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) != 0 {
  7474. XFcFontSetDestroy(tls, *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)))
  7475. }
  7476. *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(set)*8)) = fonts
  7477. }
  7478. func XFcBlanksCreate(tls *libc.TLS) (r uintptr) {
  7479. /* Deprecated. */
  7480. return libc.UintptrFromInt32(0)
  7481. }
  7482. func XFcBlanksDestroy(tls *libc.TLS, b uintptr) {
  7483. /* Deprecated. */
  7484. }
  7485. func XFcBlanksAdd(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7486. /* Deprecated. */
  7487. return m_FcFalse
  7488. }
  7489. func XFcBlanksIsMember(tls *libc.TLS, b uintptr, ucs4 TFcChar32) (r TFcBool) {
  7490. /* Deprecated. */
  7491. return m_FcFalse
  7492. }
  7493. func XFcConfigGetBlanks(tls *libc.TLS, config uintptr) (r uintptr) {
  7494. /* Deprecated. */
  7495. return libc.UintptrFromInt32(0)
  7496. }
  7497. func XFcConfigAddBlank(tls *libc.TLS, config uintptr, blank TFcChar32) (r TFcBool) {
  7498. /* Deprecated. */
  7499. return m_FcFalse
  7500. }
  7501. func XFcConfigGetRescanInterval(tls *libc.TLS, config uintptr) (r int32) {
  7502. var ret int32
  7503. _ = ret
  7504. config = XFcConfigReference(tls, config)
  7505. if !(config != 0) {
  7506. return 0
  7507. }
  7508. ret = (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval
  7509. XFcConfigDestroy(tls, config)
  7510. return ret
  7511. }
  7512. func XFcConfigSetRescanInterval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7513. config = XFcConfigReference(tls, config)
  7514. if !(config != 0) {
  7515. return m_FcFalse
  7516. }
  7517. (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval = rescanInterval
  7518. XFcConfigDestroy(tls, config)
  7519. return int32(m_FcTrue)
  7520. }
  7521. // C documentation
  7522. //
  7523. // /*
  7524. // * A couple of typos escaped into the library
  7525. // */
  7526. func XFcConfigGetRescanInverval(tls *libc.TLS, config uintptr) (r int32) {
  7527. return XFcConfigGetRescanInterval(tls, config)
  7528. }
  7529. func XFcConfigSetRescanInverval(tls *libc.TLS, config uintptr, rescanInterval int32) (r TFcBool) {
  7530. return XFcConfigSetRescanInterval(tls, config, rescanInterval)
  7531. }
  7532. func XFcConfigAddRule(tls *libc.TLS, config uintptr, rule uintptr, kind TFcMatchKind) (r TFcBool) {
  7533. /* deprecated */
  7534. return m_FcFalse
  7535. }
  7536. func _FcConfigPromote(tls *libc.TLS, _v TFcValue, u TFcValue, buf uintptr) (r TFcValue) {
  7537. bp := tls.Alloc(16)
  7538. defer tls.Free(16)
  7539. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  7540. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  7541. case int32(_FcTypeInteger):
  7542. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7543. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  7544. /* Fallthrough */
  7545. fallthrough
  7546. case int32(_FcTypeDouble):
  7547. if u.Ftype1 == int32(_FcTypeRange) && buf != 0 {
  7548. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangePromote(tls, *(*float64)(unsafe.Pointer(bp + 8)), buf)
  7549. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  7550. }
  7551. case int32(_FcTypeVoid):
  7552. if u.Ftype1 == int32(_FcTypeMatrix) {
  7553. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(unsafe.Pointer(&XFcIdentityMatrix))
  7554. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7555. } else {
  7556. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7557. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, libc.UintptrFromInt32(0), buf)
  7558. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7559. } else {
  7560. if u.Ftype1 == int32(_FcTypeCharSet) && buf != 0 {
  7561. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetPromote(tls, buf)
  7562. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7563. }
  7564. }
  7565. }
  7566. case int32(_FcTypeString):
  7567. if u.Ftype1 == int32(_FcTypeLangSet) && buf != 0 {
  7568. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetPromote(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), buf)
  7569. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7570. }
  7571. default:
  7572. break
  7573. }
  7574. return *(*TFcValue)(unsafe.Pointer(bp))
  7575. }
  7576. func XFcConfigCompareValue(tls *libc.TLS, left_o uintptr, op_ uint32, right_o uintptr) (r7 TFcBool) {
  7577. bp := tls.Alloc(544)
  7578. defer tls.Free(544)
  7579. var flags, l, r int32
  7580. var l1, r1 float64
  7581. var l2, r2, ret TFcBool
  7582. var l3, l4, l5, l6, r3, r4, r5, r6, v1, v2, v3, v4, v5, v6, v7, v8 uintptr
  7583. var op TFcOp
  7584. var _ /* buf1 at bp+32 */ TFcValuePromotionBuffer
  7585. var _ /* buf2 at bp+288 */ TFcValuePromotionBuffer
  7586. var _ /* left at bp+0 */ TFcValue
  7587. var _ /* right at bp+16 */ TFcValue
  7588. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = flags, l, l1, l2, l3, l4, l5, l6, op, r, r1, r2, r3, r4, r5, r6, ret, v1, v2, v3, v4, v5, v6, v7, v8
  7589. ret = m_FcFalse
  7590. op = int32(op_ & libc.Uint32FromInt32(0xffff))
  7591. flags = int32(op_ & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  7592. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7593. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, left_o)
  7594. *(*TFcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, right_o)
  7595. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp)), *(*TFcValue)(unsafe.Pointer(bp + 16)), bp+32)
  7596. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp)), bp+288)
  7597. left_o = bp
  7598. right_o = bp + 16
  7599. if (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 != (*TFcValue)(unsafe.Pointer(right_o)).Ftype1 {
  7600. if op == int32(_FcOpNotEqual) || op == int32(_FcOpNotContains) {
  7601. ret = int32(m_FcTrue)
  7602. }
  7603. return ret
  7604. }
  7605. }
  7606. switch (*TFcValue)(unsafe.Pointer(left_o)).Ftype1 {
  7607. case int32(_FcTypeUnknown):
  7608. case int32(_FcTypeInteger):
  7609. l = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7610. r = *(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7611. switch op {
  7612. case int32(_FcOpEqual):
  7613. fallthrough
  7614. case int32(_FcOpContains):
  7615. fallthrough
  7616. case int32(_FcOpListing):
  7617. ret = libc.BoolInt32(l == r)
  7618. case int32(_FcOpNotEqual):
  7619. fallthrough
  7620. case int32(_FcOpNotContains):
  7621. ret = libc.BoolInt32(l != r)
  7622. case int32(_FcOpLess):
  7623. ret = libc.BoolInt32(l < r)
  7624. case int32(_FcOpLessEqual):
  7625. ret = libc.BoolInt32(l <= r)
  7626. case int32(_FcOpMore):
  7627. ret = libc.BoolInt32(l > r)
  7628. case int32(_FcOpMoreEqual):
  7629. ret = libc.BoolInt32(l >= r)
  7630. default:
  7631. break
  7632. }
  7633. case int32(_FcTypeDouble):
  7634. l1 = *(*float64)(unsafe.Pointer(left_o + 8))
  7635. r1 = *(*float64)(unsafe.Pointer(right_o + 8))
  7636. switch op {
  7637. case int32(_FcOpEqual):
  7638. fallthrough
  7639. case int32(_FcOpContains):
  7640. fallthrough
  7641. case int32(_FcOpListing):
  7642. ret = libc.BoolInt32(l1 == r1)
  7643. case int32(_FcOpNotEqual):
  7644. fallthrough
  7645. case int32(_FcOpNotContains):
  7646. ret = libc.BoolInt32(l1 != r1)
  7647. case int32(_FcOpLess):
  7648. ret = libc.BoolInt32(l1 < r1)
  7649. case int32(_FcOpLessEqual):
  7650. ret = libc.BoolInt32(l1 <= r1)
  7651. case int32(_FcOpMore):
  7652. ret = libc.BoolInt32(l1 > r1)
  7653. case int32(_FcOpMoreEqual):
  7654. ret = libc.BoolInt32(l1 >= r1)
  7655. default:
  7656. break
  7657. }
  7658. case int32(_FcTypeBool):
  7659. l2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(left_o)).Fu))
  7660. r2 = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(right_o)).Fu))
  7661. switch op {
  7662. case int32(_FcOpEqual):
  7663. ret = libc.BoolInt32(l2 == r2)
  7664. case int32(_FcOpContains):
  7665. fallthrough
  7666. case int32(_FcOpListing):
  7667. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7668. case int32(_FcOpNotEqual):
  7669. ret = libc.BoolInt32(l2 != r2)
  7670. case int32(_FcOpNotContains):
  7671. ret = libc.BoolInt32(!(l2 == r2 || l2 >= int32(m_FcDontCare)))
  7672. case int32(_FcOpLess):
  7673. ret = libc.BoolInt32(l2 != r2 && r2 >= int32(m_FcDontCare))
  7674. case int32(_FcOpLessEqual):
  7675. ret = libc.BoolInt32(l2 == r2 || r2 >= int32(m_FcDontCare))
  7676. case int32(_FcOpMore):
  7677. ret = libc.BoolInt32(l2 != r2 && l2 >= int32(m_FcDontCare))
  7678. case int32(_FcOpMoreEqual):
  7679. ret = libc.BoolInt32(l2 == r2 || l2 >= int32(m_FcDontCare))
  7680. default:
  7681. break
  7682. }
  7683. case int32(_FcTypeString):
  7684. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7685. v1 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7686. } else {
  7687. v1 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7688. }
  7689. l3 = v1
  7690. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7691. v2 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7692. } else {
  7693. v2 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7694. }
  7695. r3 = v2
  7696. switch op {
  7697. case int32(_FcOpEqual):
  7698. fallthrough
  7699. case int32(_FcOpListing):
  7700. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7701. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) == 0)
  7702. } else {
  7703. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) == 0)
  7704. }
  7705. case int32(_FcOpContains):
  7706. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) != uintptr(0))
  7707. case int32(_FcOpNotEqual):
  7708. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  7709. ret = libc.BoolInt32(XFcStrCmpIgnoreBlanksAndCase(tls, l3, r3) != 0)
  7710. } else {
  7711. ret = libc.BoolInt32(XFcStrCmpIgnoreCase(tls, l3, r3) != 0)
  7712. }
  7713. case int32(_FcOpNotContains):
  7714. ret = libc.BoolInt32(XFcStrStrIgnoreCase(tls, l3, r3) == uintptr(0))
  7715. default:
  7716. break
  7717. }
  7718. case int32(_FcTypeMatrix):
  7719. switch op {
  7720. case int32(_FcOpEqual):
  7721. fallthrough
  7722. case int32(_FcOpContains):
  7723. fallthrough
  7724. case int32(_FcOpListing):
  7725. ret = XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7726. case int32(_FcOpNotEqual):
  7727. fallthrough
  7728. case int32(_FcOpNotContains):
  7729. ret = libc.BoolInt32(!(XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(left_o + 8)), *(*uintptr)(unsafe.Pointer(right_o + 8))) != 0))
  7730. default:
  7731. break
  7732. }
  7733. case int32(_FcTypeCharSet):
  7734. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7735. v3 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7736. } else {
  7737. v3 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7738. }
  7739. l4 = v3
  7740. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7741. v4 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7742. } else {
  7743. v4 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7744. }
  7745. r4 = v4
  7746. switch op {
  7747. case int32(_FcOpContains):
  7748. fallthrough
  7749. case int32(_FcOpListing):
  7750. /* left contains right if right is a subset of left */
  7751. ret = XFcCharSetIsSubset(tls, r4, l4)
  7752. case int32(_FcOpNotContains):
  7753. /* left contains right if right is a subset of left */
  7754. ret = libc.BoolInt32(!(XFcCharSetIsSubset(tls, r4, l4) != 0))
  7755. case int32(_FcOpEqual):
  7756. ret = XFcCharSetEqual(tls, l4, r4)
  7757. case int32(_FcOpNotEqual):
  7758. ret = libc.BoolInt32(!(XFcCharSetEqual(tls, l4, r4) != 0))
  7759. default:
  7760. break
  7761. }
  7762. case int32(_FcTypeLangSet):
  7763. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7764. v5 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7765. } else {
  7766. v5 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7767. }
  7768. l5 = v5
  7769. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7770. v6 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7771. } else {
  7772. v6 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7773. }
  7774. r5 = v6
  7775. switch op {
  7776. case int32(_FcOpContains):
  7777. fallthrough
  7778. case int32(_FcOpListing):
  7779. ret = XFcLangSetContains(tls, l5, r5)
  7780. case int32(_FcOpNotContains):
  7781. ret = libc.BoolInt32(!(XFcLangSetContains(tls, l5, r5) != 0))
  7782. case int32(_FcOpEqual):
  7783. ret = XFcLangSetEqual(tls, l5, r5)
  7784. case int32(_FcOpNotEqual):
  7785. ret = libc.BoolInt32(!(XFcLangSetEqual(tls, l5, r5) != 0))
  7786. default:
  7787. break
  7788. }
  7789. case int32(_FcTypeVoid):
  7790. switch op {
  7791. case int32(_FcOpEqual):
  7792. fallthrough
  7793. case int32(_FcOpContains):
  7794. fallthrough
  7795. case int32(_FcOpListing):
  7796. ret = int32(m_FcTrue)
  7797. default:
  7798. break
  7799. }
  7800. case int32(_FcTypeFTFace):
  7801. switch op {
  7802. case int32(_FcOpEqual):
  7803. fallthrough
  7804. case int32(_FcOpContains):
  7805. fallthrough
  7806. case int32(_FcOpListing):
  7807. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) == *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7808. case int32(_FcOpNotEqual):
  7809. fallthrough
  7810. case int32(_FcOpNotContains):
  7811. ret = libc.BoolInt32(*(*uintptr)(unsafe.Pointer(left_o + 8)) != *(*uintptr)(unsafe.Pointer(right_o + 8)))
  7812. default:
  7813. break
  7814. }
  7815. case int32(_FcTypeRange):
  7816. if int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(1) != 0 {
  7817. v7 = uintptr(int64(left_o) + int64(*(*uintptr)(unsafe.Pointer(left_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7818. } else {
  7819. v7 = *(*uintptr)(unsafe.Pointer(left_o + 8))
  7820. }
  7821. l6 = v7
  7822. if int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(1) != 0 {
  7823. v8 = uintptr(int64(right_o) + int64(*(*uintptr)(unsafe.Pointer(right_o + 8)))&int64(^libc.Int32FromInt32(1)))
  7824. } else {
  7825. v8 = *(*uintptr)(unsafe.Pointer(right_o + 8))
  7826. }
  7827. r6 = v8
  7828. ret = XFcRangeCompare(tls, op, l6, r6)
  7829. break
  7830. }
  7831. return ret
  7832. }
  7833. func _FcConfigEvaluate(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr) (r TFcValue) {
  7834. bp := tls.Alloc(688)
  7835. defer tls.Free(688)
  7836. var m, str uintptr
  7837. var op TFcOp
  7838. var v1, v2, v3, v4, v5, v6, v7 int32
  7839. var _ /* buf1 at bp+80 */ TFcValuePromotionBuffer
  7840. var _ /* buf2 at bp+336 */ TFcValuePromotionBuffer
  7841. var _ /* m at bp+592 */ TFcMatrix
  7842. var _ /* v at bp+0 */ TFcValue
  7843. var _ /* vl at bp+16 */ TFcValue
  7844. var _ /* vle at bp+48 */ TFcValue
  7845. var _ /* vr at bp+32 */ TFcValue
  7846. var _ /* vre at bp+64 */ TFcValue
  7847. var _ /* xx at bp+624 */ TFcValue
  7848. var _ /* xy at bp+640 */ TFcValue
  7849. var _ /* yx at bp+656 */ TFcValue
  7850. var _ /* yy at bp+672 */ TFcValue
  7851. _, _, _, _, _, _, _, _, _, _ = m, op, str, v1, v2, v3, v4, v5, v6, v7
  7852. op = (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff)
  7853. switch op {
  7854. case int32(_FcOpInteger):
  7855. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7856. *(*int32)(unsafe.Pointer(bp + 8)) = (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival
  7857. case int32(_FcOpDouble):
  7858. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  7859. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7860. case int32(_FcOpString):
  7861. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  7862. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7863. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7864. case int32(_FcOpMatrix):
  7865. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  7866. *(*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))
  7867. *(*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))
  7868. *(*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))
  7869. *(*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))
  7870. 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) {
  7871. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxx = *(*float64)(unsafe.Pointer(bp + 624 + 8))
  7872. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fxy = *(*float64)(unsafe.Pointer(bp + 640 + 8))
  7873. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyx = *(*float64)(unsafe.Pointer(bp + 656 + 8))
  7874. (*(*TFcMatrix)(unsafe.Pointer(bp + 592))).Fyy = *(*float64)(unsafe.Pointer(bp + 672 + 8))
  7875. *(*uintptr)(unsafe.Pointer(bp + 8)) = bp + 592
  7876. } else {
  7877. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7878. }
  7879. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7880. case int32(_FcOpCharSet):
  7881. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  7882. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7883. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7884. case int32(_FcOpLangSet):
  7885. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  7886. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7887. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7888. case int32(_FcOpRange):
  7889. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  7890. *(*uintptr)(unsafe.Pointer(bp + 8)) = *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7891. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7892. case int32(_FcOpBool):
  7893. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7894. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))
  7895. case int32(_FcOpField):
  7896. if kind == int32(_FcMatchFont) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchPattern) {
  7897. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p_pat, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  7898. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7899. }
  7900. } else {
  7901. if kind == int32(_FcMatchPattern) && (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fkind == int32(_FcMatchFont) {
  7902. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1123, 0)
  7903. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7904. } else {
  7905. if int32(_FcResultMatch) != XFcPatternObjectGet(tls, p, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu))).Fobject, 0, bp) {
  7906. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7907. }
  7908. }
  7909. }
  7910. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueSave(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  7911. case int32(_FcOpConst):
  7912. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)), bp+8) != 0 {
  7913. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  7914. } else {
  7915. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7916. }
  7917. case int32(_FcOpQuest):
  7918. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7919. Fleft uintptr
  7920. Fright uintptr
  7921. })(unsafe.Pointer(e + 8))).Fleft)
  7922. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeBool) {
  7923. if *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0 {
  7924. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7925. Fleft uintptr
  7926. Fright uintptr
  7927. })(unsafe.Pointer((*(*struct {
  7928. Fleft uintptr
  7929. Fright uintptr
  7930. })(unsafe.Pointer(e + 8))).Fright + 8))).Fleft)
  7931. } else {
  7932. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7933. Fleft uintptr
  7934. Fright uintptr
  7935. })(unsafe.Pointer((*(*struct {
  7936. Fleft uintptr
  7937. Fright uintptr
  7938. })(unsafe.Pointer(e + 8))).Fright + 8))).Fright)
  7939. }
  7940. } else {
  7941. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  7942. }
  7943. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7944. case int32(_FcOpEqual):
  7945. fallthrough
  7946. case int32(_FcOpNotEqual):
  7947. fallthrough
  7948. case int32(_FcOpLess):
  7949. fallthrough
  7950. case int32(_FcOpLessEqual):
  7951. fallthrough
  7952. case int32(_FcOpMore):
  7953. fallthrough
  7954. case int32(_FcOpMoreEqual):
  7955. fallthrough
  7956. case int32(_FcOpContains):
  7957. fallthrough
  7958. case int32(_FcOpNotContains):
  7959. fallthrough
  7960. case int32(_FcOpListing):
  7961. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7962. Fleft uintptr
  7963. Fright uintptr
  7964. })(unsafe.Pointer(e + 8))).Fleft)
  7965. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7966. Fleft uintptr
  7967. Fright uintptr
  7968. })(unsafe.Pointer(e + 8))).Fright)
  7969. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  7970. *(*TFcBool)(unsafe.Pointer(bp + 8)) = XFcConfigCompareValue(tls, bp+16, uint32((*TFcExpr)(unsafe.Pointer(e)).Fop), bp+32)
  7971. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  7972. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  7973. case int32(_FcOpOr):
  7974. fallthrough
  7975. case int32(_FcOpAnd):
  7976. fallthrough
  7977. case int32(_FcOpPlus):
  7978. fallthrough
  7979. case int32(_FcOpMinus):
  7980. fallthrough
  7981. case int32(_FcOpTimes):
  7982. fallthrough
  7983. case int32(_FcOpDivide):
  7984. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7985. Fleft uintptr
  7986. Fright uintptr
  7987. })(unsafe.Pointer(e + 8))).Fleft)
  7988. *(*TFcValue)(unsafe.Pointer(bp + 32)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  7989. Fleft uintptr
  7990. Fright uintptr
  7991. })(unsafe.Pointer(e + 8))).Fright)
  7992. *(*TFcValue)(unsafe.Pointer(bp + 48)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)), *(*TFcValue)(unsafe.Pointer(bp + 32)), bp+80)
  7993. *(*TFcValue)(unsafe.Pointer(bp + 64)) = _FcConfigPromote(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)), *(*TFcValue)(unsafe.Pointer(bp + 48)), bp+336)
  7994. if (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 == (*(*TFcValue)(unsafe.Pointer(bp + 64))).Ftype1 {
  7995. switch (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 {
  7996. case int32(_FcTypeDouble):
  7997. switch op {
  7998. case int32(_FcOpPlus):
  7999. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8000. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) + *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8001. case int32(_FcOpMinus):
  8002. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8003. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) - *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8004. case int32(_FcOpTimes):
  8005. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8006. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) * *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8007. case int32(_FcOpDivide):
  8008. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  8009. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(bp + 48 + 8)) / *(*float64)(unsafe.Pointer(bp + 64 + 8))
  8010. default:
  8011. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8012. break
  8013. }
  8014. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeDouble) && *(*float64)(unsafe.Pointer(bp + 8)) == float64(int32(*(*float64)(unsafe.Pointer(bp + 8)))) {
  8015. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8016. *(*int32)(unsafe.Pointer(bp + 8)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  8017. }
  8018. case int32(_FcTypeBool):
  8019. switch op {
  8020. case int32(_FcOpOr):
  8021. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8022. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 || *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  8023. case int32(_FcOpAnd):
  8024. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8025. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 48 + 8)) != 0 && *(*TFcBool)(unsafe.Pointer(bp + 64 + 8)) != 0)
  8026. default:
  8027. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8028. break
  8029. }
  8030. case int32(_FcTypeString):
  8031. switch op {
  8032. case int32(_FcOpPlus):
  8033. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  8034. str = XFcStrPlus(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8035. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, str)
  8036. XFcStrFree(tls, str)
  8037. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8038. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8039. }
  8040. default:
  8041. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8042. break
  8043. }
  8044. case int32(_FcTypeMatrix):
  8045. switch op {
  8046. case int32(_FcOpTimes):
  8047. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  8048. m = libc.Xmalloc(tls, uint64(32))
  8049. if m != 0 {
  8050. XFcMatrixMultiply(tls, m, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8051. *(*uintptr)(unsafe.Pointer(bp + 8)) = m
  8052. } else {
  8053. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8054. }
  8055. default:
  8056. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8057. break
  8058. }
  8059. case int32(_FcTypeCharSet):
  8060. switch op {
  8061. case int32(_FcOpPlus):
  8062. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  8063. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8064. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8065. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8066. }
  8067. case int32(_FcOpMinus):
  8068. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  8069. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8070. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8071. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8072. }
  8073. default:
  8074. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8075. break
  8076. }
  8077. case int32(_FcTypeLangSet):
  8078. switch op {
  8079. case int32(_FcOpPlus):
  8080. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  8081. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetUnion(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8082. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8083. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8084. }
  8085. case int32(_FcOpMinus):
  8086. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  8087. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetSubtract(tls, *(*uintptr)(unsafe.Pointer(bp + 48 + 8)), *(*uintptr)(unsafe.Pointer(bp + 64 + 8)))
  8088. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  8089. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8090. }
  8091. default:
  8092. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8093. break
  8094. }
  8095. default:
  8096. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8097. break
  8098. }
  8099. } else {
  8100. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8101. }
  8102. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8103. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 32)))
  8104. case int32(_FcOpNot):
  8105. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8106. Fleft uintptr
  8107. Fright uintptr
  8108. })(unsafe.Pointer(e + 8))).Fleft)
  8109. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8110. case int32(_FcTypeBool):
  8111. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  8112. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.BoolInt32(!(*(*TFcBool)(unsafe.Pointer(bp + 16 + 8)) != 0))
  8113. default:
  8114. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8115. break
  8116. }
  8117. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8118. case int32(_FcOpFloor):
  8119. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8120. Fleft uintptr
  8121. Fright uintptr
  8122. })(unsafe.Pointer(e + 8))).Fleft)
  8123. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8124. case int32(_FcTypeInteger):
  8125. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8126. case int32(_FcTypeDouble):
  8127. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8128. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8129. v1 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8130. } else {
  8131. if float64(int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == -*(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  8132. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8133. } else {
  8134. v2 = int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  8135. }
  8136. v1 = -v2
  8137. }
  8138. *(*int32)(unsafe.Pointer(bp + 8)) = v1
  8139. default:
  8140. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8141. break
  8142. }
  8143. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8144. case int32(_FcOpCeil):
  8145. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8146. Fleft uintptr
  8147. Fright uintptr
  8148. })(unsafe.Pointer(e + 8))).Fleft)
  8149. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8150. case int32(_FcTypeInteger):
  8151. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8152. case int32(_FcTypeDouble):
  8153. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8154. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8155. if float64(int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))) == *(*float64)(unsafe.Pointer(bp + 16 + 8)) {
  8156. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8157. } else {
  8158. v4 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromInt32(1))
  8159. }
  8160. v3 = v4
  8161. } else {
  8162. v3 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8163. }
  8164. *(*int32)(unsafe.Pointer(bp + 8)) = v3
  8165. default:
  8166. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8167. break
  8168. }
  8169. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8170. case int32(_FcOpRound):
  8171. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8172. Fleft uintptr
  8173. Fright uintptr
  8174. })(unsafe.Pointer(e + 8))).Fleft)
  8175. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8176. case int32(_FcTypeInteger):
  8177. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8178. case int32(_FcTypeDouble):
  8179. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8180. if *(*float64)(unsafe.Pointer(bp + 16 + 8))+float64(0.5) >= libc.Float64FromInt32(0) {
  8181. v5 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5))
  8182. } else {
  8183. if float64(int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))) == -(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) {
  8184. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)))
  8185. } else {
  8186. v6 = int32(-(*(*float64)(unsafe.Pointer(bp + 16 + 8)) + libc.Float64FromFloat64(0.5)) + libc.Float64FromInt32(1))
  8187. }
  8188. v5 = -v6
  8189. }
  8190. *(*int32)(unsafe.Pointer(bp + 8)) = v5
  8191. default:
  8192. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8193. break
  8194. }
  8195. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8196. case int32(_FcOpTrunc):
  8197. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8198. Fleft uintptr
  8199. Fright uintptr
  8200. })(unsafe.Pointer(e + 8))).Fleft)
  8201. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  8202. case int32(_FcTypeInteger):
  8203. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(bp + 16))
  8204. case int32(_FcTypeDouble):
  8205. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  8206. if *(*float64)(unsafe.Pointer(bp + 16 + 8)) >= libc.Float64FromInt32(0) {
  8207. v7 = int32(*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8208. } else {
  8209. v7 = -int32(-*(*float64)(unsafe.Pointer(bp + 16 + 8)))
  8210. }
  8211. *(*int32)(unsafe.Pointer(bp + 8)) = v7
  8212. default:
  8213. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8214. break
  8215. }
  8216. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp + 16)))
  8217. default:
  8218. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  8219. break
  8220. }
  8221. return *(*TFcValue)(unsafe.Pointer(bp))
  8222. }
  8223. // C documentation
  8224. //
  8225. // /* The bulk of the time in FcConfigSubstitute is spent walking
  8226. // * lists of family names. We speed this up with a hash table.
  8227. // * Since we need to take the ignore-blanks option into account,
  8228. // * we use two separate hash tables.
  8229. // */
  8230. type TFamilyTableEntry = struct {
  8231. Fcount int32
  8232. }
  8233. type TFamilyTable = struct {
  8234. Ffamily_blank_hash uintptr
  8235. Ffamily_hash uintptr
  8236. }
  8237. func _FamilyTableLookup(tls *libc.TLS, table uintptr, _op TFcOp, s uintptr) (r TFcBool) {
  8238. bp := tls.Alloc(16)
  8239. defer tls.Free(16)
  8240. var flags int32
  8241. var hash uintptr
  8242. var _ /* fe at bp+0 */ uintptr
  8243. _, _ = flags, hash
  8244. flags = int32(uint32(_op) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  8245. if flags&int32(_FcOpFlagIgnoreBlanks) != 0 {
  8246. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash
  8247. } else {
  8248. hash = (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash
  8249. }
  8250. return XFcHashTableFind(tls, hash, s, bp)
  8251. }
  8252. func _FamilyTableAdd(tls *libc.TLS, table uintptr, values TFcValueListPtr) {
  8253. bp := tls.Alloc(16)
  8254. defer tls.Free(16)
  8255. var ll TFcValueListPtr
  8256. var s, v2, v3 uintptr
  8257. var _ /* fe at bp+0 */ uintptr
  8258. _, _, _, _ = ll, s, v2, v3
  8259. ll = values
  8260. for {
  8261. if !(ll != 0) {
  8262. break
  8263. }
  8264. if int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(1) != 0 {
  8265. v2 = uintptr(Tintptr_t(ll+8) + int64(*(*uintptr)(unsafe.Pointer(ll + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8266. } else {
  8267. v2 = *(*uintptr)(unsafe.Pointer(ll + 8 + 8))
  8268. }
  8269. s = v2
  8270. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0) {
  8271. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8272. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8273. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8274. }
  8275. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8276. if !(XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0) {
  8277. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(4))
  8278. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount = 0
  8279. XFcHashTableAdd(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, *(*uintptr)(unsafe.Pointer(bp)))
  8280. }
  8281. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount++
  8282. goto _1
  8283. _1:
  8284. ;
  8285. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8286. v3 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8287. } else {
  8288. v3 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8289. }
  8290. ll = v3
  8291. }
  8292. }
  8293. func _FamilyTableDel(tls *libc.TLS, table uintptr, s uintptr) {
  8294. bp := tls.Alloc(16)
  8295. defer tls.Free(16)
  8296. var _ /* fe at bp+0 */ uintptr
  8297. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s, bp) != 0 {
  8298. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8299. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8300. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash, s)
  8301. }
  8302. }
  8303. if XFcHashTableFind(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s, bp) != 0 {
  8304. (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount--
  8305. if (*TFamilyTableEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fcount == 0 {
  8306. XFcHashTableRemove(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash, s)
  8307. }
  8308. }
  8309. }
  8310. func _copy_string(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  8311. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  8312. return int32(m_FcTrue)
  8313. }
  8314. func _FamilyTableInit(tls *libc.TLS, table uintptr, p uintptr) {
  8315. var e, v1 uintptr
  8316. _, _ = e, v1
  8317. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  8318. (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreCase), __ccgo_fp(XFcStrCmpIgnoreCase), __ccgo_fp(_copy_string), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree), __ccgo_fp(libc.Xfree))
  8319. e = XFcPatternObjectFindElt(tls, p, int32(_FC_FAMILY_OBJECT))
  8320. if e != 0 {
  8321. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  8322. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8323. } else {
  8324. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  8325. }
  8326. _FamilyTableAdd(tls, table, v1)
  8327. }
  8328. }
  8329. func _FamilyTableClear(tls *libc.TLS, table uintptr) {
  8330. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash != 0 {
  8331. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_blank_hash)
  8332. }
  8333. if (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash != 0 {
  8334. XFcHashTableDestroy(tls, (*TFamilyTable)(unsafe.Pointer(table)).Ffamily_hash)
  8335. }
  8336. }
  8337. func _FcConfigMatchValueList(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, t uintptr, values uintptr, table uintptr) (r uintptr) {
  8338. bp := tls.Alloc(16)
  8339. defer tls.Free(16)
  8340. var e, ret, v, v1, v2, v4 uintptr
  8341. var op TFcOp
  8342. var _ /* value at bp+0 */ TFcValue
  8343. _, _, _, _, _, _, _ = e, op, ret, v, v1, v2, v4
  8344. ret = uintptr(0)
  8345. e = (*TFcTest)(unsafe.Pointer(t)).Fexpr
  8346. for e != 0 {
  8347. /* Compute the value of the match expression */
  8348. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8349. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8350. Fleft uintptr
  8351. Fright uintptr
  8352. })(unsafe.Pointer(e + 8))).Fleft)
  8353. e = (*(*struct {
  8354. Fleft uintptr
  8355. Fright uintptr
  8356. })(unsafe.Pointer(e + 8))).Fright
  8357. } else {
  8358. *(*TFcValue)(unsafe.Pointer(bp)) = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8359. e = uintptr(0)
  8360. }
  8361. if (*TFcTest)(unsafe.Pointer(t)).Fobject == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8362. op = (*TFcTest)(unsafe.Pointer(t)).Fop & libc.Int32FromInt32(0xffff)
  8363. if op == int32(_FcOpEqual) || op == int32(_FcOpListing) {
  8364. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8365. v1 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8366. } else {
  8367. v1 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8368. }
  8369. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v1) != 0) {
  8370. ret = uintptr(0)
  8371. goto done
  8372. }
  8373. }
  8374. if op == int32(_FcOpNotEqual) && (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8375. ret = uintptr(0)
  8376. if int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(1) != 0 {
  8377. v2 = uintptr(Tintptr_t(bp) + int64(*(*uintptr)(unsafe.Pointer(bp + 8)))&int64(^libc.Int32FromInt32(1)))
  8378. } else {
  8379. v2 = *(*uintptr)(unsafe.Pointer(bp + 8))
  8380. }
  8381. if !(_FamilyTableLookup(tls, table, (*TFcTest)(unsafe.Pointer(t)).Fop, v2) != 0) {
  8382. ret = values
  8383. }
  8384. goto done
  8385. }
  8386. }
  8387. v = values
  8388. for {
  8389. if !(v != 0) {
  8390. break
  8391. }
  8392. /* Compare the pattern value to the match expression value */
  8393. if XFcConfigCompareValue(tls, v+8, uint32((*TFcTest)(unsafe.Pointer(t)).Fop), bp) != 0 {
  8394. if !(ret != 0) {
  8395. ret = v
  8396. }
  8397. if (*TFcTest)(unsafe.Pointer(t)).Fqual != int32(_FcQualAll) {
  8398. break
  8399. }
  8400. } else {
  8401. if (*TFcTest)(unsafe.Pointer(t)).Fqual == int32(_FcQualAll) {
  8402. ret = uintptr(0)
  8403. break
  8404. }
  8405. }
  8406. goto _3
  8407. _3:
  8408. ;
  8409. if int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8410. v4 = uintptr(int64(v) + int64((*TFcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8411. } else {
  8412. v4 = (*TFcValueList)(unsafe.Pointer(v)).Fnext
  8413. }
  8414. v = v4
  8415. }
  8416. goto done
  8417. done:
  8418. ;
  8419. XFcValueDestroy(tls, *(*TFcValue)(unsafe.Pointer(bp)))
  8420. }
  8421. return ret
  8422. }
  8423. func _FcConfigValues(tls *libc.TLS, p uintptr, p_pat uintptr, kind TFcMatchKind, e uintptr, binding TFcValueBinding) (r uintptr) {
  8424. var l, next, v1 uintptr
  8425. _, _, _ = l, next, v1
  8426. if !(e != 0) {
  8427. return uintptr(0)
  8428. }
  8429. l = libc.Xmalloc(tls, uint64(32))
  8430. if !(l != 0) {
  8431. return uintptr(0)
  8432. }
  8433. if (*TFcExpr)(unsafe.Pointer(e)).Fop&int32(0xffff) == int32(_FcOpComma) {
  8434. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, (*(*struct {
  8435. Fleft uintptr
  8436. Fright uintptr
  8437. })(unsafe.Pointer(e + 8))).Fleft)
  8438. (*TFcValueList)(unsafe.Pointer(l)).Fnext = _FcConfigValues(tls, p, p_pat, kind, (*(*struct {
  8439. Fleft uintptr
  8440. Fright uintptr
  8441. })(unsafe.Pointer(e + 8))).Fright, binding)
  8442. } else {
  8443. (*TFcValueList)(unsafe.Pointer(l)).Fvalue = _FcConfigEvaluate(tls, p, p_pat, kind, e)
  8444. (*TFcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  8445. }
  8446. (*TFcValueList)(unsafe.Pointer(l)).Fbinding = binding
  8447. if (*TFcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  8448. if int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8449. v1 = uintptr(int64(l) + int64((*TFcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8450. } else {
  8451. v1 = (*TFcValueList)(unsafe.Pointer(l)).Fnext
  8452. }
  8453. next = v1
  8454. libc.Xfree(tls, l)
  8455. l = next
  8456. }
  8457. return l
  8458. }
  8459. func _FcConfigAdd(tls *libc.TLS, head uintptr, position uintptr, append1 TFcBool, new1 uintptr, object TFcObject, table uintptr) (r TFcBool) {
  8460. bp := tls.Alloc(16)
  8461. defer tls.Free(16)
  8462. var l, last, v TFcValueListPtr
  8463. var prev, v2, v4, v7, v8 uintptr
  8464. var sameBinding TFcValueBinding
  8465. _, _, _, _, _, _, _, _, _ = l, last, prev, sameBinding, v, v2, v4, v7, v8
  8466. /*
  8467. * Make sure the stored type is valid for built-in objects
  8468. */
  8469. l = new1
  8470. for {
  8471. if !(l != libc.UintptrFromInt32(0)) {
  8472. break
  8473. }
  8474. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  8475. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  8476. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  8477. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  8478. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8479. libc.Xprintf(tls, __ccgo_ts+1268, 0)
  8480. }
  8481. return m_FcFalse
  8482. }
  8483. goto _1
  8484. _1:
  8485. ;
  8486. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  8487. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8488. } else {
  8489. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  8490. }
  8491. l = v2
  8492. }
  8493. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8494. _FamilyTableAdd(tls, table, new1)
  8495. }
  8496. if position != 0 {
  8497. sameBinding = (*TFcValueList)(unsafe.Pointer(position)).Fbinding
  8498. } else {
  8499. sameBinding = int32(_FcValueBindingWeak)
  8500. }
  8501. v = new1
  8502. for {
  8503. if !(v != libc.UintptrFromInt32(0)) {
  8504. break
  8505. }
  8506. if (*T_FcValueList)(unsafe.Pointer(v)).Fbinding == int32(_FcValueBindingSame) {
  8507. (*T_FcValueList)(unsafe.Pointer(v)).Fbinding = sameBinding
  8508. }
  8509. goto _3
  8510. _3:
  8511. ;
  8512. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  8513. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8514. } else {
  8515. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  8516. }
  8517. v = v4
  8518. }
  8519. if append1 != 0 {
  8520. if position != 0 {
  8521. prev = position
  8522. } else {
  8523. prev = head
  8524. for {
  8525. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8526. break
  8527. }
  8528. goto _5
  8529. _5:
  8530. ;
  8531. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8532. }
  8533. }
  8534. } else {
  8535. if position != 0 {
  8536. prev = head
  8537. for {
  8538. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8539. break
  8540. }
  8541. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8542. break
  8543. }
  8544. goto _6
  8545. _6:
  8546. ;
  8547. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8548. }
  8549. } else {
  8550. prev = head
  8551. }
  8552. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8553. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == libc.UintptrFromInt32(0) {
  8554. libc.Xprintf(tls, __ccgo_ts+1280, 0)
  8555. }
  8556. }
  8557. }
  8558. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8559. if append1 != 0 {
  8560. v7 = __ccgo_ts + 1302
  8561. } else {
  8562. v7 = __ccgo_ts + 1309
  8563. }
  8564. libc.Xprintf(tls, __ccgo_ts+1317, libc.VaList(bp+8, v7))
  8565. XFcValueListPrintWithPosition(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)), *(*TFcValueListPtr)(unsafe.Pointer(prev)))
  8566. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8567. }
  8568. if new1 != 0 {
  8569. last = new1
  8570. for (*T_FcValueList)(unsafe.Pointer(last)).Fnext != libc.UintptrFromInt32(0) {
  8571. last = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  8572. }
  8573. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8574. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  8575. }
  8576. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8577. if append1 != 0 {
  8578. v8 = __ccgo_ts + 1302
  8579. } else {
  8580. v8 = __ccgo_ts + 1309
  8581. }
  8582. libc.Xprintf(tls, __ccgo_ts+1333, libc.VaList(bp+8, v8))
  8583. XFcValueListPrint(tls, *(*TFcValueListPtr)(unsafe.Pointer(head)))
  8584. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  8585. }
  8586. return int32(m_FcTrue)
  8587. }
  8588. func _FcConfigDel(tls *libc.TLS, head uintptr, position uintptr, object TFcObject, table uintptr) {
  8589. var prev, v1 uintptr
  8590. _, _ = prev, v1
  8591. if object == int32(_FC_FAMILY_OBJECT) && table != 0 {
  8592. if int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(1) != 0 {
  8593. v1 = uintptr(Tintptr_t(position+8) + int64(*(*uintptr)(unsafe.Pointer(position + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  8594. } else {
  8595. v1 = *(*uintptr)(unsafe.Pointer(position + 8 + 8))
  8596. }
  8597. _FamilyTableDel(tls, table, v1)
  8598. }
  8599. prev = head
  8600. for {
  8601. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != libc.UintptrFromInt32(0)) {
  8602. break
  8603. }
  8604. if *(*TFcValueListPtr)(unsafe.Pointer(prev)) == position {
  8605. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcValueList)(unsafe.Pointer(position)).Fnext
  8606. (*TFcValueList)(unsafe.Pointer(position)).Fnext = libc.UintptrFromInt32(0)
  8607. XFcValueListDestroy(tls, position)
  8608. break
  8609. }
  8610. goto _2
  8611. _2:
  8612. ;
  8613. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  8614. }
  8615. }
  8616. func _FcConfigPatternAdd(tls *libc.TLS, p uintptr, object TFcObject, list uintptr, append1 TFcBool, table uintptr) {
  8617. var e uintptr
  8618. _ = e
  8619. if list != 0 {
  8620. e = XFcPatternObjectInsertElt(tls, p, object)
  8621. if !(e != 0) {
  8622. return
  8623. }
  8624. _FcConfigAdd(tls, e+8, uintptr(0), append1, list, object, table)
  8625. }
  8626. }
  8627. // C documentation
  8628. //
  8629. // /*
  8630. // * Delete all values associated with a field
  8631. // */
  8632. func _FcConfigPatternDel(tls *libc.TLS, p uintptr, object TFcObject, table uintptr) {
  8633. var e uintptr
  8634. _ = e
  8635. e = XFcPatternObjectFindElt(tls, p, object)
  8636. if !(e != 0) {
  8637. return
  8638. }
  8639. for (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != libc.UintptrFromInt32(0) {
  8640. _FcConfigDel(tls, e+8, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, object, table)
  8641. }
  8642. }
  8643. func _FcConfigPatternCanon(tls *libc.TLS, p uintptr, object TFcObject) {
  8644. var e uintptr
  8645. _ = e
  8646. e = XFcPatternObjectFindElt(tls, p, object)
  8647. if !(e != 0) {
  8648. return
  8649. }
  8650. if (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues == libc.UintptrFromInt32(0) {
  8651. XFcPatternObjectDel(tls, p, object)
  8652. }
  8653. }
  8654. func XFcConfigSubstituteWithPat(tls *libc.TLS, config uintptr, p uintptr, p_pat uintptr, kind TFcMatchKind) (r1 TFcBool) {
  8655. bp := tls.Alloc(128)
  8656. defer tls.Free(128)
  8657. var b, retval TFcBool
  8658. var e, e1, elt, l, l1, lang, ls, lsund, m, nextValue, prgname, r, rs, s, strs, table, thisValue, tst, value, vl, v1, v4, v5 uintptr
  8659. var i, nobjs int32
  8660. var ll TFcValueListPtr
  8661. var object TFcObject
  8662. var v2 bool
  8663. var _ /* data at bp+64 */ TFamilyTable
  8664. var _ /* iter at bp+16 */ TFcPtrListIter
  8665. var _ /* iter2 at bp+40 */ TFcPtrListIter
  8666. var _ /* v at bp+0 */ TFcValue
  8667. var _ /* v at bp+80 */ TFcValue
  8668. var _ /* vv at bp+96 */ TFcValue
  8669. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = b, e, e1, elt, i, l, l1, lang, ll, ls, lsund, m, nextValue, nobjs, object, prgname, r, retval, rs, s, strs, table, thisValue, tst, value, vl, v1, v2, v4, v5
  8670. value = libc.UintptrFromInt32(0)
  8671. object = int32(_FC_INVALID_OBJECT)
  8672. elt = libc.UintptrFromInt32(0)
  8673. retval = int32(m_FcTrue)
  8674. tst = libc.UintptrFromInt32(0)
  8675. table = bp + 64
  8676. if kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  8677. return m_FcFalse
  8678. }
  8679. config = XFcConfigReference(tls, config)
  8680. if !(config != 0) {
  8681. return m_FcFalse
  8682. }
  8683. s = *(*uintptr)(unsafe.Pointer(config + 40 + uintptr(kind)*8))
  8684. if kind == int32(_FcMatchPattern) {
  8685. strs = XFcGetDefaultLangs(tls)
  8686. if strs != 0 {
  8687. l1 = XFcStrListCreate(tls, strs)
  8688. lsund = XFcLangSetCreate(tls)
  8689. XFcLangSetAdd(tls, lsund, __ccgo_ts+1348)
  8690. XFcStrSetDestroy(tls, strs)
  8691. for {
  8692. if v2 = l1 != 0; v2 {
  8693. v1 = XFcStrListNext(tls, l1)
  8694. lang = v1
  8695. }
  8696. if !(v2 && v1 != 0) {
  8697. break
  8698. }
  8699. e1 = XFcPatternObjectFindElt(tls, p, int32(_FC_LANG_OBJECT))
  8700. if e1 != 0 {
  8701. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  8702. v4 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  8703. } else {
  8704. v4 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  8705. }
  8706. ll = v4
  8707. for {
  8708. if !(ll != 0) {
  8709. break
  8710. }
  8711. *(*TFcValue)(unsafe.Pointer(bp + 96)) = TFcValue{}
  8712. *(*T_FcValue)(unsafe.Pointer(bp + 96)) = XFcValueCanonicalize(tls, ll+8)
  8713. if (*(*TFcValue)(unsafe.Pointer(bp + 96))).Ftype1 == int32(_FcTypeLangSet) {
  8714. ls = XFcLangSetCreate(tls)
  8715. XFcLangSetAdd(tls, ls, lang)
  8716. b = XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), ls)
  8717. XFcLangSetDestroy(tls, ls)
  8718. if b != 0 {
  8719. goto bail_lang
  8720. }
  8721. if XFcLangSetContains(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lsund) != 0 {
  8722. goto bail_lang
  8723. }
  8724. } else {
  8725. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), lang) == 0 {
  8726. goto bail_lang
  8727. }
  8728. if XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 96 + 8)), __ccgo_ts+1348) == 0 {
  8729. goto bail_lang
  8730. }
  8731. }
  8732. goto _3
  8733. _3:
  8734. ;
  8735. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  8736. v5 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  8737. } else {
  8738. v5 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  8739. }
  8740. ll = v5
  8741. }
  8742. }
  8743. (*(*TFcValue)(unsafe.Pointer(bp + 80))).Ftype1 = int32(_FcTypeString)
  8744. *(*uintptr)(unsafe.Pointer(bp + 80 + 8)) = lang
  8745. XFcPatternObjectAddWithBinding(tls, p, int32(_FC_LANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 80)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  8746. }
  8747. goto bail_lang
  8748. bail_lang:
  8749. ;
  8750. XFcStrListDone(tls, l1)
  8751. XFcLangSetDestroy(tls, lsund)
  8752. }
  8753. if XFcPatternObjectGet(tls, p, int32(_FC_PRGNAME_OBJECT), 0, bp) == int32(_FcResultNoMatch) {
  8754. prgname = XFcGetPrgname(tls)
  8755. if prgname != 0 {
  8756. XFcPatternObjectAddString(tls, p, int32(_FC_PRGNAME_OBJECT), prgname)
  8757. }
  8758. }
  8759. }
  8760. nobjs = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + (*TFcConfig)(unsafe.Pointer(config)).FmaxObjects + int32(2)
  8761. value = libc.Xmalloc(tls, uint64(int32(8)*nobjs))
  8762. if !(value != 0) {
  8763. retval = m_FcFalse
  8764. goto bail1
  8765. }
  8766. elt = libc.Xmalloc(tls, uint64(int32(8)*nobjs))
  8767. if !(elt != 0) {
  8768. retval = m_FcFalse
  8769. goto bail1
  8770. }
  8771. tst = libc.Xmalloc(tls, uint64(int32(8)*nobjs))
  8772. if !(tst != 0) {
  8773. retval = m_FcFalse
  8774. goto bail1
  8775. }
  8776. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8777. libc.Xprintf(tls, __ccgo_ts+1352, 0)
  8778. XFcPatternPrint(tls, p)
  8779. }
  8780. _FamilyTableInit(tls, bp+64, p)
  8781. XFcPtrListIterInit(tls, s, bp+16)
  8782. for {
  8783. if !(XFcPtrListIterIsValid(tls, s, bp+16) != 0) {
  8784. break
  8785. }
  8786. rs = XFcPtrListIterGetValue(tls, s, bp+16)
  8787. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8788. libc.Xprintf(tls, __ccgo_ts+1372, libc.VaList(bp+120, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  8789. }
  8790. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8791. for {
  8792. if !(XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40) != 0) {
  8793. break
  8794. }
  8795. r = XFcPtrListIterGetValue(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8796. i = 0
  8797. for {
  8798. if !(i < nobjs) {
  8799. break
  8800. }
  8801. *(*uintptr)(unsafe.Pointer(elt + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8802. *(*uintptr)(unsafe.Pointer(value + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8803. *(*uintptr)(unsafe.Pointer(tst + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  8804. goto _8
  8805. _8:
  8806. ;
  8807. i++
  8808. }
  8809. for {
  8810. if !(r != 0) {
  8811. break
  8812. }
  8813. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  8814. case int32(_FcRuleUnknown):
  8815. /* shouldn't be reached */
  8816. case int32(_FcRuleTest):
  8817. object = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  8818. /*
  8819. * Check the tests to see if
  8820. * they all match the pattern
  8821. */
  8822. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8823. libc.Xprintf(tls, __ccgo_ts+1387, 0)
  8824. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  8825. }
  8826. if kind == int32(_FcMatchFont) && (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == int32(_FcMatchPattern) {
  8827. m = p_pat
  8828. table = libc.UintptrFromInt32(0)
  8829. } else {
  8830. m = p
  8831. table = bp + 64
  8832. }
  8833. if m != 0 {
  8834. e = XFcPatternObjectFindElt(tls, m, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  8835. } else {
  8836. e = libc.UintptrFromInt32(0)
  8837. }
  8838. /* different 'kind' won't be the target of edit */
  8839. if !(*(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  8840. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = e
  8841. *(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)) = *(*uintptr)(unsafe.Pointer(r + 16))
  8842. }
  8843. /*
  8844. * If there's no such field in the font,
  8845. * then FcQualAll matches while FcQualAny does not
  8846. */
  8847. if !(e != 0) {
  8848. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fqual == int32(_FcQualAll) {
  8849. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  8850. goto _9
  8851. } else {
  8852. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8853. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  8854. }
  8855. goto bail
  8856. }
  8857. }
  8858. /*
  8859. * Check to see if there is a match, mark the location
  8860. * to apply match-relative edits
  8861. */
  8862. vl = _FcConfigMatchValueList(tls, m, p_pat, kind, *(*uintptr)(unsafe.Pointer(r + 16)), (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues, table)
  8863. /* different 'kind' won't be the target of edit */
  8864. if !(*(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0) && kind == (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind {
  8865. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = vl
  8866. }
  8867. 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 {
  8868. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8869. libc.Xprintf(tls, __ccgo_ts+1412, 0)
  8870. }
  8871. goto bail
  8872. }
  8873. case int32(_FcRuleEdit):
  8874. object = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  8875. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8876. libc.Xprintf(tls, __ccgo_ts+1422, 0)
  8877. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  8878. libc.Xprintf(tls, __ccgo_ts+1434, 0)
  8879. }
  8880. /*
  8881. * Evaluate the list of expressions
  8882. */
  8883. 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)
  8884. 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)) {
  8885. *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8)) = XFcPatternObjectFindElt(tls, p, (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(tst + uintptr(object)*8)))).Fobject)
  8886. }
  8887. switch (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fop & libc.Int32FromInt32(0xffff) {
  8888. case int32(_FcOpAssign):
  8889. /*
  8890. * If there was a test, then replace the matched
  8891. * value with the new list of values
  8892. */
  8893. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8894. thisValue = *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8))
  8895. nextValue = l
  8896. /*
  8897. * Append the new list of values after the current value
  8898. */
  8899. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8900. /*
  8901. * Delete the marked value
  8902. */
  8903. if thisValue != 0 {
  8904. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, thisValue, object, table)
  8905. }
  8906. /*
  8907. * Adjust a pointer into the value list to ensure
  8908. * future edits occur at the same place
  8909. */
  8910. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = nextValue
  8911. break
  8912. }
  8913. /* fall through ... */
  8914. fallthrough
  8915. case int32(_FcOpAssignReplace):
  8916. /*
  8917. * Delete all of the values and insert
  8918. * the new set
  8919. */
  8920. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8921. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  8922. /*
  8923. * Adjust a pointer into the value list as they no
  8924. * longer point to anything valid
  8925. */
  8926. *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) = libc.UintptrFromInt32(0)
  8927. case int32(_FcOpPrepend):
  8928. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8929. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), m_FcFalse, l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8930. break
  8931. }
  8932. /* fall through ... */
  8933. fallthrough
  8934. case int32(_FcOpPrependFirst):
  8935. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, m_FcFalse, table)
  8936. case int32(_FcOpAppend):
  8937. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8938. _FcConfigAdd(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), int32(m_FcTrue), l, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8939. break
  8940. }
  8941. /* fall through ... */
  8942. fallthrough
  8943. case int32(_FcOpAppendLast):
  8944. _FcConfigPatternAdd(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, l, int32(m_FcTrue), table)
  8945. case int32(_FcOpDelete):
  8946. if *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)) != 0 {
  8947. _FcConfigDel(tls, *(*uintptr)(unsafe.Pointer(elt + uintptr(object)*8))+8, *(*uintptr)(unsafe.Pointer(value + uintptr(object)*8)), object, table)
  8948. XFcValueListDestroy(tls, l)
  8949. break
  8950. }
  8951. /* fall through ... */
  8952. fallthrough
  8953. case int32(_FcOpDeleteAll):
  8954. _FcConfigPatternDel(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject, table)
  8955. XFcValueListDestroy(tls, l)
  8956. default:
  8957. XFcValueListDestroy(tls, l)
  8958. break
  8959. }
  8960. /*
  8961. * Now go through the pattern and eliminate
  8962. * any properties without data
  8963. */
  8964. _FcConfigPatternCanon(tls, p, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject)
  8965. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8966. libc.Xprintf(tls, __ccgo_ts+1437, 0)
  8967. XFcPatternPrint(tls, p)
  8968. }
  8969. break
  8970. }
  8971. goto _9
  8972. _9:
  8973. ;
  8974. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  8975. }
  8976. goto bail
  8977. bail:
  8978. ;
  8979. goto _7
  8980. _7:
  8981. ;
  8982. XFcPtrListIterNext(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp+40)
  8983. }
  8984. goto _6
  8985. _6:
  8986. ;
  8987. XFcPtrListIterNext(tls, s, bp+16)
  8988. }
  8989. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  8990. libc.Xprintf(tls, __ccgo_ts+1461, 0)
  8991. XFcPatternPrint(tls, p)
  8992. }
  8993. goto bail1
  8994. bail1:
  8995. ;
  8996. _FamilyTableClear(tls, bp+64)
  8997. if elt != 0 {
  8998. libc.Xfree(tls, elt)
  8999. }
  9000. if value != 0 {
  9001. libc.Xfree(tls, value)
  9002. }
  9003. if tst != 0 {
  9004. libc.Xfree(tls, tst)
  9005. }
  9006. XFcConfigDestroy(tls, config)
  9007. return retval
  9008. }
  9009. func XFcConfigSubstitute(tls *libc.TLS, config uintptr, p uintptr, kind TFcMatchKind) (r TFcBool) {
  9010. return XFcConfigSubstituteWithPat(tls, config, p, uintptr(0), kind)
  9011. }
  9012. func _FcConfigFileExists(tls *libc.TLS, dir uintptr, file uintptr) (r uintptr) {
  9013. var osize, size int32
  9014. var path uintptr
  9015. _, _, _ = osize, path, size
  9016. if !(dir != 0) {
  9017. dir = __ccgo_ts + 110
  9018. }
  9019. osize = int32(libc.Xstrlen(tls, dir) + uint64(1) + libc.Xstrlen(tls, file) + uint64(1))
  9020. /*
  9021. * workaround valgrind warning because glibc takes advantage of how it knows memory is
  9022. * allocated to implement strlen by reading in groups of 4
  9023. */
  9024. size = (osize + int32(3)) & ^libc.Int32FromInt32(3)
  9025. path = libc.Xmalloc(tls, uint64(size))
  9026. if !(path != 0) {
  9027. return uintptr(0)
  9028. }
  9029. libc.X__builtin___strcpy_chk(tls, path, dir, libc.X__builtin_object_size(tls, path, int32(1)))
  9030. /* make sure there's a single separator */
  9031. if (!(*(*TFcChar8)(unsafe.Pointer(path)) != 0) || int32(*(*TFcChar8)(unsafe.Pointer(path + uintptr(libc.Xstrlen(tls, path)-uint64(1))))) != int32('/')) && int32(*(*TFcChar8)(unsafe.Pointer(file))) != int32('/') {
  9032. libc.X__builtin___strcat_chk(tls, path, __ccgo_ts+1485, libc.X__builtin_object_size(tls, path, int32(1)))
  9033. } else {
  9034. osize--
  9035. }
  9036. libc.X__builtin___strcat_chk(tls, path, file, libc.X__builtin_object_size(tls, path, int32(1)))
  9037. if libc.Xaccess(tls, path, libc.Int32FromInt32(1)<<libc.Int32FromInt32(2)) == 0 {
  9038. return path
  9039. }
  9040. XFcStrFree(tls, path)
  9041. return uintptr(0)
  9042. }
  9043. func _FcConfigGetPath(tls *libc.TLS) (r uintptr) {
  9044. var colon, dir, e, env, path, v1 uintptr
  9045. var i, npath int32
  9046. _, _, _, _, _, _, _, _ = colon, dir, e, env, i, npath, path, v1
  9047. npath = int32(2) /* default dir + null */
  9048. env = libc.Xgetenv(tls, __ccgo_ts+1487)
  9049. if env != 0 {
  9050. e = env
  9051. npath++
  9052. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  9053. v1 = e
  9054. e++
  9055. if int32(*(*TFcChar8)(unsafe.Pointer(v1))) == int32(':') {
  9056. npath++
  9057. }
  9058. }
  9059. }
  9060. path = libc.Xcalloc(tls, uint64(npath), uint64(8))
  9061. if !(path != 0) {
  9062. goto bail0
  9063. }
  9064. i = 0
  9065. if env != 0 {
  9066. e = env
  9067. for *(*TFcChar8)(unsafe.Pointer(e)) != 0 {
  9068. colon = libc.Xstrchr(tls, e, int32(':'))
  9069. if !(colon != 0) {
  9070. colon = e + uintptr(libc.Xstrlen(tls, e))
  9071. }
  9072. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, uint64(int64(colon)-int64(e)+int64(1)))
  9073. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9074. goto bail1
  9075. }
  9076. libc.X__builtin___strncpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), e, uint64(int64(colon)-int64(e)), uint64(libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), int32(1))))
  9077. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) + uintptr(int64(colon)-int64(e)))) = uint8('\000')
  9078. if *(*TFcChar8)(unsafe.Pointer(colon)) != 0 {
  9079. e = colon + uintptr(1)
  9080. } else {
  9081. e = colon
  9082. }
  9083. i++
  9084. }
  9085. }
  9086. dir = __ccgo_ts + 1503
  9087. *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1))
  9088. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9089. goto bail1
  9090. }
  9091. libc.X__builtin___strcpy_chk(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), dir, libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)), int32(1)))
  9092. return path
  9093. goto bail1
  9094. bail1:
  9095. ;
  9096. i = 0
  9097. for {
  9098. if !(*(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)) != 0) {
  9099. break
  9100. }
  9101. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(path + uintptr(i)*8)))
  9102. goto _2
  9103. _2:
  9104. ;
  9105. i++
  9106. }
  9107. libc.Xfree(tls, path)
  9108. goto bail0
  9109. bail0:
  9110. ;
  9111. return uintptr(0)
  9112. return r
  9113. }
  9114. func _FcConfigFreePath(tls *libc.TLS, path uintptr) {
  9115. var p uintptr
  9116. _ = p
  9117. p = path
  9118. for {
  9119. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  9120. break
  9121. }
  9122. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(p)))
  9123. goto _1
  9124. _1:
  9125. ;
  9126. p += 8
  9127. }
  9128. libc.Xfree(tls, path)
  9129. }
  9130. var __FcConfigHomeEnabled = int32(m_FcTrue) /* MT-goodenough */
  9131. func XFcConfigHome(tls *libc.TLS) (r uintptr) {
  9132. var home uintptr
  9133. _ = home
  9134. if __FcConfigHomeEnabled != 0 {
  9135. home = libc.Xgetenv(tls, __ccgo_ts+1514)
  9136. return home
  9137. }
  9138. return uintptr(0)
  9139. }
  9140. func XFcConfigXdgCacheHome(tls *libc.TLS) (r uintptr) {
  9141. var env, home, ret uintptr
  9142. var len1 Tsize_t
  9143. var v1 uint64
  9144. _, _, _, _, _ = env, home, len1, ret, v1
  9145. env = libc.Xgetenv(tls, __ccgo_ts+1519)
  9146. ret = libc.UintptrFromInt32(0)
  9147. if !(__FcConfigHomeEnabled != 0) {
  9148. return libc.UintptrFromInt32(0)
  9149. }
  9150. if env != 0 && *(*int8)(unsafe.Pointer(env)) != 0 {
  9151. ret = XFcStrCopy(tls, env)
  9152. } else {
  9153. home = XFcConfigHome(tls)
  9154. if home != 0 {
  9155. v1 = libc.Xstrlen(tls, home)
  9156. } else {
  9157. v1 = uint64(0)
  9158. }
  9159. len1 = v1
  9160. ret = libc.Xmalloc(tls, len1+uint64(7)+uint64(1))
  9161. if ret != 0 {
  9162. if home != 0 {
  9163. libc.X__builtin___memcpy_chk(tls, ret, home, len1, uint64(libc.X__builtin_object_size(tls, ret, 0)))
  9164. }
  9165. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1534, uint64(7), uint64(libc.X__builtin_object_size(tls, ret+uintptr(len1), 0)))
  9166. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(7)))) = uint8(0)
  9167. }
  9168. }
  9169. return ret
  9170. }
  9171. func XFcConfigXdgConfigHome(tls *libc.TLS) (r uintptr) {
  9172. var env, home, ret uintptr
  9173. var len1 Tsize_t
  9174. var v1 uint64
  9175. _, _, _, _, _ = env, home, len1, ret, v1
  9176. env = libc.Xgetenv(tls, __ccgo_ts+1542)
  9177. ret = libc.UintptrFromInt32(0)
  9178. if !(__FcConfigHomeEnabled != 0) {
  9179. return libc.UintptrFromInt32(0)
  9180. }
  9181. if env != 0 {
  9182. ret = XFcStrCopy(tls, env)
  9183. } else {
  9184. home = XFcConfigHome(tls)
  9185. if home != 0 {
  9186. v1 = libc.Xstrlen(tls, home)
  9187. } else {
  9188. v1 = uint64(0)
  9189. }
  9190. len1 = v1
  9191. ret = libc.Xmalloc(tls, len1+uint64(8)+uint64(1))
  9192. if ret != 0 {
  9193. if home != 0 {
  9194. libc.X__builtin___memcpy_chk(tls, ret, home, len1, uint64(libc.X__builtin_object_size(tls, ret, 0)))
  9195. }
  9196. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1558, uint64(8), uint64(libc.X__builtin_object_size(tls, ret+uintptr(len1), 0)))
  9197. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(8)))) = uint8(0)
  9198. }
  9199. }
  9200. return ret
  9201. }
  9202. func XFcConfigXdgDataHome(tls *libc.TLS) (r uintptr) {
  9203. var env, home, ret uintptr
  9204. var len1 Tsize_t
  9205. var v1 uint64
  9206. _, _, _, _, _ = env, home, len1, ret, v1
  9207. env = libc.Xgetenv(tls, __ccgo_ts+1567)
  9208. ret = libc.UintptrFromInt32(0)
  9209. if !(__FcConfigHomeEnabled != 0) {
  9210. return libc.UintptrFromInt32(0)
  9211. }
  9212. if env != 0 {
  9213. ret = XFcStrCopy(tls, env)
  9214. } else {
  9215. home = XFcConfigHome(tls)
  9216. if home != 0 {
  9217. v1 = libc.Xstrlen(tls, home)
  9218. } else {
  9219. v1 = uint64(0)
  9220. }
  9221. len1 = v1
  9222. ret = libc.Xmalloc(tls, len1+uint64(13)+uint64(1))
  9223. if ret != 0 {
  9224. if home != 0 {
  9225. libc.X__builtin___memcpy_chk(tls, ret, home, len1, uint64(libc.X__builtin_object_size(tls, ret, 0)))
  9226. }
  9227. libc.X__builtin___memcpy_chk(tls, ret+uintptr(len1), __ccgo_ts+1581, uint64(13), uint64(libc.X__builtin_object_size(tls, ret+uintptr(len1), 0)))
  9228. *(*TFcChar8)(unsafe.Pointer(ret + uintptr(len1+uint64(13)))) = uint8(0)
  9229. }
  9230. }
  9231. return ret
  9232. }
  9233. func XFcConfigXdgDataDirs(tls *libc.TLS) (r uintptr) {
  9234. var e, ee, env, p, ret, s, v1 uintptr
  9235. var len1 Tsize_t
  9236. _, _, _, _, _, _, _, _ = e, ee, env, len1, p, ret, s, v1
  9237. env = libc.Xgetenv(tls, __ccgo_ts+1595)
  9238. ret = XFcStrSetCreate(tls)
  9239. if env != 0 {
  9240. v1 = XFcStrCopy(tls, env)
  9241. ee = v1
  9242. e = v1
  9243. /* We don't intentionally use FC_SEARCH_PATH_SEPARATOR here because of:
  9244. * The directories in $XDG_DATA_DIRS should be seperated with a colon ':'.
  9245. * in doc.
  9246. */
  9247. for e != 0 {
  9248. p = libc.Xstrchr(tls, e, int32(':'))
  9249. if !(p != 0) {
  9250. s = XFcStrCopy(tls, e)
  9251. e = libc.UintptrFromInt32(0)
  9252. } else {
  9253. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  9254. s = XFcStrCopy(tls, e)
  9255. e = p + uintptr(1)
  9256. }
  9257. len1 = libc.Xstrlen(tls, s)
  9258. if int32(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9259. for cond := true; cond; cond = len1 > uint64(1) && int32(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1-uint64(1))))) == int32('/') {
  9260. len1--
  9261. }
  9262. *(*TFcChar8)(unsafe.Pointer(s + uintptr(len1))) = uint8(0)
  9263. }
  9264. XFcStrSetAdd(tls, ret, s)
  9265. XFcStrFree(tls, s)
  9266. }
  9267. XFcStrFree(tls, ee)
  9268. } else {
  9269. /* From spec doc at https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables
  9270. *
  9271. * If $XDG_DATA_DIRS is either not set or empty, a value equal to /usr/local/share/:/usr/share/ should be used.
  9272. */
  9273. XFcStrSetAdd(tls, ret, __ccgo_ts+1609)
  9274. XFcStrSetAdd(tls, ret, __ccgo_ts+1626)
  9275. }
  9276. return ret
  9277. }
  9278. func XFcConfigEnableHome(tls *libc.TLS, enable TFcBool) (r TFcBool) {
  9279. var prev TFcBool
  9280. _ = prev
  9281. prev = __FcConfigHomeEnabled
  9282. __FcConfigHomeEnabled = enable
  9283. return prev
  9284. }
  9285. func XFcConfigGetFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9286. bp := tls.Alloc(32)
  9287. defer tls.Free(32)
  9288. var dir, file, p, path, s, s1, sysroot uintptr
  9289. var len1 Tsize_t
  9290. _, _, _, _, _, _, _, _ = dir, file, len1, p, path, s, s1, sysroot
  9291. config = XFcConfigReference(tls, config)
  9292. if !(config != 0) {
  9293. return libc.UintptrFromInt32(0)
  9294. }
  9295. sysroot = XFcConfigGetSysRoot(tls, config)
  9296. if !(url != 0) || !(*(*TFcChar8)(unsafe.Pointer(url)) != 0) {
  9297. url = libc.Xgetenv(tls, __ccgo_ts+1637)
  9298. if !(url != 0) {
  9299. url = __ccgo_ts + 1653
  9300. }
  9301. }
  9302. file = uintptr(0)
  9303. if XFcStrIsAbsoluteFilename(tls, url) != 0 {
  9304. if sysroot != 0 {
  9305. len1 = libc.Xstrlen(tls, sysroot)
  9306. /* Workaround to avoid adding sysroot repeatedly */
  9307. if libc.Xstrncmp(tls, url, sysroot, len1) == 0 {
  9308. sysroot = libc.UintptrFromInt32(0)
  9309. }
  9310. }
  9311. file = _FcConfigFileExists(tls, sysroot, url)
  9312. goto bail
  9313. }
  9314. if int32(*(*TFcChar8)(unsafe.Pointer(url))) == int32('~') {
  9315. dir = XFcConfigHome(tls)
  9316. if dir != 0 {
  9317. if sysroot != 0 {
  9318. s = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  9319. } else {
  9320. s = dir
  9321. }
  9322. file = _FcConfigFileExists(tls, s, url+uintptr(1))
  9323. if sysroot != 0 {
  9324. XFcStrFree(tls, s)
  9325. }
  9326. } else {
  9327. file = uintptr(0)
  9328. }
  9329. } else {
  9330. path = _FcConfigGetPath(tls)
  9331. if !(path != 0) {
  9332. file = libc.UintptrFromInt32(0)
  9333. goto bail
  9334. }
  9335. p = path
  9336. for {
  9337. if !(*(*uintptr)(unsafe.Pointer(p)) != 0) {
  9338. break
  9339. }
  9340. if sysroot != 0 {
  9341. s1 = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(p)), libc.UintptrFromInt32(0)))
  9342. } else {
  9343. s1 = *(*uintptr)(unsafe.Pointer(p))
  9344. }
  9345. file = _FcConfigFileExists(tls, s1, url)
  9346. if sysroot != 0 {
  9347. XFcStrFree(tls, s1)
  9348. }
  9349. if file != 0 {
  9350. break
  9351. }
  9352. goto _1
  9353. _1:
  9354. ;
  9355. p += 8
  9356. }
  9357. _FcConfigFreePath(tls, path)
  9358. }
  9359. goto bail
  9360. bail:
  9361. ;
  9362. XFcConfigDestroy(tls, config)
  9363. return file
  9364. }
  9365. func XFcConfigFilename(tls *libc.TLS, url uintptr) (r uintptr) {
  9366. return XFcConfigGetFilename(tls, libc.UintptrFromInt32(0), url)
  9367. }
  9368. func XFcConfigRealFilename(tls *libc.TLS, config uintptr, url uintptr) (r uintptr) {
  9369. bp := tls.Alloc(304)
  9370. defer tls.Free(304)
  9371. var dirname, n, path uintptr
  9372. var len1, v1 Tssize_t
  9373. var _ /* buf at bp+0 */ [128]TFcChar8
  9374. var _ /* sb at bp+128 */ Tstat
  9375. _, _, _, _, _ = dirname, len1, n, path, v1
  9376. n = XFcConfigGetFilename(tls, config, url)
  9377. if n != 0 {
  9378. v1 = XFcReadLink(tls, n, bp, libc.Uint64FromInt64(128)-libc.Uint64FromInt32(1))
  9379. len1 = v1
  9380. if v1 != int64(-int32(1)) {
  9381. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  9382. /* We try to pick up a config from FONTCONFIG_FILE
  9383. * when url is null. don't try to address the real filename
  9384. * if it is a named pipe.
  9385. */
  9386. if !(url != 0) && XFcStat(tls, n, bp+128) == 0 && int32((*(*Tstat)(unsafe.Pointer(bp + 128))).Fst_mode)&int32(m_S_IFMT1) == int32(m_S_IFIFO1) {
  9387. return n
  9388. } else {
  9389. if !(XFcStrIsAbsoluteFilename(tls, bp) != 0) {
  9390. dirname = XFcStrDirname(tls, n)
  9391. XFcStrFree(tls, n)
  9392. if !(dirname != 0) {
  9393. return libc.UintptrFromInt32(0)
  9394. }
  9395. path = XFcStrBuildFilename(tls, dirname, libc.VaList(bp+280, bp, libc.UintptrFromInt32(0)))
  9396. XFcStrFree(tls, dirname)
  9397. if !(path != 0) {
  9398. return libc.UintptrFromInt32(0)
  9399. }
  9400. n = XFcStrCanonFilename(tls, path)
  9401. XFcStrFree(tls, path)
  9402. } else {
  9403. XFcStrFree(tls, n)
  9404. n = libc.Xstrdup(tls, bp)
  9405. }
  9406. }
  9407. }
  9408. }
  9409. return n
  9410. }
  9411. /*
  9412. * Manage the application-specific fonts
  9413. */
  9414. func XFcConfigAppFontAddFile(tls *libc.TLS, config uintptr, file uintptr) (r TFcBool) {
  9415. var ret TFcBool
  9416. var set, subdir, subdirs, sublist, v1, v2 uintptr
  9417. _, _, _, _, _, _, _ = ret, set, subdir, subdirs, sublist, v1, v2
  9418. ret = int32(m_FcTrue)
  9419. config = XFcConfigReference(tls, config)
  9420. if !(config != 0) {
  9421. return m_FcFalse
  9422. }
  9423. subdirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9424. if !(subdirs != 0) {
  9425. ret = m_FcFalse
  9426. goto bail
  9427. }
  9428. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9429. if !(set != 0) {
  9430. set = XFcFontSetCreate(tls)
  9431. if !(set != 0) {
  9432. XFcStrSetDestroy(tls, subdirs)
  9433. ret = m_FcFalse
  9434. goto bail
  9435. }
  9436. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9437. }
  9438. if !(XFcFileScanConfig(tls, set, subdirs, file, config) != 0) {
  9439. XFcStrSetDestroy(tls, subdirs)
  9440. ret = m_FcFalse
  9441. goto bail
  9442. }
  9443. v1 = XFcStrListCreate(tls, subdirs)
  9444. sublist = v1
  9445. if v1 != 0 {
  9446. for {
  9447. v2 = XFcStrListNext(tls, sublist)
  9448. subdir = v2
  9449. if !(v2 != 0) {
  9450. break
  9451. }
  9452. XFcConfigAppFontAddDir(tls, config, subdir)
  9453. }
  9454. XFcStrListDone(tls, sublist)
  9455. }
  9456. XFcStrSetDestroy(tls, subdirs)
  9457. goto bail
  9458. bail:
  9459. ;
  9460. XFcConfigDestroy(tls, config)
  9461. return ret
  9462. }
  9463. func XFcConfigAppFontAddDir(tls *libc.TLS, config uintptr, dir uintptr) (r TFcBool) {
  9464. var dirs, set uintptr
  9465. var ret TFcBool
  9466. _, _, _ = dirs, ret, set
  9467. ret = int32(m_FcTrue)
  9468. config = XFcConfigReference(tls, config)
  9469. if !(config != 0) {
  9470. return m_FcFalse
  9471. }
  9472. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  9473. if !(dirs != 0) {
  9474. ret = m_FcFalse
  9475. goto bail
  9476. }
  9477. set = XFcConfigGetFonts(tls, config, int32(_FcSetApplication))
  9478. if !(set != 0) {
  9479. set = XFcFontSetCreate(tls)
  9480. if !(set != 0) {
  9481. XFcStrSetDestroy(tls, dirs)
  9482. ret = m_FcFalse
  9483. goto bail
  9484. }
  9485. XFcConfigSetFonts(tls, config, set, int32(_FcSetApplication))
  9486. }
  9487. XFcStrSetAddFilename(tls, dirs, dir)
  9488. if !(_FcConfigAddDirList(tls, config, int32(_FcSetApplication), dirs) != 0) {
  9489. XFcStrSetDestroy(tls, dirs)
  9490. ret = m_FcFalse
  9491. goto bail
  9492. }
  9493. XFcStrSetDestroy(tls, dirs)
  9494. goto bail
  9495. bail:
  9496. ;
  9497. XFcConfigDestroy(tls, config)
  9498. return ret
  9499. }
  9500. func XFcConfigAppFontClear(tls *libc.TLS, config uintptr) {
  9501. config = XFcConfigReference(tls, config)
  9502. if !(config != 0) {
  9503. return
  9504. }
  9505. XFcConfigSetFonts(tls, config, uintptr(0), int32(_FcSetApplication))
  9506. XFcConfigDestroy(tls, config)
  9507. }
  9508. /*
  9509. * Manage filename-based font source selectors
  9510. */
  9511. func XFcConfigGlobAdd(tls *libc.TLS, config uintptr, glob uintptr, accept TFcBool) (r TFcBool) {
  9512. var set, v1 uintptr
  9513. _, _ = set, v1
  9514. if accept != 0 {
  9515. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs
  9516. } else {
  9517. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs
  9518. }
  9519. set = v1
  9520. return XFcStrSetAdd(tls, set, glob)
  9521. }
  9522. func _FcConfigGlobsMatch(tls *libc.TLS, globs uintptr, string1 uintptr) (r TFcBool) {
  9523. var i int32
  9524. _ = i
  9525. i = 0
  9526. for {
  9527. if !(i < (*TFcStrSet)(unsafe.Pointer(globs)).Fnum) {
  9528. break
  9529. }
  9530. if XFcStrGlobMatch(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(globs)).Fstrs + uintptr(i)*8)), string1) != 0 {
  9531. return int32(m_FcTrue)
  9532. }
  9533. goto _1
  9534. _1:
  9535. ;
  9536. i++
  9537. }
  9538. return m_FcFalse
  9539. }
  9540. func XFcConfigAcceptFilename(tls *libc.TLS, config uintptr, filename uintptr) (r TFcBool) {
  9541. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptGlobs, filename) != 0 {
  9542. return int32(m_FcTrue)
  9543. }
  9544. if _FcConfigGlobsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectGlobs, filename) != 0 {
  9545. return m_FcFalse
  9546. }
  9547. return int32(m_FcTrue)
  9548. }
  9549. /*
  9550. * Manage font-pattern based font source selectors
  9551. */
  9552. func XFcConfigPatternsAdd(tls *libc.TLS, config uintptr, pattern uintptr, accept TFcBool) (r TFcBool) {
  9553. var set, v1 uintptr
  9554. _, _ = set, v1
  9555. if accept != 0 {
  9556. v1 = (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns
  9557. } else {
  9558. v1 = (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns
  9559. }
  9560. set = v1
  9561. return XFcFontSetAdd(tls, set, pattern)
  9562. }
  9563. func _FcConfigPatternsMatch(tls *libc.TLS, patterns uintptr, font uintptr) (r TFcBool) {
  9564. var i int32
  9565. _ = i
  9566. i = 0
  9567. for {
  9568. if !(i < (*TFcFontSet)(unsafe.Pointer(patterns)).Fnfont) {
  9569. break
  9570. }
  9571. if XFcListPatternMatchAny(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(patterns)).Ffonts + uintptr(i)*8)), font) != 0 {
  9572. return int32(m_FcTrue)
  9573. }
  9574. goto _1
  9575. _1:
  9576. ;
  9577. i++
  9578. }
  9579. return m_FcFalse
  9580. }
  9581. func XFcConfigAcceptFont(tls *libc.TLS, config uintptr, font uintptr) (r TFcBool) {
  9582. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FacceptPatterns, font) != 0 {
  9583. return int32(m_FcTrue)
  9584. }
  9585. if _FcConfigPatternsMatch(tls, (*TFcConfig)(unsafe.Pointer(config)).FrejectPatterns, font) != 0 {
  9586. return m_FcFalse
  9587. }
  9588. return int32(m_FcTrue)
  9589. }
  9590. func XFcConfigGetSysRoot(tls *libc.TLS, config uintptr) (r uintptr) {
  9591. if !(config != 0) {
  9592. config = XFcConfigGetCurrent(tls)
  9593. if !(config != 0) {
  9594. return libc.UintptrFromInt32(0)
  9595. }
  9596. }
  9597. return (*TFcConfig)(unsafe.Pointer(config)).FsysRoot
  9598. }
  9599. func XFcConfigSetSysRoot(tls *libc.TLS, config uintptr, sysroot uintptr) {
  9600. var init1 TFcBool
  9601. var nretry, v1 int32
  9602. var s uintptr
  9603. _, _, _, _ = init1, nretry, s, v1
  9604. s = libc.UintptrFromInt32(0)
  9605. init1 = m_FcFalse
  9606. nretry = int32(3)
  9607. goto retry
  9608. retry:
  9609. ;
  9610. if !(config != 0) {
  9611. /* We can't use FcConfigGetCurrent() here to ensure
  9612. * the sysroot is set prior to initialize FcConfig,
  9613. * to avoid loading caches from non-sysroot dirs.
  9614. * So postpone the initialization later.
  9615. */
  9616. config = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&__fcConfig))))
  9617. if !(config != 0) {
  9618. config = XFcConfigCreate(tls)
  9619. if !(config != 0) {
  9620. return
  9621. }
  9622. init1 = int32(m_FcTrue)
  9623. }
  9624. }
  9625. if sysroot != 0 {
  9626. s = XFcStrRealPath(tls, sysroot)
  9627. if !(s != 0) {
  9628. return
  9629. }
  9630. }
  9631. if (*TFcConfig)(unsafe.Pointer(config)).FsysRoot != 0 {
  9632. XFcStrFree(tls, (*TFcConfig)(unsafe.Pointer(config)).FsysRoot)
  9633. }
  9634. (*TFcConfig)(unsafe.Pointer(config)).FsysRoot = s
  9635. if init1 != 0 {
  9636. config = XFcInitLoadOwnConfigAndFonts(tls, config)
  9637. if !(config != 0) {
  9638. /* Something failed. this is usually unlikely. so retrying */
  9639. init1 = m_FcFalse
  9640. nretry--
  9641. v1 = nretry
  9642. if v1 == 0 {
  9643. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1664, 0)
  9644. return
  9645. }
  9646. goto retry
  9647. }
  9648. XFcConfigSetCurrent(tls, config)
  9649. /* FcConfigSetCurrent() increases the refcount.
  9650. * decrease it here to avoid the memory leak.
  9651. */
  9652. XFcConfigDestroy(tls, config)
  9653. }
  9654. }
  9655. func XFcRuleSetCreate(tls *libc.TLS, name uintptr) (r uintptr) {
  9656. var k TFcMatchKind
  9657. var p, ret uintptr
  9658. _, _, _ = k, p, ret
  9659. ret = libc.Xmalloc(tls, uint64(64))
  9660. if !(name != 0) {
  9661. p = __ccgo_ts + 110
  9662. } else {
  9663. p = name
  9664. }
  9665. if ret != 0 {
  9666. (*TFcRuleSet)(unsafe.Pointer(ret)).Fname = libc.Xstrdup(tls, p)
  9667. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdescription = libc.UintptrFromInt32(0)
  9668. (*TFcRuleSet)(unsafe.Pointer(ret)).Fdomain = libc.UintptrFromInt32(0)
  9669. k = int32(_FcMatchKindBegin)
  9670. for {
  9671. if !(k < int32(_FcMatchKindEnd)) {
  9672. break
  9673. }
  9674. *(*uintptr)(unsafe.Pointer(ret + 40 + uintptr(k)*8)) = XFcPtrListCreate(tls, __ccgo_fp(_FcDestroyAsRule))
  9675. goto _1
  9676. _1:
  9677. ;
  9678. k++
  9679. }
  9680. (*TFcRef)(unsafe.Pointer(ret)).Fcount = int32(1)
  9681. }
  9682. return ret
  9683. }
  9684. func XFcRuleSetDestroy(tls *libc.TLS, rs uintptr) {
  9685. var k TFcMatchKind
  9686. var v1 int32
  9687. var p3 uintptr
  9688. _, _, _ = k, v1, p3
  9689. if !(rs != 0) {
  9690. return
  9691. }
  9692. p3 = rs
  9693. *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) += -int32(1)
  9694. v1 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p3)) - -int32(1)
  9695. goto _2
  9696. _2:
  9697. if v1 != int32(1) {
  9698. return
  9699. }
  9700. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fname != 0 {
  9701. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname)
  9702. }
  9703. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9704. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9705. }
  9706. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9707. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9708. }
  9709. k = int32(_FcMatchKindBegin)
  9710. for {
  9711. if !(k < int32(_FcMatchKindEnd)) {
  9712. break
  9713. }
  9714. XFcPtrListDestroy(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(k)*8)))
  9715. goto _4
  9716. _4:
  9717. ;
  9718. k++
  9719. }
  9720. libc.Xfree(tls, rs)
  9721. }
  9722. func XFcRuleSetReference(tls *libc.TLS, rs uintptr) {
  9723. var v1 TFcBool
  9724. var p4 uintptr
  9725. _, _ = v1, p4
  9726. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(rs)).Fcount == -libc.Int32FromInt32(1))
  9727. goto _2
  9728. _2:
  9729. if !(v1 != 0) {
  9730. p4 = rs
  9731. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  9732. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  9733. goto _3
  9734. _3:
  9735. }
  9736. }
  9737. func XFcRuleSetEnable(tls *libc.TLS, rs uintptr, flag TFcBool) {
  9738. if rs != 0 {
  9739. (*TFcRuleSet)(unsafe.Pointer(rs)).Fenabled = flag
  9740. /* XXX: we may want to provide a feature
  9741. * to enable/disable rulesets through API
  9742. * in the future?
  9743. */
  9744. }
  9745. }
  9746. func XFcRuleSetAddDescription(tls *libc.TLS, rs uintptr, domain uintptr, description uintptr) {
  9747. var v1, v2 uintptr
  9748. _, _ = v1, v2
  9749. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain != 0 {
  9750. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain)
  9751. }
  9752. if (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription != 0 {
  9753. XFcStrFree(tls, (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription)
  9754. }
  9755. if domain != 0 {
  9756. v1 = libc.Xstrdup(tls, domain)
  9757. } else {
  9758. v1 = libc.UintptrFromInt32(0)
  9759. }
  9760. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdomain = v1
  9761. if description != 0 {
  9762. v2 = libc.Xstrdup(tls, description)
  9763. } else {
  9764. v2 = libc.UintptrFromInt32(0)
  9765. }
  9766. (*TFcRuleSet)(unsafe.Pointer(rs)).Fdescription = v2
  9767. }
  9768. func XFcRuleSetAdd(tls *libc.TLS, rs uintptr, rule uintptr, kind TFcMatchKind) (r1 int32) {
  9769. bp := tls.Alloc(48)
  9770. defer tls.Free(48)
  9771. var n, ret, v2 int32
  9772. var r uintptr
  9773. var _ /* iter at bp+0 */ TFcPtrListIter
  9774. _, _, _, _ = n, r, ret, v2
  9775. n = 0
  9776. if !(rs != 0) || kind < int32(_FcMatchKindBegin) || kind >= int32(_FcMatchKindEnd) {
  9777. return -int32(1)
  9778. }
  9779. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp)
  9780. if !(XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer(rs + 40 + uintptr(kind)*8)), bp, rule) != 0) {
  9781. return -int32(1)
  9782. }
  9783. r = rule
  9784. for {
  9785. if !(r != 0) {
  9786. break
  9787. }
  9788. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  9789. case int32(_FcRuleTest):
  9790. if *(*uintptr)(unsafe.Pointer(r + 16)) != 0 {
  9791. if (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind == -libc.Int32FromInt32(1) {
  9792. (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fkind = kind
  9793. }
  9794. if n < (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9795. n = (*TFcTest)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9796. }
  9797. }
  9798. case int32(_FcRuleEdit):
  9799. if n < (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject {
  9800. n = (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(r + 16)))).Fobject
  9801. }
  9802. default:
  9803. break
  9804. }
  9805. goto _1
  9806. _1:
  9807. ;
  9808. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  9809. }
  9810. if XFcDebugVal&int32(m_FC_DBG_EDIT) != 0 {
  9811. libc.Xprintf(tls, __ccgo_ts+1787, libc.VaList(bp+32, kind, (*TFcRuleSet)(unsafe.Pointer(rs)).Fname))
  9812. XFcRulePrint(tls, rule)
  9813. }
  9814. ret = n & ^libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) - (int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1))
  9815. if ret < 0 {
  9816. v2 = 0
  9817. } else {
  9818. v2 = ret
  9819. }
  9820. return v2
  9821. }
  9822. func XFcConfigFileInfoIterInit(tls *libc.TLS, config uintptr, iter uintptr) {
  9823. var c, i uintptr
  9824. _, _ = c, i
  9825. i = iter
  9826. if !(config != 0) {
  9827. c = XFcConfigGetCurrent(tls)
  9828. } else {
  9829. c = config
  9830. }
  9831. XFcPtrListIterInit(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9832. }
  9833. func XFcConfigFileInfoIterNext(tls *libc.TLS, config uintptr, iter uintptr) (r TFcBool) {
  9834. var c, i uintptr
  9835. _, _ = c, i
  9836. i = iter
  9837. if !(config != 0) {
  9838. c = XFcConfigGetCurrent(tls)
  9839. } else {
  9840. c = config
  9841. }
  9842. if XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0 {
  9843. XFcPtrListIterNext(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9844. } else {
  9845. return m_FcFalse
  9846. }
  9847. return int32(m_FcTrue)
  9848. }
  9849. func XFcConfigFileInfoIterGet(tls *libc.TLS, config uintptr, iter uintptr, name uintptr, description uintptr, enabled uintptr) (r1 TFcBool) {
  9850. var c, i, r, v1, v2 uintptr
  9851. _, _, _, _, _ = c, i, r, v1, v2
  9852. i = iter
  9853. if !(config != 0) {
  9854. c = XFcConfigGetCurrent(tls)
  9855. } else {
  9856. c = config
  9857. }
  9858. if !(XFcPtrListIterIsValid(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i) != 0) {
  9859. return m_FcFalse
  9860. }
  9861. r = XFcPtrListIterGetValue(tls, (*TFcConfig)(unsafe.Pointer(c)).FrulesetList, i)
  9862. if name != 0 {
  9863. if (*TFcRuleSet)(unsafe.Pointer(r)).Fname != 0 && *(*TFcChar8)(unsafe.Pointer((*TFcRuleSet)(unsafe.Pointer(r)).Fname)) != 0 {
  9864. v1 = (*TFcRuleSet)(unsafe.Pointer(r)).Fname
  9865. } else {
  9866. v1 = __ccgo_ts + 1653
  9867. }
  9868. *(*uintptr)(unsafe.Pointer(name)) = libc.Xstrdup(tls, v1)
  9869. }
  9870. if description != 0 {
  9871. if !((*TFcRuleSet)(unsafe.Pointer(r)).Fdescription != 0) {
  9872. v2 = __ccgo_ts + 1816
  9873. } else {
  9874. v2 = (*TFcRuleSet)(unsafe.Pointer(r)).Fdescription
  9875. }
  9876. *(*uintptr)(unsafe.Pointer(description)) = libc.Xstrdup(tls, v2)
  9877. }
  9878. if enabled != 0 {
  9879. *(*TFcBool)(unsafe.Pointer(enabled)) = (*TFcRuleSet)(unsafe.Pointer(r)).Fenabled
  9880. }
  9881. return int32(m_FcTrue)
  9882. }
  9883. const m_FC_CHAR_LEAF_HASH_SIZE = 257
  9884. const m_FC_CHAR_SET_HASH_SIZE = 67
  9885. const m_FC_DIR_SEPARATOR2 = '/'
  9886. const m_FC_DIR_SEPARATOR_S2 = "/"
  9887. const m_FC_SEARCH_PATH_SEPARATOR2 = ':'
  9888. const m_S_IFIFO2 = 0010000
  9889. const m_S_IFMT2 = 0170000
  9890. type TFcCharSetFreezer = struct {
  9891. Fleaf_hash_table [257]uintptr
  9892. Fleaf_blocks uintptr
  9893. Fleaf_block_count int32
  9894. Fset_hash_table [67]uintptr
  9895. Forig_hash_table [67]uintptr
  9896. Fcurrent_block uintptr
  9897. Fleaf_remain int32
  9898. Fleaves_seen int32
  9899. Fcharsets_seen int32
  9900. Fleaves_allocated int32
  9901. Fcharsets_allocated int32
  9902. }
  9903. type T_FcCharSetFreezer = TFcCharSetFreezer
  9904. /*
  9905. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  9906. *
  9907. * @APPLE_LICENSE_HEADER_START@
  9908. *
  9909. * This file contains Original Code and/or Modifications of Original Code
  9910. * as defined in and that are subject to the Apple Public Source License
  9911. * Version 2.0 (the 'License'). You may not use this file except in
  9912. * compliance with the License. Please obtain a copy of the License at
  9913. * http://www.opensource.apple.com/apsl/ and read it before using this
  9914. * file.
  9915. *
  9916. * The Original Code and all software distributed under the License are
  9917. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  9918. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  9919. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  9920. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  9921. * Please see the License for the specific language governing rights and
  9922. * limitations under the License.
  9923. *
  9924. * @APPLE_LICENSE_HEADER_END@
  9925. */
  9926. /*-
  9927. * Copyright (c) 1990, 1993
  9928. * The Regents of the University of California. All rights reserved.
  9929. *
  9930. * Redistribution and use in source and binary forms, with or without
  9931. * modification, are permitted provided that the following conditions
  9932. * are met:
  9933. * 1. Redistributions of source code must retain the above copyright
  9934. * notice, this list of conditions and the following disclaimer.
  9935. * 2. Redistributions in binary form must reproduce the above copyright
  9936. * notice, this list of conditions and the following disclaimer in the
  9937. * documentation and/or other materials provided with the distribution.
  9938. * 3. All advertising materials mentioning features or use of this software
  9939. * must display the following acknowledgement:
  9940. * This product includes software developed by the University of
  9941. * California, Berkeley and its contributors.
  9942. * 4. Neither the name of the University nor the names of its contributors
  9943. * may be used to endorse or promote products derived from this software
  9944. * without specific prior written permission.
  9945. *
  9946. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  9947. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  9948. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  9949. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  9950. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  9951. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  9952. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  9953. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  9954. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  9955. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  9956. * SUCH DAMAGE.
  9957. *
  9958. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  9959. */
  9960. /* #define CHECK */
  9961. func XFcCharSetCreate(tls *libc.TLS) (r uintptr) {
  9962. var fcs uintptr
  9963. _ = fcs
  9964. fcs = libc.Xmalloc(tls, uint64(24))
  9965. if !(fcs != 0) {
  9966. return uintptr(0)
  9967. }
  9968. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = int32(1)
  9969. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  9970. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  9971. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  9972. return fcs
  9973. }
  9974. func XFcCharSetPromote(tls *libc.TLS, vbuf uintptr) (r uintptr) {
  9975. var fcs uintptr
  9976. _ = fcs
  9977. fcs = vbuf
  9978. (*TFcRef)(unsafe.Pointer(fcs)).Fcount = -libc.Int32FromInt32(1)
  9979. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum = 0
  9980. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = 0
  9981. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = 0
  9982. return fcs
  9983. }
  9984. func XFcCharSetNew(tls *libc.TLS) (r uintptr) {
  9985. return XFcCharSetCreate(tls)
  9986. }
  9987. func XFcCharSetDestroy(tls *libc.TLS, fcs uintptr) {
  9988. var i, v3 int32
  9989. var v1 TFcBool
  9990. var p5 uintptr
  9991. _, _, _, _ = i, v1, v3, p5
  9992. if fcs != 0 {
  9993. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  9994. goto _2
  9995. _2:
  9996. if v1 != 0 {
  9997. XFcCacheObjectDereference(tls, fcs)
  9998. return
  9999. }
  10000. p5 = fcs
  10001. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  10002. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  10003. goto _4
  10004. _4:
  10005. if v3 != int32(1) {
  10006. return
  10007. }
  10008. i = 0
  10009. for {
  10010. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10011. break
  10012. }
  10013. 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))))
  10014. goto _6
  10015. _6:
  10016. ;
  10017. i++
  10018. }
  10019. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  10020. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset))
  10021. libc.Xfree(tls, uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset))
  10022. }
  10023. libc.Xfree(tls, fcs)
  10024. }
  10025. }
  10026. /*
  10027. * Search for the leaf containing with the specified num.
  10028. * Return its index if it exists, otherwise return negative of
  10029. * the (position + 1) where it should be inserted
  10030. */
  10031. func _FcCharSetFindLeafForward(tls *libc.TLS, fcs uintptr, start int32, num TFcChar16) (r int32) {
  10032. var high, low, mid int32
  10033. var numbers uintptr
  10034. var page TFcChar16
  10035. _, _, _, _, _ = high, low, mid, numbers, page
  10036. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  10037. low = start
  10038. high = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum - int32(1)
  10039. if !(numbers != 0) {
  10040. return -int32(1)
  10041. }
  10042. for low <= high {
  10043. mid = (low + high) >> int32(1)
  10044. page = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(mid)*2))
  10045. if int32(page) == int32(num) {
  10046. return mid
  10047. }
  10048. if int32(page) < int32(num) {
  10049. low = mid + int32(1)
  10050. } else {
  10051. high = mid - int32(1)
  10052. }
  10053. }
  10054. if high < 0 || high < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum && int32(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(high)*2))) < int32(num) {
  10055. high++
  10056. }
  10057. return -(high + int32(1))
  10058. }
  10059. /*
  10060. * Locate the leaf containing the specified char, return
  10061. * its index if it exists, otherwise return negative of
  10062. * the (position + 1) where it should be inserted
  10063. */
  10064. func _FcCharSetFindLeafPos(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r int32) {
  10065. return _FcCharSetFindLeafForward(tls, fcs, 0, uint16(ucs4>>int32(8)))
  10066. }
  10067. func _FcCharSetFindLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  10068. var pos int32
  10069. _ = pos
  10070. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10071. if pos >= 0 {
  10072. 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)))
  10073. }
  10074. return uintptr(0)
  10075. }
  10076. func _FcCharSetPutLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr, pos int32) (r TFcBool) {
  10077. var alloced, alloced1 uint32
  10078. var distance Tptrdiff_t
  10079. var i int32
  10080. var leaves, new_leaves, numbers uintptr
  10081. _, _, _, _, _, _, _ = alloced, alloced1, distance, i, leaves, new_leaves, numbers
  10082. leaves = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset)
  10083. numbers = uintptr(int64(fcs) + (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset)
  10084. ucs4 >>= uint32(8)
  10085. if ucs4 >= uint32(0x10000) {
  10086. return m_FcFalse
  10087. }
  10088. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum&((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-libc.Int32FromInt32(1)) != 0) {
  10089. if !((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0) {
  10090. alloced = uint32(8)
  10091. leaves = libc.Xmalloc(tls, uint64(alloced)*uint64(8))
  10092. numbers = libc.Xmalloc(tls, uint64(alloced)*uint64(2))
  10093. if !(leaves != 0) || !(numbers != 0) {
  10094. if leaves != 0 {
  10095. libc.Xfree(tls, leaves)
  10096. }
  10097. if numbers != 0 {
  10098. libc.Xfree(tls, numbers)
  10099. }
  10100. return m_FcFalse
  10101. }
  10102. } else {
  10103. alloced1 = uint32((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)
  10104. alloced1 *= uint32(2)
  10105. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1)*uint64(2))
  10106. if !(numbers != 0) {
  10107. return m_FcFalse
  10108. }
  10109. new_leaves = libc.Xrealloc(tls, leaves, uint64(alloced1)*uint64(8))
  10110. if !(new_leaves != 0) {
  10111. /*
  10112. * Revert the reallocation of numbers. We update numbers_offset
  10113. * first in case realloc() fails.
  10114. */
  10115. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10116. numbers = libc.Xrealloc(tls, numbers, uint64(alloced1/libc.Uint32FromInt32(2))*uint64(2))
  10117. /* unlikely to fail though */
  10118. if !(numbers != 0) {
  10119. return m_FcFalse
  10120. }
  10121. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10122. return m_FcFalse
  10123. }
  10124. distance = int64(new_leaves) - int64(leaves)
  10125. i = 0
  10126. for {
  10127. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  10128. break
  10129. }
  10130. *(*Tintptr_t)(unsafe.Pointer(new_leaves + uintptr(i)*8)) -= distance
  10131. goto _1
  10132. _1:
  10133. ;
  10134. i++
  10135. }
  10136. leaves = new_leaves
  10137. }
  10138. (*TFcCharSet)(unsafe.Pointer(fcs)).Fleaves_offset = int64(leaves) - int64(fcs)
  10139. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset = int64(numbers) - int64(fcs)
  10140. }
  10141. libc.X__builtin___memmove_chk(tls, leaves+uintptr(pos)*8+uintptr(1)*8, leaves+uintptr(pos)*8, uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(8), uint64(libc.X__builtin_object_size(tls, leaves+uintptr(pos)*8+uintptr(1)*8, 0)))
  10142. libc.X__builtin___memmove_chk(tls, numbers+uintptr(pos)*2+uintptr(1)*2, numbers+uintptr(pos)*2, uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum-pos)*uint64(2), uint64(libc.X__builtin_object_size(tls, numbers+uintptr(pos)*2+uintptr(1)*2, 0)))
  10143. *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(pos)*2)) = uint16(ucs4)
  10144. *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(pos)*8)) = int64(leaf) - int64(leaves)
  10145. (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum++
  10146. return int32(m_FcTrue)
  10147. }
  10148. /*
  10149. * Locate the leaf containing the specified char, creating it
  10150. * if desired
  10151. */
  10152. func XFcCharSetFindLeafCreate(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r uintptr) {
  10153. var leaf uintptr
  10154. var pos int32
  10155. _, _ = leaf, pos
  10156. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10157. if pos >= 0 {
  10158. 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)))
  10159. }
  10160. leaf = libc.Xcalloc(tls, uint64(1), uint64(32))
  10161. if !(leaf != 0) {
  10162. return uintptr(0)
  10163. }
  10164. pos = -pos - int32(1)
  10165. if !(_FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos) != 0) {
  10166. libc.Xfree(tls, leaf)
  10167. return uintptr(0)
  10168. }
  10169. return leaf
  10170. }
  10171. func _FcCharSetInsertLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  10172. var pos int32
  10173. _ = pos
  10174. pos = _FcCharSetFindLeafPos(tls, fcs, ucs4)
  10175. if pos >= 0 {
  10176. 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))))
  10177. *(*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))
  10178. return int32(m_FcTrue)
  10179. }
  10180. pos = -pos - int32(1)
  10181. return _FcCharSetPutLeaf(tls, fcs, ucs4, leaf, pos)
  10182. }
  10183. func XFcCharSetAddChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10184. var b, leaf uintptr
  10185. var v1 TFcBool
  10186. var v3 bool
  10187. _, _, _, _ = b, leaf, v1, v3
  10188. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  10189. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10190. goto _2
  10191. _2:
  10192. }
  10193. if v3 || v1 != 0 {
  10194. return m_FcFalse
  10195. }
  10196. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10197. if !(leaf != 0) {
  10198. return m_FcFalse
  10199. }
  10200. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10201. *(*TFcChar32)(unsafe.Pointer(b)) |= uint32(1) << (ucs4 & uint32(0x1f))
  10202. return int32(m_FcTrue)
  10203. }
  10204. func XFcCharSetDelChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10205. var b, leaf uintptr
  10206. var v1 TFcBool
  10207. var v3 bool
  10208. _, _, _, _ = b, leaf, v1, v3
  10209. if v3 = fcs == libc.UintptrFromInt32(0); !v3 {
  10210. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(fcs)).Fcount == -libc.Int32FromInt32(1))
  10211. goto _2
  10212. _2:
  10213. }
  10214. if v3 || v1 != 0 {
  10215. return m_FcFalse
  10216. }
  10217. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10218. if !(leaf != 0) {
  10219. return int32(m_FcTrue)
  10220. }
  10221. b = leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4
  10222. *(*TFcChar32)(unsafe.Pointer(b)) &= ^(libc.Uint32FromUint32(1) << (ucs4 & libc.Uint32FromInt32(0x1f)))
  10223. /* We don't bother removing the leaf if it's empty */
  10224. return int32(m_FcTrue)
  10225. }
  10226. /*
  10227. * An iterator for the leaves of a charset
  10228. */
  10229. type TFcCharSetIter = struct {
  10230. Fleaf uintptr
  10231. Fucs4 TFcChar32
  10232. Fpos int32
  10233. }
  10234. /*
  10235. * An iterator for the leaves of a charset
  10236. */
  10237. type T_fcCharSetIter = TFcCharSetIter
  10238. /*
  10239. * Set iter->leaf to the leaf containing iter->ucs4 or higher
  10240. */
  10241. func _FcCharSetIterSet(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10242. var pos int32
  10243. _ = pos
  10244. pos = _FcCharSetFindLeafPos(tls, fcs, (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4)
  10245. if pos < 0 {
  10246. pos = -pos - int32(1)
  10247. if pos == (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10248. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(^libc.Int32FromInt32(0))
  10249. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10250. return
  10251. }
  10252. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10253. }
  10254. (*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)))
  10255. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10256. }
  10257. func _FcCharSetIterNext(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10258. var pos int32
  10259. _ = pos
  10260. pos = (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos + int32(1)
  10261. if pos >= (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum {
  10262. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(^libc.Int32FromInt32(0))
  10263. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fleaf = uintptr(0)
  10264. } else {
  10265. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(pos)*2))) << int32(8)
  10266. (*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)))
  10267. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = pos
  10268. }
  10269. }
  10270. func _FcCharSetIterStart(tls *libc.TLS, fcs uintptr, iter uintptr) {
  10271. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fucs4 = uint32(0)
  10272. (*TFcCharSetIter)(unsafe.Pointer(iter)).Fpos = 0
  10273. _FcCharSetIterSet(tls, fcs, iter)
  10274. }
  10275. func XFcCharSetCopy(tls *libc.TLS, src uintptr) (r uintptr) {
  10276. var v1 TFcBool
  10277. var p4 uintptr
  10278. _, _ = v1, p4
  10279. if src != 0 {
  10280. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(src)).Fcount == -libc.Int32FromInt32(1))
  10281. goto _2
  10282. _2:
  10283. if !(v1 != 0) {
  10284. p4 = src
  10285. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  10286. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  10287. goto _3
  10288. _3:
  10289. } else {
  10290. XFcCacheObjectReference(tls, src)
  10291. }
  10292. }
  10293. return src
  10294. }
  10295. func XFcCharSetEqual(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10296. bp := tls.Alloc(32)
  10297. defer tls.Free(32)
  10298. var i int32
  10299. var _ /* ai at bp+0 */ TFcCharSetIter
  10300. var _ /* bi at bp+16 */ TFcCharSetIter
  10301. _ = i
  10302. if a == b {
  10303. return int32(m_FcTrue)
  10304. }
  10305. if !(a != 0) || !(b != 0) {
  10306. return m_FcFalse
  10307. }
  10308. _FcCharSetIterStart(tls, a, bp)
  10309. _FcCharSetIterStart(tls, b, bp+16)
  10310. for {
  10311. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0) {
  10312. break
  10313. }
  10314. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 != (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10315. return m_FcFalse
  10316. }
  10317. i = 0
  10318. for {
  10319. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10320. break
  10321. }
  10322. if *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf + uintptr(i)*4)) {
  10323. return m_FcFalse
  10324. }
  10325. goto _2
  10326. _2:
  10327. ;
  10328. i++
  10329. }
  10330. goto _1
  10331. _1:
  10332. ;
  10333. _FcCharSetIterNext(tls, a, bp)
  10334. _FcCharSetIterNext(tls, b, bp+16)
  10335. }
  10336. return libc.BoolInt32((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf)
  10337. }
  10338. func _FcCharSetAddLeaf(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32, leaf uintptr) (r TFcBool) {
  10339. var new1 uintptr
  10340. _ = new1
  10341. new1 = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  10342. if !(new1 != 0) {
  10343. return m_FcFalse
  10344. }
  10345. *(*TFcCharLeaf)(unsafe.Pointer(new1)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  10346. return int32(m_FcTrue)
  10347. }
  10348. func _FcCharSetOperate(tls *libc.TLS, a uintptr, b uintptr, overlap uintptr, aonly TFcBool, bonly TFcBool) (r uintptr) {
  10349. bp := tls.Alloc(64)
  10350. defer tls.Free(64)
  10351. var fcs uintptr
  10352. var _ /* ai at bp+0 */ TFcCharSetIter
  10353. var _ /* bi at bp+16 */ TFcCharSetIter
  10354. var _ /* leaf at bp+32 */ TFcCharLeaf
  10355. _ = fcs
  10356. if !(a != 0) || !(b != 0) {
  10357. goto bail0
  10358. }
  10359. fcs = XFcCharSetCreate(tls)
  10360. if !(fcs != 0) {
  10361. goto bail0
  10362. }
  10363. _FcCharSetIterStart(tls, a, bp)
  10364. _FcCharSetIterStart(tls, b, bp+16)
  10365. 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) {
  10366. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10367. if aonly != 0 {
  10368. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf) != 0) {
  10369. goto bail1
  10370. }
  10371. _FcCharSetIterNext(tls, a, bp)
  10372. } else {
  10373. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10374. _FcCharSetIterSet(tls, a, bp)
  10375. }
  10376. } else {
  10377. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10378. if bonly != 0 {
  10379. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4, (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf) != 0) {
  10380. goto bail1
  10381. }
  10382. _FcCharSetIterNext(tls, b, bp+16)
  10383. } else {
  10384. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10385. _FcCharSetIterSet(tls, b, bp+16)
  10386. }
  10387. } else {
  10388. 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 {
  10389. if !(_FcCharSetAddLeaf(tls, fcs, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4, bp+32) != 0) {
  10390. goto bail1
  10391. }
  10392. }
  10393. _FcCharSetIterNext(tls, a, bp)
  10394. _FcCharSetIterNext(tls, b, bp+16)
  10395. }
  10396. }
  10397. }
  10398. return fcs
  10399. goto bail1
  10400. bail1:
  10401. ;
  10402. XFcCharSetDestroy(tls, fcs)
  10403. goto bail0
  10404. bail0:
  10405. ;
  10406. return uintptr(0)
  10407. return r
  10408. }
  10409. func _FcCharSetIntersectLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10410. var i int32
  10411. var nonempty TFcBool
  10412. var v2 TFcChar32
  10413. _, _, _ = i, nonempty, v2
  10414. nonempty = m_FcFalse
  10415. i = 0
  10416. for {
  10417. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10418. break
  10419. }
  10420. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10421. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10422. if v2 != 0 {
  10423. nonempty = int32(m_FcTrue)
  10424. }
  10425. goto _1
  10426. _1:
  10427. ;
  10428. i++
  10429. }
  10430. return nonempty
  10431. }
  10432. func XFcCharSetIntersect(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10433. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetIntersectLeaf), m_FcFalse, m_FcFalse)
  10434. }
  10435. func _FcCharSetUnionLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10436. var i int32
  10437. _ = i
  10438. i = 0
  10439. for {
  10440. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10441. break
  10442. }
  10443. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) | *(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10444. goto _1
  10445. _1:
  10446. ;
  10447. i++
  10448. }
  10449. return int32(m_FcTrue)
  10450. }
  10451. func XFcCharSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10452. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetUnionLeaf), int32(m_FcTrue), int32(m_FcTrue))
  10453. }
  10454. func XFcCharSetMerge(tls *libc.TLS, a uintptr, b uintptr, changed uintptr) (r TFcBool) {
  10455. var ai, bi, v3 int32
  10456. var al, bl uintptr
  10457. var an, bn TFcChar16
  10458. var v1 TFcBool
  10459. _, _, _, _, _, _, _, _ = ai, al, an, bi, bl, bn, v1, v3
  10460. ai = 0
  10461. bi = 0
  10462. if !(a != 0) || !(b != 0) {
  10463. return m_FcFalse
  10464. }
  10465. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(a)).Fcount == -libc.Int32FromInt32(1))
  10466. goto _2
  10467. _2:
  10468. if v1 != 0 {
  10469. if changed != 0 {
  10470. *(*TFcBool)(unsafe.Pointer(changed)) = m_FcFalse
  10471. }
  10472. return m_FcFalse
  10473. }
  10474. if changed != 0 {
  10475. *(*TFcBool)(unsafe.Pointer(changed)) = libc.BoolInt32(!(XFcCharSetIsSubset(tls, b, a) != 0))
  10476. if !(*(*TFcBool)(unsafe.Pointer(changed)) != 0) {
  10477. return int32(m_FcTrue)
  10478. }
  10479. }
  10480. for bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10481. if ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum {
  10482. v3 = int32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2)))
  10483. } else {
  10484. v3 = ^libc.Int32FromInt32(0)
  10485. }
  10486. an = uint16(v3)
  10487. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10488. if int32(an) < int32(bn) {
  10489. ai = _FcCharSetFindLeafForward(tls, a, ai+int32(1), bn)
  10490. if ai < 0 {
  10491. ai = -ai - int32(1)
  10492. }
  10493. } else {
  10494. 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)))
  10495. if int32(bn) < int32(an) {
  10496. if !(_FcCharSetAddLeaf(tls, a, uint32(int32(bn)<<int32(8)), bl) != 0) {
  10497. return m_FcFalse
  10498. }
  10499. } else {
  10500. 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)))
  10501. _FcCharSetUnionLeaf(tls, al, al, bl)
  10502. }
  10503. ai++
  10504. bi++
  10505. }
  10506. }
  10507. return int32(m_FcTrue)
  10508. }
  10509. func _FcCharSetSubtractLeaf(tls *libc.TLS, result uintptr, al uintptr, bl uintptr) (r TFcBool) {
  10510. var i int32
  10511. var nonempty TFcBool
  10512. var v2 TFcChar32
  10513. _, _, _ = i, nonempty, v2
  10514. nonempty = m_FcFalse
  10515. i = 0
  10516. for {
  10517. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10518. break
  10519. }
  10520. v2 = *(*TFcChar32)(unsafe.Pointer(al + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(bl + uintptr(i)*4))
  10521. *(*TFcChar32)(unsafe.Pointer(result + uintptr(i)*4)) = v2
  10522. if v2 != 0 {
  10523. nonempty = int32(m_FcTrue)
  10524. }
  10525. goto _1
  10526. _1:
  10527. ;
  10528. i++
  10529. }
  10530. return nonempty
  10531. }
  10532. func XFcCharSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  10533. return _FcCharSetOperate(tls, a, b, __ccgo_fp(_FcCharSetSubtractLeaf), int32(m_FcTrue), m_FcFalse)
  10534. }
  10535. func XFcCharSetHasChar(tls *libc.TLS, fcs uintptr, ucs4 TFcChar32) (r TFcBool) {
  10536. var leaf uintptr
  10537. _ = leaf
  10538. if !(fcs != 0) {
  10539. return m_FcFalse
  10540. }
  10541. leaf = _FcCharSetFindLeaf(tls, fcs, ucs4)
  10542. if !(leaf != 0) {
  10543. return m_FcFalse
  10544. }
  10545. return libc.BoolInt32(*(*TFcChar32)(unsafe.Pointer(leaf + uintptr(ucs4&uint32(0xff)>>int32(5))*4))&(uint32(1)<<(ucs4&uint32(0x1f))) != uint32(0))
  10546. }
  10547. func _FcCharSetPopCount(tls *libc.TLS, c1 TFcChar32) (r TFcChar32) {
  10548. return uint32(libc.X__builtin_popcount(tls, c1))
  10549. }
  10550. func XFcCharSetIntersectCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10551. bp := tls.Alloc(32)
  10552. defer tls.Free(32)
  10553. var am, bm, v2, v3 uintptr
  10554. var count TFcChar32
  10555. var i, v1 int32
  10556. var _ /* ai at bp+0 */ TFcCharSetIter
  10557. var _ /* bi at bp+16 */ TFcCharSetIter
  10558. _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3
  10559. count = uint32(0)
  10560. if a != 0 && b != 0 {
  10561. _FcCharSetIterStart(tls, a, bp)
  10562. _FcCharSetIterStart(tls, b, bp+16)
  10563. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 && (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10564. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10565. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10566. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10567. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10568. for {
  10569. v1 = i
  10570. i--
  10571. if !(v1 != 0) {
  10572. break
  10573. }
  10574. v2 = am
  10575. am += 4
  10576. v3 = bm
  10577. bm += 4
  10578. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2))&*(*TFcChar32)(unsafe.Pointer(v3)))
  10579. }
  10580. _FcCharSetIterNext(tls, a, bp)
  10581. } else {
  10582. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10583. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4
  10584. _FcCharSetIterSet(tls, a, bp)
  10585. }
  10586. }
  10587. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 < (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 {
  10588. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10589. _FcCharSetIterSet(tls, b, bp+16)
  10590. }
  10591. }
  10592. }
  10593. return count
  10594. }
  10595. func XFcCharSetCount(tls *libc.TLS, a uintptr) (r TFcChar32) {
  10596. bp := tls.Alloc(16)
  10597. defer tls.Free(16)
  10598. var am, v3 uintptr
  10599. var count TFcChar32
  10600. var i, v2 int32
  10601. var _ /* ai at bp+0 */ TFcCharSetIter
  10602. _, _, _, _, _ = am, count, i, v2, v3
  10603. count = uint32(0)
  10604. if a != 0 {
  10605. _FcCharSetIterStart(tls, a, bp)
  10606. for {
  10607. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10608. break
  10609. }
  10610. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10611. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10612. for {
  10613. v2 = i
  10614. i--
  10615. if !(v2 != 0) {
  10616. break
  10617. }
  10618. v3 = am
  10619. am += 4
  10620. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v3)))
  10621. }
  10622. goto _1
  10623. _1:
  10624. ;
  10625. _FcCharSetIterNext(tls, a, bp)
  10626. }
  10627. }
  10628. return count
  10629. }
  10630. func XFcCharSetSubtractCount(tls *libc.TLS, a uintptr, b uintptr) (r TFcChar32) {
  10631. bp := tls.Alloc(32)
  10632. defer tls.Free(32)
  10633. var am, bm, v2, v3, v5 uintptr
  10634. var count TFcChar32
  10635. var i, v1, v4 int32
  10636. var _ /* ai at bp+0 */ TFcCharSetIter
  10637. var _ /* bi at bp+16 */ TFcCharSetIter
  10638. _, _, _, _, _, _, _, _, _ = am, bm, count, i, v1, v2, v3, v4, v5
  10639. count = uint32(0)
  10640. if a != 0 && b != 0 {
  10641. _FcCharSetIterStart(tls, a, bp)
  10642. _FcCharSetIterStart(tls, b, bp+16)
  10643. for (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0 {
  10644. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 <= (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10645. am = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf
  10646. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10647. if (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 == (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 {
  10648. bm = (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf
  10649. for {
  10650. v1 = i
  10651. i--
  10652. if !(v1 != 0) {
  10653. break
  10654. }
  10655. v2 = am
  10656. am += 4
  10657. v3 = bm
  10658. bm += 4
  10659. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)))
  10660. }
  10661. } else {
  10662. for {
  10663. v4 = i
  10664. i--
  10665. if !(v4 != 0) {
  10666. break
  10667. }
  10668. v5 = am
  10669. am += 4
  10670. count += _FcCharSetPopCount(tls, *(*TFcChar32)(unsafe.Pointer(v5)))
  10671. }
  10672. }
  10673. _FcCharSetIterNext(tls, a, bp)
  10674. } else {
  10675. if (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fleaf != 0 {
  10676. (*(*TFcCharSetIter)(unsafe.Pointer(bp + 16))).Fucs4 = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10677. _FcCharSetIterSet(tls, b, bp+16)
  10678. }
  10679. }
  10680. }
  10681. }
  10682. return count
  10683. }
  10684. // C documentation
  10685. //
  10686. // /*
  10687. // * return FcTrue iff a is a subset of b
  10688. // */
  10689. func XFcCharSetIsSubset(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  10690. var ai, bi, i, v1 int32
  10691. var am, bm, v2, v3 uintptr
  10692. var an, bn TFcChar16
  10693. _, _, _, _, _, _, _, _, _, _ = ai, am, an, bi, bm, bn, i, v1, v2, v3
  10694. if a == b {
  10695. return int32(m_FcTrue)
  10696. }
  10697. if !(a != 0) || !(b != 0) {
  10698. return m_FcFalse
  10699. }
  10700. bi = 0
  10701. ai = 0
  10702. for ai < (*TFcCharSet)(unsafe.Pointer(a)).Fnum && bi < (*TFcCharSet)(unsafe.Pointer(b)).Fnum {
  10703. an = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(a)+(*TFcCharSet)(unsafe.Pointer(a)).Fnumbers_offset) + uintptr(ai)*2))
  10704. bn = *(*TFcChar16)(unsafe.Pointer(uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset) + uintptr(bi)*2))
  10705. /*
  10706. * Check matching pages
  10707. */
  10708. if int32(an) == int32(bn) {
  10709. 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)))
  10710. 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)))
  10711. if am != bm {
  10712. i = libc.Int32FromInt32(256) / libc.Int32FromInt32(32)
  10713. /*
  10714. * Does am have any bits not in bm?
  10715. */
  10716. for {
  10717. v1 = i
  10718. i--
  10719. if !(v1 != 0) {
  10720. break
  10721. }
  10722. v2 = am
  10723. am += 4
  10724. v3 = bm
  10725. bm += 4
  10726. if *(*TFcChar32)(unsafe.Pointer(v2)) & ^*(*TFcChar32)(unsafe.Pointer(v3)) != 0 {
  10727. return m_FcFalse
  10728. }
  10729. }
  10730. }
  10731. ai++
  10732. bi++
  10733. } else {
  10734. if int32(an) < int32(bn) {
  10735. return m_FcFalse
  10736. } else {
  10737. bi = _FcCharSetFindLeafForward(tls, b, bi+int32(1), an)
  10738. if bi < 0 {
  10739. bi = -bi - int32(1)
  10740. }
  10741. }
  10742. }
  10743. }
  10744. /*
  10745. * did we look at every page?
  10746. */
  10747. return libc.BoolInt32(ai >= (*TFcCharSet)(unsafe.Pointer(a)).Fnum)
  10748. }
  10749. /*
  10750. * These two functions efficiently walk the entire charmap for
  10751. * other software (like pango) that want their own copy
  10752. */
  10753. func XFcCharSetNextPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10754. bp := tls.Alloc(16)
  10755. defer tls.Free(16)
  10756. var page TFcChar32
  10757. var _ /* ai at bp+0 */ TFcCharSetIter
  10758. _ = page
  10759. if !(a != 0) {
  10760. return uint32(-libc.Int32FromInt32(1))
  10761. }
  10762. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = *(*TFcChar32)(unsafe.Pointer(next))
  10763. _FcCharSetIterSet(tls, a, bp)
  10764. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10765. return uint32(-libc.Int32FromInt32(1))
  10766. }
  10767. /*
  10768. * Save current information
  10769. */
  10770. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10771. libc.X__builtin___memcpy_chk(tls, map1, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), uint64(libc.X__builtin_object_size(tls, map1, 0)))
  10772. /*
  10773. * Step to next page
  10774. */
  10775. _FcCharSetIterNext(tls, a, bp)
  10776. *(*TFcChar32)(unsafe.Pointer(next)) = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10777. return page
  10778. }
  10779. func XFcCharSetFirstPage(tls *libc.TLS, a uintptr, map1 uintptr, next uintptr) (r TFcChar32) {
  10780. *(*TFcChar32)(unsafe.Pointer(next)) = uint32(0)
  10781. return XFcCharSetNextPage(tls, a, map1, next)
  10782. }
  10783. /*
  10784. * old coverage API, rather hard to use correctly
  10785. */
  10786. func XFcCharSetCoverage(tls *libc.TLS, a uintptr, page TFcChar32, result uintptr) (r TFcChar32) {
  10787. bp := tls.Alloc(16)
  10788. defer tls.Free(16)
  10789. var _ /* ai at bp+0 */ TFcCharSetIter
  10790. (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 = page
  10791. _FcCharSetIterSet(tls, a, bp)
  10792. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10793. libc.X__builtin___memset_chk(tls, result, int32('\000'), uint64(libc.Int32FromInt32(256)/libc.Int32FromInt32(8)), uint64(libc.X__builtin_object_size(tls, result, 0)))
  10794. page = uint32(0)
  10795. } else {
  10796. libc.X__builtin___memcpy_chk(tls, result, (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf, uint64(32), uint64(libc.X__builtin_object_size(tls, result, 0)))
  10797. _FcCharSetIterNext(tls, a, bp)
  10798. page = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4
  10799. }
  10800. return page
  10801. }
  10802. func _FcNameParseRange(tls *libc.TLS, string1 uintptr, pfirst uintptr, plast uintptr) (r TFcBool) {
  10803. bp := tls.Alloc(16)
  10804. defer tls.Free(16)
  10805. var first, last, v10 int64
  10806. var t uintptr
  10807. var v1, v11, v15, v17, v18, v5, v7, v8 int32
  10808. var v13, v3 t__darwin_ct_rune_t
  10809. var v14, v4 uint64
  10810. var _ /* s at bp+0 */ uintptr
  10811. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = first, last, t, v1, v10, v11, v13, v14, v15, v17, v18, v3, v4, v5, v7, v8
  10812. *(*uintptr)(unsafe.Pointer(bp)) = *(*uintptr)(unsafe.Pointer(string1))
  10813. for {
  10814. v3 = int32(uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  10815. v4 = uint64(0x00004000)
  10816. v8 = libc.BoolInt32(v3 & ^libc.Int32FromInt32(0x7F) == 0)
  10817. goto _9
  10818. _9:
  10819. if v8 != 0 {
  10820. v7 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v3)*4)))&v4 != 0))
  10821. } else {
  10822. v7 = libc.BoolInt32(!!(libc.X__maskrune(tls, v3, v4) != 0))
  10823. }
  10824. v5 = v7
  10825. goto _6
  10826. _6:
  10827. v1 = v5
  10828. goto _2
  10829. _2:
  10830. if !(v1 != 0) {
  10831. break
  10832. }
  10833. *(*uintptr)(unsafe.Pointer(bp))++
  10834. }
  10835. t = *(*uintptr)(unsafe.Pointer(bp))
  10836. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  10837. v10 = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  10838. last = v10
  10839. first = v10
  10840. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  10841. return m_FcFalse
  10842. }
  10843. for {
  10844. v13 = int32(uint8(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))))
  10845. v14 = uint64(0x00004000)
  10846. v18 = libc.BoolInt32(v13 & ^libc.Int32FromInt32(0x7F) == 0)
  10847. goto _19
  10848. _19:
  10849. if v18 != 0 {
  10850. v17 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v13)*4)))&v14 != 0))
  10851. } else {
  10852. v17 = libc.BoolInt32(!!(libc.X__maskrune(tls, v13, v14) != 0))
  10853. }
  10854. v15 = v17
  10855. goto _16
  10856. _16:
  10857. v11 = v15
  10858. goto _12
  10859. _12:
  10860. if !(v11 != 0) {
  10861. break
  10862. }
  10863. *(*uintptr)(unsafe.Pointer(bp))++
  10864. }
  10865. if int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp))))) == int32('-') {
  10866. *(*uintptr)(unsafe.Pointer(bp))++
  10867. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = 0
  10868. last = libc.Xstrtol(tls, *(*uintptr)(unsafe.Pointer(bp)), bp, int32(16))
  10869. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != 0 {
  10870. return m_FcFalse
  10871. }
  10872. }
  10873. if *(*uintptr)(unsafe.Pointer(bp)) == t || first < 0 || last < 0 || last < first || last > int64(0x10ffff) {
  10874. return m_FcFalse
  10875. }
  10876. *(*uintptr)(unsafe.Pointer(string1)) = *(*uintptr)(unsafe.Pointer(bp))
  10877. *(*TFcChar32)(unsafe.Pointer(pfirst)) = uint32(first)
  10878. *(*TFcChar32)(unsafe.Pointer(plast)) = uint32(last)
  10879. return int32(m_FcTrue)
  10880. }
  10881. func XFcNameParseCharSet(tls *libc.TLS, _string uintptr) (r uintptr) {
  10882. bp := tls.Alloc(16)
  10883. defer tls.Free(16)
  10884. *(*uintptr)(unsafe.Pointer(bp)) = _string
  10885. var c uintptr
  10886. var u TFcChar32
  10887. var _ /* first at bp+8 */ TFcChar32
  10888. var _ /* last at bp+12 */ TFcChar32
  10889. _, _ = c, u
  10890. c = XFcCharSetCreate(tls)
  10891. if !(c != 0) {
  10892. goto bail0
  10893. }
  10894. for *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))) != 0 {
  10895. if !(_FcNameParseRange(tls, bp, bp+8, bp+12) != 0) {
  10896. goto bail1
  10897. }
  10898. u = *(*TFcChar32)(unsafe.Pointer(bp + 8))
  10899. for {
  10900. if !(u < *(*TFcChar32)(unsafe.Pointer(bp + 12))+uint32(1)) {
  10901. break
  10902. }
  10903. XFcCharSetAddChar(tls, c, u)
  10904. goto _1
  10905. _1:
  10906. ;
  10907. u++
  10908. }
  10909. }
  10910. return c
  10911. goto bail1
  10912. bail1:
  10913. ;
  10914. XFcCharSetDestroy(tls, c)
  10915. goto bail0
  10916. bail0:
  10917. ;
  10918. return libc.UintptrFromInt32(0)
  10919. return r
  10920. }
  10921. func _FcNameUnparseUnicode(tls *libc.TLS, buf uintptr, u TFcChar32) {
  10922. bp := tls.Alloc(80)
  10923. defer tls.Free(80)
  10924. var _ /* buf_static at bp+0 */ [64]TFcChar8
  10925. libc.X__builtin___snprintf_chk(tls, bp, uint64(64), 0, uint64(libc.X__builtin_object_size(tls, bp, int32(1))), __ccgo_ts+1831, libc.VaList(bp+72, u))
  10926. XFcStrBufString(tls, buf, bp)
  10927. }
  10928. func XFcNameUnparseCharSet(tls *libc.TLS, buf uintptr, c uintptr) (r TFcBool) {
  10929. bp := tls.Alloc(16)
  10930. defer tls.Free(16)
  10931. var bits, first, last, u, v1 TFcChar32
  10932. var i int32
  10933. var _ /* ci at bp+0 */ TFcCharSetIter
  10934. _, _, _, _, _, _ = bits, first, i, last, u, v1
  10935. v1 = libc.Uint32FromInt32(0x7FFFFFFF)
  10936. last = v1
  10937. first = v1
  10938. _FcCharSetIterStart(tls, c, bp)
  10939. for {
  10940. if !((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf != 0) {
  10941. break
  10942. }
  10943. i = 0
  10944. for {
  10945. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  10946. break
  10947. }
  10948. bits = *(*TFcChar32)(unsafe.Pointer((*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fleaf + uintptr(i)*4))
  10949. u = (*(*TFcCharSetIter)(unsafe.Pointer(bp))).Fucs4 + uint32(i*int32(32))
  10950. for bits != 0 {
  10951. if bits&uint32(1) != 0 {
  10952. if u != last+uint32(1) {
  10953. if last != first {
  10954. XFcStrBufChar(tls, buf, uint8('-'))
  10955. _FcNameUnparseUnicode(tls, buf, last)
  10956. }
  10957. if last != uint32(0x7FFFFFFF) {
  10958. XFcStrBufChar(tls, buf, uint8(' '))
  10959. }
  10960. /* Start new range. */
  10961. first = u
  10962. _FcNameUnparseUnicode(tls, buf, u)
  10963. }
  10964. last = u
  10965. }
  10966. bits >>= uint32(1)
  10967. u++
  10968. }
  10969. goto _3
  10970. _3:
  10971. ;
  10972. i++
  10973. }
  10974. goto _2
  10975. _2:
  10976. ;
  10977. _FcCharSetIterNext(tls, c, bp)
  10978. }
  10979. if last != first {
  10980. XFcStrBufChar(tls, buf, uint8('-'))
  10981. _FcNameUnparseUnicode(tls, buf, last)
  10982. }
  10983. return int32(m_FcTrue)
  10984. }
  10985. type TFcCharLeafEnt = struct {
  10986. Fnext uintptr
  10987. Fhash TFcChar32
  10988. Fleaf TFcCharLeaf
  10989. }
  10990. type T_FcCharLeafEnt = TFcCharLeafEnt
  10991. type TFcCharSetEnt = struct {
  10992. Fnext uintptr
  10993. Fhash TFcChar32
  10994. Fset TFcCharSet
  10995. }
  10996. type T_FcCharSetEnt = TFcCharSetEnt
  10997. type TFcCharSetOrigEnt = struct {
  10998. Fnext uintptr
  10999. Forig uintptr
  11000. Ffrozen uintptr
  11001. }
  11002. type T_FcCharSetOrigEnt = TFcCharSetOrigEnt
  11003. func _FcCharLeafEntCreate(tls *libc.TLS, freezer uintptr) (r uintptr) {
  11004. var newBlocks, v1, v2, v3 uintptr
  11005. _, _, _, _ = newBlocks, v1, v2, v3
  11006. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain != 0) {
  11007. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count++
  11008. newBlocks = libc.Xrealloc(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks, uint64((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count)*uint64(8))
  11009. if !(newBlocks != 0) {
  11010. return uintptr(0)
  11011. }
  11012. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks = newBlocks
  11013. v1 = libc.Xmalloc(tls, libc.Uint64FromInt32(4096)/libc.Uint64FromInt64(48)*libc.Uint64FromInt64(48))
  11014. *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count-int32(1))*8)) = v1
  11015. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block = v1
  11016. if !((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcurrent_block != 0) {
  11017. return uintptr(0)
  11018. }
  11019. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain = int32(libc.Uint64FromInt32(4096) / libc.Uint64FromInt64(48))
  11020. }
  11021. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_remain--
  11022. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated++
  11023. v3 = freezer + 3144
  11024. v2 = *(*uintptr)(unsafe.Pointer(v3))
  11025. *(*uintptr)(unsafe.Pointer(v3)) += 48
  11026. return v2
  11027. }
  11028. func _FcCharLeafHash(tls *libc.TLS, leaf uintptr) (r TFcChar32) {
  11029. var hash TFcChar32
  11030. var i int32
  11031. _, _ = hash, i
  11032. hash = uint32(0)
  11033. i = 0
  11034. for {
  11035. if !(i < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  11036. break
  11037. }
  11038. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(i)*4))
  11039. goto _1
  11040. _1:
  11041. ;
  11042. i++
  11043. }
  11044. return hash
  11045. }
  11046. func _FcCharSetFreezeLeaf(tls *libc.TLS, freezer uintptr, leaf uintptr) (r uintptr) {
  11047. var bucket, ent uintptr
  11048. var hash TFcChar32
  11049. _, _, _ = bucket, ent, hash
  11050. hash = _FcCharLeafHash(tls, leaf)
  11051. bucket = freezer + uintptr(hash%uint32(m_FC_CHAR_LEAF_HASH_SIZE))*8
  11052. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11053. for {
  11054. if !(ent != 0) {
  11055. break
  11056. }
  11057. if (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash == hash && !(libc.Xmemcmp(tls, ent+12, leaf, uint64(32)) != 0) {
  11058. return ent + 12
  11059. }
  11060. goto _1
  11061. _1:
  11062. ;
  11063. ent = (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext
  11064. }
  11065. ent = _FcCharLeafEntCreate(tls, freezer)
  11066. if !(ent != 0) {
  11067. return uintptr(0)
  11068. }
  11069. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fleaf = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  11070. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fhash = hash
  11071. (*TFcCharLeafEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11072. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11073. return ent + 12
  11074. }
  11075. func _FcCharSetHash(tls *libc.TLS, fcs uintptr) (r TFcChar32) {
  11076. var hash TFcChar32
  11077. var i int32
  11078. _, _ = hash, i
  11079. hash = uint32(0)
  11080. /* hash in leaves */
  11081. i = 0
  11082. for {
  11083. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11084. break
  11085. }
  11086. 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))))
  11087. goto _1
  11088. _1:
  11089. ;
  11090. i++
  11091. }
  11092. /* hash in numbers */
  11093. i = 0
  11094. for {
  11095. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11096. break
  11097. }
  11098. 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)))
  11099. goto _2
  11100. _2:
  11101. ;
  11102. i++
  11103. }
  11104. return hash
  11105. }
  11106. func _FcCharSetFreezeOrig(tls *libc.TLS, freezer uintptr, orig uintptr, frozen uintptr) (r TFcBool) {
  11107. var bucket, ent uintptr
  11108. _, _ = bucket, ent
  11109. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  11110. ent = libc.Xmalloc(tls, uint64(24))
  11111. if !(ent != 0) {
  11112. return m_FcFalse
  11113. }
  11114. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig = orig
  11115. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen = frozen
  11116. (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11117. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11118. return int32(m_FcTrue)
  11119. }
  11120. func _FcCharSetFreezeBase(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  11121. var bucket, ent, ent_leaves uintptr
  11122. var hash TFcChar32
  11123. var i, i1, size int32
  11124. var ok TFcBool
  11125. _, _, _, _, _, _, _, _ = bucket, ent, ent_leaves, hash, i, i1, ok, size
  11126. hash = _FcCharSetHash(tls, fcs)
  11127. bucket = freezer + 2072 + uintptr(hash%uint32(m_FC_CHAR_SET_HASH_SIZE))*8
  11128. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11129. for {
  11130. if !(ent != 0) {
  11131. break
  11132. }
  11133. 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), uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2)) != 0) {
  11134. ok = int32(m_FcTrue)
  11135. i1 = 0
  11136. for {
  11137. if !(i1 < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11138. break
  11139. }
  11140. 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))) {
  11141. ok = m_FcFalse
  11142. }
  11143. goto _2
  11144. _2:
  11145. ;
  11146. i1++
  11147. }
  11148. if ok != 0 {
  11149. return ent + 16
  11150. }
  11151. }
  11152. goto _1
  11153. _1:
  11154. ;
  11155. ent = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  11156. }
  11157. size = int32(libc.Uint64FromInt64(40) + uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8) + uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(2))
  11158. ent = libc.Xmalloc(tls, uint64(size))
  11159. if !(ent != 0) {
  11160. return uintptr(0)
  11161. }
  11162. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated++
  11163. (*TFcRef)(unsafe.Pointer(ent + 16)).Fcount = -libc.Int32FromInt32(1)
  11164. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnum = (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  11165. if (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum != 0 {
  11166. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = int64(24)
  11167. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = int64(uint64((*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset) + uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*libc.Uint64FromInt64(8))
  11168. ent_leaves = uintptr(Tintptr_t(ent+16) + (*TFcCharSet)(unsafe.Pointer(ent+16)).Fleaves_offset)
  11169. i = 0
  11170. for {
  11171. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11172. break
  11173. }
  11174. *(*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)
  11175. goto _3
  11176. _3:
  11177. ;
  11178. i++
  11179. }
  11180. libc.X__builtin___memcpy_chk(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset), uint64((*TFcCharSet)(unsafe.Pointer(fcs)).Fnum)*uint64(2), uint64(libc.X__builtin_object_size(tls, uintptr(Tintptr_t(ent+16)+(*TFcCharSet)(unsafe.Pointer(ent+16)).Fnumbers_offset), 0)))
  11181. } else {
  11182. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fleaves_offset = 0
  11183. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fset.Fnumbers_offset = 0
  11184. }
  11185. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fhash = hash
  11186. (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext = *(*uintptr)(unsafe.Pointer(bucket))
  11187. *(*uintptr)(unsafe.Pointer(bucket)) = ent
  11188. return ent + 16
  11189. }
  11190. func _FcCharSetFindFrozen(tls *libc.TLS, freezer uintptr, orig uintptr) (r uintptr) {
  11191. var bucket, ent uintptr
  11192. _, _ = bucket, ent
  11193. bucket = freezer + 2608 + uintptr(uint64(orig)%uint64(m_FC_CHAR_SET_HASH_SIZE))*8
  11194. ent = *(*uintptr)(unsafe.Pointer(bucket))
  11195. for {
  11196. if !(ent != 0) {
  11197. break
  11198. }
  11199. if (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Forig == orig {
  11200. return (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Ffrozen
  11201. }
  11202. goto _1
  11203. _1:
  11204. ;
  11205. ent = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent)).Fnext
  11206. }
  11207. return libc.UintptrFromInt32(0)
  11208. }
  11209. func XFcCharSetFreeze(tls *libc.TLS, freezer uintptr, fcs uintptr) (r uintptr) {
  11210. var b, l, n uintptr
  11211. var i int32
  11212. _, _, _, _ = b, i, l, n
  11213. n = uintptr(0)
  11214. b = XFcCharSetCreate(tls)
  11215. if !(b != 0) {
  11216. goto bail0
  11217. }
  11218. i = 0
  11219. for {
  11220. if !(i < (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum) {
  11221. break
  11222. }
  11223. 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))))
  11224. if !(l != 0) {
  11225. goto bail1
  11226. }
  11227. if !(_FcCharSetInsertLeaf(tls, b, uint32(int32(*(*TFcChar16)(unsafe.Pointer(uintptr(int64(fcs)+(*TFcCharSet)(unsafe.Pointer(fcs)).Fnumbers_offset) + uintptr(i)*2)))<<int32(8)), l) != 0) {
  11228. goto bail1
  11229. }
  11230. goto _1
  11231. _1:
  11232. ;
  11233. i++
  11234. }
  11235. n = _FcCharSetFreezeBase(tls, freezer, b)
  11236. if !(_FcCharSetFreezeOrig(tls, freezer, fcs, n) != 0) {
  11237. n = libc.UintptrFromInt32(0)
  11238. goto bail1
  11239. }
  11240. (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen++
  11241. *(*int32)(unsafe.Pointer(freezer + 3156)) += (*TFcCharSet)(unsafe.Pointer(fcs)).Fnum
  11242. goto bail1
  11243. bail1:
  11244. ;
  11245. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11246. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fleaves_offset))
  11247. }
  11248. if (*TFcCharSet)(unsafe.Pointer(b)).Fnum != 0 {
  11249. libc.Xfree(tls, uintptr(int64(b)+(*TFcCharSet)(unsafe.Pointer(b)).Fnumbers_offset))
  11250. }
  11251. libc.Xfree(tls, b)
  11252. goto bail0
  11253. bail0:
  11254. ;
  11255. return n
  11256. return r
  11257. }
  11258. func XFcCharSetFreezerCreate(tls *libc.TLS) (r uintptr) {
  11259. var freezer uintptr
  11260. _ = freezer
  11261. freezer = libc.Xcalloc(tls, uint64(1), uint64(3176))
  11262. return freezer
  11263. }
  11264. func XFcCharSetFreezerDestroy(tls *libc.TLS, freezer uintptr) {
  11265. bp := tls.Alloc(48)
  11266. defer tls.Free(48)
  11267. var ent, ent1, next, next1 uintptr
  11268. var i int32
  11269. _, _, _, _, _ = ent, ent1, i, next, next1
  11270. if XFcDebugVal&int32(m_FC_DBG_CACHE) != 0 {
  11271. libc.Xprintf(tls, __ccgo_ts+1834, libc.VaList(bp+8, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fcharsets_allocated, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_seen, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaves_allocated))
  11272. }
  11273. i = 0
  11274. for {
  11275. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11276. break
  11277. }
  11278. ent = *(*uintptr)(unsafe.Pointer(freezer + 2072 + uintptr(i)*8))
  11279. for {
  11280. if !(ent != 0) {
  11281. break
  11282. }
  11283. next = (*TFcCharSetEnt)(unsafe.Pointer(ent)).Fnext
  11284. libc.Xfree(tls, ent)
  11285. goto _2
  11286. _2:
  11287. ;
  11288. ent = next
  11289. }
  11290. goto _1
  11291. _1:
  11292. ;
  11293. i++
  11294. }
  11295. i = 0
  11296. for {
  11297. if !(i < int32(m_FC_CHAR_SET_HASH_SIZE)) {
  11298. break
  11299. }
  11300. ent1 = *(*uintptr)(unsafe.Pointer(freezer + 2608 + uintptr(i)*8))
  11301. for {
  11302. if !(ent1 != 0) {
  11303. break
  11304. }
  11305. next1 = (*TFcCharSetOrigEnt)(unsafe.Pointer(ent1)).Fnext
  11306. libc.Xfree(tls, ent1)
  11307. goto _4
  11308. _4:
  11309. ;
  11310. ent1 = next1
  11311. }
  11312. goto _3
  11313. _3:
  11314. ;
  11315. i++
  11316. }
  11317. i = 0
  11318. for {
  11319. if !(i < (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_block_count) {
  11320. break
  11321. }
  11322. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks + uintptr(i)*8)))
  11323. goto _5
  11324. _5:
  11325. ;
  11326. i++
  11327. }
  11328. libc.Xfree(tls, (*TFcCharSetFreezer)(unsafe.Pointer(freezer)).Fleaf_blocks)
  11329. libc.Xfree(tls, freezer)
  11330. }
  11331. func XFcCharSetSerializeAlloc(tls *libc.TLS, serialize uintptr, cs uintptr) (r TFcBool) {
  11332. var i int32
  11333. var leaves, numbers uintptr
  11334. var v1 TFcBool
  11335. _, _, _, _ = i, leaves, numbers, v1
  11336. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11337. goto _2
  11338. _2:
  11339. if !(v1 != 0) {
  11340. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11341. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = XFcCharSetFreezerCreate(tls)
  11342. if !((*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0) {
  11343. return m_FcFalse
  11344. }
  11345. }
  11346. if _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs) != 0 {
  11347. return int32(m_FcTrue)
  11348. }
  11349. cs = XFcCharSetFreeze(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11350. }
  11351. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11352. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11353. if !(XFcSerializeAlloc(tls, serialize, cs, int32(24)) != 0) {
  11354. return m_FcFalse
  11355. }
  11356. if !(XFcSerializeAlloc(tls, serialize, leaves, int32(uint64((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(8))) != 0) {
  11357. return m_FcFalse
  11358. }
  11359. if !(XFcSerializeAlloc(tls, serialize, numbers, int32(uint64((*TFcCharSet)(unsafe.Pointer(cs)).Fnum)*uint64(2))) != 0) {
  11360. return m_FcFalse
  11361. }
  11362. i = 0
  11363. for {
  11364. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11365. break
  11366. }
  11367. 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) {
  11368. return m_FcFalse
  11369. }
  11370. goto _3
  11371. _3:
  11372. ;
  11373. i++
  11374. }
  11375. return int32(m_FcTrue)
  11376. }
  11377. func XFcCharSetSerialize(tls *libc.TLS, serialize uintptr, cs uintptr) (r uintptr) {
  11378. var cs_serialized, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized uintptr
  11379. var i int32
  11380. var v1 TFcBool
  11381. _, _, _, _, _, _, _, _, _ = cs_serialized, i, leaf, leaf_serialized, leaves, leaves_serialized, numbers, numbers_serialized, v1
  11382. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(cs)).Fcount == -libc.Int32FromInt32(1))
  11383. goto _2
  11384. _2:
  11385. ;
  11386. if !(v1 != 0) && (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  11387. cs = _FcCharSetFindFrozen(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer, cs)
  11388. if !(cs != 0) {
  11389. return libc.UintptrFromInt32(0)
  11390. }
  11391. }
  11392. cs_serialized = XFcSerializePtr(tls, serialize, cs)
  11393. if !(cs_serialized != 0) {
  11394. return libc.UintptrFromInt32(0)
  11395. }
  11396. (*TFcRef)(unsafe.Pointer(cs_serialized)).Fcount = -libc.Int32FromInt32(1)
  11397. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnum = (*TFcCharSet)(unsafe.Pointer(cs)).Fnum
  11398. if (*TFcCharSet)(unsafe.Pointer(cs)).Fnum != 0 {
  11399. leaves = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fleaves_offset)
  11400. leaves_serialized = XFcSerializePtr(tls, serialize, leaves)
  11401. if !(leaves_serialized != 0) {
  11402. return libc.UintptrFromInt32(0)
  11403. }
  11404. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = int64(leaves_serialized) - int64(cs_serialized)
  11405. numbers = uintptr(int64(cs) + (*TFcCharSet)(unsafe.Pointer(cs)).Fnumbers_offset)
  11406. numbers_serialized = XFcSerializePtr(tls, serialize, numbers)
  11407. if !(numbers != 0) {
  11408. return libc.UintptrFromInt32(0)
  11409. }
  11410. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = int64(numbers_serialized) - int64(cs_serialized)
  11411. i = 0
  11412. for {
  11413. if !(i < (*TFcCharSet)(unsafe.Pointer(cs)).Fnum) {
  11414. break
  11415. }
  11416. 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)))
  11417. leaf_serialized = XFcSerializePtr(tls, serialize, leaf)
  11418. if !(leaf_serialized != 0) {
  11419. return libc.UintptrFromInt32(0)
  11420. }
  11421. *(*TFcCharLeaf)(unsafe.Pointer(leaf_serialized)) = *(*TFcCharLeaf)(unsafe.Pointer(leaf))
  11422. *(*Tintptr_t)(unsafe.Pointer(leaves_serialized + uintptr(i)*8)) = int64(leaf_serialized) - int64(leaves_serialized)
  11423. *(*TFcChar16)(unsafe.Pointer(numbers_serialized + uintptr(i)*2)) = *(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2))
  11424. goto _3
  11425. _3:
  11426. ;
  11427. i++
  11428. }
  11429. } else {
  11430. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fleaves_offset = 0
  11431. (*TFcCharSet)(unsafe.Pointer(cs_serialized)).Fnumbers_offset = 0
  11432. }
  11433. return cs_serialized
  11434. }
  11435. const m_FC_O_BINARY = 0
  11436. const m_FC_O_CLOEXEC = "O_CLOEXEC"
  11437. const m_FC_O_LARGEFILE = 0
  11438. const m_FC_O_NOINHERIT = 0
  11439. const m_FC_O_TEMPORARY = 0
  11440. const m_O_CLOEXEC1 = 16777216
  11441. const m_O_RDONLY1 = 0x0000
  11442. const m_O_RDWR1 = 0x0002
  11443. /*
  11444. * Copyright (c) 2000, 2002-2006, 2008-2010, 2012 Apple Inc. All rights reserved.
  11445. *
  11446. * @APPLE_LICENSE_HEADER_START@
  11447. *
  11448. * This file contains Original Code and/or Modifications of Original Code
  11449. * as defined in and that are subject to the Apple Public Source License
  11450. * Version 2.0 (the 'License'). You may not use this file except in
  11451. * compliance with the License. Please obtain a copy of the License at
  11452. * http://www.opensource.apple.com/apsl/ and read it before using this
  11453. * file.
  11454. *
  11455. * The Original Code and all software distributed under the License are
  11456. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11457. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11458. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11459. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11460. * Please see the License for the specific language governing rights and
  11461. * limitations under the License.
  11462. *
  11463. * @APPLE_LICENSE_HEADER_END@
  11464. */
  11465. /*-
  11466. * Copyright (c) 1998-1999 Apple Computer, Inc. All Rights Reserved
  11467. * Copyright (c) 1991, 1993, 1994
  11468. * The Regents of the University of California. All rights reserved.
  11469. *
  11470. * Redistribution and use in source and binary forms, with or without
  11471. * modification, are permitted provided that the following conditions
  11472. * are met:
  11473. * 1. Redistributions of source code must retain the above copyright
  11474. * notice, this list of conditions and the following disclaimer.
  11475. * 2. Redistributions in binary form must reproduce the above copyright
  11476. * notice, this list of conditions and the following disclaimer in the
  11477. * documentation and/or other materials provided with the distribution.
  11478. * 3. All advertising materials mentioning features or use of this software
  11479. * must display the following acknowledgement:
  11480. * This product includes software developed by the University of
  11481. * California, Berkeley and its contributors.
  11482. * 4. Neither the name of the University nor the names of its contributors
  11483. * may be used to endorse or promote products derived from this software
  11484. * without specific prior written permission.
  11485. *
  11486. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11487. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11488. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11489. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11490. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11491. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11492. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11493. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11494. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11495. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11496. * SUCH DAMAGE.
  11497. *
  11498. * @(#)unistd.h 8.12 (Berkeley) 4/27/95
  11499. *
  11500. * Copyright (c) 1998 Apple Compter, Inc.
  11501. * All Rights Reserved
  11502. */
  11503. /* History:
  11504. 7/14/99 EKN at Apple fixed getdirentriesattr from getdirentryattr
  11505. 3/26/98 CHW at Apple added real interface to searchfs call
  11506. 3/5/98 CHW at Apple added hfs semantic system calls headers
  11507. */
  11508. /*===---- stdarg.h - Variable argument handling ----------------------------===
  11509. *
  11510. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  11511. * See https://llvm.org/LICENSE.txt for license information.
  11512. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  11513. *
  11514. *===-----------------------------------------------------------------------===
  11515. */
  11516. /*
  11517. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  11518. *
  11519. * @APPLE_LICENSE_HEADER_START@
  11520. *
  11521. * This file contains Original Code and/or Modifications of Original Code
  11522. * as defined in and that are subject to the Apple Public Source License
  11523. * Version 2.0 (the 'License'). You may not use this file except in
  11524. * compliance with the License. Please obtain a copy of the License at
  11525. * http://www.opensource.apple.com/apsl/ and read it before using this
  11526. * file.
  11527. *
  11528. * The Original Code and all software distributed under the License are
  11529. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11530. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11531. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11532. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11533. * Please see the License for the specific language governing rights and
  11534. * limitations under the License.
  11535. *
  11536. * @APPLE_LICENSE_HEADER_END@
  11537. */
  11538. /*-
  11539. * Copyright (c) 1990, 1993
  11540. * The Regents of the University of California. All rights reserved.
  11541. *
  11542. * Redistribution and use in source and binary forms, with or without
  11543. * modification, are permitted provided that the following conditions
  11544. * are met:
  11545. * 1. Redistributions of source code must retain the above copyright
  11546. * notice, this list of conditions and the following disclaimer.
  11547. * 2. Redistributions in binary form must reproduce the above copyright
  11548. * notice, this list of conditions and the following disclaimer in the
  11549. * documentation and/or other materials provided with the distribution.
  11550. * 3. All advertising materials mentioning features or use of this software
  11551. * must display the following acknowledgement:
  11552. * This product includes software developed by the University of
  11553. * California, Berkeley and its contributors.
  11554. * 4. Neither the name of the University nor the names of its contributors
  11555. * may be used to endorse or promote products derived from this software
  11556. * without specific prior written permission.
  11557. *
  11558. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11559. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11560. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11561. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11562. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11563. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11564. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11565. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11566. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11567. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11568. * SUCH DAMAGE.
  11569. *
  11570. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11571. */
  11572. /*
  11573. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  11574. *
  11575. * @APPLE_LICENSE_HEADER_START@
  11576. *
  11577. * This file contains Original Code and/or Modifications of Original Code
  11578. * as defined in and that are subject to the Apple Public Source License
  11579. * Version 2.0 (the 'License'). You may not use this file except in
  11580. * compliance with the License. Please obtain a copy of the License at
  11581. * http://www.opensource.apple.com/apsl/ and read it before using this
  11582. * file.
  11583. *
  11584. * The Original Code and all software distributed under the License are
  11585. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11586. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11587. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11588. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11589. * Please see the License for the specific language governing rights and
  11590. * limitations under the License.
  11591. *
  11592. * @APPLE_LICENSE_HEADER_END@
  11593. */
  11594. /*-
  11595. * Copyright (c) 1990, 1993
  11596. * The Regents of the University of California. All rights reserved.
  11597. *
  11598. * Redistribution and use in source and binary forms, with or without
  11599. * modification, are permitted provided that the following conditions
  11600. * are met:
  11601. * 1. Redistributions of source code must retain the above copyright
  11602. * notice, this list of conditions and the following disclaimer.
  11603. * 2. Redistributions in binary form must reproduce the above copyright
  11604. * notice, this list of conditions and the following disclaimer in the
  11605. * documentation and/or other materials provided with the distribution.
  11606. * 3. All advertising materials mentioning features or use of this software
  11607. * must display the following acknowledgement:
  11608. * This product includes software developed by the University of
  11609. * California, Berkeley and its contributors.
  11610. * 4. Neither the name of the University nor the names of its contributors
  11611. * may be used to endorse or promote products derived from this software
  11612. * without specific prior written permission.
  11613. *
  11614. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11615. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11616. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11617. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11618. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11619. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11620. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11621. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11622. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11623. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11624. * SUCH DAMAGE.
  11625. *
  11626. * @(#)string.h 8.1 (Berkeley) 6/2/93
  11627. */
  11628. /*
  11629. * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  11630. *
  11631. * @APPLE_LICENSE_HEADER_START@
  11632. *
  11633. * This file contains Original Code and/or Modifications of Original Code
  11634. * as defined in and that are subject to the Apple Public Source License
  11635. * Version 2.0 (the 'License'). You may not use this file except in
  11636. * compliance with the License. Please obtain a copy of the License at
  11637. * http://www.opensource.apple.com/apsl/ and read it before using this
  11638. * file.
  11639. *
  11640. * The Original Code and all software distributed under the License are
  11641. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11642. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11643. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11644. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11645. * Please see the License for the specific language governing rights and
  11646. * limitations under the License.
  11647. *
  11648. * @APPLE_LICENSE_HEADER_END@
  11649. */
  11650. /*
  11651. * Copyright (c) 1989, 1993
  11652. * The Regents of the University of California. All rights reserved.
  11653. * (c) UNIX System Laboratories, Inc.
  11654. * All or some portions of this file are derived from material licensed
  11655. * to the University of California by American Telephone and Telegraph
  11656. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  11657. * the permission of UNIX System Laboratories, Inc.
  11658. *
  11659. * Redistribution and use in source and binary forms, with or without
  11660. * modification, are permitted provided that the following conditions
  11661. * are met:
  11662. * 1. Redistributions of source code must retain the above copyright
  11663. * notice, this list of conditions and the following disclaimer.
  11664. * 2. Redistributions in binary form must reproduce the above copyright
  11665. * notice, this list of conditions and the following disclaimer in the
  11666. * documentation and/or other materials provided with the distribution.
  11667. * 3. All advertising materials mentioning features or use of this software
  11668. * must display the following acknowledgement:
  11669. * This product includes software developed by the University of
  11670. * California, Berkeley and its contributors.
  11671. * 4. Neither the name of the University nor the names of its contributors
  11672. * may be used to endorse or promote products derived from this software
  11673. * without specific prior written permission.
  11674. *
  11675. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11676. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11677. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11678. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11679. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11680. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11681. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11682. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11683. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11684. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11685. * SUCH DAMAGE.
  11686. *
  11687. * @(#)time.h 8.3 (Berkeley) 1/21/94
  11688. */
  11689. func XFcOpen(tls *libc.TLS, pathname uintptr, flags int32, va uintptr) (r int32) {
  11690. bp := tls.Alloc(16)
  11691. defer tls.Free(16)
  11692. var ap Tva_list
  11693. var fd int32
  11694. var mode Tmode_t
  11695. _, _, _ = ap, fd, mode
  11696. fd = -int32(1)
  11697. if flags&int32(m_O_CREAT) != 0 {
  11698. ap = va
  11699. mode = uint16(libc.VaInt32(&ap))
  11700. _ = ap
  11701. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, libc.VaList(bp+8, int32(mode)))
  11702. } else {
  11703. fd = libc.Xopen(tls, pathname, flags|int32(m_O_CLOEXEC1)|m_FC_O_LARGEFILE, 0)
  11704. }
  11705. return fd
  11706. }
  11707. func XFcMakeTempfile(tls *libc.TLS, template uintptr) (r int32) {
  11708. var fd int32
  11709. _ = fd
  11710. fd = -int32(1)
  11711. fd = libc.Xmkostemp(tls, template, int32(m_O_CLOEXEC1))
  11712. return fd
  11713. }
  11714. func XFcRandom(tls *libc.TLS) (r Tint32_t) {
  11715. var result Tint32_t
  11716. var state uintptr
  11717. _, _ = result, state
  11718. if _initialized != int32(m_FcTrue) {
  11719. state = libc.Xinitstate(tls, uint32(libc.Xtime(tls, libc.UintptrFromInt32(0))), uintptr(unsafe.Pointer(&_statebuf)), uint64(256))
  11720. _initialized = int32(m_FcTrue)
  11721. } else {
  11722. state = libc.Xsetstate(tls, uintptr(unsafe.Pointer(&_statebuf)))
  11723. }
  11724. result = int32(libc.Xrandom(tls))
  11725. libc.Xsetstate(tls, state)
  11726. return result
  11727. }
  11728. var _statebuf [256]int8
  11729. var _initialized TFcBool
  11730. func XFcMakeDirectory(tls *libc.TLS, dir uintptr) (r TFcBool) {
  11731. var parent uintptr
  11732. var ret TFcBool
  11733. _, _ = parent, ret
  11734. if libc.Xstrlen(tls, dir) == uint64(0) {
  11735. return m_FcFalse
  11736. }
  11737. parent = XFcStrDirname(tls, dir)
  11738. if !(parent != 0) {
  11739. return m_FcFalse
  11740. }
  11741. if libc.Xaccess(tls, parent, m_F_OK) == 0 {
  11742. ret = libc.BoolInt32(libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  11743. } else {
  11744. if libc.Xaccess(tls, parent, m_F_OK) == -int32(1) {
  11745. ret = libc.BoolInt32(XFcMakeDirectory(tls, parent) != 0 && libc.Xmkdir(tls, dir, uint16(0755)) == 0 && libc.Xchmod(tls, dir, uint16(0755)) == 0)
  11746. } else {
  11747. ret = m_FcFalse
  11748. }
  11749. }
  11750. XFcStrFree(tls, parent)
  11751. return ret
  11752. }
  11753. func XFcReadLink(tls *libc.TLS, pathname uintptr, buf uintptr, bufsiz Tsize_t) (r Tssize_t) {
  11754. return libc.Xreadlink(tls, pathname, buf, bufsiz)
  11755. }
  11756. /*
  11757. * Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved.
  11758. *
  11759. * @APPLE_LICENSE_HEADER_START@
  11760. *
  11761. * This file contains Original Code and/or Modifications of Original Code
  11762. * as defined in and that are subject to the Apple Public Source License
  11763. * Version 2.0 (the 'License'). You may not use this file except in
  11764. * compliance with the License. Please obtain a copy of the License at
  11765. * http://www.opensource.apple.com/apsl/ and read it before using this
  11766. * file.
  11767. *
  11768. * The Original Code and all software distributed under the License are
  11769. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11770. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11771. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11772. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11773. * Please see the License for the specific language governing rights and
  11774. * limitations under the License.
  11775. *
  11776. * @APPLE_LICENSE_HEADER_END@
  11777. */
  11778. /*-
  11779. * Copyright (c) 1990, 1993
  11780. * The Regents of the University of California. All rights reserved.
  11781. *
  11782. * This code is derived from software contributed to Berkeley by
  11783. * Chris Torek.
  11784. *
  11785. * Redistribution and use in source and binary forms, with or without
  11786. * modification, are permitted provided that the following conditions
  11787. * are met:
  11788. * 1. Redistributions of source code must retain the above copyright
  11789. * notice, this list of conditions and the following disclaimer.
  11790. * 2. Redistributions in binary form must reproduce the above copyright
  11791. * notice, this list of conditions and the following disclaimer in the
  11792. * documentation and/or other materials provided with the distribution.
  11793. * 3. All advertising materials mentioning features or use of this software
  11794. * must display the following acknowledgement:
  11795. * This product includes software developed by the University of
  11796. * California, Berkeley and its contributors.
  11797. * 4. Neither the name of the University nor the names of its contributors
  11798. * may be used to endorse or promote products derived from this software
  11799. * without specific prior written permission.
  11800. *
  11801. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11802. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11803. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11804. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11805. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11806. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11807. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11808. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11809. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11810. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11811. * SUCH DAMAGE.
  11812. *
  11813. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  11814. */
  11815. /*
  11816. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  11817. *
  11818. * @APPLE_LICENSE_HEADER_START@
  11819. *
  11820. * This file contains Original Code and/or Modifications of Original Code
  11821. * as defined in and that are subject to the Apple Public Source License
  11822. * Version 2.0 (the 'License'). You may not use this file except in
  11823. * compliance with the License. Please obtain a copy of the License at
  11824. * http://www.opensource.apple.com/apsl/ and read it before using this
  11825. * file.
  11826. *
  11827. * The Original Code and all software distributed under the License are
  11828. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  11829. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  11830. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  11831. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  11832. * Please see the License for the specific language governing rights and
  11833. * limitations under the License.
  11834. *
  11835. * @APPLE_LICENSE_HEADER_END@
  11836. */
  11837. /*-
  11838. * Copyright (c) 1990, 1993
  11839. * The Regents of the University of California. All rights reserved.
  11840. *
  11841. * Redistribution and use in source and binary forms, with or without
  11842. * modification, are permitted provided that the following conditions
  11843. * are met:
  11844. * 1. Redistributions of source code must retain the above copyright
  11845. * notice, this list of conditions and the following disclaimer.
  11846. * 2. Redistributions in binary form must reproduce the above copyright
  11847. * notice, this list of conditions and the following disclaimer in the
  11848. * documentation and/or other materials provided with the distribution.
  11849. * 3. All advertising materials mentioning features or use of this software
  11850. * must display the following acknowledgement:
  11851. * This product includes software developed by the University of
  11852. * California, Berkeley and its contributors.
  11853. * 4. Neither the name of the University nor the names of its contributors
  11854. * may be used to endorse or promote products derived from this software
  11855. * without specific prior written permission.
  11856. *
  11857. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  11858. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  11859. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  11860. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  11861. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  11862. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  11863. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  11864. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  11865. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  11866. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  11867. * SUCH DAMAGE.
  11868. *
  11869. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  11870. */
  11871. func __FcValuePrintFile(tls *libc.TLS, f uintptr, _v TFcValue) {
  11872. bp := tls.Alloc(64)
  11873. defer tls.Free(64)
  11874. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  11875. var v1, v2 uintptr
  11876. _, _ = v1, v2
  11877. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  11878. case int32(_FcTypeUnknown):
  11879. libc.Xfprintf(tls, f, __ccgo_ts+1870, 0)
  11880. case int32(_FcTypeVoid):
  11881. libc.Xfprintf(tls, f, __ccgo_ts+1880, 0)
  11882. case int32(_FcTypeInteger):
  11883. libc.Xfprintf(tls, f, __ccgo_ts+1887, libc.VaList(bp+24, *(*int32)(unsafe.Pointer(bp + 8))))
  11884. case int32(_FcTypeDouble):
  11885. libc.Xfprintf(tls, f, __ccgo_ts+1893, libc.VaList(bp+24, *(*float64)(unsafe.Pointer(bp + 8))))
  11886. case int32(_FcTypeString):
  11887. libc.Xfprintf(tls, f, __ccgo_ts+1899, libc.VaList(bp+24, *(*uintptr)(unsafe.Pointer(bp + 8))))
  11888. case int32(_FcTypeBool):
  11889. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == int32(m_FcTrue) {
  11890. v1 = __ccgo_ts + 1904
  11891. } else {
  11892. if *(*TFcBool)(unsafe.Pointer(bp + 8)) == m_FcFalse {
  11893. v2 = __ccgo_ts + 1909
  11894. } else {
  11895. v2 = __ccgo_ts + 1915
  11896. }
  11897. v1 = v2
  11898. }
  11899. libc.Xfprintf(tls, f, v1, 0)
  11900. case int32(_FcTypeMatrix):
  11901. libc.Xfprintf(tls, f, __ccgo_ts+1924, libc.VaList(bp+24, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fxy, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyx, (*TFcMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fyy))
  11902. case int32(_FcTypeCharSet): /* XXX */
  11903. if f == libc.X__stdoutp {
  11904. XFcCharSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  11905. }
  11906. case int32(_FcTypeLangSet):
  11907. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  11908. case int32(_FcTypeFTFace):
  11909. libc.Xfprintf(tls, f, __ccgo_ts+1939, 0)
  11910. case int32(_FcTypeRange):
  11911. libc.Xfprintf(tls, f, __ccgo_ts+1944, libc.VaList(bp+24, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend))
  11912. break
  11913. }
  11914. }
  11915. func XFcValuePrintFile(tls *libc.TLS, f uintptr, v TFcValue) {
  11916. libc.Xfprintf(tls, f, __ccgo_ts+1952, 0)
  11917. __FcValuePrintFile(tls, f, v)
  11918. }
  11919. func XFcValuePrint(tls *libc.TLS, v TFcValue) {
  11920. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  11921. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  11922. }
  11923. func XFcValuePrintWithPosition(tls *libc.TLS, v TFcValue, show_pos_mark TFcBool) {
  11924. if show_pos_mark != 0 {
  11925. libc.Xprintf(tls, __ccgo_ts+1954, 0)
  11926. } else {
  11927. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  11928. }
  11929. __FcValuePrintFile(tls, libc.X__stdoutp, v)
  11930. }
  11931. func _FcValueBindingPrint(tls *libc.TLS, l TFcValueListPtr) {
  11932. switch (*T_FcValueList)(unsafe.Pointer(l)).Fbinding {
  11933. case int32(_FcValueBindingWeak):
  11934. libc.Xprintf(tls, __ccgo_ts+1965, 0)
  11935. case int32(_FcValueBindingStrong):
  11936. libc.Xprintf(tls, __ccgo_ts+1969, 0)
  11937. case int32(_FcValueBindingSame):
  11938. libc.Xprintf(tls, __ccgo_ts+1973, 0)
  11939. default:
  11940. /* shouldn't be reached */
  11941. libc.Xprintf(tls, __ccgo_ts+1977, 0)
  11942. break
  11943. }
  11944. }
  11945. func XFcValueListPrintWithPosition(tls *libc.TLS, l TFcValueListPtr, pos TFcValueListPtr) {
  11946. var v2 uintptr
  11947. _ = v2
  11948. for {
  11949. if !(l != libc.UintptrFromInt32(0)) {
  11950. break
  11951. }
  11952. XFcValuePrintWithPosition(tls, XFcValueCanonicalize(tls, l+8), libc.BoolInt32(pos != libc.UintptrFromInt32(0) && l == pos))
  11953. _FcValueBindingPrint(tls, l)
  11954. goto _1
  11955. _1:
  11956. ;
  11957. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  11958. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  11959. } else {
  11960. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11961. }
  11962. l = v2
  11963. }
  11964. if !(pos != 0) {
  11965. libc.Xprintf(tls, __ccgo_ts+1981, 0)
  11966. }
  11967. }
  11968. func XFcValueListPrint(tls *libc.TLS, l TFcValueListPtr) {
  11969. var v2 uintptr
  11970. _ = v2
  11971. for {
  11972. if !(l != libc.UintptrFromInt32(0)) {
  11973. break
  11974. }
  11975. XFcValuePrint(tls, XFcValueCanonicalize(tls, l+8))
  11976. _FcValueBindingPrint(tls, l)
  11977. goto _1
  11978. _1:
  11979. ;
  11980. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  11981. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  11982. } else {
  11983. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  11984. }
  11985. l = v2
  11986. }
  11987. }
  11988. func XFcLangSetPrint(tls *libc.TLS, ls uintptr) {
  11989. bp := tls.Alloc(1200)
  11990. defer tls.Free(1200)
  11991. var _ /* buf at bp+0 */ TFcStrBuf
  11992. var _ /* init_buf at bp+152 */ [1024]TFcChar8
  11993. XFcStrBufInit(tls, bp, bp+152, int32(1024))
  11994. if XFcNameUnparseLangSet(tls, bp, ls) != 0 && XFcStrBufChar(tls, bp, uint8('\000')) != 0 {
  11995. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+1184, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf))
  11996. } else {
  11997. libc.Xprintf(tls, __ccgo_ts+1994, 0)
  11998. }
  11999. XFcStrBufDestroy(tls, bp)
  12000. }
  12001. func XFcCharSetPrint(tls *libc.TLS, c uintptr) {
  12002. bp := tls.Alloc(16)
  12003. defer tls.Free(16)
  12004. var i, j int32
  12005. var leaf, leaves, numbers uintptr
  12006. var leaf_offset Tintptr_t
  12007. _, _, _, _, _, _ = i, j, leaf, leaf_offset, leaves, numbers
  12008. leaves = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fleaves_offset)
  12009. numbers = uintptr(int64(c) + (*TFcCharSet)(unsafe.Pointer(c)).Fnumbers_offset)
  12010. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12011. i = 0
  12012. for {
  12013. if !(i < (*TFcCharSet)(unsafe.Pointer(c)).Fnum) {
  12014. break
  12015. }
  12016. leaf_offset = *(*Tintptr_t)(unsafe.Pointer(leaves + uintptr(i)*8))
  12017. leaf = uintptr(int64(leaves) + leaf_offset)
  12018. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  12019. libc.Xprintf(tls, __ccgo_ts+2018, libc.VaList(bp+8, int32(*(*TFcChar16)(unsafe.Pointer(numbers + uintptr(i)*2)))))
  12020. j = 0
  12021. for {
  12022. if !(j < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  12023. break
  12024. }
  12025. libc.Xprintf(tls, __ccgo_ts+2024, libc.VaList(bp+8, *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(j)*4))))
  12026. goto _2
  12027. _2:
  12028. ;
  12029. j++
  12030. }
  12031. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12032. goto _1
  12033. _1:
  12034. ;
  12035. i++
  12036. }
  12037. }
  12038. func XFcPatternPrint(tls *libc.TLS, p uintptr) {
  12039. bp := tls.Alloc(48)
  12040. defer tls.Free(48)
  12041. var _ /* iter at bp+0 */ TFcPatternIter
  12042. if !(p != 0) {
  12043. libc.Xprintf(tls, __ccgo_ts+2030, 0)
  12044. return
  12045. }
  12046. libc.Xprintf(tls, __ccgo_ts+2044, libc.VaList(bp+24, XFcPatternObjectCount(tls, p), (*TFcPattern)(unsafe.Pointer(p)).Fsize))
  12047. XFcPatternIterStart(tls, p, bp)
  12048. for cond := true; cond; cond = XFcPatternIterNext(tls, p, bp) != 0 {
  12049. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+24, XFcPatternIterGetObject(tls, p, bp)))
  12050. XFcValueListPrint(tls, XFcPatternIterGetValues(tls, p, bp))
  12051. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12052. }
  12053. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12054. }
  12055. func XFcPatternPrint2(tls *libc.TLS, pp1 uintptr, pp2 uintptr, os uintptr) {
  12056. bp := tls.Alloc(48)
  12057. defer tls.Free(48)
  12058. var e1, e2, p1, p2, v10, v5, v6, v7, v8 uintptr
  12059. var i, j, k, pos int32
  12060. _, _, _, _, _, _, _, _, _, _, _, _, _ = e1, e2, i, j, k, p1, p2, pos, v10, v5, v6, v7, v8
  12061. if os != 0 {
  12062. p1 = XFcPatternFilter(tls, pp1, os)
  12063. p2 = XFcPatternFilter(tls, pp2, os)
  12064. } else {
  12065. p1 = pp1
  12066. p2 = pp2
  12067. }
  12068. libc.Xprintf(tls, __ccgo_ts+2080, libc.VaList(bp+8, (*TFcPattern)(unsafe.Pointer(p1)).Fnum, (*TFcPattern)(unsafe.Pointer(p1)).Fsize, (*TFcPattern)(unsafe.Pointer(p2)).Fnum, (*TFcPattern)(unsafe.Pointer(p2)).Fsize))
  12069. i = 0
  12070. j = libc.Int32FromInt32(0)
  12071. for {
  12072. if !(i < (*TFcPattern)(unsafe.Pointer(p1)).Fnum) {
  12073. break
  12074. }
  12075. e1 = uintptr(int64(p1)+(*TFcPattern)(unsafe.Pointer(p1)).Felts_offset) + uintptr(i)*16
  12076. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12077. if !(!(e2 != 0) || (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject != (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) {
  12078. goto _2
  12079. }
  12080. pos = XFcPatternPosition(tls, p2, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject))
  12081. if pos >= 0 {
  12082. k = j
  12083. for {
  12084. if !(k < pos) {
  12085. break
  12086. }
  12087. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12088. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12089. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12090. v5 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12091. } else {
  12092. v5 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12093. }
  12094. XFcValueListPrint(tls, v5)
  12095. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12096. goto _4
  12097. _4:
  12098. ;
  12099. k++
  12100. }
  12101. j = pos
  12102. goto cont
  12103. } else {
  12104. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12105. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12106. v6 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12107. } else {
  12108. v6 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12109. }
  12110. XFcValueListPrint(tls, v6)
  12111. libc.Xprintf(tls, __ccgo_ts+2146, 0)
  12112. }
  12113. goto _3
  12114. _2:
  12115. ;
  12116. goto cont
  12117. cont:
  12118. ;
  12119. libc.Xprintf(tls, __ccgo_ts+2075, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e1)).Fobject)))
  12120. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  12121. v7 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12122. } else {
  12123. v7 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  12124. }
  12125. XFcValueListPrint(tls, v7)
  12126. libc.Xprintf(tls, __ccgo_ts+2158, 0)
  12127. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(j)*16
  12128. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12129. v8 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12130. } else {
  12131. v8 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12132. }
  12133. XFcValueListPrint(tls, v8)
  12134. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12135. j++
  12136. _3:
  12137. ;
  12138. goto _1
  12139. _1:
  12140. ;
  12141. i++
  12142. }
  12143. if j < (*TFcPattern)(unsafe.Pointer(p2)).Fnum {
  12144. k = j
  12145. for {
  12146. if !(k < (*TFcPattern)(unsafe.Pointer(p2)).Fnum) {
  12147. break
  12148. }
  12149. e2 = uintptr(int64(p2)+(*TFcPattern)(unsafe.Pointer(p2)).Felts_offset) + uintptr(k)*16
  12150. if XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject) != 0 {
  12151. libc.Xprintf(tls, __ccgo_ts+2130, libc.VaList(bp+8, XFcObjectName(tls, (*TFcPatternElt)(unsafe.Pointer(e2)).Fobject)))
  12152. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  12153. v10 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  12154. } else {
  12155. v10 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  12156. }
  12157. XFcValueListPrint(tls, v10)
  12158. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12159. }
  12160. goto _9
  12161. _9:
  12162. ;
  12163. k++
  12164. }
  12165. }
  12166. if p1 != pp1 {
  12167. XFcPatternDestroy(tls, p1)
  12168. }
  12169. if p2 != pp2 {
  12170. XFcPatternDestroy(tls, p2)
  12171. }
  12172. }
  12173. func XFcOpPrint(tls *libc.TLS, op_ TFcOp) {
  12174. var f, f1, f2 int32
  12175. var op TFcOp
  12176. _, _, _, _ = f, f1, f2, op
  12177. op = op_ & libc.Int32FromInt32(0xffff)
  12178. switch op {
  12179. case int32(_FcOpInteger):
  12180. libc.Xprintf(tls, __ccgo_ts+2163, 0)
  12181. case int32(_FcOpDouble):
  12182. libc.Xprintf(tls, __ccgo_ts+2171, 0)
  12183. case int32(_FcOpString):
  12184. libc.Xprintf(tls, __ccgo_ts+2178, 0)
  12185. case int32(_FcOpMatrix):
  12186. libc.Xprintf(tls, __ccgo_ts+2185, 0)
  12187. case int32(_FcOpRange):
  12188. libc.Xprintf(tls, __ccgo_ts+2192, 0)
  12189. case int32(_FcOpBool):
  12190. libc.Xprintf(tls, __ccgo_ts+2198, 0)
  12191. case int32(_FcOpCharSet):
  12192. libc.Xprintf(tls, __ccgo_ts+2203, 0)
  12193. case int32(_FcOpLangSet):
  12194. libc.Xprintf(tls, __ccgo_ts+2211, 0)
  12195. case int32(_FcOpField):
  12196. libc.Xprintf(tls, __ccgo_ts+2219, 0)
  12197. case int32(_FcOpConst):
  12198. libc.Xprintf(tls, __ccgo_ts+2225, 0)
  12199. case int32(_FcOpAssign):
  12200. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12201. case int32(_FcOpAssignReplace):
  12202. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12203. case int32(_FcOpPrepend):
  12204. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12205. case int32(_FcOpPrependFirst):
  12206. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12207. case int32(_FcOpAppend):
  12208. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12209. case int32(_FcOpAppendLast):
  12210. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12211. case int32(_FcOpDelete):
  12212. libc.Xprintf(tls, __ccgo_ts+2276, 0)
  12213. case int32(_FcOpDeleteAll):
  12214. libc.Xprintf(tls, __ccgo_ts+2283, 0)
  12215. case int32(_FcOpQuest):
  12216. libc.Xprintf(tls, __ccgo_ts+2293, 0)
  12217. case int32(_FcOpOr):
  12218. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12219. case int32(_FcOpAnd):
  12220. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12221. case int32(_FcOpEqual):
  12222. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12223. f = int32(uint32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12224. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12225. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12226. }
  12227. case int32(_FcOpNotEqual):
  12228. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12229. f1 = int32(uint32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12230. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12231. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12232. }
  12233. case int32(_FcOpLess):
  12234. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  12235. case int32(_FcOpLessEqual):
  12236. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  12237. case int32(_FcOpMore):
  12238. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  12239. case int32(_FcOpMoreEqual):
  12240. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  12241. case int32(_FcOpContains):
  12242. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  12243. case int32(_FcOpNotContains):
  12244. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  12245. case int32(_FcOpPlus):
  12246. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  12247. case int32(_FcOpMinus):
  12248. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  12249. case int32(_FcOpTimes):
  12250. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  12251. case int32(_FcOpDivide):
  12252. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  12253. case int32(_FcOpNot):
  12254. libc.Xprintf(tls, __ccgo_ts+2412, 0)
  12255. case int32(_FcOpNil):
  12256. libc.Xprintf(tls, __ccgo_ts+2416, 0)
  12257. case int32(_FcOpComma):
  12258. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  12259. case int32(_FcOpFloor):
  12260. libc.Xprintf(tls, __ccgo_ts+2426, 0)
  12261. case int32(_FcOpCeil):
  12262. libc.Xprintf(tls, __ccgo_ts+2432, 0)
  12263. case int32(_FcOpRound):
  12264. libc.Xprintf(tls, __ccgo_ts+2437, 0)
  12265. case int32(_FcOpTrunc):
  12266. libc.Xprintf(tls, __ccgo_ts+2443, 0)
  12267. case int32(_FcOpListing):
  12268. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  12269. f2 = int32(uint32(op_) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12270. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12271. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12272. }
  12273. case int32(_FcOpInvalid):
  12274. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  12275. break
  12276. }
  12277. }
  12278. func XFcExprPrint(tls *libc.TLS, expr uintptr) {
  12279. bp := tls.Alloc(32)
  12280. defer tls.Free(32)
  12281. var f, f1, f2 int32
  12282. var v1 uintptr
  12283. _, _, _, _ = f, f1, f2, v1
  12284. if !(expr != 0) {
  12285. libc.Xprintf(tls, __ccgo_ts+2465, 0)
  12286. } else {
  12287. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12288. case int32(_FcOpInteger):
  12289. libc.Xprintf(tls, __ccgo_ts+2470, libc.VaList(bp+8, (*TFcExpr)(unsafe.Pointer(expr)).Fu.Fival))
  12290. case int32(_FcOpDouble):
  12291. libc.Xprintf(tls, __ccgo_ts+2473, libc.VaList(bp+8, *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12292. case int32(_FcOpString):
  12293. libc.Xprintf(tls, __ccgo_ts+1899, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12294. case int32(_FcOpMatrix):
  12295. libc.Xprintf(tls, __ccgo_ts+2476, 0)
  12296. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxx)
  12297. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12298. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fxy)
  12299. libc.Xprintf(tls, __ccgo_ts+2478, 0)
  12300. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyx)
  12301. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12302. XFcExprPrint(tls, (*TFcExprMatrix)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fyy)
  12303. libc.Xprintf(tls, __ccgo_ts+2481, 0)
  12304. case int32(_FcOpRange):
  12305. libc.Xprintf(tls, __ccgo_ts+2483, libc.VaList(bp+8, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))).Fend))
  12306. case int32(_FcOpBool):
  12307. if *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)) != 0 {
  12308. v1 = __ccgo_ts + 2492
  12309. } else {
  12310. v1 = __ccgo_ts + 2497
  12311. }
  12312. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, v1))
  12313. case int32(_FcOpCharSet):
  12314. libc.Xprintf(tls, __ccgo_ts+2503, 0)
  12315. case int32(_FcOpLangSet):
  12316. libc.Xprintf(tls, __ccgo_ts+2512, 0)
  12317. XFcLangSetPrint(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  12318. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12319. case int32(_FcOpNil):
  12320. libc.Xprintf(tls, __ccgo_ts+2521, 0)
  12321. case int32(_FcOpField):
  12322. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject)))
  12323. switch (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fkind {
  12324. case int32(_FcMatchPattern):
  12325. libc.Xprintf(tls, __ccgo_ts+2530, 0)
  12326. case int32(_FcMatchFont):
  12327. libc.Xprintf(tls, __ccgo_ts+2541, 0)
  12328. break
  12329. }
  12330. case int32(_FcOpConst):
  12331. libc.Xprintf(tls, __ccgo_ts+1991, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  12332. case int32(_FcOpQuest):
  12333. XFcExprPrint(tls, (*(*struct {
  12334. Fleft uintptr
  12335. Fright uintptr
  12336. })(unsafe.Pointer(expr + 8))).Fleft)
  12337. libc.Xprintf(tls, __ccgo_ts+2549, 0)
  12338. XFcExprPrint(tls, (*(*struct {
  12339. Fleft uintptr
  12340. Fright uintptr
  12341. })(unsafe.Pointer((*(*struct {
  12342. Fleft uintptr
  12343. Fright uintptr
  12344. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft)
  12345. libc.Xprintf(tls, __ccgo_ts+2557, 0)
  12346. XFcExprPrint(tls, (*(*struct {
  12347. Fleft uintptr
  12348. Fright uintptr
  12349. })(unsafe.Pointer((*(*struct {
  12350. Fleft uintptr
  12351. Fright uintptr
  12352. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright)
  12353. case int32(_FcOpAssign):
  12354. fallthrough
  12355. case int32(_FcOpAssignReplace):
  12356. fallthrough
  12357. case int32(_FcOpPrependFirst):
  12358. fallthrough
  12359. case int32(_FcOpPrepend):
  12360. fallthrough
  12361. case int32(_FcOpAppend):
  12362. fallthrough
  12363. case int32(_FcOpAppendLast):
  12364. fallthrough
  12365. case int32(_FcOpOr):
  12366. fallthrough
  12367. case int32(_FcOpAnd):
  12368. fallthrough
  12369. case int32(_FcOpEqual):
  12370. fallthrough
  12371. case int32(_FcOpNotEqual):
  12372. fallthrough
  12373. case int32(_FcOpLess):
  12374. fallthrough
  12375. case int32(_FcOpLessEqual):
  12376. fallthrough
  12377. case int32(_FcOpMore):
  12378. fallthrough
  12379. case int32(_FcOpMoreEqual):
  12380. fallthrough
  12381. case int32(_FcOpContains):
  12382. fallthrough
  12383. case int32(_FcOpListing):
  12384. fallthrough
  12385. case int32(_FcOpNotContains):
  12386. fallthrough
  12387. case int32(_FcOpPlus):
  12388. fallthrough
  12389. case int32(_FcOpMinus):
  12390. fallthrough
  12391. case int32(_FcOpTimes):
  12392. fallthrough
  12393. case int32(_FcOpDivide):
  12394. fallthrough
  12395. case int32(_FcOpComma):
  12396. XFcExprPrint(tls, (*(*struct {
  12397. Fleft uintptr
  12398. Fright uintptr
  12399. })(unsafe.Pointer(expr + 8))).Fleft)
  12400. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12401. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  12402. case int32(_FcOpAssign):
  12403. libc.Xprintf(tls, __ccgo_ts+2231, 0)
  12404. case int32(_FcOpAssignReplace):
  12405. libc.Xprintf(tls, __ccgo_ts+2238, 0)
  12406. case int32(_FcOpPrependFirst):
  12407. libc.Xprintf(tls, __ccgo_ts+2252, 0)
  12408. case int32(_FcOpPrepend):
  12409. libc.Xprintf(tls, __ccgo_ts+1309, 0)
  12410. case int32(_FcOpAppend):
  12411. libc.Xprintf(tls, __ccgo_ts+1302, 0)
  12412. case int32(_FcOpAppendLast):
  12413. libc.Xprintf(tls, __ccgo_ts+2265, 0)
  12414. case int32(_FcOpOr):
  12415. libc.Xprintf(tls, __ccgo_ts+2299, 0)
  12416. case int32(_FcOpAnd):
  12417. libc.Xprintf(tls, __ccgo_ts+2302, 0)
  12418. case int32(_FcOpEqual):
  12419. libc.Xprintf(tls, __ccgo_ts+2306, 0)
  12420. f = int32(uint32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12421. if f&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12422. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12423. }
  12424. case int32(_FcOpNotEqual):
  12425. libc.Xprintf(tls, __ccgo_ts+2328, 0)
  12426. f1 = int32(uint32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12427. if f1&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12428. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12429. }
  12430. case int32(_FcOpLess):
  12431. libc.Xprintf(tls, __ccgo_ts+2337, 0)
  12432. case int32(_FcOpLessEqual):
  12433. libc.Xprintf(tls, __ccgo_ts+2342, 0)
  12434. case int32(_FcOpMore):
  12435. libc.Xprintf(tls, __ccgo_ts+2352, 0)
  12436. case int32(_FcOpMoreEqual):
  12437. libc.Xprintf(tls, __ccgo_ts+2357, 0)
  12438. case int32(_FcOpContains):
  12439. libc.Xprintf(tls, __ccgo_ts+2367, 0)
  12440. case int32(_FcOpListing):
  12441. libc.Xprintf(tls, __ccgo_ts+2449, 0)
  12442. f2 = int32(uint32((*TFcExpr)(unsafe.Pointer(expr)).Fop) & libc.Uint32FromUint32(0xffff0000) >> libc.Int32FromInt32(16))
  12443. if f2&int32(_FcOpFlagIgnoreBlanks) != 0 {
  12444. libc.Xprintf(tls, __ccgo_ts+2312, 0)
  12445. }
  12446. case int32(_FcOpNotContains):
  12447. libc.Xprintf(tls, __ccgo_ts+2376, 0)
  12448. case int32(_FcOpPlus):
  12449. libc.Xprintf(tls, __ccgo_ts+2388, 0)
  12450. case int32(_FcOpMinus):
  12451. libc.Xprintf(tls, __ccgo_ts+2393, 0)
  12452. case int32(_FcOpTimes):
  12453. libc.Xprintf(tls, __ccgo_ts+2399, 0)
  12454. case int32(_FcOpDivide):
  12455. libc.Xprintf(tls, __ccgo_ts+2405, 0)
  12456. case int32(_FcOpComma):
  12457. libc.Xprintf(tls, __ccgo_ts+2420, 0)
  12458. default:
  12459. break
  12460. }
  12461. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12462. XFcExprPrint(tls, (*(*struct {
  12463. Fleft uintptr
  12464. Fright uintptr
  12465. })(unsafe.Pointer(expr + 8))).Fright)
  12466. case int32(_FcOpNot):
  12467. libc.Xprintf(tls, __ccgo_ts+2565, 0)
  12468. XFcExprPrint(tls, (*(*struct {
  12469. Fleft uintptr
  12470. Fright uintptr
  12471. })(unsafe.Pointer(expr + 8))).Fleft)
  12472. case int32(_FcOpFloor):
  12473. libc.Xprintf(tls, __ccgo_ts+2570, 0)
  12474. XFcExprPrint(tls, (*(*struct {
  12475. Fleft uintptr
  12476. Fright uintptr
  12477. })(unsafe.Pointer(expr + 8))).Fleft)
  12478. case int32(_FcOpCeil):
  12479. libc.Xprintf(tls, __ccgo_ts+2577, 0)
  12480. XFcExprPrint(tls, (*(*struct {
  12481. Fleft uintptr
  12482. Fright uintptr
  12483. })(unsafe.Pointer(expr + 8))).Fleft)
  12484. case int32(_FcOpRound):
  12485. libc.Xprintf(tls, __ccgo_ts+2583, 0)
  12486. XFcExprPrint(tls, (*(*struct {
  12487. Fleft uintptr
  12488. Fright uintptr
  12489. })(unsafe.Pointer(expr + 8))).Fleft)
  12490. case int32(_FcOpTrunc):
  12491. libc.Xprintf(tls, __ccgo_ts+2590, 0)
  12492. XFcExprPrint(tls, (*(*struct {
  12493. Fleft uintptr
  12494. Fright uintptr
  12495. })(unsafe.Pointer(expr + 8))).Fleft)
  12496. case int32(_FcOpInvalid):
  12497. libc.Xprintf(tls, __ccgo_ts+2457, 0)
  12498. break
  12499. }
  12500. }
  12501. }
  12502. func XFcTestPrint(tls *libc.TLS, test uintptr) {
  12503. bp := tls.Alloc(16)
  12504. defer tls.Free(16)
  12505. switch (*TFcTest)(unsafe.Pointer(test)).Fkind {
  12506. case int32(_FcMatchPattern):
  12507. libc.Xprintf(tls, __ccgo_ts+2597, 0)
  12508. case int32(_FcMatchFont):
  12509. libc.Xprintf(tls, __ccgo_ts+2606, 0)
  12510. case int32(_FcMatchScan):
  12511. libc.Xprintf(tls, __ccgo_ts+2612, 0)
  12512. case int32(_FcMatchKindEnd):
  12513. /* shouldn't be reached */
  12514. return
  12515. }
  12516. switch (*TFcTest)(unsafe.Pointer(test)).Fqual {
  12517. case int32(_FcQualAny):
  12518. libc.Xprintf(tls, __ccgo_ts+2618, 0)
  12519. case int32(_FcQualAll):
  12520. libc.Xprintf(tls, __ccgo_ts+2623, 0)
  12521. case int32(_FcQualFirst):
  12522. libc.Xprintf(tls, __ccgo_ts+2628, 0)
  12523. case int32(_FcQualNotFirst):
  12524. libc.Xprintf(tls, __ccgo_ts+2635, 0)
  12525. break
  12526. }
  12527. libc.Xprintf(tls, __ccgo_ts+2526, libc.VaList(bp+8, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject)))
  12528. XFcOpPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fop)
  12529. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12530. XFcExprPrint(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  12531. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12532. }
  12533. func XFcEditPrint(tls *libc.TLS, edit uintptr) {
  12534. bp := tls.Alloc(16)
  12535. defer tls.Free(16)
  12536. libc.Xprintf(tls, __ccgo_ts+2646, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fobject)))
  12537. XFcOpPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fop)
  12538. libc.Xprintf(tls, __ccgo_ts+1952, 0)
  12539. XFcExprPrint(tls, (*TFcEdit)(unsafe.Pointer(edit)).Fexpr)
  12540. }
  12541. func XFcRulePrint(tls *libc.TLS, rule uintptr) {
  12542. var last_type TFcRuleType
  12543. var r uintptr
  12544. _, _ = last_type, r
  12545. last_type = int32(_FcRuleUnknown)
  12546. r = rule
  12547. for {
  12548. if !(r != 0) {
  12549. break
  12550. }
  12551. if last_type != (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12552. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12553. case int32(_FcRuleTest):
  12554. libc.Xprintf(tls, __ccgo_ts+2655, 0)
  12555. case int32(_FcRuleEdit):
  12556. libc.Xprintf(tls, __ccgo_ts+2663, 0)
  12557. default:
  12558. break
  12559. }
  12560. last_type = (*TFcRule)(unsafe.Pointer(r)).Ftype1
  12561. }
  12562. libc.Xprintf(tls, __ccgo_ts+2016, 0)
  12563. switch (*TFcRule)(unsafe.Pointer(r)).Ftype1 {
  12564. case int32(_FcRuleTest):
  12565. XFcTestPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  12566. case int32(_FcRuleEdit):
  12567. XFcEditPrint(tls, *(*uintptr)(unsafe.Pointer(r + 16)))
  12568. libc.Xprintf(tls, __ccgo_ts+2671, 0)
  12569. default:
  12570. break
  12571. }
  12572. goto _1
  12573. _1:
  12574. ;
  12575. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  12576. }
  12577. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  12578. }
  12579. func XFcFontSetPrint(tls *libc.TLS, s uintptr) {
  12580. bp := tls.Alloc(32)
  12581. defer tls.Free(32)
  12582. var i int32
  12583. _ = i
  12584. libc.Xprintf(tls, __ccgo_ts+2674, libc.VaList(bp+8, (*TFcFontSet)(unsafe.Pointer(s)).Fnfont, (*TFcFontSet)(unsafe.Pointer(s)).Fsfont))
  12585. i = 0
  12586. for {
  12587. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  12588. break
  12589. }
  12590. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+8, i))
  12591. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  12592. goto _1
  12593. _1:
  12594. ;
  12595. i++
  12596. }
  12597. }
  12598. func XFcInitDebug(tls *libc.TLS) {
  12599. bp := tls.Alloc(16)
  12600. defer tls.Free(16)
  12601. var e uintptr
  12602. _ = e
  12603. if !(XFcDebugVal != 0) {
  12604. e = libc.Xgetenv(tls, __ccgo_ts+2701)
  12605. if e != 0 {
  12606. libc.Xprintf(tls, __ccgo_ts+2710, libc.VaList(bp+8, e))
  12607. XFcDebugVal = libc.Xatoi(tls, e)
  12608. if XFcDebugVal < 0 {
  12609. XFcDebugVal = 0
  12610. }
  12611. }
  12612. }
  12613. }
  12614. /*===---- limits.h - Standard header for integer sizes --------------------===* *
  12615. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  12616. * See https://llvm.org/LICENSE.txt for license information.
  12617. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  12618. *
  12619. \*===----------------------------------------------------------------------===*/
  12620. /*
  12621. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  12622. *
  12623. * @APPLE_LICENSE_HEADER_START@
  12624. *
  12625. * This file contains Original Code and/or Modifications of Original Code
  12626. * as defined in and that are subject to the Apple Public Source License
  12627. * Version 2.0 (the 'License'). You may not use this file except in
  12628. * compliance with the License. Please obtain a copy of the License at
  12629. * http://www.opensource.apple.com/apsl/ and read it before using this
  12630. * file.
  12631. *
  12632. * The Original Code and all software distributed under the License are
  12633. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  12634. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  12635. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  12636. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  12637. * Please see the License for the specific language governing rights and
  12638. * limitations under the License.
  12639. *
  12640. * @APPLE_LICENSE_HEADER_END@
  12641. */
  12642. /*-
  12643. * Copyright (c) 1990, 1993
  12644. * The Regents of the University of California. All rights reserved.
  12645. *
  12646. * Redistribution and use in source and binary forms, with or without
  12647. * modification, are permitted provided that the following conditions
  12648. * are met:
  12649. * 1. Redistributions of source code must retain the above copyright
  12650. * notice, this list of conditions and the following disclaimer.
  12651. * 2. Redistributions in binary form must reproduce the above copyright
  12652. * notice, this list of conditions and the following disclaimer in the
  12653. * documentation and/or other materials provided with the distribution.
  12654. * 3. All advertising materials mentioning features or use of this software
  12655. * must display the following acknowledgement:
  12656. * This product includes software developed by the University of
  12657. * California, Berkeley and its contributors.
  12658. * 4. Neither the name of the University nor the names of its contributors
  12659. * may be used to endorse or promote products derived from this software
  12660. * without specific prior written permission.
  12661. *
  12662. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  12663. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  12664. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  12665. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  12666. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  12667. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  12668. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  12669. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  12670. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  12671. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  12672. * SUCH DAMAGE.
  12673. *
  12674. * @(#)string.h 8.1 (Berkeley) 6/2/93
  12675. */
  12676. /* MT-safe */
  12677. var _FcBoolDefaults = [8]struct {
  12678. Ffield TFcObject
  12679. Fvalue TFcBool
  12680. }{
  12681. 0: {
  12682. Ffield: int32(_FC_HINTING_OBJECT),
  12683. Fvalue: int32(m_FcTrue),
  12684. },
  12685. 1: {
  12686. Ffield: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  12687. },
  12688. 2: {
  12689. Ffield: int32(_FC_AUTOHINT_OBJECT),
  12690. },
  12691. 3: {
  12692. Ffield: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  12693. Fvalue: int32(m_FcTrue),
  12694. },
  12695. 4: {
  12696. Ffield: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  12697. Fvalue: int32(m_FcTrue),
  12698. },
  12699. 5: {
  12700. Ffield: int32(_FC_DECORATIVE_OBJECT),
  12701. },
  12702. 6: {
  12703. Ffield: int32(_FC_SYMBOL_OBJECT),
  12704. },
  12705. 7: {
  12706. Ffield: int32(_FC_VARIABLE_OBJECT),
  12707. },
  12708. }
  12709. func XFcGetDefaultLangs(tls *libc.TLS) (r uintptr) {
  12710. var langs, result uintptr
  12711. var v1 int32
  12712. _, _, _ = langs, result, v1
  12713. goto retry
  12714. retry:
  12715. ;
  12716. result = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  12717. if !(result != 0) {
  12718. result = XFcStrSetCreate(tls)
  12719. langs = libc.Xgetenv(tls, __ccgo_ts+2723)
  12720. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12721. langs = libc.Xgetenv(tls, __ccgo_ts+2731)
  12722. }
  12723. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12724. langs = libc.Xgetenv(tls, __ccgo_ts+2738)
  12725. }
  12726. if !(langs != 0) || !(*(*int8)(unsafe.Pointer(langs)) != 0) {
  12727. langs = libc.Xgetenv(tls, __ccgo_ts+2747)
  12728. }
  12729. if langs != 0 && *(*int8)(unsafe.Pointer(langs)) != 0 {
  12730. if !(XFcStrSetAddLangs(tls, result, langs) != 0) {
  12731. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  12732. }
  12733. } else {
  12734. XFcStrSetAdd(tls, result, __ccgo_ts+2752)
  12735. }
  12736. (*TFcRef)(unsafe.Pointer(result)).Fcount = -libc.Int32FromInt32(1)
  12737. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == libc.UintptrFromInt32(0) {
  12738. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = result
  12739. v1 = libc.Int32FromInt32(m_FcTrue)
  12740. } else {
  12741. v1 = m_FcFalse
  12742. }
  12743. if !(v1 != 0) {
  12744. (*TFcRef)(unsafe.Pointer(result)).Fcount = int32(1)
  12745. XFcStrSetDestroy(tls, result)
  12746. goto retry
  12747. }
  12748. }
  12749. return result
  12750. }
  12751. var _default_lang uintptr /* MT-safe */
  12752. func XFcGetDefaultLang(tls *libc.TLS) (r uintptr) {
  12753. var lang, langs uintptr
  12754. var v1 int32
  12755. _, _, _ = lang, langs, v1
  12756. goto retry
  12757. retry:
  12758. ;
  12759. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  12760. if !(lang != 0) {
  12761. langs = XFcGetDefaultLangs(tls)
  12762. lang = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(langs)).Fstrs)))
  12763. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == libc.UintptrFromInt32(0) {
  12764. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = lang
  12765. v1 = libc.Int32FromInt32(m_FcTrue)
  12766. } else {
  12767. v1 = m_FcFalse
  12768. }
  12769. if !(v1 != 0) {
  12770. libc.Xfree(tls, lang)
  12771. goto retry
  12772. }
  12773. }
  12774. return lang
  12775. }
  12776. var _default_prgname uintptr
  12777. func XFcGetPrgname(tls *libc.TLS) (r uintptr) {
  12778. var prgname, q uintptr
  12779. var v1 int32
  12780. _, _, _ = prgname, q, v1
  12781. goto retry
  12782. retry:
  12783. ;
  12784. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  12785. if !(prgname != 0) {
  12786. q = libc.Xgetprogname(tls)
  12787. if q != 0 {
  12788. prgname = libc.Xstrdup(tls, q)
  12789. } else {
  12790. prgname = libc.Xstrdup(tls, __ccgo_ts+110)
  12791. }
  12792. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == libc.UintptrFromInt32(0) {
  12793. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = prgname
  12794. v1 = libc.Int32FromInt32(m_FcTrue)
  12795. } else {
  12796. v1 = m_FcFalse
  12797. }
  12798. if !(v1 != 0) {
  12799. libc.Xfree(tls, prgname)
  12800. goto retry
  12801. }
  12802. }
  12803. if prgname != 0 && !(*(*TFcChar8)(unsafe.Pointer(prgname)) != 0) {
  12804. return libc.UintptrFromInt32(0)
  12805. }
  12806. return prgname
  12807. }
  12808. func XFcDefaultFini(tls *libc.TLS) {
  12809. var lang, langs, prgname uintptr
  12810. var v1, v3, v5 int32
  12811. var v2, v4, v6 bool
  12812. _, _, _, _, _, _, _, _, _ = lang, langs, prgname, v1, v2, v3, v4, v5, v6
  12813. lang = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang))))
  12814. if v2 = lang != 0; v2 {
  12815. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) == lang {
  12816. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_lang)))) = libc.UintptrFromInt32(0)
  12817. v1 = libc.Int32FromInt32(m_FcTrue)
  12818. } else {
  12819. v1 = m_FcFalse
  12820. }
  12821. }
  12822. if v2 && v1 != 0 {
  12823. libc.Xfree(tls, lang)
  12824. }
  12825. langs = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs))))
  12826. if v4 = langs != 0; v4 {
  12827. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) == langs {
  12828. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xdefault_langs)))) = libc.UintptrFromInt32(0)
  12829. v3 = libc.Int32FromInt32(m_FcTrue)
  12830. } else {
  12831. v3 = m_FcFalse
  12832. }
  12833. }
  12834. if v4 && v3 != 0 {
  12835. (*TFcRef)(unsafe.Pointer(langs)).Fcount = int32(1)
  12836. XFcStrSetDestroy(tls, langs)
  12837. }
  12838. prgname = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname))))
  12839. if v6 = prgname != 0; v6 {
  12840. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) == prgname {
  12841. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_default_prgname)))) = libc.UintptrFromInt32(0)
  12842. v5 = libc.Int32FromInt32(m_FcTrue)
  12843. } else {
  12844. v5 = m_FcFalse
  12845. }
  12846. }
  12847. if v6 && v5 != 0 {
  12848. libc.Xfree(tls, prgname)
  12849. }
  12850. }
  12851. func XFcDefaultSubstitute(tls *libc.TLS, pattern uintptr) {
  12852. bp := tls.Alloc(112)
  12853. defer tls.Free(112)
  12854. var i int32
  12855. var pixelsize float64
  12856. var prgname uintptr
  12857. var _ /* b at bp+96 */ float64
  12858. var _ /* dpi at bp+64 */ float64
  12859. var _ /* e at bp+104 */ float64
  12860. var _ /* iter at bp+0 */ TFcPatternIter
  12861. var _ /* namelang at bp+32 */ TFcValue
  12862. var _ /* r at bp+88 */ uintptr
  12863. var _ /* scale at bp+80 */ float64
  12864. var _ /* size at bp+72 */ float64
  12865. var _ /* v at bp+16 */ TFcValue
  12866. var _ /* v2 at bp+48 */ TFcValue
  12867. _, _, _ = i, pixelsize, prgname
  12868. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WEIGHT_OBJECT)) != 0) {
  12869. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WEIGHT_OBJECT), int32(m_FC_WEIGHT_REGULAR))
  12870. }
  12871. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_SLANT_OBJECT)) != 0) {
  12872. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_SLANT_OBJECT), m_FC_SLANT_ROMAN)
  12873. }
  12874. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_WIDTH_OBJECT)) != 0) {
  12875. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_WIDTH_OBJECT), int32(m_FC_WIDTH_NORMAL))
  12876. }
  12877. i = 0
  12878. for {
  12879. if !(i < int32(libc.Uint64FromInt64(64)/libc.Uint64FromInt64(8))) {
  12880. break
  12881. }
  12882. if !(XFcPatternFindObjectIter(tls, pattern, bp, _FcBoolDefaults[i].Ffield) != 0) {
  12883. XFcPatternObjectAddBool(tls, pattern, _FcBoolDefaults[i].Ffield, _FcBoolDefaults[i].Fvalue)
  12884. }
  12885. goto _1
  12886. _1:
  12887. ;
  12888. i++
  12889. }
  12890. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+72) != int32(_FcResultMatch) {
  12891. if XFcPatternObjectGetRange(tls, pattern, int32(_FC_SIZE_OBJECT), 0, bp+88) == int32(_FcResultMatch) && XFcRangeGetDouble(tls, *(*uintptr)(unsafe.Pointer(bp + 88)), bp+96, bp+104) != 0 {
  12892. *(*float64)(unsafe.Pointer(bp + 72)) = (*(*float64)(unsafe.Pointer(bp + 96)) + *(*float64)(unsafe.Pointer(bp + 104))) * float64(0.5)
  12893. } else {
  12894. *(*float64)(unsafe.Pointer(bp + 72)) = libc.Float64FromFloat64(12)
  12895. }
  12896. }
  12897. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_SCALE_OBJECT), 0, bp+80) != int32(_FcResultMatch) {
  12898. *(*float64)(unsafe.Pointer(bp + 80)) = float64(1)
  12899. }
  12900. if XFcPatternObjectGetDouble(tls, pattern, int32(_FC_DPI_OBJECT), 0, bp+64) != int32(_FcResultMatch) {
  12901. *(*float64)(unsafe.Pointer(bp + 64)) = float64(75)
  12902. }
  12903. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_PIXEL_SIZE_OBJECT)) != 0) {
  12904. XFcPatternObjectDel(tls, pattern, int32(_FC_SCALE_OBJECT))
  12905. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SCALE_OBJECT), *(*float64)(unsafe.Pointer(bp + 80)))
  12906. pixelsize = *(*float64)(unsafe.Pointer(bp + 72)) * *(*float64)(unsafe.Pointer(bp + 80))
  12907. XFcPatternObjectDel(tls, pattern, int32(_FC_DPI_OBJECT))
  12908. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_DPI_OBJECT), *(*float64)(unsafe.Pointer(bp + 64)))
  12909. pixelsize *= *(*float64)(unsafe.Pointer(bp + 64)) / float64(72)
  12910. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_PIXEL_SIZE_OBJECT), pixelsize)
  12911. } else {
  12912. XFcPatternIterGetValue(tls, pattern, bp, 0, bp+16, libc.UintptrFromInt32(0))
  12913. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  12914. *(*float64)(unsafe.Pointer(bp + 72)) = *(*float64)(unsafe.Pointer(bp + 72)) / *(*float64)(unsafe.Pointer(bp + 64)) * float64(72) / *(*float64)(unsafe.Pointer(bp + 80))
  12915. }
  12916. XFcPatternObjectDel(tls, pattern, int32(_FC_SIZE_OBJECT))
  12917. XFcPatternObjectAddDouble(tls, pattern, int32(_FC_SIZE_OBJECT), *(*float64)(unsafe.Pointer(bp + 72)))
  12918. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FONTVERSION_OBJECT)) != 0) {
  12919. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_FONTVERSION_OBJECT), int32(0x7fffffff))
  12920. }
  12921. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_HINT_STYLE_OBJECT)) != 0) {
  12922. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_HINT_STYLE_OBJECT), int32(m_FC_HINT_FULL))
  12923. }
  12924. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_NAMELANG_OBJECT)) != 0) {
  12925. XFcPatternObjectAddString(tls, pattern, int32(_FC_NAMELANG_OBJECT), XFcGetDefaultLang(tls))
  12926. }
  12927. /* shouldn't be failed. */
  12928. XFcPatternObjectGet(tls, pattern, int32(_FC_NAMELANG_OBJECT), 0, bp+32)
  12929. /* Add a fallback to ensure the english name when the requested language
  12930. * isn't available. this would helps for the fonts that have non-English
  12931. * name at the beginning.
  12932. */
  12933. /* Set "en-us" instead of "en" to avoid giving higher score to "en".
  12934. * This is a hack for the case that the orth is not like ll-cc, because,
  12935. * if no namelang isn't explicitly set, it will has something like ll-cc
  12936. * according to current locale. which may causes FcLangDifferentTerritory
  12937. * at FcLangCompare(). thus, the English name is selected so that
  12938. * exact matched "en" has higher score than ll-cc.
  12939. */
  12940. (*(*TFcValue)(unsafe.Pointer(bp + 48))).Ftype1 = int32(_FcTypeString)
  12941. *(*uintptr)(unsafe.Pointer(bp + 48 + 8)) = __ccgo_ts + 2755
  12942. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FAMILYLANG_OBJECT)) != 0) {
  12943. XFcPatternObjectAdd(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  12944. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FAMILYLANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  12945. }
  12946. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_STYLELANG_OBJECT)) != 0) {
  12947. XFcPatternObjectAdd(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  12948. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_STYLELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  12949. }
  12950. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_FULLNAMELANG_OBJECT)) != 0) {
  12951. XFcPatternObjectAdd(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 32)), int32(m_FcTrue))
  12952. XFcPatternObjectAddWithBinding(tls, pattern, int32(_FC_FULLNAMELANG_OBJECT), *(*TFcValue)(unsafe.Pointer(bp + 48)), int32(_FcValueBindingWeak), int32(m_FcTrue))
  12953. }
  12954. if XFcPatternObjectGet(tls, pattern, int32(_FC_PRGNAME_OBJECT), 0, bp+16) == int32(_FcResultNoMatch) {
  12955. prgname = XFcGetPrgname(tls)
  12956. if prgname != 0 {
  12957. XFcPatternObjectAddString(tls, pattern, int32(_FC_PRGNAME_OBJECT), prgname)
  12958. }
  12959. }
  12960. if !(XFcPatternFindObjectIter(tls, pattern, bp, int32(_FC_ORDER_OBJECT)) != 0) {
  12961. XFcPatternObjectAddInteger(tls, pattern, int32(_FC_ORDER_OBJECT), 0)
  12962. }
  12963. }
  12964. const m_S_IFDIR1 = 16384
  12965. const m_S_IFLNK1 = 40960
  12966. const m_S_IFMT3 = 61440
  12967. const m_S_IFREG1 = 32768
  12968. func XFcFileIsDir(tls *libc.TLS, file uintptr) (r TFcBool) {
  12969. bp := tls.Alloc(144)
  12970. defer tls.Free(144)
  12971. var _ /* statb at bp+0 */ Tstat
  12972. if XFcStat(tls, file, bp) != 0 {
  12973. return m_FcFalse
  12974. }
  12975. return libc.BoolInt32(int32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFDIR1))
  12976. }
  12977. func XFcFileIsLink(tls *libc.TLS, file uintptr) (r TFcBool) {
  12978. bp := tls.Alloc(144)
  12979. defer tls.Free(144)
  12980. var _ /* statb at bp+0 */ Tstat
  12981. if libc.Xlstat(tls, file, bp) != 0 {
  12982. return m_FcFalse
  12983. }
  12984. return libc.BoolInt32(int32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFLNK1))
  12985. }
  12986. func XFcFileIsFile(tls *libc.TLS, file uintptr) (r TFcBool) {
  12987. bp := tls.Alloc(144)
  12988. defer tls.Free(144)
  12989. var _ /* statb at bp+0 */ Tstat
  12990. if XFcStat(tls, file, bp) != 0 {
  12991. return m_FcFalse
  12992. }
  12993. return libc.BoolInt32(int32((*(*Tstat)(unsafe.Pointer(bp))).Fst_mode)&libc.Int32FromInt32(m_S_IFMT3) == libc.Int32FromInt32(m_S_IFREG1))
  12994. }
  12995. func _FcFileScanFontConfig(tls *libc.TLS, set uintptr, file uintptr, config uintptr) (r TFcBool) {
  12996. bp := tls.Alloc(32)
  12997. defer tls.Free(32)
  12998. var font, s, sysroot uintptr
  12999. var i, old_nfont int32
  13000. var len1 Tsize_t
  13001. var ret TFcBool
  13002. var _ /* f at bp+0 */ uintptr
  13003. _, _, _, _, _, _, _ = font, i, len1, old_nfont, ret, s, sysroot
  13004. ret = int32(m_FcTrue)
  13005. old_nfont = (*TFcFontSet)(unsafe.Pointer(set)).Fnfont
  13006. sysroot = XFcConfigGetSysRoot(tls, config)
  13007. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13008. libc.Xprintf(tls, __ccgo_ts+2761, libc.VaList(bp+16, file))
  13009. libc.Xfflush(tls, libc.X__stdoutp)
  13010. }
  13011. if !(XFcFreeTypeQueryAll(tls, file, uint32(-libc.Int32FromInt32(1)), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), set) != 0) {
  13012. return m_FcFalse
  13013. }
  13014. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13015. libc.Xprintf(tls, __ccgo_ts+2782, 0)
  13016. }
  13017. i = old_nfont
  13018. for {
  13019. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  13020. break
  13021. }
  13022. font = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  13023. /*
  13024. * Get rid of sysroot here so that targeting scan rule may contains FC_FILE pattern
  13025. * and they should usually expect without sysroot.
  13026. */
  13027. if sysroot != 0 {
  13028. len1 = libc.Xstrlen(tls, sysroot)
  13029. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  13030. if XFcPatternObjectGetString(tls, font, int32(_FC_FILE_OBJECT), 0, bp) == int32(_FcResultMatch) && libc.Xstrncmp(tls, *(*uintptr)(unsafe.Pointer(bp)), sysroot, len1) == 0 {
  13031. s = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp)))
  13032. XFcPatternObjectDel(tls, font, int32(_FC_FILE_OBJECT))
  13033. if int32(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1)))) != int32('/') {
  13034. len1--
  13035. } else {
  13036. if int32(*(*TFcChar8)(unsafe.Pointer(s + uintptr(len1+uint64(1))))) == int32('/') {
  13037. len1++
  13038. }
  13039. }
  13040. XFcPatternObjectAddString(tls, font, int32(_FC_FILE_OBJECT), s+uintptr(len1))
  13041. XFcStrFree(tls, s)
  13042. }
  13043. }
  13044. /*
  13045. * Edit pattern with user-defined rules
  13046. */
  13047. if config != 0 && !(XFcConfigSubstitute(tls, config, font, int32(_FcMatchScan)) != 0) {
  13048. ret = m_FcFalse
  13049. }
  13050. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  13051. libc.Xprintf(tls, __ccgo_ts+2788, 0)
  13052. XFcPatternPrint(tls, font)
  13053. }
  13054. goto _1
  13055. _1:
  13056. ;
  13057. i++
  13058. }
  13059. return ret
  13060. }
  13061. func XFcFileScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, file uintptr, config uintptr) (r TFcBool) {
  13062. var d, sysroot uintptr
  13063. var len1 Tsize_t
  13064. _, _, _ = d, len1, sysroot
  13065. if XFcFileIsDir(tls, file) != 0 {
  13066. sysroot = XFcConfigGetSysRoot(tls, config)
  13067. d = file
  13068. if sysroot != 0 {
  13069. len1 = libc.Xstrlen(tls, sysroot)
  13070. if libc.Xstrncmp(tls, file, sysroot, len1) == 0 {
  13071. if int32(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1)))) != int32('/') {
  13072. len1--
  13073. } else {
  13074. if int32(*(*TFcChar8)(unsafe.Pointer(file + uintptr(len1+uint64(1))))) == int32('/') {
  13075. len1++
  13076. }
  13077. }
  13078. d = file + uintptr(len1)
  13079. }
  13080. }
  13081. return XFcStrSetAdd(tls, dirs, d)
  13082. } else {
  13083. if set != 0 {
  13084. return _FcFileScanFontConfig(tls, set, file, config)
  13085. } else {
  13086. return int32(m_FcTrue)
  13087. }
  13088. }
  13089. return r
  13090. }
  13091. func XFcFileScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, file uintptr, force TFcBool) (r TFcBool) {
  13092. var config uintptr
  13093. var ret TFcBool
  13094. _, _ = config, ret
  13095. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13096. if !(config != 0) {
  13097. return m_FcFalse
  13098. }
  13099. ret = XFcFileScanConfig(tls, set, dirs, file, config)
  13100. XFcConfigDestroy(tls, config)
  13101. return ret
  13102. }
  13103. // C documentation
  13104. //
  13105. // /*
  13106. // * Strcmp helper that takes pointers to pointers, copied from qsort(3) manpage
  13107. // */
  13108. func _cmpstringp(tls *libc.TLS, p1 uintptr, p2 uintptr) (r int32) {
  13109. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(p1)), *(*uintptr)(unsafe.Pointer(p2)))
  13110. }
  13111. func XFcDirScanConfig(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr, force TFcBool, config uintptr) (r TFcBool) {
  13112. bp := tls.Alloc(32)
  13113. defer tls.Free(32)
  13114. var base, d, e, file_prefix, files, s_dir, sysroot, v1 uintptr
  13115. var i int32
  13116. var ret TFcBool
  13117. _, _, _, _, _, _, _, _, _, _ = base, d, e, file_prefix, files, i, ret, s_dir, sysroot, v1
  13118. s_dir = libc.UintptrFromInt32(0)
  13119. sysroot = XFcConfigGetSysRoot(tls, config)
  13120. ret = int32(m_FcTrue)
  13121. if !(force != 0) {
  13122. return m_FcFalse
  13123. }
  13124. if !(set != 0) && !(dirs != 0) {
  13125. return int32(m_FcTrue)
  13126. }
  13127. /* freed below */
  13128. file_prefix = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  13129. if !(file_prefix != 0) {
  13130. ret = m_FcFalse
  13131. goto bail
  13132. }
  13133. libc.X__builtin___strcpy_chk(tls, file_prefix, dir, libc.X__builtin_object_size(tls, file_prefix, int32(1)))
  13134. libc.X__builtin___strcat_chk(tls, file_prefix, __ccgo_ts+1485, libc.X__builtin_object_size(tls, file_prefix, int32(1)))
  13135. base = file_prefix + uintptr(libc.Xstrlen(tls, file_prefix))
  13136. if sysroot != 0 {
  13137. s_dir = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+8, dir, libc.UintptrFromInt32(0)))
  13138. } else {
  13139. s_dir = libc.Xstrdup(tls, dir)
  13140. }
  13141. if !(s_dir != 0) {
  13142. ret = m_FcFalse
  13143. goto bail
  13144. }
  13145. if XFcDebugVal&int32(m_FC_DBG_SCAN) != 0 {
  13146. libc.Xprintf(tls, __ccgo_ts+2809, libc.VaList(bp+8, s_dir))
  13147. }
  13148. d = libc.Xopendir(tls, s_dir)
  13149. if !(d != 0) {
  13150. /* Don't complain about missing directories */
  13151. if *(*int32)(unsafe.Pointer(libc.X__error(tls))) != int32(m_ENOENT) {
  13152. ret = m_FcFalse
  13153. }
  13154. goto bail
  13155. }
  13156. files = XFcStrSetCreateEx(tls, uint32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  13157. if !(files != 0) {
  13158. ret = m_FcFalse
  13159. goto bail1
  13160. }
  13161. for {
  13162. v1 = libc.Xreaddir(tls, d)
  13163. e = v1
  13164. if !(v1 != 0) {
  13165. break
  13166. }
  13167. if int32(*(*int8)(unsafe.Pointer(e + 21))) != int32('.') && libc.Xstrlen(tls, e+21) < uint64(m_FC_MAX_FILE_LEN) {
  13168. libc.X__builtin___strcpy_chk(tls, base, e+21, libc.X__builtin_object_size(tls, base, int32(1)))
  13169. if !(XFcStrSetAdd(tls, files, file_prefix) != 0) {
  13170. ret = m_FcFalse
  13171. goto bail2
  13172. }
  13173. }
  13174. }
  13175. /*
  13176. * Sort files to make things prettier
  13177. */
  13178. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, uint64((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_cmpstringp))
  13179. /*
  13180. * Scan file files to build font patterns
  13181. */
  13182. i = 0
  13183. for {
  13184. if !(i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  13185. break
  13186. }
  13187. XFcFileScanConfig(tls, set, dirs, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), config)
  13188. goto _2
  13189. _2:
  13190. ;
  13191. i++
  13192. }
  13193. goto bail2
  13194. bail2:
  13195. ;
  13196. XFcStrSetDestroy(tls, files)
  13197. goto bail1
  13198. bail1:
  13199. ;
  13200. libc.Xclosedir(tls, d)
  13201. goto bail
  13202. bail:
  13203. ;
  13204. if s_dir != 0 {
  13205. libc.Xfree(tls, s_dir)
  13206. }
  13207. if file_prefix != 0 {
  13208. libc.Xfree(tls, file_prefix)
  13209. }
  13210. return ret
  13211. }
  13212. func XFcDirScan(tls *libc.TLS, set uintptr, dirs uintptr, cache uintptr, blanks uintptr, dir uintptr, force TFcBool) (r TFcBool) {
  13213. var config uintptr
  13214. var ret TFcBool
  13215. _, _ = config, ret
  13216. if cache != 0 || !(force != 0) {
  13217. return m_FcFalse
  13218. }
  13219. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  13220. if !(config != 0) {
  13221. return m_FcFalse
  13222. }
  13223. ret = XFcDirScanConfig(tls, set, dirs, dir, force, config)
  13224. XFcConfigDestroy(tls, config)
  13225. return ret
  13226. }
  13227. // C documentation
  13228. //
  13229. // /*
  13230. // * Scan the specified directory and construct a cache of its contents
  13231. // */
  13232. func XFcDirCacheScan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13233. bp := tls.Alloc(176)
  13234. defer tls.Free(176)
  13235. var cache, d, dirs, set, sysroot uintptr
  13236. var fd int32
  13237. var _ /* dir_stat at bp+0 */ Tstat
  13238. _, _, _, _, _, _ = cache, d, dirs, fd, set, sysroot
  13239. cache = libc.UintptrFromInt32(0)
  13240. sysroot = XFcConfigGetSysRoot(tls, config)
  13241. fd = -int32(1)
  13242. if sysroot != 0 {
  13243. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13244. } else {
  13245. d = libc.Xstrdup(tls, dir)
  13246. }
  13247. if XFcDebugVal&int32(m_FC_DBG_FONTSET) != 0 {
  13248. libc.Xprintf(tls, __ccgo_ts+2827, libc.VaList(bp+152, d))
  13249. }
  13250. if XFcStatChecksum(tls, d, bp) < 0 {
  13251. goto bail
  13252. }
  13253. set = XFcFontSetCreate(tls)
  13254. if !(set != 0) {
  13255. goto bail
  13256. }
  13257. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13258. if !(dirs != 0) {
  13259. goto bail1
  13260. }
  13261. fd = XFcDirCacheLock(tls, dir, config)
  13262. /*
  13263. * Scan the dir
  13264. */
  13265. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13266. if !(XFcDirScanConfig(tls, set, dirs, dir, int32(m_FcTrue), config) != 0) {
  13267. goto bail2
  13268. }
  13269. /*
  13270. * Build the cache object
  13271. */
  13272. cache = XFcDirCacheBuild(tls, set, dir, bp, dirs)
  13273. if !(cache != 0) {
  13274. goto bail2
  13275. }
  13276. /*
  13277. * Write out the cache file, ignoring any troubles
  13278. */
  13279. XFcDirCacheWrite(tls, cache, config)
  13280. goto bail2
  13281. bail2:
  13282. ;
  13283. XFcDirCacheUnlock(tls, fd)
  13284. XFcStrSetDestroy(tls, dirs)
  13285. goto bail1
  13286. bail1:
  13287. ;
  13288. XFcFontSetDestroy(tls, set)
  13289. goto bail
  13290. bail:
  13291. ;
  13292. XFcStrFree(tls, d)
  13293. return cache
  13294. }
  13295. func XFcDirCacheRescan(tls *libc.TLS, dir uintptr, config uintptr) (r uintptr) {
  13296. bp := tls.Alloc(176)
  13297. defer tls.Free(176)
  13298. var cache, d, dirs, new1, sysroot uintptr
  13299. var fd int32
  13300. var _ /* dir_stat at bp+0 */ Tstat
  13301. _, _, _, _, _, _ = cache, d, dirs, fd, new1, sysroot
  13302. new1 = libc.UintptrFromInt32(0)
  13303. d = libc.UintptrFromInt32(0)
  13304. fd = -int32(1)
  13305. config = XFcConfigReference(tls, config)
  13306. if !(config != 0) {
  13307. return libc.UintptrFromInt32(0)
  13308. }
  13309. sysroot = XFcConfigGetSysRoot(tls, config)
  13310. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  13311. if !(cache != 0) {
  13312. goto bail
  13313. }
  13314. if sysroot != 0 {
  13315. d = XFcStrBuildFilename(tls, sysroot, libc.VaList(bp+152, dir, libc.UintptrFromInt32(0)))
  13316. } else {
  13317. d = libc.Xstrdup(tls, dir)
  13318. }
  13319. if XFcStatChecksum(tls, d, bp) < 0 {
  13320. goto bail
  13321. }
  13322. dirs = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  13323. if !(dirs != 0) {
  13324. goto bail
  13325. }
  13326. fd = XFcDirCacheLock(tls, dir, config)
  13327. /*
  13328. * Scan the dir
  13329. */
  13330. /* Do not pass sysroot here. FcDirScanConfig() do take care of it */
  13331. if !(XFcDirScanConfig(tls, libc.UintptrFromInt32(0), dirs, dir, int32(m_FcTrue), config) != 0) {
  13332. goto bail1
  13333. }
  13334. /*
  13335. * Rebuild the cache object
  13336. */
  13337. new1 = XFcDirCacheRebuild(tls, cache, bp, dirs)
  13338. if !(new1 != 0) {
  13339. goto bail1
  13340. }
  13341. XFcDirCacheUnload(tls, cache)
  13342. /*
  13343. * Write out the cache file, ignoring any troubles
  13344. */
  13345. XFcDirCacheWrite(tls, new1, config)
  13346. goto bail1
  13347. bail1:
  13348. ;
  13349. XFcDirCacheUnlock(tls, fd)
  13350. XFcStrSetDestroy(tls, dirs)
  13351. goto bail
  13352. bail:
  13353. ;
  13354. if d != 0 {
  13355. XFcStrFree(tls, d)
  13356. }
  13357. XFcConfigDestroy(tls, config)
  13358. return new1
  13359. }
  13360. // C documentation
  13361. //
  13362. // /*
  13363. // * Read (or construct) the cache for a directory
  13364. // */
  13365. func XFcDirCacheRead(tls *libc.TLS, dir uintptr, force TFcBool, config uintptr) (r uintptr) {
  13366. var cache uintptr
  13367. _ = cache
  13368. cache = libc.UintptrFromInt32(0)
  13369. config = XFcConfigReference(tls, config)
  13370. /* Try to use existing cache file */
  13371. if !(force != 0) {
  13372. cache = XFcDirCacheLoad(tls, dir, config, libc.UintptrFromInt32(0))
  13373. }
  13374. /* Not using existing cache file, construct new cache */
  13375. if !(cache != 0) {
  13376. cache = XFcDirCacheScan(tls, dir, config)
  13377. }
  13378. XFcConfigDestroy(tls, config)
  13379. return cache
  13380. }
  13381. func XFcDirSave(tls *libc.TLS, set uintptr, dirs uintptr, dir uintptr) (r TFcBool) {
  13382. return m_FcFalse /* XXX deprecated */
  13383. }
  13384. const m_FCCAT_FORMAT = "\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\""
  13385. const m_FCLIST_FORMAT = "%{?file{%{file}: }}%{-file{%{=unparse}}}"
  13386. const m_FCMATCH_FORMAT = "%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\""
  13387. const m_PKGKIT_FORMAT = "%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}"
  13388. const m_S_IFDIR2 = 0040000
  13389. const m_S_IFLNK2 = 0120000
  13390. const m_S_IFMT4 = 0170000
  13391. const m_S_IFREG2 = 0100000
  13392. /*
  13393. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  13394. *
  13395. * @APPLE_LICENSE_HEADER_START@
  13396. *
  13397. * This file contains Original Code and/or Modifications of Original Code
  13398. * as defined in and that are subject to the Apple Public Source License
  13399. * Version 2.0 (the 'License'). You may not use this file except in
  13400. * compliance with the License. Please obtain a copy of the License at
  13401. * http://www.opensource.apple.com/apsl/ and read it before using this
  13402. * file.
  13403. *
  13404. * The Original Code and all software distributed under the License are
  13405. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13406. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13407. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13408. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13409. * Please see the License for the specific language governing rights and
  13410. * limitations under the License.
  13411. *
  13412. * @APPLE_LICENSE_HEADER_END@
  13413. */
  13414. /*-
  13415. * Copyright (c) 1990, 1993
  13416. * The Regents of the University of California. All rights reserved.
  13417. *
  13418. * Redistribution and use in source and binary forms, with or without
  13419. * modification, are permitted provided that the following conditions
  13420. * are met:
  13421. * 1. Redistributions of source code must retain the above copyright
  13422. * notice, this list of conditions and the following disclaimer.
  13423. * 2. Redistributions in binary form must reproduce the above copyright
  13424. * notice, this list of conditions and the following disclaimer in the
  13425. * documentation and/or other materials provided with the distribution.
  13426. * 3. All advertising materials mentioning features or use of this software
  13427. * must display the following acknowledgement:
  13428. * This product includes software developed by the University of
  13429. * California, Berkeley and its contributors.
  13430. * 4. Neither the name of the University nor the names of its contributors
  13431. * may be used to endorse or promote products derived from this software
  13432. * without specific prior written permission.
  13433. *
  13434. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13435. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13436. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13437. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13438. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13439. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13440. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13441. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13442. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13443. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13444. * SUCH DAMAGE.
  13445. *
  13446. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  13447. */
  13448. /*
  13449. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  13450. *
  13451. * @APPLE_LICENSE_HEADER_START@
  13452. *
  13453. * This file contains Original Code and/or Modifications of Original Code
  13454. * as defined in and that are subject to the Apple Public Source License
  13455. * Version 2.0 (the 'License'). You may not use this file except in
  13456. * compliance with the License. Please obtain a copy of the License at
  13457. * http://www.opensource.apple.com/apsl/ and read it before using this
  13458. * file.
  13459. *
  13460. * The Original Code and all software distributed under the License are
  13461. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  13462. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  13463. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  13464. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  13465. * Please see the License for the specific language governing rights and
  13466. * limitations under the License.
  13467. *
  13468. * @APPLE_LICENSE_HEADER_END@
  13469. */
  13470. /*-
  13471. * Copyright (c) 1990, 1993
  13472. * The Regents of the University of California. All rights reserved.
  13473. *
  13474. * Redistribution and use in source and binary forms, with or without
  13475. * modification, are permitted provided that the following conditions
  13476. * are met:
  13477. * 1. Redistributions of source code must retain the above copyright
  13478. * notice, this list of conditions and the following disclaimer.
  13479. * 2. Redistributions in binary form must reproduce the above copyright
  13480. * notice, this list of conditions and the following disclaimer in the
  13481. * documentation and/or other materials provided with the distribution.
  13482. * 3. All advertising materials mentioning features or use of this software
  13483. * must display the following acknowledgement:
  13484. * This product includes software developed by the University of
  13485. * California, Berkeley and its contributors.
  13486. * 4. Neither the name of the University nor the names of its contributors
  13487. * may be used to endorse or promote products derived from this software
  13488. * without specific prior written permission.
  13489. *
  13490. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  13491. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  13492. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  13493. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  13494. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  13495. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  13496. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  13497. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  13498. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  13499. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  13500. * SUCH DAMAGE.
  13501. *
  13502. * @(#)string.h 8.1 (Berkeley) 6/2/93
  13503. */
  13504. /*===---- stdarg.h - Variable argument handling ----------------------------===
  13505. *
  13506. * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  13507. * See https://llvm.org/LICENSE.txt for license information.
  13508. * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  13509. *
  13510. *===-----------------------------------------------------------------------===
  13511. */
  13512. /* The language is documented in doc/fcformat.fncs
  13513. * These are the features implemented:
  13514. *
  13515. * simple %{elt}
  13516. * width %width{elt}
  13517. * index %{elt[idx]}
  13518. * name= %{elt=}
  13519. * :name= %{:elt}
  13520. * default %{elt:-word}
  13521. * count %{#elt}
  13522. * subexpr %{{expr}}
  13523. * filter-out %{-elt1,elt2,elt3{expr}}
  13524. * filter-in %{+elt1,elt2,elt3{expr}}
  13525. * conditional %{?elt1,elt2,!elt3{}{}}
  13526. * enumerate %{[]elt1,elt2{expr}}
  13527. * langset langset enumeration using the same syntax
  13528. * builtin %{=blt}
  13529. * convert %{elt|conv1|conv2|conv3}
  13530. *
  13531. * converters:
  13532. * basename FcStrBasename
  13533. * dirname FcStrDirname
  13534. * downcase FcStrDowncase
  13535. * shescape
  13536. * cescape
  13537. * xmlescape
  13538. * delete delete chars
  13539. * escape escape chars
  13540. * translate translate chars
  13541. *
  13542. * builtins:
  13543. * unparse FcNameUnparse
  13544. * fcmatch fc-match default
  13545. * fclist fc-list default
  13546. * fccat fc-cat default
  13547. * pkgkit PackageKit package tag format
  13548. *
  13549. *
  13550. * Some ideas for future syntax extensions:
  13551. *
  13552. * - verbose builtin that is like FcPatternPrint
  13553. * - allow indexing subexprs using '%{[idx]elt1,elt2{subexpr}}'
  13554. * - allow indexing in +, -, ? filtering?
  13555. * - conditional/filtering/deletion on binding (using '(w)'/'(s)'/'(=)' notation)
  13556. */
  13557. func _message(tls *libc.TLS, fmt uintptr, va uintptr) {
  13558. var args Tva_list
  13559. _ = args
  13560. args = va
  13561. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2846, 0)
  13562. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  13563. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+2881, 0)
  13564. _ = args
  13565. }
  13566. type TFcFormatContext = struct {
  13567. Fformat_orig uintptr
  13568. Fformat uintptr
  13569. Fformat_len int32
  13570. Fword uintptr
  13571. Fword_allocated TFcBool
  13572. }
  13573. type T_FcFormatContext = TFcFormatContext
  13574. func _FcFormatContextInit(tls *libc.TLS, c uintptr, format uintptr, scratch uintptr, scratch_len int32) (r TFcBool) {
  13575. var v1 uintptr
  13576. _ = v1
  13577. v1 = format
  13578. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = v1
  13579. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig = v1
  13580. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len = int32(libc.Xstrlen(tls, format))
  13581. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len < scratch_len {
  13582. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = scratch
  13583. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = m_FcFalse
  13584. } else {
  13585. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = libc.Xmalloc(tls, uint64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len+int32(1)))
  13586. (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated = int32(m_FcTrue)
  13587. }
  13588. return libc.BoolInt32((*TFcFormatContext)(unsafe.Pointer(c)).Fword != libc.UintptrFromInt32(0))
  13589. }
  13590. func _FcFormatContextDone(tls *libc.TLS, c uintptr) {
  13591. if c != 0 && (*TFcFormatContext)(unsafe.Pointer(c)).Fword_allocated != 0 {
  13592. libc.Xfree(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  13593. }
  13594. }
  13595. func _consume_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  13596. if int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32(term) {
  13597. return m_FcFalse
  13598. }
  13599. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13600. return int32(m_FcTrue)
  13601. }
  13602. func _expect_char(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  13603. bp := tls.Alloc(32)
  13604. defer tls.Free(32)
  13605. var res TFcBool
  13606. _ = res
  13607. res = _consume_char(tls, c, term)
  13608. if !(res != 0) {
  13609. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == (*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig+uintptr((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_len) {
  13610. _message(tls, __ccgo_ts+2884, libc.VaList(bp+8, int32(term)))
  13611. } else {
  13612. _message(tls, __ccgo_ts+2918, libc.VaList(bp+8, int32(term), int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  13613. }
  13614. }
  13615. return res
  13616. }
  13617. func _FcCharIsPunct(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  13618. if int32(c) < int32('0') {
  13619. return int32(m_FcTrue)
  13620. }
  13621. if int32(c) <= int32('9') {
  13622. return m_FcFalse
  13623. }
  13624. if int32(c) < int32('A') {
  13625. return int32(m_FcTrue)
  13626. }
  13627. if int32(c) <= int32('Z') {
  13628. return m_FcFalse
  13629. }
  13630. if int32(c) < int32('a') {
  13631. return int32(m_FcTrue)
  13632. }
  13633. if int32(c) <= int32('z') {
  13634. return m_FcFalse
  13635. }
  13636. if int32(c) <= int32('~') {
  13637. return int32(m_FcTrue)
  13638. }
  13639. return m_FcFalse
  13640. }
  13641. func _escaped_char(tls *libc.TLS, ch int8) (r int8) {
  13642. switch int32(ch) {
  13643. case int32('a'):
  13644. return int8('\a')
  13645. case int32('b'):
  13646. return int8('\b')
  13647. case int32('f'):
  13648. return int8('\f')
  13649. case int32('n'):
  13650. return int8('\n')
  13651. case int32('r'):
  13652. return int8('\r')
  13653. case int32('t'):
  13654. return int8('\t')
  13655. case int32('v'):
  13656. return int8('\v')
  13657. default:
  13658. return ch
  13659. }
  13660. return r
  13661. }
  13662. func _read_word(tls *libc.TLS, c uintptr) (r TFcBool) {
  13663. bp := tls.Alloc(16)
  13664. defer tls.Free(16)
  13665. var p, v1, v2, v3, v4, v5, v6 uintptr
  13666. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  13667. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  13668. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  13669. if int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  13670. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13671. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  13672. v1 = p
  13673. p++
  13674. v3 = c + 8
  13675. v2 = *(*uintptr)(unsafe.Pointer(v3))
  13676. *(*uintptr)(unsafe.Pointer(v3))++
  13677. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(_escaped_char(tls, int8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  13678. }
  13679. continue
  13680. } else {
  13681. if _FcCharIsPunct(tls, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != 0 {
  13682. break
  13683. }
  13684. }
  13685. v4 = p
  13686. p++
  13687. v6 = c + 8
  13688. v5 = *(*uintptr)(unsafe.Pointer(v6))
  13689. *(*uintptr)(unsafe.Pointer(v6))++
  13690. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  13691. }
  13692. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  13693. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  13694. _message(tls, __ccgo_ts+2938, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  13695. return m_FcFalse
  13696. }
  13697. return int32(m_FcTrue)
  13698. }
  13699. func _read_chars(tls *libc.TLS, c uintptr, term TFcChar8) (r TFcBool) {
  13700. bp := tls.Alloc(16)
  13701. defer tls.Free(16)
  13702. var p, v1, v2, v3, v4, v5, v6 uintptr
  13703. _, _, _, _, _, _, _ = p, v1, v2, v3, v4, v5, v6
  13704. p = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  13705. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') && int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32(term) {
  13706. if int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('\\') {
  13707. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13708. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  13709. v1 = p
  13710. p++
  13711. v3 = c + 8
  13712. v2 = *(*uintptr)(unsafe.Pointer(v3))
  13713. *(*uintptr)(unsafe.Pointer(v3))++
  13714. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(_escaped_char(tls, int8(*(*TFcChar8)(unsafe.Pointer(v2)))))
  13715. }
  13716. continue
  13717. }
  13718. v4 = p
  13719. p++
  13720. v6 = c + 8
  13721. v5 = *(*uintptr)(unsafe.Pointer(v6))
  13722. *(*uintptr)(unsafe.Pointer(v6))++
  13723. *(*TFcChar8)(unsafe.Pointer(v4)) = *(*TFcChar8)(unsafe.Pointer(v5))
  13724. }
  13725. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('\000')
  13726. if p == (*TFcFormatContext)(unsafe.Pointer(c)).Fword {
  13727. _message(tls, __ccgo_ts+2964, libc.VaList(bp+8, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  13728. return m_FcFalse
  13729. }
  13730. return int32(m_FcTrue)
  13731. }
  13732. func _interpret_builtin(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13733. bp := tls.Alloc(16)
  13734. defer tls.Free(16)
  13735. var new_str uintptr
  13736. var ret TFcBool
  13737. _, _ = new_str, ret
  13738. if !(_expect_char(tls, c, uint8('=')) != 0) || !(_read_word(tls, c) != 0) {
  13739. return m_FcFalse
  13740. }
  13741. /* try simple builtins first */
  13742. if 0 != 0 {
  13743. } else {
  13744. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+2994) {
  13745. new_str = XFcNameUnparse(tls, pat)
  13746. ret = int32(m_FcTrue)
  13747. } else {
  13748. ret = m_FcFalse
  13749. }
  13750. }
  13751. if ret != 0 {
  13752. if new_str != 0 {
  13753. XFcStrBufString(tls, buf, new_str)
  13754. XFcStrFree(tls, new_str)
  13755. return int32(m_FcTrue)
  13756. } else {
  13757. return m_FcFalse
  13758. }
  13759. }
  13760. /* now try our custom formats */
  13761. if 0 != 0 {
  13762. } else {
  13763. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3002) {
  13764. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3008, buf)
  13765. } else {
  13766. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3076) {
  13767. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3084, buf)
  13768. } else {
  13769. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3186) {
  13770. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3193, buf)
  13771. } else {
  13772. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3234) {
  13773. ret = _FcPatternFormatToBuf(tls, pat, __ccgo_ts+3241, buf)
  13774. } else {
  13775. ret = m_FcFalse
  13776. }
  13777. }
  13778. }
  13779. }
  13780. }
  13781. if !(ret != 0) {
  13782. _message(tls, __ccgo_ts+3345, libc.VaList(bp+8, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  13783. }
  13784. return ret
  13785. }
  13786. func _interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13787. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _interpret_expr(tls, c, pat, buf, uint8('}')) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  13788. }
  13789. func _maybe_interpret_subexpr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13790. var v1 int32
  13791. _ = v1
  13792. if int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  13793. v1 = _interpret_subexpr(tls, c, pat, buf)
  13794. } else {
  13795. v1 = int32(m_FcTrue)
  13796. }
  13797. return v1
  13798. }
  13799. func _skip_percent(tls *libc.TLS, c uintptr) (r TFcBool) {
  13800. if !(_expect_char(tls, c, uint8('%')) != 0) {
  13801. return m_FcFalse
  13802. }
  13803. /* skip an optional width specifier */
  13804. if libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)) != 0 {
  13805. /* don't care */
  13806. }
  13807. if !(_expect_char(tls, c, uint8('{')) != 0) {
  13808. return m_FcFalse
  13809. }
  13810. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  13811. switch int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  13812. case int32('\\'):
  13813. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  13814. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  13815. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13816. }
  13817. continue
  13818. case int32('{'):
  13819. if !(_skip_subexpr(tls, c) != 0) {
  13820. return m_FcFalse
  13821. }
  13822. continue
  13823. }
  13824. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13825. }
  13826. return _expect_char(tls, c, uint8('}'))
  13827. }
  13828. func _skip_expr(tls *libc.TLS, c uintptr) (r TFcBool) {
  13829. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32('}') {
  13830. switch int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  13831. case int32('\\'):
  13832. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  13833. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  13834. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13835. }
  13836. continue
  13837. case int32('%'):
  13838. if !(_skip_percent(tls, c) != 0) {
  13839. return m_FcFalse
  13840. }
  13841. continue
  13842. }
  13843. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++
  13844. }
  13845. return int32(m_FcTrue)
  13846. }
  13847. func _skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  13848. return libc.BoolInt32(_expect_char(tls, c, uint8('{')) != 0 && _skip_expr(tls, c) != 0 && _expect_char(tls, c, uint8('}')) != 0)
  13849. }
  13850. func _maybe_skip_subexpr(tls *libc.TLS, c uintptr) (r TFcBool) {
  13851. var v1 int32
  13852. _ = v1
  13853. if int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('{') {
  13854. v1 = _skip_subexpr(tls, c)
  13855. } else {
  13856. v1 = int32(m_FcTrue)
  13857. }
  13858. return v1
  13859. }
  13860. func _interpret_filter_in(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13861. var os, subpat uintptr
  13862. _, _ = os, subpat
  13863. if !(_expect_char(tls, c, uint8('+')) != 0) {
  13864. return m_FcFalse
  13865. }
  13866. os = XFcObjectSetCreate(tls)
  13867. if !(os != 0) {
  13868. return m_FcFalse
  13869. }
  13870. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  13871. /* XXX binding */
  13872. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  13873. XFcObjectSetDestroy(tls, os)
  13874. return m_FcFalse
  13875. }
  13876. }
  13877. subpat = XFcPatternFilter(tls, pat, os)
  13878. XFcObjectSetDestroy(tls, os)
  13879. if !(subpat != 0) || !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  13880. return m_FcFalse
  13881. }
  13882. XFcPatternDestroy(tls, subpat)
  13883. return int32(m_FcTrue)
  13884. }
  13885. func _interpret_filter_out(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13886. var subpat uintptr
  13887. _ = subpat
  13888. if !(_expect_char(tls, c, uint8('-')) != 0) {
  13889. return m_FcFalse
  13890. }
  13891. subpat = XFcPatternDuplicate(tls, pat)
  13892. if !(subpat != 0) {
  13893. return m_FcFalse
  13894. }
  13895. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  13896. if !(_read_word(tls, c) != 0) {
  13897. XFcPatternDestroy(tls, subpat)
  13898. return m_FcFalse
  13899. }
  13900. XFcPatternDel(tls, subpat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  13901. }
  13902. if !(_interpret_subexpr(tls, c, subpat, buf) != 0) {
  13903. return m_FcFalse
  13904. }
  13905. XFcPatternDestroy(tls, subpat)
  13906. return int32(m_FcTrue)
  13907. }
  13908. func _interpret_cond(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13909. bp := tls.Alloc(16)
  13910. defer tls.Free(16)
  13911. var negate, pass TFcBool
  13912. var _ /* v at bp+0 */ TFcValue
  13913. _, _ = negate, pass
  13914. if !(_expect_char(tls, c, uint8('?')) != 0) {
  13915. return m_FcFalse
  13916. }
  13917. pass = int32(m_FcTrue)
  13918. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  13919. negate = _consume_char(tls, c, uint8('!'))
  13920. if !(_read_word(tls, c) != 0) {
  13921. return m_FcFalse
  13922. }
  13923. pass = libc.BoolInt32(pass != 0 && negate^libc.BoolInt32(int32(_FcResultMatch) == XFcPatternGet(tls, pat, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, 0, bp)) != 0)
  13924. }
  13925. if pass != 0 {
  13926. if !(_interpret_subexpr(tls, c, pat, buf) != 0) || !(_maybe_skip_subexpr(tls, c) != 0) {
  13927. return m_FcFalse
  13928. }
  13929. } else {
  13930. if !(_skip_subexpr(tls, c) != 0) || !(_maybe_interpret_subexpr(tls, c, pat, buf) != 0) {
  13931. return m_FcFalse
  13932. }
  13933. }
  13934. return int32(m_FcTrue)
  13935. }
  13936. func _interpret_count(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13937. bp := tls.Alloc(96)
  13938. defer tls.Free(96)
  13939. var count int32
  13940. var _ /* buf_static at bp+16 */ [64]TFcChar8
  13941. var _ /* iter at bp+0 */ TFcPatternIter
  13942. _ = count
  13943. if !(_expect_char(tls, c, uint8('#')) != 0) {
  13944. return m_FcFalse
  13945. }
  13946. if !(_read_word(tls, c) != 0) {
  13947. return m_FcFalse
  13948. }
  13949. count = 0
  13950. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 {
  13951. count = XFcPatternIterValueCount(tls, pat, bp)
  13952. }
  13953. libc.X__builtin___snprintf_chk(tls, bp+16, uint64(64), 0, uint64(libc.X__builtin_object_size(tls, bp+16, int32(1))), __ccgo_ts+2470, libc.VaList(bp+88, count))
  13954. XFcStrBufString(tls, buf, bp+16)
  13955. return int32(m_FcTrue)
  13956. }
  13957. func _interpret_enumerate(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  13958. bp := tls.Alloc(32)
  13959. defer tls.Free(32)
  13960. var done, ret TFcBool
  13961. var format_save, lang, lang_strs, os, ss, subpat, v1, v2, v4 uintptr
  13962. var i, idx int32
  13963. var v3 bool
  13964. var _ /* langset at bp+0 */ uintptr
  13965. var _ /* v at bp+8 */ TFcValue
  13966. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = done, format_save, i, idx, lang, lang_strs, os, ret, ss, subpat, v1, v2, v3, v4
  13967. if !(_expect_char(tls, c, uint8('[')) != 0) || !(_expect_char(tls, c, uint8(']')) != 0) {
  13968. return m_FcFalse
  13969. }
  13970. os = XFcObjectSetCreate(tls)
  13971. if !(os != 0) {
  13972. return m_FcFalse
  13973. }
  13974. ret = int32(m_FcTrue)
  13975. for cond := true; cond; cond = _consume_char(tls, c, uint8(',')) != 0 {
  13976. if !(_read_word(tls, c) != 0) || !(XFcObjectSetAdd(tls, os, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0) {
  13977. XFcObjectSetDestroy(tls, os)
  13978. return m_FcFalse
  13979. }
  13980. }
  13981. /* If we have one element and it's of type FcLangSet, we want
  13982. * to enumerate the languages in it. */
  13983. lang_strs = libc.UintptrFromInt32(0)
  13984. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == int32(1) {
  13985. if int32(_FcResultMatch) == XFcPatternGetLangSet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), 0, bp) {
  13986. v1 = XFcLangSetGetLangs(tls, *(*uintptr)(unsafe.Pointer(bp)))
  13987. ss = v1
  13988. if v3 = !(v1 != 0); !v3 {
  13989. v2 = XFcStrListCreate(tls, ss)
  13990. lang_strs = v2
  13991. }
  13992. if v3 || !(v2 != 0) {
  13993. goto bail0
  13994. }
  13995. }
  13996. }
  13997. subpat = XFcPatternDuplicate(tls, pat)
  13998. if !(subpat != 0) {
  13999. goto bail0
  14000. }
  14001. format_save = (*TFcFormatContext)(unsafe.Pointer(c)).Fformat
  14002. idx = 0
  14003. for cond := true; cond; cond = !(done != 0) {
  14004. done = int32(m_FcTrue)
  14005. if lang_strs != 0 {
  14006. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)))
  14007. v4 = XFcStrListNext(tls, lang_strs)
  14008. lang = v4
  14009. if v4 != 0 {
  14010. /* XXX binding? */
  14011. XFcPatternAddString(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)), lang)
  14012. done = m_FcFalse
  14013. }
  14014. } else {
  14015. i = 0
  14016. for {
  14017. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  14018. break
  14019. }
  14020. /* XXX this can be optimized by accessing valuelist linked lists
  14021. * directly and remembering where we were. Most (all) value lists
  14022. * in normal uses are pretty short though (language tags are
  14023. * stored as a LangSet, not separate values.). */
  14024. XFcPatternDel(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  14025. if int32(_FcResultMatch) == XFcPatternGet(tls, pat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), idx, bp+8) {
  14026. /* XXX binding */
  14027. XFcPatternAdd(tls, subpat, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)), *(*TFcValue)(unsafe.Pointer(bp + 8)), m_FcFalse)
  14028. done = m_FcFalse
  14029. }
  14030. goto _5
  14031. _5:
  14032. ;
  14033. i++
  14034. }
  14035. }
  14036. if !(done != 0) {
  14037. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat = format_save
  14038. ret = _interpret_subexpr(tls, c, subpat, buf)
  14039. if !(ret != 0) {
  14040. goto bail
  14041. }
  14042. }
  14043. idx++
  14044. }
  14045. if (*TFcFormatContext)(unsafe.Pointer(c)).Fformat == format_save {
  14046. _skip_subexpr(tls, c)
  14047. }
  14048. goto bail
  14049. bail:
  14050. ;
  14051. XFcPatternDestroy(tls, subpat)
  14052. goto bail0
  14053. bail0:
  14054. ;
  14055. if lang_strs != 0 {
  14056. XFcStrListDone(tls, lang_strs)
  14057. }
  14058. XFcObjectSetDestroy(tls, os)
  14059. return ret
  14060. }
  14061. func _interpret_simple(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14062. bp := tls.Alloc(32)
  14063. defer tls.Free(32)
  14064. var add_colon, add_elt_name TFcBool
  14065. var else_string, orig, v3 uintptr
  14066. var idx int32
  14067. var l TFcValueListPtr
  14068. var _ /* iter at bp+0 */ TFcPatternIter
  14069. _, _, _, _, _, _, _ = add_colon, add_elt_name, else_string, idx, l, orig, v3
  14070. add_colon = m_FcFalse
  14071. add_elt_name = m_FcFalse
  14072. if _consume_char(tls, c, uint8(':')) != 0 {
  14073. add_colon = int32(m_FcTrue)
  14074. }
  14075. if !(_read_word(tls, c) != 0) {
  14076. return m_FcFalse
  14077. }
  14078. idx = -int32(1)
  14079. if _consume_char(tls, c, uint8('[')) != 0 {
  14080. idx = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  14081. if idx < 0 {
  14082. _message(tls, __ccgo_ts+3366, libc.VaList(bp+24, int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat-uintptr(1))-int64((*TFcFormatContext)(unsafe.Pointer(c)).Fformat_orig)+int64(1)))
  14083. return m_FcFalse
  14084. }
  14085. if !(_expect_char(tls, c, uint8(']')) != 0) {
  14086. return m_FcFalse
  14087. }
  14088. }
  14089. if _consume_char(tls, c, uint8('=')) != 0 {
  14090. add_elt_name = int32(m_FcTrue)
  14091. }
  14092. /* modifiers */
  14093. else_string = libc.UintptrFromInt32(0)
  14094. if _consume_char(tls, c, uint8(':')) != 0 {
  14095. /* divert the c->word for now */
  14096. orig = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14097. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = (*TFcFormatContext)(unsafe.Pointer(c)).Fword + uintptr(libc.Xstrlen(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)) + uintptr(1)
  14098. /* for now we just support 'default value' */
  14099. if !(_expect_char(tls, c, uint8('-')) != 0) || !(_read_chars(tls, c, uint8('|')) != 0) {
  14100. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14101. return m_FcFalse
  14102. }
  14103. else_string = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14104. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = orig
  14105. }
  14106. if XFcPatternFindIter(tls, pat, bp, (*TFcFormatContext)(unsafe.Pointer(c)).Fword) != 0 || else_string != 0 {
  14107. l = libc.UintptrFromInt32(0)
  14108. if add_colon != 0 {
  14109. XFcStrBufChar(tls, buf, uint8(':'))
  14110. }
  14111. if add_elt_name != 0 {
  14112. XFcStrBufString(tls, buf, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14113. XFcStrBufChar(tls, buf, uint8('='))
  14114. }
  14115. l = XFcPatternIterGetValues(tls, pat, bp)
  14116. if !(idx != -int32(1)) {
  14117. goto _1
  14118. }
  14119. for l != 0 && idx > 0 {
  14120. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  14121. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  14122. } else {
  14123. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  14124. }
  14125. l = v3
  14126. idx--
  14127. }
  14128. if l != 0 && idx == 0 {
  14129. if !(XFcNameUnparseValue(tls, buf, l+8, libc.UintptrFromInt32(0)) != 0) {
  14130. return m_FcFalse
  14131. }
  14132. } else {
  14133. goto notfound
  14134. }
  14135. goto _2
  14136. _1:
  14137. ;
  14138. if !(l != 0) {
  14139. goto _4
  14140. }
  14141. XFcNameUnparseValueList(tls, buf, l, libc.UintptrFromInt32(0))
  14142. goto _5
  14143. _4:
  14144. ;
  14145. goto notfound
  14146. notfound:
  14147. ;
  14148. if else_string != 0 {
  14149. XFcStrBufString(tls, buf, else_string)
  14150. }
  14151. _5:
  14152. ;
  14153. _2:
  14154. }
  14155. return int32(m_FcTrue)
  14156. }
  14157. func _cescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14158. var v1 uintptr
  14159. _ = v1
  14160. /* XXX escape \n etc? */
  14161. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14162. switch int32(*(*TFcChar8)(unsafe.Pointer(str))) {
  14163. case int32('\\'):
  14164. fallthrough
  14165. case int32('"'):
  14166. XFcStrBufChar(tls, buf, uint8('\\'))
  14167. break
  14168. }
  14169. v1 = str
  14170. str++
  14171. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v1)))
  14172. }
  14173. return int32(m_FcTrue)
  14174. }
  14175. func _shescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14176. XFcStrBufChar(tls, buf, uint8('\''))
  14177. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14178. if int32(*(*TFcChar8)(unsafe.Pointer(str))) == int32('\'') {
  14179. XFcStrBufString(tls, buf, __ccgo_ts+3401)
  14180. } else {
  14181. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  14182. }
  14183. str++
  14184. }
  14185. XFcStrBufChar(tls, buf, uint8('\''))
  14186. return int32(m_FcTrue)
  14187. }
  14188. func _xmlescape(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14189. /* XXX escape \n etc? */
  14190. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14191. switch int32(*(*TFcChar8)(unsafe.Pointer(str))) {
  14192. case int32('&'):
  14193. XFcStrBufString(tls, buf, __ccgo_ts+3406)
  14194. case int32('<'):
  14195. XFcStrBufString(tls, buf, __ccgo_ts+3412)
  14196. case int32('>'):
  14197. XFcStrBufString(tls, buf, __ccgo_ts+3417)
  14198. default:
  14199. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(str)))
  14200. break
  14201. }
  14202. str++
  14203. }
  14204. return int32(m_FcTrue)
  14205. }
  14206. func _delete_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14207. var p uintptr
  14208. _ = p
  14209. /* XXX not UTF-8 aware */
  14210. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  14211. return m_FcFalse
  14212. }
  14213. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14214. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14215. if p != 0 {
  14216. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14217. str = p + uintptr(1)
  14218. } else {
  14219. XFcStrBufString(tls, buf, str)
  14220. break
  14221. }
  14222. }
  14223. return int32(m_FcTrue)
  14224. }
  14225. func _escape_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14226. var p uintptr
  14227. _ = p
  14228. /* XXX not UTF-8 aware */
  14229. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(')')) != 0) || !(_expect_char(tls, c, uint8(')')) != 0) {
  14230. return m_FcFalse
  14231. }
  14232. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14233. p = libc.Xstrpbrk(tls, str, (*TFcFormatContext)(unsafe.Pointer(c)).Fword)
  14234. if p != 0 {
  14235. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14236. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fword)))
  14237. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(p)))
  14238. str = p + uintptr(1)
  14239. } else {
  14240. XFcStrBufString(tls, buf, str)
  14241. break
  14242. }
  14243. }
  14244. return int32(m_FcTrue)
  14245. }
  14246. func _translate_chars(tls *libc.TLS, c uintptr, str uintptr, buf uintptr) (r TFcBool) {
  14247. var from, p, to uintptr
  14248. var from_len, i, to_len, v1 int32
  14249. var repeat int8
  14250. _, _, _, _, _, _, _, _ = from, from_len, i, p, repeat, to, to_len, v1
  14251. /* XXX not UTF-8 aware */
  14252. if !(_expect_char(tls, c, uint8('(')) != 0) || !(_read_chars(tls, c, uint8(',')) != 0) || !(_expect_char(tls, c, uint8(',')) != 0) {
  14253. return m_FcFalse
  14254. }
  14255. from = (*TFcFormatContext)(unsafe.Pointer(c)).Fword
  14256. from_len = int32(libc.Xstrlen(tls, from))
  14257. to = from + uintptr(from_len) + uintptr(1)
  14258. /* hack: we temporarily divert c->word */
  14259. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = to
  14260. if !(_read_chars(tls, c, uint8(')')) != 0) {
  14261. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  14262. return m_FcFalse
  14263. }
  14264. (*TFcFormatContext)(unsafe.Pointer(c)).Fword = from
  14265. to_len = int32(libc.Xstrlen(tls, to))
  14266. repeat = *(*int8)(unsafe.Pointer(to + uintptr(to_len-int32(1))))
  14267. if !(_expect_char(tls, c, uint8(')')) != 0) {
  14268. return m_FcFalse
  14269. }
  14270. for *(*TFcChar8)(unsafe.Pointer(str)) != 0 {
  14271. p = libc.Xstrpbrk(tls, str, from)
  14272. if p != 0 {
  14273. XFcStrBufData(tls, buf, str, int32(int64(p)-int64(str)))
  14274. i = int32(int64(libc.Xstrchr(tls, from, int32(*(*TFcChar8)(unsafe.Pointer(p))))) - int64(from))
  14275. if i < to_len {
  14276. v1 = int32(*(*int8)(unsafe.Pointer(to + uintptr(i))))
  14277. } else {
  14278. v1 = int32(repeat)
  14279. }
  14280. XFcStrBufChar(tls, buf, uint8(v1))
  14281. str = p + uintptr(1)
  14282. } else {
  14283. XFcStrBufString(tls, buf, str)
  14284. break
  14285. }
  14286. }
  14287. return int32(m_FcTrue)
  14288. }
  14289. func _interpret_convert(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  14290. bp := tls.Alloc(8368)
  14291. defer tls.Free(8368)
  14292. var new_str, str uintptr
  14293. var ret TFcBool
  14294. var _ /* buf_static at bp+152 */ [8192]TFcChar8
  14295. var _ /* new_buf at bp+0 */ TFcStrBuf
  14296. _, _, _ = new_str, ret, str
  14297. if !(_expect_char(tls, c, uint8('|')) != 0) || !(_read_word(tls, c) != 0) {
  14298. return m_FcFalse
  14299. }
  14300. /* prepare the buffer */
  14301. XFcStrBufChar(tls, buf, uint8('\000'))
  14302. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14303. return m_FcFalse
  14304. }
  14305. str = (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(start)
  14306. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = start
  14307. /* try simple converters first */
  14308. if 0 != 0 {
  14309. } else {
  14310. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3422) {
  14311. new_str = XFcStrDowncase(tls, str)
  14312. ret = int32(m_FcTrue)
  14313. } else {
  14314. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3431) {
  14315. new_str = XFcStrBasename(tls, str)
  14316. ret = int32(m_FcTrue)
  14317. } else {
  14318. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3440) {
  14319. new_str = XFcStrDirname(tls, str)
  14320. ret = int32(m_FcTrue)
  14321. } else {
  14322. ret = m_FcFalse
  14323. }
  14324. }
  14325. }
  14326. }
  14327. if ret != 0 {
  14328. if new_str != 0 {
  14329. XFcStrBufString(tls, buf, new_str)
  14330. XFcStrFree(tls, new_str)
  14331. return int32(m_FcTrue)
  14332. } else {
  14333. return m_FcFalse
  14334. }
  14335. }
  14336. XFcStrBufInit(tls, bp, bp+152, int32(8192))
  14337. /* now try our custom converters */
  14338. if 0 != 0 {
  14339. } else {
  14340. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3448) {
  14341. ret = _cescape(tls, c, str, bp)
  14342. } else {
  14343. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3456) {
  14344. ret = _shescape(tls, c, str, bp)
  14345. } else {
  14346. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3465) {
  14347. ret = _xmlescape(tls, c, str, bp)
  14348. } else {
  14349. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3475) {
  14350. ret = _delete_chars(tls, c, str, bp)
  14351. } else {
  14352. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3482) {
  14353. ret = _escape_chars(tls, c, str, bp)
  14354. } else {
  14355. if 0 == libc.Xstrcmp(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fword, __ccgo_ts+3489) {
  14356. ret = _translate_chars(tls, c, str, bp)
  14357. } else {
  14358. ret = m_FcFalse
  14359. }
  14360. }
  14361. }
  14362. }
  14363. }
  14364. }
  14365. }
  14366. if ret != 0 {
  14367. XFcStrBufChar(tls, bp, uint8('\000'))
  14368. XFcStrBufString(tls, buf, (*(*TFcStrBuf)(unsafe.Pointer(bp))).Fbuf)
  14369. } else {
  14370. _message(tls, __ccgo_ts+3499, libc.VaList(bp+8352, (*TFcFormatContext)(unsafe.Pointer(c)).Fword))
  14371. }
  14372. XFcStrBufDestroy(tls, bp)
  14373. return ret
  14374. }
  14375. func _maybe_interpret_converts(tls *libc.TLS, c uintptr, buf uintptr, start int32) (r TFcBool) {
  14376. for int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) == int32('|') {
  14377. if !(_interpret_convert(tls, c, buf, start) != 0) {
  14378. return m_FcFalse
  14379. }
  14380. }
  14381. return int32(m_FcTrue)
  14382. }
  14383. func _align_to_width(tls *libc.TLS, buf uintptr, start int32, width int32) (r TFcBool) {
  14384. var len1, old_len, v1, v2 int32
  14385. _, _, _, _ = len1, old_len, v1, v2
  14386. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14387. return m_FcFalse
  14388. }
  14389. len1 = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 - start
  14390. if len1 < -width {
  14391. /* left align */
  14392. for {
  14393. v1 = len1
  14394. len1++
  14395. if !(v1 < -width) {
  14396. break
  14397. }
  14398. XFcStrBufChar(tls, buf, uint8(' '))
  14399. }
  14400. } else {
  14401. if len1 < width {
  14402. old_len = len1
  14403. /* right align */
  14404. for {
  14405. v2 = len1
  14406. len1++
  14407. if !(v2 < width) {
  14408. break
  14409. }
  14410. XFcStrBufChar(tls, buf, uint8(' '))
  14411. }
  14412. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  14413. return m_FcFalse
  14414. }
  14415. len1 = old_len
  14416. libc.X__builtin___memmove_chk(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), uint64(len1), uint64(libc.X__builtin_object_size(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(len1), 0)))
  14417. libc.X__builtin___memset_chk(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), int32(' '), uint64(width-len1), uint64(libc.X__builtin_object_size(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf+uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1)-uintptr(width), 0)))
  14418. }
  14419. }
  14420. return libc.BoolInt32(!((*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0))
  14421. }
  14422. func _interpret_percent(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr) (r TFcBool) {
  14423. var ret TFcBool
  14424. var start, width int32
  14425. _, _, _ = ret, start, width
  14426. if !(_expect_char(tls, c, uint8('%')) != 0) {
  14427. return m_FcFalse
  14428. }
  14429. if _consume_char(tls, c, uint8('%')) != 0 { /* "%%" */
  14430. XFcStrBufChar(tls, buf, uint8('%'))
  14431. return int32(m_FcTrue)
  14432. }
  14433. /* parse an optional width specifier */
  14434. width = int32(libc.Xstrtol(tls, (*TFcFormatContext)(unsafe.Pointer(c)).Fformat, c+8, int32(10)))
  14435. if !(_expect_char(tls, c, uint8('{')) != 0) {
  14436. return m_FcFalse
  14437. }
  14438. start = (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1
  14439. switch int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14440. case int32('='):
  14441. ret = _interpret_builtin(tls, c, pat, buf)
  14442. case int32('{'):
  14443. ret = _interpret_subexpr(tls, c, pat, buf)
  14444. case int32('+'):
  14445. ret = _interpret_filter_in(tls, c, pat, buf)
  14446. case int32('-'):
  14447. ret = _interpret_filter_out(tls, c, pat, buf)
  14448. case int32('?'):
  14449. ret = _interpret_cond(tls, c, pat, buf)
  14450. case int32('#'):
  14451. ret = _interpret_count(tls, c, pat, buf)
  14452. case int32('['):
  14453. ret = _interpret_enumerate(tls, c, pat, buf)
  14454. default:
  14455. ret = _interpret_simple(tls, c, pat, buf)
  14456. break
  14457. }
  14458. 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)
  14459. }
  14460. func _interpret_expr(tls *libc.TLS, c uintptr, pat uintptr, buf uintptr, term TFcChar8) (r TFcBool) {
  14461. var v1, v2, v3, v4 uintptr
  14462. _, _, _, _ = v1, v2, v3, v4
  14463. for *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 && int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) != int32(term) {
  14464. switch int32(*(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat))) {
  14465. case int32('\\'):
  14466. (*TFcFormatContext)(unsafe.Pointer(c)).Fformat++ /* skip over '\\' */
  14467. if *(*TFcChar8)(unsafe.Pointer((*TFcFormatContext)(unsafe.Pointer(c)).Fformat)) != 0 {
  14468. v2 = c + 8
  14469. v1 = *(*uintptr)(unsafe.Pointer(v2))
  14470. *(*uintptr)(unsafe.Pointer(v2))++
  14471. XFcStrBufChar(tls, buf, uint8(_escaped_char(tls, int8(*(*TFcChar8)(unsafe.Pointer(v1))))))
  14472. }
  14473. continue
  14474. case int32('%'):
  14475. if !(_interpret_percent(tls, c, pat, buf) != 0) {
  14476. return m_FcFalse
  14477. }
  14478. continue
  14479. }
  14480. v4 = c + 8
  14481. v3 = *(*uintptr)(unsafe.Pointer(v4))
  14482. *(*uintptr)(unsafe.Pointer(v4))++
  14483. XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v3)))
  14484. }
  14485. return int32(m_FcTrue)
  14486. }
  14487. func _FcPatternFormatToBuf(tls *libc.TLS, pat uintptr, format uintptr, buf uintptr) (r TFcBool) {
  14488. bp := tls.Alloc(1072)
  14489. defer tls.Free(1072)
  14490. var ret TFcBool
  14491. var _ /* c at bp+0 */ TFcFormatContext
  14492. var _ /* word_static at bp+40 */ [1024]TFcChar8
  14493. _ = ret
  14494. if !(_FcFormatContextInit(tls, bp, format, bp+40, int32(1024)) != 0) {
  14495. return m_FcFalse
  14496. }
  14497. ret = _interpret_expr(tls, bp, pat, buf, uint8('\000'))
  14498. _FcFormatContextDone(tls, bp)
  14499. return ret
  14500. }
  14501. func XFcPatternFormat(tls *libc.TLS, pat uintptr, format uintptr) (r uintptr) {
  14502. bp := tls.Alloc(7328)
  14503. defer tls.Free(7328)
  14504. var alloced, v1 uintptr
  14505. var ret TFcBool
  14506. var _ /* buf at bp+0 */ TFcStrBuf
  14507. var _ /* buf_static at bp+152 */ [7168]TFcChar8
  14508. _, _, _ = alloced, ret, v1
  14509. alloced = libc.UintptrFromInt32(0)
  14510. if !(pat != 0) {
  14511. v1 = XFcPatternCreate(tls)
  14512. pat = v1
  14513. alloced = v1
  14514. }
  14515. XFcStrBufInit(tls, bp, bp+152, int32(7168))
  14516. ret = _FcPatternFormatToBuf(tls, pat, format, bp)
  14517. if alloced != 0 {
  14518. XFcPatternDestroy(tls, alloced)
  14519. }
  14520. if ret != 0 {
  14521. return XFcStrBufDone(tls, bp)
  14522. } else {
  14523. XFcStrBufDestroy(tls, bp)
  14524. return libc.UintptrFromInt32(0)
  14525. }
  14526. return r
  14527. }
  14528. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14529. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_1 = "DEPRECATED_ATTRIBUTE"
  14530. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14531. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14532. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14533. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14534. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14535. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14536. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14537. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14538. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14539. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14540. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14541. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  14542. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  14543. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  14544. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14545. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14546. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14547. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14548. const m_AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14549. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14550. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14551. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14552. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14553. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14554. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14555. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14556. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14557. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14558. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14559. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14560. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14561. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14562. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14563. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14564. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14565. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14566. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14567. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14568. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14569. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14570. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14571. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14572. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14573. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14574. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14575. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14576. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14577. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14578. const m_AVAILABLE_MAC_OS_X_VERSION_10_10_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14579. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14580. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14581. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14582. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14583. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14584. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14585. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14586. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14587. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14588. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14589. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14590. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14591. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14592. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14593. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14594. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14595. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14596. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14597. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14598. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14599. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14600. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14601. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14602. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14603. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14604. const m_AVAILABLE_MAC_OS_X_VERSION_10_11_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14605. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14606. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14607. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14608. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14609. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14610. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14611. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14612. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14613. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14614. const m_AVAILABLE_MAC_OS_X_VERSION_10_12_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14615. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14616. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14617. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14618. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14619. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14620. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14621. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14622. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14623. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14624. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14625. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14626. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14627. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_2 = "DEPRECATED_ATTRIBUTE"
  14628. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  14629. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  14630. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14631. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14632. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14633. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14634. const m_AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14635. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14636. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14637. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14638. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14639. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14640. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14641. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14642. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14643. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14644. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14645. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14646. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14647. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_3 = "DEPRECATED_ATTRIBUTE"
  14648. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  14649. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14650. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14651. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14652. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14653. const m_AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14654. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14655. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14656. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14657. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14658. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14659. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14660. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14661. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14662. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14663. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14664. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14665. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14666. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_4 = "DEPRECATED_ATTRIBUTE"
  14667. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14668. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14669. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14670. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14671. const m_AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14672. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14673. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14674. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14675. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14676. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14677. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14678. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14679. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14680. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14681. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14682. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14683. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14684. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 = "DEPRECATED_ATTRIBUTE"
  14685. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14686. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14687. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14688. const m_AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14689. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14690. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14691. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14692. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14693. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14694. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14695. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14696. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14697. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14698. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14699. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14700. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14701. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_6 = "DEPRECATED_ATTRIBUTE"
  14702. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14703. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14704. const m_AVAILABLE_MAC_OS_X_VERSION_10_5_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14705. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14706. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14707. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14708. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14709. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14710. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14711. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14712. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14713. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14714. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14715. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14716. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14717. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_13 = "DEPRECATED_ATTRIBUTE"
  14718. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_7 = "DEPRECATED_ATTRIBUTE"
  14719. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14720. const m_AVAILABLE_MAC_OS_X_VERSION_10_6_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14721. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14722. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14723. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14724. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14725. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14726. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14727. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14728. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14729. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14730. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14731. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14732. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14733. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_8 = "DEPRECATED_ATTRIBUTE"
  14734. const m_AVAILABLE_MAC_OS_X_VERSION_10_7_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14735. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14736. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14737. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14738. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14739. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14740. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14741. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14742. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14743. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14744. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14745. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14746. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14747. const m_AVAILABLE_MAC_OS_X_VERSION_10_8_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_9 = "DEPRECATED_ATTRIBUTE"
  14748. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED = "DEPRECATED_ATTRIBUTE"
  14749. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10 = "DEPRECATED_ATTRIBUTE"
  14750. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_2 = "DEPRECATED_ATTRIBUTE"
  14751. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_3 = "DEPRECATED_ATTRIBUTE"
  14752. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11 = "DEPRECATED_ATTRIBUTE"
  14753. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_2 = "DEPRECATED_ATTRIBUTE"
  14754. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_3 = "DEPRECATED_ATTRIBUTE"
  14755. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_4 = "DEPRECATED_ATTRIBUTE"
  14756. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12 = "DEPRECATED_ATTRIBUTE"
  14757. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_1 = "DEPRECATED_ATTRIBUTE"
  14758. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_2 = "DEPRECATED_ATTRIBUTE"
  14759. const m_AVAILABLE_MAC_OS_X_VERSION_10_9_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_4 = "DEPRECATED_ATTRIBUTE"
  14760. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X1 = 500
  14761. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X2 = 1000
  14762. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X3 = 1667
  14763. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_X4 = 2333
  14764. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y1 = 400
  14765. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y2 = 275
  14766. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y3 = 275
  14767. const m_CFF_CONFIG_OPTION_DARKENING_PARAMETER_Y4 = 0
  14768. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_0_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14769. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_10_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14770. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_11_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14771. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_12_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14772. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_13_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14773. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_14_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14774. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_1_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14775. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_2_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14776. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_3_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14777. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_4_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14778. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14779. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_6_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14780. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_7_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14781. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_8_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14782. const m_DEPRECATED_IN_MAC_OS_X_VERSION_10_9_AND_LATER = "DEPRECATED_ATTRIBUTE"
  14783. const m_FC_ENCODING_MAC_ROMAN = "MACINTOSH"
  14784. const m_FREETYPE_MAJOR = 2
  14785. const m_FREETYPE_MINOR = 10
  14786. const m_FREETYPE_PATCH = 4
  14787. const m_FT_ADVANCE_FLAG_FAST_ONLY = 0x20000000
  14788. const m_FT_AUTOHINTER_H = "FT_DRIVER_H"
  14789. const m_FT_CACHE_CHARMAP_H = "FT_CACHE_H"
  14790. const m_FT_CACHE_IMAGE_H = "FT_CACHE_H"
  14791. const m_FT_CACHE_INTERNAL_CACHE_H = "FT_CACHE_H"
  14792. const m_FT_CACHE_INTERNAL_GLYPH_H = "FT_CACHE_H"
  14793. const m_FT_CACHE_INTERNAL_IMAGE_H = "FT_CACHE_H"
  14794. const m_FT_CACHE_INTERNAL_MANAGER_H = "FT_CACHE_H"
  14795. const m_FT_CACHE_INTERNAL_MRU_H = "FT_CACHE_H"
  14796. const m_FT_CACHE_INTERNAL_SBITS_H = "FT_CACHE_H"
  14797. const m_FT_CACHE_MANAGER_H = "FT_CACHE_H"
  14798. const m_FT_CACHE_SMALL_BITMAPS_H = "FT_CACHE_H"
  14799. const m_FT_CFF_DRIVER_H = "FT_DRIVER_H"
  14800. const m_FT_CHAR_BIT = "CHAR_BIT"
  14801. const m_FT_CURVE_TAG_CONIC = 0x00
  14802. const m_FT_CURVE_TAG_CUBIC = 0x02
  14803. const m_FT_CURVE_TAG_HAS_SCANMODE = 0x04
  14804. const m_FT_CURVE_TAG_ON = 0x01
  14805. const m_FT_CURVE_TAG_TOUCH_X = 0x08
  14806. const m_FT_CURVE_TAG_TOUCH_Y = 0x10
  14807. const m_FT_Curve_Tag_Conic = "FT_CURVE_TAG_CONIC"
  14808. const m_FT_Curve_Tag_Cubic = "FT_CURVE_TAG_CUBIC"
  14809. const m_FT_Curve_Tag_On = "FT_CURVE_TAG_ON"
  14810. const m_FT_Curve_Tag_Touch_X = "FT_CURVE_TAG_TOUCH_X"
  14811. const m_FT_Curve_Tag_Touch_Y = "FT_CURVE_TAG_TOUCH_Y"
  14812. const m_FT_FILE = "FILE"
  14813. const m_FT_FSTYPE_BITMAP_EMBEDDING_ONLY = 0x0200
  14814. const m_FT_FSTYPE_EDITABLE_EMBEDDING = 0x0008
  14815. const m_FT_FSTYPE_INSTALLABLE_EMBEDDING = 0x0000
  14816. const m_FT_FSTYPE_NO_SUBSETTING = 0x0100
  14817. const m_FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING = 0x0004
  14818. const m_FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING = 0x0002
  14819. const m_FT_INT64 = "long"
  14820. const m_FT_INT_MAX = "INT_MAX"
  14821. const m_FT_INT_MIN = "INT_MIN"
  14822. const m_FT_LOAD_DEFAULT = 0x0
  14823. const m_FT_LONG_MAX = "LONG_MAX"
  14824. const m_FT_LONG_MIN = "LONG_MIN"
  14825. const m_FT_MAX_MODULES = 32
  14826. const m_FT_OPEN_DRIVER = 0x8
  14827. const m_FT_OPEN_MEMORY = 0x1
  14828. const m_FT_OPEN_PARAMS = 0x10
  14829. const m_FT_OPEN_PATHNAME = 0x4
  14830. const m_FT_OPEN_STREAM = 0x2
  14831. const m_FT_OUTLINE_CONTOURS_MAX = "SHRT_MAX"
  14832. const m_FT_OUTLINE_EVEN_ODD_FILL = 0x2
  14833. const m_FT_OUTLINE_HIGH_PRECISION = 0x100
  14834. const m_FT_OUTLINE_IGNORE_DROPOUTS = 0x8
  14835. const m_FT_OUTLINE_INCLUDE_STUBS = 0x20
  14836. const m_FT_OUTLINE_NONE = 0x0
  14837. const m_FT_OUTLINE_OVERLAP = 0x40
  14838. const m_FT_OUTLINE_OWNER = 0x1
  14839. const m_FT_OUTLINE_POINTS_MAX = "SHRT_MAX"
  14840. const m_FT_OUTLINE_REVERSE_FILL = 0x4
  14841. const m_FT_OUTLINE_SINGLE_PASS = 0x200
  14842. const m_FT_OUTLINE_SMART_DROPOUTS = 0x10
  14843. const m_FT_Outline_ConicTo_Func = "FT_Outline_ConicToFunc"
  14844. const m_FT_Outline_CubicTo_Func = "FT_Outline_CubicToFunc"
  14845. const m_FT_Outline_LineTo_Func = "FT_Outline_LineToFunc"
  14846. const m_FT_Outline_MoveTo_Func = "FT_Outline_MoveToFunc"
  14847. const m_FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY"
  14848. const m_FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY = "FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY"
  14849. const m_FT_PCF_DRIVER_H = "FT_DRIVER_H"
  14850. const m_FT_RASTER_FLAG_AA = 0x1
  14851. const m_FT_RASTER_FLAG_CLIP = 0x4
  14852. const m_FT_RASTER_FLAG_DEFAULT = 0x0
  14853. const m_FT_RASTER_FLAG_DIRECT = 0x2
  14854. const m_FT_RENDER_POOL_SIZE = 16384
  14855. const m_FT_Raster_Done_Func = "FT_Raster_DoneFunc"
  14856. const m_FT_Raster_New_Func = "FT_Raster_NewFunc"
  14857. const m_FT_Raster_Render_Func = "FT_Raster_RenderFunc"
  14858. const m_FT_Raster_Reset_Func = "FT_Raster_ResetFunc"
  14859. const m_FT_Raster_Set_Mode_Func = "FT_Raster_SetModeFunc"
  14860. const m_FT_Raster_Span_Func = "FT_SpanFunc"
  14861. const m_FT_SUBGLYPH_FLAG_2X2 = 0x80
  14862. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_WORDS = 1
  14863. const m_FT_SUBGLYPH_FLAG_ARGS_ARE_XY_VALUES = 2
  14864. const m_FT_SUBGLYPH_FLAG_ROUND_XY_TO_GRID = 4
  14865. const m_FT_SUBGLYPH_FLAG_SCALE = 8
  14866. const m_FT_SUBGLYPH_FLAG_USE_MY_METRICS = 0x200
  14867. const m_FT_SUBGLYPH_FLAG_XY_SCALE = 0x40
  14868. const m_FT_TRUETYPE_DRIVER_H = "FT_DRIVER_H"
  14869. const m_FT_UINT_MAX = "UINT_MAX"
  14870. const m_FT_ULONG_MAX = "ULONG_MAX"
  14871. const m_FT_USHORT_MAX = "USHRT_MAX"
  14872. const m_FT_VAR_AXIS_FLAG_HIDDEN = 1
  14873. const m_FT_XFREE86_H = "FT_FONT_FORMATS_H"
  14874. const m_MAC_OS_X_VERSION_MAX_ALLOWED = "MAC_OS_VERSION_14_0"
  14875. const m_MAC_OS_X_VERSION_MIN_REQUIRED = "__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__"
  14876. const m_OTLAYOUT_HEAD = "otlayout:"
  14877. const m_OTLAYOUT_HEAD_LEN = 9
  14878. const m_OTLAYOUT_ID_LEN = 4
  14879. const m_T1_MAX_CHARSTRINGS_OPERANDS = 256
  14880. const m_T1_MAX_DICT_DEPTH = 5
  14881. const m_T1_MAX_MM_AXIS = 4
  14882. const m_T1_MAX_MM_DESIGNS = 16
  14883. const m_T1_MAX_MM_MAP_POINTS = 20
  14884. const m_T1_MAX_SUBRS_CALLS = 16
  14885. const m_TT_ADOBE_ID_CUSTOM = 2
  14886. const m_TT_ADOBE_ID_EXPERT = 1
  14887. const m_TT_ADOBE_ID_LATIN_1 = 3
  14888. const m_TT_ADOBE_ID_STANDARD = 0
  14889. const m_TT_APPLE_ID_DEFAULT = 0
  14890. const m_TT_APPLE_ID_FULL_UNICODE = 6
  14891. const m_TT_APPLE_ID_ISO_10646 = 2
  14892. const m_TT_APPLE_ID_UNICODE_1_1 = 1
  14893. const m_TT_APPLE_ID_UNICODE_2_0 = 3
  14894. const m_TT_APPLE_ID_UNICODE_32 = 4
  14895. const m_TT_APPLE_ID_VARIANT_SELECTOR = 5
  14896. const m_TT_CONFIG_OPTION_MAX_RUNNABLE_OPCODES = 1000000
  14897. const m_TT_CONFIG_OPTION_SUBPIXEL_HINTING = 2
  14898. const m_TT_ENCODING_DONT_CARE = 65535
  14899. const m_TT_ISO_ID_10646 = 1
  14900. const m_TT_ISO_ID_7BIT_ASCII = 0
  14901. const m_TT_ISO_ID_8859_1 = 2
  14902. const m_TT_LANGUAGE_DONT_CARE = 65535
  14903. const m_TT_MAC_ID_ARABIC = 4
  14904. const m_TT_MAC_ID_ARMENIAN = 24
  14905. const m_TT_MAC_ID_BENGALI = 13
  14906. const m_TT_MAC_ID_BURMESE = 19
  14907. const m_TT_MAC_ID_DEVANAGARI = 9
  14908. const m_TT_MAC_ID_GEEZ = 28
  14909. const m_TT_MAC_ID_GEORGIAN = 23
  14910. const m_TT_MAC_ID_GREEK = 6
  14911. const m_TT_MAC_ID_GUJARATI = 11
  14912. const m_TT_MAC_ID_GURMUKHI = 10
  14913. const m_TT_MAC_ID_HEBREW = 5
  14914. const m_TT_MAC_ID_JAPANESE = 1
  14915. const m_TT_MAC_ID_KANNADA = 16
  14916. const m_TT_MAC_ID_KHMER = 20
  14917. const m_TT_MAC_ID_KOREAN = 3
  14918. const m_TT_MAC_ID_LAOTIAN = 22
  14919. const m_TT_MAC_ID_MALAYALAM = 17
  14920. const m_TT_MAC_ID_MALDIVIAN = 25
  14921. const m_TT_MAC_ID_MONGOLIAN = 27
  14922. const m_TT_MAC_ID_ORIYA = 12
  14923. const m_TT_MAC_ID_ROMAN = 0
  14924. const m_TT_MAC_ID_RSYMBOL = 8
  14925. const m_TT_MAC_ID_RUSSIAN = 7
  14926. const m_TT_MAC_ID_SIMPLIFIED_CHINESE = 25
  14927. const m_TT_MAC_ID_SINDHI = 31
  14928. const m_TT_MAC_ID_SINHALESE = 18
  14929. const m_TT_MAC_ID_SLAVIC = 29
  14930. const m_TT_MAC_ID_TAMIL = 14
  14931. const m_TT_MAC_ID_TELUGU = 15
  14932. const m_TT_MAC_ID_THAI = 21
  14933. const m_TT_MAC_ID_TIBETAN = 26
  14934. const m_TT_MAC_ID_TRADITIONAL_CHINESE = 2
  14935. const m_TT_MAC_ID_UNINTERP = 32
  14936. const m_TT_MAC_ID_VIETNAMESE = 30
  14937. const m_TT_MAC_LANGID_AFRIKAANS = 141
  14938. const m_TT_MAC_LANGID_ALBANIAN = 36
  14939. const m_TT_MAC_LANGID_AMHARIC = 85
  14940. const m_TT_MAC_LANGID_ARABIC = 12
  14941. const m_TT_MAC_LANGID_ARMENIAN = 51
  14942. const m_TT_MAC_LANGID_ASSAMESE = 68
  14943. const m_TT_MAC_LANGID_AYMARA = 134
  14944. const m_TT_MAC_LANGID_AZERBAIJANI = 49
  14945. const m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT = 50
  14946. const m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT = 49
  14947. const m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT = 150
  14948. const m_TT_MAC_LANGID_BASQUE = 129
  14949. const m_TT_MAC_LANGID_BENGALI = 67
  14950. const m_TT_MAC_LANGID_BRETON = 142
  14951. const m_TT_MAC_LANGID_BULGARIAN = 44
  14952. const m_TT_MAC_LANGID_BURMESE = 77
  14953. const m_TT_MAC_LANGID_BYELORUSSIAN = 46
  14954. const m_TT_MAC_LANGID_CATALAN = 130
  14955. const m_TT_MAC_LANGID_CHEWA = 92
  14956. const m_TT_MAC_LANGID_CHINESE_SIMPLIFIED = 33
  14957. const m_TT_MAC_LANGID_CHINESE_TRADITIONAL = 19
  14958. const m_TT_MAC_LANGID_CROATIAN = 18
  14959. const m_TT_MAC_LANGID_CZECH = 38
  14960. const m_TT_MAC_LANGID_DANISH = 7
  14961. const m_TT_MAC_LANGID_DUTCH = 4
  14962. const m_TT_MAC_LANGID_DZONGKHA = 137
  14963. const m_TT_MAC_LANGID_ENGLISH = 0
  14964. const m_TT_MAC_LANGID_ESPERANTO = 94
  14965. const m_TT_MAC_LANGID_ESTONIAN = 27
  14966. const m_TT_MAC_LANGID_FAEROESE = 30
  14967. const m_TT_MAC_LANGID_FARSI = 31
  14968. const m_TT_MAC_LANGID_FINNISH = 13
  14969. const m_TT_MAC_LANGID_FLEMISH = 34
  14970. const m_TT_MAC_LANGID_FRENCH = 1
  14971. const m_TT_MAC_LANGID_GALICIAN = 140
  14972. const m_TT_MAC_LANGID_GALLA = 87
  14973. const m_TT_MAC_LANGID_GEORGIAN = 52
  14974. const m_TT_MAC_LANGID_GERMAN = 2
  14975. const m_TT_MAC_LANGID_GREEK = 14
  14976. const m_TT_MAC_LANGID_GREEK_POLYTONIC = 148
  14977. const m_TT_MAC_LANGID_GREELANDIC = 149
  14978. const m_TT_MAC_LANGID_GUARANI = 133
  14979. const m_TT_MAC_LANGID_GUJARATI = 69
  14980. const m_TT_MAC_LANGID_HEBREW = 10
  14981. const m_TT_MAC_LANGID_HINDI = 21
  14982. const m_TT_MAC_LANGID_HUNGARIAN = 26
  14983. const m_TT_MAC_LANGID_ICELANDIC = 15
  14984. const m_TT_MAC_LANGID_INDONESIAN = 81
  14985. const m_TT_MAC_LANGID_INUKTITUT = 143
  14986. const m_TT_MAC_LANGID_IRISH = 35
  14987. const m_TT_MAC_LANGID_IRISH_GAELIC = 146
  14988. const m_TT_MAC_LANGID_ITALIAN = 3
  14989. const m_TT_MAC_LANGID_JAPANESE = 11
  14990. const m_TT_MAC_LANGID_JAVANESE = 138
  14991. const m_TT_MAC_LANGID_KANNADA = 73
  14992. const m_TT_MAC_LANGID_KASHMIRI = 61
  14993. const m_TT_MAC_LANGID_KAZAKH = 48
  14994. const m_TT_MAC_LANGID_KHMER = 78
  14995. const m_TT_MAC_LANGID_KIRGHIZ = 54
  14996. const m_TT_MAC_LANGID_KOREAN = 23
  14997. const m_TT_MAC_LANGID_KURDISH = 60
  14998. const m_TT_MAC_LANGID_LAO = 79
  14999. const m_TT_MAC_LANGID_LATIN = 131
  15000. const m_TT_MAC_LANGID_LETTISH = 28
  15001. const m_TT_MAC_LANGID_LITHUANIAN = 24
  15002. const m_TT_MAC_LANGID_MACEDONIAN = 43
  15003. const m_TT_MAC_LANGID_MALAGASY = 93
  15004. const m_TT_MAC_LANGID_MALAYALAM = 72
  15005. const m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT = 84
  15006. const m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT = 83
  15007. const m_TT_MAC_LANGID_MALTESE = 16
  15008. const m_TT_MAC_LANGID_MANX_GAELIC = 145
  15009. const m_TT_MAC_LANGID_MARATHI = 66
  15010. const m_TT_MAC_LANGID_MOLDAVIAN = 53
  15011. const m_TT_MAC_LANGID_MONGOLIAN = 57
  15012. const m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT = 58
  15013. const m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT = 57
  15014. const m_TT_MAC_LANGID_NEPALI = 64
  15015. const m_TT_MAC_LANGID_NORWEGIAN = 9
  15016. const m_TT_MAC_LANGID_ORIYA = 71
  15017. const m_TT_MAC_LANGID_PASHTO = 59
  15018. const m_TT_MAC_LANGID_POLISH = 25
  15019. const m_TT_MAC_LANGID_PORTUGUESE = 8
  15020. const m_TT_MAC_LANGID_PUNJABI = 70
  15021. const m_TT_MAC_LANGID_QUECHUA = 132
  15022. const m_TT_MAC_LANGID_ROMANIAN = 37
  15023. const m_TT_MAC_LANGID_RUANDA = 90
  15024. const m_TT_MAC_LANGID_RUNDI = 91
  15025. const m_TT_MAC_LANGID_RUSSIAN = 32
  15026. const m_TT_MAC_LANGID_SAAMISK = 29
  15027. const m_TT_MAC_LANGID_SANSKRIT = 65
  15028. const m_TT_MAC_LANGID_SCOTTISH_GAELIC = 144
  15029. const m_TT_MAC_LANGID_SERBIAN = 42
  15030. const m_TT_MAC_LANGID_SINDHI = 62
  15031. const m_TT_MAC_LANGID_SINHALESE = 76
  15032. const m_TT_MAC_LANGID_SLOVAK = 39
  15033. const m_TT_MAC_LANGID_SLOVENIAN = 40
  15034. const m_TT_MAC_LANGID_SOMALI = 88
  15035. const m_TT_MAC_LANGID_SPANISH = 6
  15036. const m_TT_MAC_LANGID_SUNDANESE = 139
  15037. const m_TT_MAC_LANGID_SWAHILI = 89
  15038. const m_TT_MAC_LANGID_SWEDISH = 5
  15039. const m_TT_MAC_LANGID_TAGALOG = 82
  15040. const m_TT_MAC_LANGID_TAJIKI = 55
  15041. const m_TT_MAC_LANGID_TAMIL = 74
  15042. const m_TT_MAC_LANGID_TATAR = 135
  15043. const m_TT_MAC_LANGID_TELUGU = 75
  15044. const m_TT_MAC_LANGID_THAI = 22
  15045. const m_TT_MAC_LANGID_TIBETAN = 63
  15046. const m_TT_MAC_LANGID_TIGRINYA = 86
  15047. const m_TT_MAC_LANGID_TONGAN = 147
  15048. const m_TT_MAC_LANGID_TURKISH = 17
  15049. const m_TT_MAC_LANGID_TURKMEN = 56
  15050. const m_TT_MAC_LANGID_UIGHUR = 136
  15051. const m_TT_MAC_LANGID_UKRAINIAN = 45
  15052. const m_TT_MAC_LANGID_URDU = 20
  15053. const m_TT_MAC_LANGID_UZBEK = 47
  15054. const m_TT_MAC_LANGID_VIETNAMESE = 80
  15055. const m_TT_MAC_LANGID_WELSH = 128
  15056. const m_TT_MAC_LANGID_YIDDISH = 41
  15057. const m_TT_MS_ID_BIG_5 = 4
  15058. const m_TT_MS_ID_GB2312 = "TT_MS_ID_PRC"
  15059. const m_TT_MS_ID_JOHAB = 6
  15060. const m_TT_MS_ID_PRC = 3
  15061. const m_TT_MS_ID_SJIS = 2
  15062. const m_TT_MS_ID_SYMBOL_CS = 0
  15063. const m_TT_MS_ID_UCS_4 = 10
  15064. const m_TT_MS_ID_UNICODE_CS = 1
  15065. const m_TT_MS_ID_WANSUNG = 5
  15066. const m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA = 1078
  15067. const m_TT_MS_LANGID_ALBANIAN_ALBANIA = 1052
  15068. const m_TT_MS_LANGID_ALSATIAN_FRANCE = 0x0484
  15069. const m_TT_MS_LANGID_AMHARIC_ETHIOPIA = 1118
  15070. const m_TT_MS_LANGID_ARABIC_ALGERIA = 5121
  15071. const m_TT_MS_LANGID_ARABIC_BAHRAIN = 15361
  15072. const m_TT_MS_LANGID_ARABIC_EGYPT = 3073
  15073. const m_TT_MS_LANGID_ARABIC_GENERAL = 1
  15074. const m_TT_MS_LANGID_ARABIC_IRAQ = 2049
  15075. const m_TT_MS_LANGID_ARABIC_JORDAN = 11265
  15076. const m_TT_MS_LANGID_ARABIC_KUWAIT = 13313
  15077. const m_TT_MS_LANGID_ARABIC_LEBANON = 12289
  15078. const m_TT_MS_LANGID_ARABIC_LIBYA = 4097
  15079. const m_TT_MS_LANGID_ARABIC_MOROCCO = 6145
  15080. const m_TT_MS_LANGID_ARABIC_OMAN = 8193
  15081. const m_TT_MS_LANGID_ARABIC_QATAR = 16385
  15082. const m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA = 1025
  15083. const m_TT_MS_LANGID_ARABIC_SYRIA = 10241
  15084. const m_TT_MS_LANGID_ARABIC_TUNISIA = 7169
  15085. const m_TT_MS_LANGID_ARABIC_UAE = 14337
  15086. const m_TT_MS_LANGID_ARABIC_YEMEN = 9217
  15087. const m_TT_MS_LANGID_ARMENIAN_ARMENIA = 1067
  15088. const m_TT_MS_LANGID_ASSAMESE_INDIA = 1101
  15089. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC = 2092
  15090. const m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN = 1068
  15091. const m_TT_MS_LANGID_BASHKIR_RUSSIA = 0x046D
  15092. const m_TT_MS_LANGID_BASQUE_BASQUE = 1069
  15093. const m_TT_MS_LANGID_BASQUE_SPAIN = "TT_MS_LANGID_BASQUE_BASQUE"
  15094. const m_TT_MS_LANGID_BELARUSIAN_BELARUS = 1059
  15095. const m_TT_MS_LANGID_BENGALI_BANGLADESH = 2117
  15096. const m_TT_MS_LANGID_BENGALI_INDIA = 1093
  15097. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA = 5146
  15098. const m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC = 0x201A
  15099. const m_TT_MS_LANGID_BRETON_FRANCE = 0x047E
  15100. const m_TT_MS_LANGID_BULGARIAN_BULGARIA = 1026
  15101. const m_TT_MS_LANGID_BURMESE_MYANMAR = 1109
  15102. const m_TT_MS_LANGID_CATALAN_CATALAN = 1027
  15103. const m_TT_MS_LANGID_CATALAN_SPAIN = "TT_MS_LANGID_CATALAN_CATALAN"
  15104. const m_TT_MS_LANGID_CHEROKEE_UNITED_STATES = 1116
  15105. const m_TT_MS_LANGID_CHINESE_GENERAL = 4
  15106. const m_TT_MS_LANGID_CHINESE_HONG_KONG = 3076
  15107. const m_TT_MS_LANGID_CHINESE_MACAO = 5124
  15108. const m_TT_MS_LANGID_CHINESE_MACAU = "TT_MS_LANGID_CHINESE_MACAO"
  15109. const m_TT_MS_LANGID_CHINESE_PRC = 2052
  15110. const m_TT_MS_LANGID_CHINESE_SINGAPORE = 4100
  15111. const m_TT_MS_LANGID_CHINESE_TAIWAN = 1028
  15112. const m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA = 2087
  15113. const m_TT_MS_LANGID_CORSICAN_FRANCE = 0x0483
  15114. const m_TT_MS_LANGID_CROATIAN_BOSNIA_HERZEGOVINA = 0x101A
  15115. const m_TT_MS_LANGID_CROATIAN_CROATIA = 1050
  15116. const m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC = 1029
  15117. const m_TT_MS_LANGID_DANISH_DENMARK = 1030
  15118. const m_TT_MS_LANGID_DARI_AFGHANISTAN = 0x048C
  15119. const m_TT_MS_LANGID_DHIVEHI_MALDIVES = 1125
  15120. const m_TT_MS_LANGID_DIVEHI_MALDIVES = "TT_MS_LANGID_DHIVEHI_MALDIVES"
  15121. const m_TT_MS_LANGID_DUTCH_BELGIUM = 2067
  15122. const m_TT_MS_LANGID_DUTCH_NETHERLANDS = 1043
  15123. const m_TT_MS_LANGID_DZONGHKA_BHUTAN = 2129
  15124. const m_TT_MS_LANGID_EDO_NIGERIA = 0x0466
  15125. const m_TT_MS_LANGID_ENGLISH_AUSTRALIA = 3081
  15126. const m_TT_MS_LANGID_ENGLISH_BELIZE = 10249
  15127. const m_TT_MS_LANGID_ENGLISH_CANADA = 4105
  15128. const m_TT_MS_LANGID_ENGLISH_CARIBBEAN = 9225
  15129. const m_TT_MS_LANGID_ENGLISH_GENERAL = 9
  15130. const m_TT_MS_LANGID_ENGLISH_HONG_KONG = 15369
  15131. const m_TT_MS_LANGID_ENGLISH_INDIA = 16393
  15132. const m_TT_MS_LANGID_ENGLISH_INDONESIA = 0x3809
  15133. const m_TT_MS_LANGID_ENGLISH_IRELAND = 6153
  15134. const m_TT_MS_LANGID_ENGLISH_JAMAICA = 8201
  15135. const m_TT_MS_LANGID_ENGLISH_MALAYSIA = 17417
  15136. const m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND = 5129
  15137. const m_TT_MS_LANGID_ENGLISH_PHILIPPINES = 13321
  15138. const m_TT_MS_LANGID_ENGLISH_SINGAPORE = 18441
  15139. const m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA = 7177
  15140. const m_TT_MS_LANGID_ENGLISH_TRINIDAD = 11273
  15141. const m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM = 2057
  15142. const m_TT_MS_LANGID_ENGLISH_UNITED_STATES = 1033
  15143. const m_TT_MS_LANGID_ENGLISH_ZIMBABWE = 12297
  15144. const m_TT_MS_LANGID_ESTONIAN_ESTONIA = 1061
  15145. const m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS = 1080
  15146. const m_TT_MS_LANGID_FARSI_IRAN = 1065
  15147. const m_TT_MS_LANGID_FILIPINO_PHILIPPINES = 1124
  15148. const m_TT_MS_LANGID_FINNISH_FINLAND = 1035
  15149. const m_TT_MS_LANGID_FRENCH_BELGIUM = 2060
  15150. const m_TT_MS_LANGID_FRENCH_CAMEROON = 11276
  15151. const m_TT_MS_LANGID_FRENCH_CANADA = 3084
  15152. const m_TT_MS_LANGID_FRENCH_CONGO = 9228
  15153. const m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE = 12300
  15154. const m_TT_MS_LANGID_FRENCH_FRANCE = 1036
  15155. const m_TT_MS_LANGID_FRENCH_HAITI = 15372
  15156. const m_TT_MS_LANGID_FRENCH_LUXEMBOURG = 5132
  15157. const m_TT_MS_LANGID_FRENCH_MALI = 13324
  15158. const m_TT_MS_LANGID_FRENCH_MONACO = 6156
  15159. const m_TT_MS_LANGID_FRENCH_MOROCCO = 14348
  15160. const m_TT_MS_LANGID_FRENCH_NORTH_AFRICA = 58380
  15161. const m_TT_MS_LANGID_FRENCH_REUNION = 8204
  15162. const m_TT_MS_LANGID_FRENCH_SENEGAL = 10252
  15163. const m_TT_MS_LANGID_FRENCH_SWITZERLAND = 4108
  15164. const m_TT_MS_LANGID_FRENCH_WEST_INDIES = 7180
  15165. const m_TT_MS_LANGID_FRENCH_ZAIRE = "TT_MS_LANGID_FRENCH_CONGO"
  15166. const m_TT_MS_LANGID_FRISIAN_NETHERLANDS = 1122
  15167. const m_TT_MS_LANGID_FULFULDE_NIGERIA = 0x0467
  15168. const m_TT_MS_LANGID_GALICIAN_GALICIAN = 1110
  15169. const m_TT_MS_LANGID_GALICIAN_SPAIN = "TT_MS_LANGID_GALICIAN_GALICIAN"
  15170. const m_TT_MS_LANGID_GEORGIAN_GEORGIA = 1079
  15171. const m_TT_MS_LANGID_GERMAN_AUSTRIA = 3079
  15172. const m_TT_MS_LANGID_GERMAN_GERMANY = 1031
  15173. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEI = "TT_MS_LANGID_GERMAN_LIECHTENSTEIN"
  15174. const m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN = 5127
  15175. const m_TT_MS_LANGID_GERMAN_LUXEMBOURG = 4103
  15176. const m_TT_MS_LANGID_GERMAN_SWITZERLAND = 2055
  15177. const m_TT_MS_LANGID_GREEK_GREECE = 1032
  15178. const m_TT_MS_LANGID_GREENLANDIC_GREENLAND = 0x046F
  15179. const m_TT_MS_LANGID_GUARANI_PARAGUAY = 1140
  15180. const m_TT_MS_LANGID_GUJARATI_INDIA = 1095
  15181. const m_TT_MS_LANGID_HAUSA_NIGERIA = 1128
  15182. const m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES = 1141
  15183. const m_TT_MS_LANGID_HEBREW_ISRAEL = 1037
  15184. const m_TT_MS_LANGID_HINDI_INDIA = 1081
  15185. const m_TT_MS_LANGID_HUNGARIAN_HUNGARY = 1038
  15186. const m_TT_MS_LANGID_IBIBIO_NIGERIA = 0x0469
  15187. const m_TT_MS_LANGID_ICELANDIC_ICELAND = 1039
  15188. const m_TT_MS_LANGID_IGBO_NIGERIA = 1136
  15189. const m_TT_MS_LANGID_INDONESIAN_INDONESIA = 1057
  15190. const m_TT_MS_LANGID_INUKTITUT_CANADA = 1117
  15191. const m_TT_MS_LANGID_INUKTITUT_CANADA_LATIN = 0x085D
  15192. const m_TT_MS_LANGID_IRISH_GAELIC_IRELAND = 1084
  15193. const m_TT_MS_LANGID_IRISH_IRELAND = 0x083C
  15194. const m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA = 1076
  15195. const m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA = 1077
  15196. const m_TT_MS_LANGID_ITALIAN_ITALY = 1040
  15197. const m_TT_MS_LANGID_ITALIAN_SWITZERLAND = 2064
  15198. const m_TT_MS_LANGID_JAPANESE_JAPAN = 1041
  15199. const m_TT_MS_LANGID_KANNADA_INDIA = 1099
  15200. const m_TT_MS_LANGID_KANURI_NIGERIA = 1137
  15201. const m_TT_MS_LANGID_KASHMIRI_INDIA = "TT_MS_LANGID_KASHMIRI_SASIA"
  15202. const m_TT_MS_LANGID_KASHMIRI_PAKISTAN = 1120
  15203. const m_TT_MS_LANGID_KASHMIRI_SASIA = 2144
  15204. const m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN = 1087
  15205. const m_TT_MS_LANGID_KAZAK_KAZAKSTAN = "TT_MS_LANGID_KAZAKH_KAZAKHSTAN"
  15206. const m_TT_MS_LANGID_KHMER_CAMBODIA = 1107
  15207. const m_TT_MS_LANGID_KICHE_GUATEMALA = 0x0486
  15208. const m_TT_MS_LANGID_KINYARWANDA_RWANDA = 0x0487
  15209. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZSTAN = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  15210. const m_TT_MS_LANGID_KIRGHIZ_KIRGHIZ_REPUBLIC = "TT_MS_LANGID_KYRGYZ_KYRGYZSTAN"
  15211. const m_TT_MS_LANGID_KISWAHILI_KENYA = 1089
  15212. const m_TT_MS_LANGID_KONKANI_INDIA = 1111
  15213. const m_TT_MS_LANGID_KOREAN_EXTENDED_WANSUNG_KOREA = "TT_MS_LANGID_KOREAN_KOREA"
  15214. const m_TT_MS_LANGID_KOREAN_JOHAB_KOREA = 2066
  15215. const m_TT_MS_LANGID_KOREAN_KOREA = 1042
  15216. const m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN = 1088
  15217. const m_TT_MS_LANGID_LAO_LAOS = 1108
  15218. const m_TT_MS_LANGID_LATIN = 1142
  15219. const m_TT_MS_LANGID_LATVIAN_LATVIA = 1062
  15220. const m_TT_MS_LANGID_LITHUANIAN_LITHUANIA = 1063
  15221. const m_TT_MS_LANGID_LOWER_SORBIAN_GERMANY = 0x082E
  15222. const m_TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG = 0x046E
  15223. const m_TT_MS_LANGID_MACEDONIAN_MACEDONIA = 1071
  15224. const m_TT_MS_LANGID_MALAYALAM_INDIA = 1100
  15225. const m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM = 2110
  15226. const m_TT_MS_LANGID_MALAY_MALAYSIA = 1086
  15227. const m_TT_MS_LANGID_MALTESE_MALTA = 1082
  15228. const m_TT_MS_LANGID_MANIPURI_INDIA = 1112
  15229. const m_TT_MS_LANGID_MAORI_NEW_ZEALAND = 1153
  15230. const m_TT_MS_LANGID_MAPUDUNGUN_CHILE = 0x047A
  15231. const m_TT_MS_LANGID_MARATHI_INDIA = 1102
  15232. const m_TT_MS_LANGID_MOHAWK_MOHAWK = 0x047C
  15233. const m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA = 2072
  15234. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA = 1104
  15235. const m_TT_MS_LANGID_MONGOLIAN_MONGOLIA_MONGOLIAN = "TT_MS_LANGID_MONGOLIAN_PRC"
  15236. const m_TT_MS_LANGID_MONGOLIAN_PRC = 2128
  15237. const m_TT_MS_LANGID_NEPALI_INDIA = 2145
  15238. const m_TT_MS_LANGID_NEPALI_NEPAL = 1121
  15239. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL = 1044
  15240. const m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK = 2068
  15241. const m_TT_MS_LANGID_OCCITAN_FRANCE = 0x0482
  15242. const m_TT_MS_LANGID_ODIA_INDIA = 1096
  15243. const m_TT_MS_LANGID_ORIYA_INDIA = "TT_MS_LANGID_ODIA_INDIA"
  15244. const m_TT_MS_LANGID_OROMO_ETHIOPIA = 1138
  15245. const m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES = 1145
  15246. const m_TT_MS_LANGID_PASHTO_AFGHANISTAN = 1123
  15247. const m_TT_MS_LANGID_POLISH_POLAND = 1045
  15248. const m_TT_MS_LANGID_PORTUGUESE_BRAZIL = 1046
  15249. const m_TT_MS_LANGID_PORTUGUESE_PORTUGAL = 2070
  15250. const m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN = 2118
  15251. const m_TT_MS_LANGID_PUNJABI_INDIA = 1094
  15252. const m_TT_MS_LANGID_QUECHUA_BOLIVIA = 0x046B
  15253. const m_TT_MS_LANGID_QUECHUA_ECUADOR = 0x086B
  15254. const m_TT_MS_LANGID_QUECHUA_PERU = 0x0C6B
  15255. const m_TT_MS_LANGID_RHAETO_ROMANIC_SWITZERLAND = "TT_MS_LANGID_ROMANSH_SWITZERLAND"
  15256. const m_TT_MS_LANGID_ROMANIAN_ROMANIA = 1048
  15257. const m_TT_MS_LANGID_ROMANSH_SWITZERLAND = 1047
  15258. const m_TT_MS_LANGID_RUSSIAN_MOLDAVIA = 2073
  15259. const m_TT_MS_LANGID_RUSSIAN_RUSSIA = 1049
  15260. const m_TT_MS_LANGID_SAAMI_LAPONIA = 1083
  15261. const m_TT_MS_LANGID_SAMI_INARI_FINLAND = 0x243B
  15262. const m_TT_MS_LANGID_SAMI_LULE_NORWAY = 0x103B
  15263. const m_TT_MS_LANGID_SAMI_LULE_SWEDEN = 0x143B
  15264. const m_TT_MS_LANGID_SAMI_NORTHERN_FINLAND = 0x0C3B
  15265. const m_TT_MS_LANGID_SAMI_NORTHERN_NORWAY = 0x043B
  15266. const m_TT_MS_LANGID_SAMI_NORTHERN_SWEDEN = 0x083B
  15267. const m_TT_MS_LANGID_SAMI_SKOLT_FINLAND = 0x203B
  15268. const m_TT_MS_LANGID_SAMI_SOUTHERN_NORWAY = 0x183B
  15269. const m_TT_MS_LANGID_SAMI_SOUTHERN_SWEDEN = 0x1C3B
  15270. const m_TT_MS_LANGID_SANSKRIT_INDIA = 1103
  15271. const m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM = 2108
  15272. const m_TT_MS_LANGID_SEPEDI_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  15273. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC = 0x1C1A
  15274. const m_TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_LATIN = 0x181A
  15275. const m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC = 3098
  15276. const m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN = 2074
  15277. const m_TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA = 0x046C
  15278. const m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA = 1074
  15279. const m_TT_MS_LANGID_SINDHI_INDIA = 1113
  15280. const m_TT_MS_LANGID_SINDHI_PAKISTAN = 0x0859
  15281. const m_TT_MS_LANGID_SINHALA_SRI_LANKA = 1115
  15282. const m_TT_MS_LANGID_SINHALESE_SRI_LANKA = "TT_MS_LANGID_SINHALA_SRI_LANKA"
  15283. const m_TT_MS_LANGID_SLOVAK_SLOVAKIA = 1051
  15284. const m_TT_MS_LANGID_SLOVENE_SLOVENIA = "TT_MS_LANGID_SLOVENIAN_SLOVENIA"
  15285. const m_TT_MS_LANGID_SLOVENIAN_SLOVENIA = 1060
  15286. const m_TT_MS_LANGID_SOMALI_SOMALIA = 1143
  15287. const m_TT_MS_LANGID_SORBIAN_GERMANY = "TT_MS_LANGID_UPPER_SORBIAN_GERMANY"
  15288. const m_TT_MS_LANGID_SOTHO_SOUTHERN_SOUTH_AFRICA = "TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA"
  15289. const m_TT_MS_LANGID_SPANISH_ARGENTINA = 11274
  15290. const m_TT_MS_LANGID_SPANISH_BOLIVIA = 16394
  15291. const m_TT_MS_LANGID_SPANISH_CHILE = 13322
  15292. const m_TT_MS_LANGID_SPANISH_COLOMBIA = 9226
  15293. const m_TT_MS_LANGID_SPANISH_COSTA_RICA = 5130
  15294. const m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC = 7178
  15295. const m_TT_MS_LANGID_SPANISH_ECUADOR = 12298
  15296. const m_TT_MS_LANGID_SPANISH_EL_SALVADOR = 17418
  15297. const m_TT_MS_LANGID_SPANISH_GUATEMALA = 4106
  15298. const m_TT_MS_LANGID_SPANISH_HONDURAS = 18442
  15299. const m_TT_MS_LANGID_SPANISH_LATIN_AMERICA = 58378
  15300. const m_TT_MS_LANGID_SPANISH_MEXICO = 2058
  15301. const m_TT_MS_LANGID_SPANISH_NICARAGUA = 19466
  15302. const m_TT_MS_LANGID_SPANISH_PANAMA = 6154
  15303. const m_TT_MS_LANGID_SPANISH_PARAGUAY = 15370
  15304. const m_TT_MS_LANGID_SPANISH_PERU = 10250
  15305. const m_TT_MS_LANGID_SPANISH_PUERTO_RICO = 20490
  15306. const m_TT_MS_LANGID_SPANISH_SPAIN_INTERNATIONAL_SORT = "TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT"
  15307. const m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT = 3082
  15308. const m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT = 1034
  15309. const m_TT_MS_LANGID_SPANISH_UNITED_STATES = 21514
  15310. const m_TT_MS_LANGID_SPANISH_URUGUAY = 14346
  15311. const m_TT_MS_LANGID_SPANISH_VENEZUELA = 8202
  15312. const m_TT_MS_LANGID_SUTU_SOUTH_AFRICA = 1072
  15313. const m_TT_MS_LANGID_SWAHILI_KENYA = "TT_MS_LANGID_KISWAHILI_KENYA"
  15314. const m_TT_MS_LANGID_SWEDISH_FINLAND = 2077
  15315. const m_TT_MS_LANGID_SWEDISH_SWEDEN = 1053
  15316. const m_TT_MS_LANGID_SYRIAC_SYRIA = 1114
  15317. const m_TT_MS_LANGID_TAJIK_TAJIKISTAN = 1064
  15318. const m_TT_MS_LANGID_TAMAZIGHT_ALGERIA = 0x085F
  15319. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO = 0x045F
  15320. const m_TT_MS_LANGID_TAMAZIGHT_MOROCCO_LATIN = "TT_MS_LANGID_TAMAZIGHT_ALGERIA"
  15321. const m_TT_MS_LANGID_TAMIL_INDIA = 1097
  15322. const m_TT_MS_LANGID_TATAR_RUSSIA = 1092
  15323. const m_TT_MS_LANGID_TATAR_TATARSTAN = "TT_MS_LANGID_TATAR_RUSSIA"
  15324. const m_TT_MS_LANGID_TELUGU_INDIA = 1098
  15325. const m_TT_MS_LANGID_THAI_THAILAND = 1054
  15326. const m_TT_MS_LANGID_TIBETAN_BHUTAN = "TT_MS_LANGID_DZONGHKA_BHUTAN"
  15327. const m_TT_MS_LANGID_TIBETAN_CHINA = "TT_MS_LANGID_TIBETAN_PRC"
  15328. const m_TT_MS_LANGID_TIBETAN_PRC = 1105
  15329. const m_TT_MS_LANGID_TIGRIGNA_ERYTHREA = 2163
  15330. const m_TT_MS_LANGID_TIGRIGNA_ERYTREA = "TT_MS_LANGID_TIGRIGNA_ERYTHREA"
  15331. const m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA = 1139
  15332. const m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA = 1073
  15333. const m_TT_MS_LANGID_TSWANA_SOUTH_AFRICA = "TT_MS_LANGID_SETSWANA_SOUTH_AFRICA"
  15334. const m_TT_MS_LANGID_TURKISH_TURKEY = 1055
  15335. const m_TT_MS_LANGID_TURKMEN_TURKMENISTAN = 1090
  15336. const m_TT_MS_LANGID_UIGHUR_CHINA = "TT_MS_LANGID_UIGHUR_PRC"
  15337. const m_TT_MS_LANGID_UIGHUR_PRC = 0x0480
  15338. const m_TT_MS_LANGID_UKRAINIAN_UKRAINE = 1058
  15339. const m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY = 1070
  15340. const m_TT_MS_LANGID_URDU_INDIA = 2080
  15341. const m_TT_MS_LANGID_URDU_PAKISTAN = 1056
  15342. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC = 2115
  15343. const m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN = 1091
  15344. const m_TT_MS_LANGID_VENDA_SOUTH_AFRICA = 1075
  15345. const m_TT_MS_LANGID_VIETNAMESE_VIET_NAM = 1066
  15346. const m_TT_MS_LANGID_WELSH_UNITED_KINGDOM = 1106
  15347. const m_TT_MS_LANGID_WELSH_WALES = "TT_MS_LANGID_WELSH_UNITED_KINGDOM"
  15348. const m_TT_MS_LANGID_WOLOF_SENEGAL = 0x0488
  15349. const m_TT_MS_LANGID_XHOSA_SOUTH_AFRICA = "TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA"
  15350. const m_TT_MS_LANGID_YAKUT_RUSSIA = 0x0485
  15351. const m_TT_MS_LANGID_YIDDISH_GERMANY = 1085
  15352. const m_TT_MS_LANGID_YI_CHINA = "TT_MS_LANGID_YI_PRC"
  15353. const m_TT_MS_LANGID_YI_PRC = 0x0478
  15354. const m_TT_MS_LANGID_YORUBA_NIGERIA = 1130
  15355. const m_TT_MS_LANGID_ZULU_SOUTH_AFRICA = "TT_MS_LANGID_ISIZULU_SOUTH_AFRICA"
  15356. const m_TT_NAME_ID_CID_FINDFONT_NAME = 20
  15357. const m_TT_NAME_ID_COPYRIGHT = 0
  15358. const m_TT_NAME_ID_DARK_BACKGROUND = 24
  15359. const m_TT_NAME_ID_DESCRIPTION = 10
  15360. const m_TT_NAME_ID_DESIGNER = 9
  15361. const m_TT_NAME_ID_DESIGNER_URL = 12
  15362. const m_TT_NAME_ID_FONT_FAMILY = 1
  15363. const m_TT_NAME_ID_FONT_SUBFAMILY = 2
  15364. const m_TT_NAME_ID_FULL_NAME = 4
  15365. const m_TT_NAME_ID_LICENSE = 13
  15366. const m_TT_NAME_ID_LICENSE_URL = 14
  15367. const m_TT_NAME_ID_LIGHT_BACKGROUND = 23
  15368. const m_TT_NAME_ID_MAC_FULL_NAME = 18
  15369. const m_TT_NAME_ID_MANUFACTURER = 8
  15370. const m_TT_NAME_ID_PREFERRED_FAMILY = "TT_NAME_ID_TYPOGRAPHIC_FAMILY"
  15371. const m_TT_NAME_ID_PREFERRED_SUBFAMILY = "TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY"
  15372. const m_TT_NAME_ID_PS_NAME = 6
  15373. const m_TT_NAME_ID_SAMPLE_TEXT = 19
  15374. const m_TT_NAME_ID_TRADEMARK = 7
  15375. const m_TT_NAME_ID_TYPOGRAPHIC_FAMILY = 16
  15376. const m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY = 17
  15377. const m_TT_NAME_ID_UNIQUE_ID = 3
  15378. const m_TT_NAME_ID_VARIATIONS_PREFIX = 25
  15379. const m_TT_NAME_ID_VENDOR_URL = 11
  15380. const m_TT_NAME_ID_VERSION_STRING = 5
  15381. const m_TT_NAME_ID_WWS_FAMILY = 21
  15382. const m_TT_NAME_ID_WWS_SUBFAMILY = 22
  15383. const m_TT_PLATFORM_ADOBE = 7
  15384. const m_TT_PLATFORM_APPLE_UNICODE = 0
  15385. const m_TT_PLATFORM_CUSTOM = 4
  15386. const m_TT_PLATFORM_ISO = 2
  15387. const m_TT_PLATFORM_MACINTOSH = 1
  15388. const m_TT_PLATFORM_MICROSOFT = 3
  15389. const m_TT_UCR_ARABIC_PRESENTATION_A = "TT_UCR_ARABIC_PRESENTATION_FORMS_A"
  15390. const m_TT_UCR_ARABIC_PRESENTATION_B = "TT_UCR_ARABIC_PRESENTATION_FORMS_B"
  15391. const m_TT_UCR_COMBINING_DIACRITICS = "TT_UCR_COMBINING_DIACRITICAL_MARKS"
  15392. const m_TT_UCR_COMBINING_DIACRITICS_SYMB = "TT_UCR_COMBINING_DIACRITICAL_MARKS_SYMB"
  15393. const m_TT_UCR_KANBUN = "TT_UCR_CJK_MISC"
  15394. const m_TT_UCR_NON_PLANE_0 = "TT_UCR_SURROGATES"
  15395. const m___IPHONE_COMPAT_VERSION = "__IPHONE_4_0"
  15396. const m_ft_encoding_adobe_custom = "FT_ENCODING_ADOBE_CUSTOM"
  15397. const m_ft_encoding_adobe_expert = "FT_ENCODING_ADOBE_EXPERT"
  15398. const m_ft_encoding_adobe_standard = "FT_ENCODING_ADOBE_STANDARD"
  15399. const m_ft_encoding_apple_roman = "FT_ENCODING_APPLE_ROMAN"
  15400. const m_ft_encoding_big5 = "FT_ENCODING_BIG5"
  15401. const m_ft_encoding_gb2312 = "FT_ENCODING_PRC"
  15402. const m_ft_encoding_johab = "FT_ENCODING_JOHAB"
  15403. const m_ft_encoding_latin_1 = "FT_ENCODING_ADOBE_LATIN_1"
  15404. const m_ft_encoding_latin_2 = "FT_ENCODING_OLD_LATIN_2"
  15405. const m_ft_encoding_none = "FT_ENCODING_NONE"
  15406. const m_ft_encoding_sjis = "FT_ENCODING_SJIS"
  15407. const m_ft_encoding_symbol = "FT_ENCODING_MS_SYMBOL"
  15408. const m_ft_encoding_unicode = "FT_ENCODING_UNICODE"
  15409. const m_ft_encoding_wansung = "FT_ENCODING_WANSUNG"
  15410. const m_ft_fclose = "fclose"
  15411. const m_ft_fopen = "fopen"
  15412. const m_ft_fread = "fread"
  15413. const m_ft_fseek = "fseek"
  15414. const m_ft_ftell = "ftell"
  15415. const m_ft_getenv = "getenv"
  15416. const m_ft_glyph_format_bitmap = "FT_GLYPH_FORMAT_BITMAP"
  15417. const m_ft_glyph_format_composite = "FT_GLYPH_FORMAT_COMPOSITE"
  15418. const m_ft_glyph_format_none = "FT_GLYPH_FORMAT_NONE"
  15419. const m_ft_glyph_format_outline = "FT_GLYPH_FORMAT_OUTLINE"
  15420. const m_ft_glyph_format_plotter = "FT_GLYPH_FORMAT_PLOTTER"
  15421. const m_ft_jmp_buf = "jmp_buf"
  15422. const m_ft_kerning_default = "FT_KERNING_DEFAULT"
  15423. const m_ft_kerning_unfitted = "FT_KERNING_UNFITTED"
  15424. const m_ft_kerning_unscaled = "FT_KERNING_UNSCALED"
  15425. const m_ft_longjmp = "longjmp"
  15426. const m_ft_memchr = "memchr"
  15427. const m_ft_memcmp = "memcmp"
  15428. const m_ft_memcpy = "memcpy"
  15429. const m_ft_memmove = "memmove"
  15430. const m_ft_memset = "memset"
  15431. const m_ft_open_driver = "FT_OPEN_DRIVER"
  15432. const m_ft_open_memory = "FT_OPEN_MEMORY"
  15433. const m_ft_open_params = "FT_OPEN_PARAMS"
  15434. const m_ft_open_pathname = "FT_OPEN_PATHNAME"
  15435. const m_ft_open_stream = "FT_OPEN_STREAM"
  15436. const m_ft_outline_even_odd_fill = "FT_OUTLINE_EVEN_ODD_FILL"
  15437. const m_ft_outline_high_precision = "FT_OUTLINE_HIGH_PRECISION"
  15438. const m_ft_outline_ignore_dropouts = "FT_OUTLINE_IGNORE_DROPOUTS"
  15439. const m_ft_outline_none = "FT_OUTLINE_NONE"
  15440. const m_ft_outline_owner = "FT_OUTLINE_OWNER"
  15441. const m_ft_outline_reverse_fill = "FT_OUTLINE_REVERSE_FILL"
  15442. const m_ft_outline_single_pass = "FT_OUTLINE_SINGLE_PASS"
  15443. const m_ft_pixel_mode_grays = "FT_PIXEL_MODE_GRAY"
  15444. const m_ft_pixel_mode_mono = "FT_PIXEL_MODE_MONO"
  15445. const m_ft_pixel_mode_none = "FT_PIXEL_MODE_NONE"
  15446. const m_ft_pixel_mode_pal2 = "FT_PIXEL_MODE_GRAY2"
  15447. const m_ft_pixel_mode_pal4 = "FT_PIXEL_MODE_GRAY4"
  15448. const m_ft_ptrdiff_t = "ptrdiff_t"
  15449. const m_ft_qsort = "qsort"
  15450. const m_ft_raster_flag_aa = "FT_RASTER_FLAG_AA"
  15451. const m_ft_raster_flag_clip = "FT_RASTER_FLAG_CLIP"
  15452. const m_ft_raster_flag_default = "FT_RASTER_FLAG_DEFAULT"
  15453. const m_ft_raster_flag_direct = "FT_RASTER_FLAG_DIRECT"
  15454. const m_ft_render_mode_mono = "FT_RENDER_MODE_MONO"
  15455. const m_ft_render_mode_normal = "FT_RENDER_MODE_NORMAL"
  15456. const m_ft_scalloc = "calloc"
  15457. const m_ft_sfnt_head = 0
  15458. const m_ft_sfnt_hhea = "FT_SFNT_HHEA"
  15459. const m_ft_sfnt_maxp = "FT_SFNT_MAXP"
  15460. const m_ft_sfnt_os2 = "FT_SFNT_OS2"
  15461. const m_ft_sfnt_pclt = "FT_SFNT_PCLT"
  15462. const m_ft_sfnt_post = "FT_SFNT_POST"
  15463. const m_ft_sfnt_vhea = "FT_SFNT_VHEA"
  15464. const m_ft_sfree = "free"
  15465. const m_ft_smalloc = "malloc"
  15466. const m_ft_sprintf = "sprintf"
  15467. const m_ft_srealloc = "realloc"
  15468. const m_ft_strcat = "strcat"
  15469. const m_ft_strcmp = "strcmp"
  15470. const m_ft_strcpy = "strcpy"
  15471. const m_ft_strlen = "strlen"
  15472. const m_ft_strncmp = "strncmp"
  15473. const m_ft_strncpy = "strncpy"
  15474. const m_ft_strrchr = "strrchr"
  15475. const m_ft_strstr = "strstr"
  15476. const m_ft_strtol = "strtol"
  15477. const m_t1_blend_blue_scale = "T1_BLEND_BLUE_SCALE"
  15478. const m_t1_blend_blue_shift = "T1_BLEND_BLUE_SHIFT"
  15479. const m_t1_blend_blue_values = "T1_BLEND_BLUE_VALUES"
  15480. const m_t1_blend_family_blues = "T1_BLEND_FAMILY_BLUES"
  15481. const m_t1_blend_family_other_blues = "T1_BLEND_FAMILY_OTHER_BLUES"
  15482. const m_t1_blend_force_bold = "T1_BLEND_FORCE_BOLD"
  15483. const m_t1_blend_italic_angle = "T1_BLEND_ITALIC_ANGLE"
  15484. const m_t1_blend_max = "T1_BLEND_MAX"
  15485. const m_t1_blend_other_blues = "T1_BLEND_OTHER_BLUES"
  15486. const m_t1_blend_standard_height = "T1_BLEND_STANDARD_HEIGHT"
  15487. const m_t1_blend_standard_widths = "T1_BLEND_STANDARD_WIDTH"
  15488. const m_t1_blend_stem_snap_heights = "T1_BLEND_STEM_SNAP_HEIGHTS"
  15489. const m_t1_blend_stem_snap_widths = "T1_BLEND_STEM_SNAP_WIDTHS"
  15490. const m_t1_blend_underline_position = "T1_BLEND_UNDERLINE_POSITION"
  15491. const m_t1_blend_underline_thickness = "T1_BLEND_UNDERLINE_THICKNESS"
  15492. type Tjmp_buf = [37]int32
  15493. type Tsigjmp_buf = [38]int32
  15494. type TFT_Int16 = int16
  15495. type TFT_UInt16 = uint16
  15496. type TFT_Int32 = int32
  15497. type TFT_UInt32 = uint32
  15498. type TFT_Fast = int32
  15499. type TFT_UFast = uint32
  15500. type TFT_Int64 = int64
  15501. type TFT_UInt64 = uint64
  15502. type TFT_Memory = uintptr
  15503. type TFT_MemoryRec_ = struct {
  15504. Fuser uintptr
  15505. Falloc TFT_Alloc_Func
  15506. Ffree TFT_Free_Func
  15507. Frealloc TFT_Realloc_Func
  15508. }
  15509. type TFT_Alloc_Func = uintptr
  15510. type TFT_Free_Func = uintptr
  15511. type TFT_Realloc_Func = uintptr
  15512. type TFT_Stream = uintptr
  15513. type TFT_StreamRec_ = struct {
  15514. Fbase uintptr
  15515. Fsize uint64
  15516. Fpos uint64
  15517. Fdescriptor TFT_StreamDesc
  15518. Fpathname TFT_StreamDesc
  15519. Fread TFT_Stream_IoFunc
  15520. Fclose1 TFT_Stream_CloseFunc
  15521. Fmemory TFT_Memory
  15522. Fcursor uintptr
  15523. Flimit uintptr
  15524. }
  15525. type TFT_StreamDesc = struct {
  15526. Fpointer [0]uintptr
  15527. Fvalue int64
  15528. }
  15529. type TFT_StreamDesc_ = TFT_StreamDesc
  15530. type TFT_Stream_IoFunc = uintptr
  15531. type TFT_Stream_CloseFunc = uintptr
  15532. type TFT_StreamRec = struct {
  15533. Fbase uintptr
  15534. Fsize uint64
  15535. Fpos uint64
  15536. Fdescriptor TFT_StreamDesc
  15537. Fpathname TFT_StreamDesc
  15538. Fread TFT_Stream_IoFunc
  15539. Fclose1 TFT_Stream_CloseFunc
  15540. Fmemory TFT_Memory
  15541. Fcursor uintptr
  15542. Flimit uintptr
  15543. }
  15544. type TFT_Pos = int64
  15545. type TFT_Vector = struct {
  15546. Fx TFT_Pos
  15547. Fy TFT_Pos
  15548. }
  15549. type TFT_Vector_ = TFT_Vector
  15550. type TFT_BBox = struct {
  15551. FxMin TFT_Pos
  15552. FyMin TFT_Pos
  15553. FxMax TFT_Pos
  15554. FyMax TFT_Pos
  15555. }
  15556. type TFT_BBox_ = TFT_BBox
  15557. type TFT_Pixel_Mode = int32
  15558. type _FT_Pixel_Mode_ = int32
  15559. const _FT_PIXEL_MODE_NONE = 0
  15560. const _FT_PIXEL_MODE_MONO = 1
  15561. const _FT_PIXEL_MODE_GRAY = 2
  15562. const _FT_PIXEL_MODE_GRAY2 = 3
  15563. const _FT_PIXEL_MODE_GRAY4 = 4
  15564. const _FT_PIXEL_MODE_LCD = 5
  15565. const _FT_PIXEL_MODE_LCD_V = 6
  15566. const _FT_PIXEL_MODE_BGRA = 7
  15567. const _FT_PIXEL_MODE_MAX = 8
  15568. type TFT_Bitmap = struct {
  15569. Frows uint32
  15570. Fwidth uint32
  15571. Fpitch int32
  15572. Fbuffer uintptr
  15573. Fnum_grays uint16
  15574. Fpixel_mode uint8
  15575. Fpalette_mode uint8
  15576. Fpalette uintptr
  15577. }
  15578. type TFT_Bitmap_ = TFT_Bitmap
  15579. type TFT_Outline = struct {
  15580. Fn_contours int16
  15581. Fn_points int16
  15582. Fpoints uintptr
  15583. Ftags uintptr
  15584. Fcontours uintptr
  15585. Fflags int32
  15586. }
  15587. type TFT_Outline_ = TFT_Outline
  15588. type TFT_Outline_MoveToFunc = uintptr
  15589. type TFT_Outline_LineToFunc = uintptr
  15590. type TFT_Outline_ConicToFunc = uintptr
  15591. type TFT_Outline_CubicToFunc = uintptr
  15592. type TFT_Outline_Funcs = struct {
  15593. Fmove_to TFT_Outline_MoveToFunc
  15594. Fline_to TFT_Outline_LineToFunc
  15595. Fconic_to TFT_Outline_ConicToFunc
  15596. Fcubic_to TFT_Outline_CubicToFunc
  15597. Fshift int32
  15598. Fdelta TFT_Pos
  15599. }
  15600. type TFT_Outline_Funcs_ = TFT_Outline_Funcs
  15601. type TFT_Glyph_Format = int32
  15602. type _FT_Glyph_Format_ = int32
  15603. const _FT_GLYPH_FORMAT_NONE = 0
  15604. const _FT_GLYPH_FORMAT_COMPOSITE = 1668246896
  15605. const _FT_GLYPH_FORMAT_BITMAP = 1651078259
  15606. const _FT_GLYPH_FORMAT_OUTLINE = 1869968492
  15607. const _FT_GLYPH_FORMAT_PLOTTER = 1886154612
  15608. type TFT_Raster = uintptr
  15609. type TFT_Span = struct {
  15610. Fx int16
  15611. Flen1 uint16
  15612. Fcoverage uint8
  15613. }
  15614. type TFT_Span_ = TFT_Span
  15615. type TFT_SpanFunc = uintptr
  15616. type TFT_Raster_BitTest_Func = uintptr
  15617. type TFT_Raster_BitSet_Func = uintptr
  15618. type TFT_Raster_Params = struct {
  15619. Ftarget uintptr
  15620. Fsource uintptr
  15621. Fflags int32
  15622. Fgray_spans TFT_SpanFunc
  15623. Fblack_spans TFT_SpanFunc
  15624. Fbit_test TFT_Raster_BitTest_Func
  15625. Fbit_set TFT_Raster_BitSet_Func
  15626. Fuser uintptr
  15627. Fclip_box TFT_BBox
  15628. }
  15629. type TFT_Raster_Params_ = TFT_Raster_Params
  15630. type TFT_Raster_NewFunc = uintptr
  15631. type TFT_Raster_DoneFunc = uintptr
  15632. type TFT_Raster_ResetFunc = uintptr
  15633. type TFT_Raster_SetModeFunc = uintptr
  15634. type TFT_Raster_RenderFunc = uintptr
  15635. type TFT_Raster_Funcs = struct {
  15636. Fglyph_format TFT_Glyph_Format
  15637. Fraster_new TFT_Raster_NewFunc
  15638. Fraster_reset TFT_Raster_ResetFunc
  15639. Fraster_set_mode TFT_Raster_SetModeFunc
  15640. Fraster_render TFT_Raster_RenderFunc
  15641. Fraster_done TFT_Raster_DoneFunc
  15642. }
  15643. type TFT_Raster_Funcs_ = TFT_Raster_Funcs
  15644. type TFT_Bool = uint8
  15645. type TFT_FWord = int16
  15646. type TFT_UFWord = uint16
  15647. type TFT_Char = int8
  15648. type TFT_Byte = uint8
  15649. type TFT_Bytes = uintptr
  15650. type TFT_Tag = uint32
  15651. type TFT_String = int8
  15652. type TFT_Short = int16
  15653. type TFT_UShort = uint16
  15654. type TFT_Int = int32
  15655. type TFT_UInt = uint32
  15656. type TFT_Long = int64
  15657. type TFT_ULong = uint64
  15658. type TFT_F2Dot14 = int16
  15659. type TFT_F26Dot6 = int64
  15660. type TFT_Fixed = int64
  15661. type TFT_Error = int32
  15662. type TFT_Pointer = uintptr
  15663. type TFT_Offset = uint64
  15664. type TFT_PtrDist = int64
  15665. type TFT_UnitVector = struct {
  15666. Fx TFT_F2Dot14
  15667. Fy TFT_F2Dot14
  15668. }
  15669. type TFT_UnitVector_ = TFT_UnitVector
  15670. type TFT_Matrix = struct {
  15671. Fxx TFT_Fixed
  15672. Fxy TFT_Fixed
  15673. Fyx TFT_Fixed
  15674. Fyy TFT_Fixed
  15675. }
  15676. type TFT_Matrix_ = TFT_Matrix
  15677. type TFT_Data = struct {
  15678. Fpointer uintptr
  15679. Flength TFT_Int
  15680. }
  15681. type TFT_Data_ = TFT_Data
  15682. type TFT_Generic_Finalizer = uintptr
  15683. type TFT_Generic = struct {
  15684. Fdata uintptr
  15685. Ffinalizer TFT_Generic_Finalizer
  15686. }
  15687. type TFT_Generic_ = TFT_Generic
  15688. type TFT_ListNode = uintptr
  15689. type TFT_ListNodeRec_ = struct {
  15690. Fprev TFT_ListNode
  15691. Fnext TFT_ListNode
  15692. Fdata uintptr
  15693. }
  15694. type TFT_List = uintptr
  15695. type TFT_ListRec_ = struct {
  15696. Fhead TFT_ListNode
  15697. Ftail TFT_ListNode
  15698. }
  15699. type TFT_ListNodeRec = struct {
  15700. Fprev TFT_ListNode
  15701. Fnext TFT_ListNode
  15702. Fdata uintptr
  15703. }
  15704. type TFT_ListRec = struct {
  15705. Fhead TFT_ListNode
  15706. Ftail TFT_ListNode
  15707. }
  15708. const _FT_Mod_Err_Base = 0
  15709. const _FT_Mod_Err_Autofit = 0
  15710. const _FT_Mod_Err_BDF = 0
  15711. const _FT_Mod_Err_Bzip2 = 0
  15712. const _FT_Mod_Err_Cache = 0
  15713. const _FT_Mod_Err_CFF = 0
  15714. const _FT_Mod_Err_CID = 0
  15715. const _FT_Mod_Err_Gzip = 0
  15716. const _FT_Mod_Err_LZW = 0
  15717. const _FT_Mod_Err_OTvalid = 0
  15718. const _FT_Mod_Err_PCF = 0
  15719. const _FT_Mod_Err_PFR = 0
  15720. const _FT_Mod_Err_PSaux = 0
  15721. const _FT_Mod_Err_PShinter = 0
  15722. const _FT_Mod_Err_PSnames = 0
  15723. const _FT_Mod_Err_Raster = 0
  15724. const _FT_Mod_Err_SFNT = 0
  15725. const _FT_Mod_Err_Smooth = 0
  15726. const _FT_Mod_Err_TrueType = 0
  15727. const _FT_Mod_Err_Type1 = 0
  15728. const _FT_Mod_Err_Type42 = 0
  15729. const _FT_Mod_Err_Winfonts = 0
  15730. const _FT_Mod_Err_GXvalid = 0
  15731. const _FT_Mod_Err_Max = 1
  15732. const _FT_Err_Ok = 0
  15733. const _FT_Err_Cannot_Open_Resource = 1
  15734. const _FT_Err_Unknown_File_Format = 2
  15735. const _FT_Err_Invalid_File_Format = 3
  15736. const _FT_Err_Invalid_Version = 4
  15737. const _FT_Err_Lower_Module_Version = 5
  15738. const _FT_Err_Invalid_Argument = 6
  15739. const _FT_Err_Unimplemented_Feature = 7
  15740. const _FT_Err_Invalid_Table = 8
  15741. const _FT_Err_Invalid_Offset = 9
  15742. const _FT_Err_Array_Too_Large = 10
  15743. const _FT_Err_Missing_Module = 11
  15744. const _FT_Err_Missing_Property = 12
  15745. const _FT_Err_Invalid_Glyph_Index = 16
  15746. const _FT_Err_Invalid_Character_Code = 17
  15747. const _FT_Err_Invalid_Glyph_Format = 18
  15748. const _FT_Err_Cannot_Render_Glyph = 19
  15749. const _FT_Err_Invalid_Outline = 20
  15750. const _FT_Err_Invalid_Composite = 21
  15751. const _FT_Err_Too_Many_Hints = 22
  15752. const _FT_Err_Invalid_Pixel_Size = 23
  15753. const _FT_Err_Invalid_Handle = 32
  15754. const _FT_Err_Invalid_Library_Handle = 33
  15755. const _FT_Err_Invalid_Driver_Handle = 34
  15756. const _FT_Err_Invalid_Face_Handle = 35
  15757. const _FT_Err_Invalid_Size_Handle = 36
  15758. const _FT_Err_Invalid_Slot_Handle = 37
  15759. const _FT_Err_Invalid_CharMap_Handle = 38
  15760. const _FT_Err_Invalid_Cache_Handle = 39
  15761. const _FT_Err_Invalid_Stream_Handle = 40
  15762. const _FT_Err_Too_Many_Drivers = 48
  15763. const _FT_Err_Too_Many_Extensions = 49
  15764. const _FT_Err_Out_Of_Memory = 64
  15765. const _FT_Err_Unlisted_Object = 65
  15766. const _FT_Err_Cannot_Open_Stream = 81
  15767. const _FT_Err_Invalid_Stream_Seek = 82
  15768. const _FT_Err_Invalid_Stream_Skip = 83
  15769. const _FT_Err_Invalid_Stream_Read = 84
  15770. const _FT_Err_Invalid_Stream_Operation = 85
  15771. const _FT_Err_Invalid_Frame_Operation = 86
  15772. const _FT_Err_Nested_Frame_Access = 87
  15773. const _FT_Err_Invalid_Frame_Read = 88
  15774. const _FT_Err_Raster_Uninitialized = 96
  15775. const _FT_Err_Raster_Corrupted = 97
  15776. const _FT_Err_Raster_Overflow = 98
  15777. const _FT_Err_Raster_Negative_Height = 99
  15778. const _FT_Err_Too_Many_Caches = 112
  15779. const _FT_Err_Invalid_Opcode = 128
  15780. const _FT_Err_Too_Few_Arguments = 129
  15781. const _FT_Err_Stack_Overflow = 130
  15782. const _FT_Err_Code_Overflow = 131
  15783. const _FT_Err_Bad_Argument = 132
  15784. const _FT_Err_Divide_By_Zero = 133
  15785. const _FT_Err_Invalid_Reference = 134
  15786. const _FT_Err_Debug_OpCode = 135
  15787. const _FT_Err_ENDF_In_Exec_Stream = 136
  15788. const _FT_Err_Nested_DEFS = 137
  15789. const _FT_Err_Invalid_CodeRange = 138
  15790. const _FT_Err_Execution_Too_Long = 139
  15791. const _FT_Err_Too_Many_Function_Defs = 140
  15792. const _FT_Err_Too_Many_Instruction_Defs = 141
  15793. const _FT_Err_Table_Missing = 142
  15794. const _FT_Err_Horiz_Header_Missing = 143
  15795. const _FT_Err_Locations_Missing = 144
  15796. const _FT_Err_Name_Table_Missing = 145
  15797. const _FT_Err_CMap_Table_Missing = 146
  15798. const _FT_Err_Hmtx_Table_Missing = 147
  15799. const _FT_Err_Post_Table_Missing = 148
  15800. const _FT_Err_Invalid_Horiz_Metrics = 149
  15801. const _FT_Err_Invalid_CharMap_Format = 150
  15802. const _FT_Err_Invalid_PPem = 151
  15803. const _FT_Err_Invalid_Vert_Metrics = 152
  15804. const _FT_Err_Could_Not_Find_Context = 153
  15805. const _FT_Err_Invalid_Post_Table_Format = 154
  15806. const _FT_Err_Invalid_Post_Table = 155
  15807. const _FT_Err_DEF_In_Glyf_Bytecode = 156
  15808. const _FT_Err_Missing_Bitmap = 157
  15809. const _FT_Err_Syntax_Error = 160
  15810. const _FT_Err_Stack_Underflow = 161
  15811. const _FT_Err_Ignore = 162
  15812. const _FT_Err_No_Unicode_Glyph_Name = 163
  15813. const _FT_Err_Glyph_Too_Big = 164
  15814. const _FT_Err_Missing_Startfont_Field = 176
  15815. const _FT_Err_Missing_Font_Field = 177
  15816. const _FT_Err_Missing_Size_Field = 178
  15817. const _FT_Err_Missing_Fontboundingbox_Field = 179
  15818. const _FT_Err_Missing_Chars_Field = 180
  15819. const _FT_Err_Missing_Startchar_Field = 181
  15820. const _FT_Err_Missing_Encoding_Field = 182
  15821. const _FT_Err_Missing_Bbx_Field = 183
  15822. const _FT_Err_Bbx_Too_Big = 184
  15823. const _FT_Err_Corrupted_Font_Header = 185
  15824. const _FT_Err_Corrupted_Font_Glyphs = 186
  15825. const _FT_Err_Max = 187
  15826. type TFT_Glyph_Metrics = struct {
  15827. Fwidth TFT_Pos
  15828. Fheight TFT_Pos
  15829. FhoriBearingX TFT_Pos
  15830. FhoriBearingY TFT_Pos
  15831. FhoriAdvance TFT_Pos
  15832. FvertBearingX TFT_Pos
  15833. FvertBearingY TFT_Pos
  15834. FvertAdvance TFT_Pos
  15835. }
  15836. type TFT_Glyph_Metrics_ = TFT_Glyph_Metrics
  15837. type TFT_Bitmap_Size = struct {
  15838. Fheight TFT_Short
  15839. Fwidth TFT_Short
  15840. Fsize TFT_Pos
  15841. Fx_ppem TFT_Pos
  15842. Fy_ppem TFT_Pos
  15843. }
  15844. type TFT_Bitmap_Size_ = TFT_Bitmap_Size
  15845. type TFT_Library = uintptr
  15846. type TFT_Module = uintptr
  15847. type TFT_Driver = uintptr
  15848. type TFT_Renderer = uintptr
  15849. type TFT_Face = uintptr
  15850. type TFT_FaceRec_ = struct {
  15851. Fnum_faces TFT_Long
  15852. Fface_index TFT_Long
  15853. Fface_flags TFT_Long
  15854. Fstyle_flags TFT_Long
  15855. Fnum_glyphs TFT_Long
  15856. Ffamily_name uintptr
  15857. Fstyle_name uintptr
  15858. Fnum_fixed_sizes TFT_Int
  15859. Favailable_sizes uintptr
  15860. Fnum_charmaps TFT_Int
  15861. Fcharmaps uintptr
  15862. Fgeneric TFT_Generic
  15863. Fbbox TFT_BBox
  15864. Funits_per_EM TFT_UShort
  15865. Fascender TFT_Short
  15866. Fdescender TFT_Short
  15867. Fheight TFT_Short
  15868. Fmax_advance_width TFT_Short
  15869. Fmax_advance_height TFT_Short
  15870. Funderline_position TFT_Short
  15871. Funderline_thickness TFT_Short
  15872. Fglyph TFT_GlyphSlot
  15873. Fsize TFT_Size
  15874. Fcharmap TFT_CharMap
  15875. Fdriver TFT_Driver
  15876. Fmemory TFT_Memory
  15877. Fstream TFT_Stream
  15878. Fsizes_list TFT_ListRec
  15879. Fautohint TFT_Generic
  15880. Fextensions uintptr
  15881. Finternal TFT_Face_Internal
  15882. }
  15883. type TFT_Size = uintptr
  15884. type TFT_SizeRec_ = struct {
  15885. Fface TFT_Face
  15886. Fgeneric TFT_Generic
  15887. Fmetrics TFT_Size_Metrics
  15888. Finternal TFT_Size_Internal
  15889. }
  15890. type TFT_GlyphSlot = uintptr
  15891. type TFT_GlyphSlotRec_ = struct {
  15892. Flibrary TFT_Library
  15893. Fface TFT_Face
  15894. Fnext TFT_GlyphSlot
  15895. Fglyph_index TFT_UInt
  15896. Fgeneric TFT_Generic
  15897. Fmetrics TFT_Glyph_Metrics
  15898. FlinearHoriAdvance TFT_Fixed
  15899. FlinearVertAdvance TFT_Fixed
  15900. Fadvance TFT_Vector
  15901. Fformat TFT_Glyph_Format
  15902. Fbitmap TFT_Bitmap
  15903. Fbitmap_left TFT_Int
  15904. Fbitmap_top TFT_Int
  15905. Foutline TFT_Outline
  15906. Fnum_subglyphs TFT_UInt
  15907. Fsubglyphs TFT_SubGlyph
  15908. Fcontrol_data uintptr
  15909. Fcontrol_len int64
  15910. Flsb_delta TFT_Pos
  15911. Frsb_delta TFT_Pos
  15912. Fother uintptr
  15913. Finternal TFT_Slot_Internal
  15914. }
  15915. type TFT_CharMap = uintptr
  15916. type TFT_CharMapRec_ = struct {
  15917. Fface TFT_Face
  15918. Fencoding TFT_Encoding
  15919. Fplatform_id TFT_UShort
  15920. Fencoding_id TFT_UShort
  15921. }
  15922. type _FT_Encoding_ = int32
  15923. const _FT_ENCODING_NONE = 0
  15924. const _FT_ENCODING_MS_SYMBOL = 1937337698
  15925. const _FT_ENCODING_UNICODE = 1970170211
  15926. const _FT_ENCODING_SJIS = 1936353651
  15927. const _FT_ENCODING_PRC = 1734484000
  15928. const _FT_ENCODING_BIG5 = 1651074869
  15929. const _FT_ENCODING_WANSUNG = 2002873971
  15930. const _FT_ENCODING_JOHAB = 1785686113
  15931. const _FT_ENCODING_GB2312 = 1734484000
  15932. const _FT_ENCODING_MS_SJIS = 1936353651
  15933. const _FT_ENCODING_MS_GB2312 = 1734484000
  15934. const _FT_ENCODING_MS_BIG5 = 1651074869
  15935. const _FT_ENCODING_MS_WANSUNG = 2002873971
  15936. const _FT_ENCODING_MS_JOHAB = 1785686113
  15937. const _FT_ENCODING_ADOBE_STANDARD = 1094995778
  15938. const _FT_ENCODING_ADOBE_EXPERT = 1094992453
  15939. const _FT_ENCODING_ADOBE_CUSTOM = 1094992451
  15940. const _FT_ENCODING_ADOBE_LATIN_1 = 1818326065
  15941. const _FT_ENCODING_OLD_LATIN_2 = 1818326066
  15942. const _FT_ENCODING_APPLE_ROMAN = 1634889070
  15943. type TFT_Encoding = int32
  15944. type TFT_CharMapRec = struct {
  15945. Fface TFT_Face
  15946. Fencoding TFT_Encoding
  15947. Fplatform_id TFT_UShort
  15948. Fencoding_id TFT_UShort
  15949. }
  15950. type TFT_Face_Internal = uintptr
  15951. type TFT_FaceRec = struct {
  15952. Fnum_faces TFT_Long
  15953. Fface_index TFT_Long
  15954. Fface_flags TFT_Long
  15955. Fstyle_flags TFT_Long
  15956. Fnum_glyphs TFT_Long
  15957. Ffamily_name uintptr
  15958. Fstyle_name uintptr
  15959. Fnum_fixed_sizes TFT_Int
  15960. Favailable_sizes uintptr
  15961. Fnum_charmaps TFT_Int
  15962. Fcharmaps uintptr
  15963. Fgeneric TFT_Generic
  15964. Fbbox TFT_BBox
  15965. Funits_per_EM TFT_UShort
  15966. Fascender TFT_Short
  15967. Fdescender TFT_Short
  15968. Fheight TFT_Short
  15969. Fmax_advance_width TFT_Short
  15970. Fmax_advance_height TFT_Short
  15971. Funderline_position TFT_Short
  15972. Funderline_thickness TFT_Short
  15973. Fglyph TFT_GlyphSlot
  15974. Fsize TFT_Size
  15975. Fcharmap TFT_CharMap
  15976. Fdriver TFT_Driver
  15977. Fmemory TFT_Memory
  15978. Fstream TFT_Stream
  15979. Fsizes_list TFT_ListRec
  15980. Fautohint TFT_Generic
  15981. Fextensions uintptr
  15982. Finternal TFT_Face_Internal
  15983. }
  15984. type TFT_Size_Internal = uintptr
  15985. type TFT_Size_Metrics = struct {
  15986. Fx_ppem TFT_UShort
  15987. Fy_ppem TFT_UShort
  15988. Fx_scale TFT_Fixed
  15989. Fy_scale TFT_Fixed
  15990. Fascender TFT_Pos
  15991. Fdescender TFT_Pos
  15992. Fheight TFT_Pos
  15993. Fmax_advance TFT_Pos
  15994. }
  15995. type TFT_Size_Metrics_ = TFT_Size_Metrics
  15996. type TFT_SizeRec = struct {
  15997. Fface TFT_Face
  15998. Fgeneric TFT_Generic
  15999. Fmetrics TFT_Size_Metrics
  16000. Finternal TFT_Size_Internal
  16001. }
  16002. type TFT_SubGlyph = uintptr
  16003. type TFT_Slot_Internal = uintptr
  16004. type TFT_GlyphSlotRec = struct {
  16005. Flibrary TFT_Library
  16006. Fface TFT_Face
  16007. Fnext TFT_GlyphSlot
  16008. Fglyph_index TFT_UInt
  16009. Fgeneric TFT_Generic
  16010. Fmetrics TFT_Glyph_Metrics
  16011. FlinearHoriAdvance TFT_Fixed
  16012. FlinearVertAdvance TFT_Fixed
  16013. Fadvance TFT_Vector
  16014. Fformat TFT_Glyph_Format
  16015. Fbitmap TFT_Bitmap
  16016. Fbitmap_left TFT_Int
  16017. Fbitmap_top TFT_Int
  16018. Foutline TFT_Outline
  16019. Fnum_subglyphs TFT_UInt
  16020. Fsubglyphs TFT_SubGlyph
  16021. Fcontrol_data uintptr
  16022. Fcontrol_len int64
  16023. Flsb_delta TFT_Pos
  16024. Frsb_delta TFT_Pos
  16025. Fother uintptr
  16026. Finternal TFT_Slot_Internal
  16027. }
  16028. type TFT_Parameter = struct {
  16029. Ftag TFT_ULong
  16030. Fdata TFT_Pointer
  16031. }
  16032. type TFT_Parameter_ = TFT_Parameter
  16033. type TFT_Open_Args = struct {
  16034. Fflags TFT_UInt
  16035. Fmemory_base uintptr
  16036. Fmemory_size TFT_Long
  16037. Fpathname uintptr
  16038. Fstream TFT_Stream
  16039. Fdriver TFT_Module
  16040. Fnum_params TFT_Int
  16041. Fparams uintptr
  16042. }
  16043. type TFT_Open_Args_ = TFT_Open_Args
  16044. type TFT_Size_Request_Type = int32
  16045. type _FT_Size_Request_Type_ = int32
  16046. const _FT_SIZE_REQUEST_TYPE_NOMINAL = 0
  16047. const _FT_SIZE_REQUEST_TYPE_REAL_DIM = 1
  16048. const _FT_SIZE_REQUEST_TYPE_BBOX = 2
  16049. const _FT_SIZE_REQUEST_TYPE_CELL = 3
  16050. const _FT_SIZE_REQUEST_TYPE_SCALES = 4
  16051. const _FT_SIZE_REQUEST_TYPE_MAX = 5
  16052. type TFT_Size_RequestRec = struct {
  16053. Ftype1 TFT_Size_Request_Type
  16054. Fwidth TFT_Long
  16055. Fheight TFT_Long
  16056. FhoriResolution TFT_UInt
  16057. FvertResolution TFT_UInt
  16058. }
  16059. type TFT_Size_RequestRec_ = TFT_Size_RequestRec
  16060. type TFT_Size_Request = uintptr
  16061. type TFT_Render_Mode = int32
  16062. type _FT_Render_Mode_ = int32
  16063. const _FT_RENDER_MODE_NORMAL = 0
  16064. const _FT_RENDER_MODE_LIGHT = 1
  16065. const _FT_RENDER_MODE_MONO = 2
  16066. const _FT_RENDER_MODE_LCD = 3
  16067. const _FT_RENDER_MODE_LCD_V = 4
  16068. const _FT_RENDER_MODE_MAX = 5
  16069. type TFT_Kerning_Mode = int32
  16070. type _FT_Kerning_Mode_ = int32
  16071. const _FT_KERNING_DEFAULT = 0
  16072. const _FT_KERNING_UNFITTED = 1
  16073. const _FT_KERNING_UNSCALED = 2
  16074. type TFT_LayerIterator = struct {
  16075. Fnum_layers TFT_UInt
  16076. Flayer TFT_UInt
  16077. Fp uintptr
  16078. }
  16079. type TFT_LayerIterator_ = TFT_LayerIterator
  16080. type TTT_Header = struct {
  16081. FTable_Version TFT_Fixed
  16082. FFont_Revision TFT_Fixed
  16083. FCheckSum_Adjust TFT_Long
  16084. FMagic_Number TFT_Long
  16085. FFlags TFT_UShort
  16086. FUnits_Per_EM TFT_UShort
  16087. FCreated [2]TFT_ULong
  16088. FModified [2]TFT_ULong
  16089. FxMin TFT_Short
  16090. FyMin TFT_Short
  16091. FxMax TFT_Short
  16092. FyMax TFT_Short
  16093. FMac_Style TFT_UShort
  16094. FLowest_Rec_PPEM TFT_UShort
  16095. FFont_Direction TFT_Short
  16096. FIndex_To_Loc_Format TFT_Short
  16097. FGlyph_Data_Format TFT_Short
  16098. }
  16099. type TTT_Header_ = TTT_Header
  16100. type TTT_HoriHeader = struct {
  16101. FVersion TFT_Fixed
  16102. FAscender TFT_Short
  16103. FDescender TFT_Short
  16104. FLine_Gap TFT_Short
  16105. Fadvance_Width_Max TFT_UShort
  16106. Fmin_Left_Side_Bearing TFT_Short
  16107. Fmin_Right_Side_Bearing TFT_Short
  16108. FxMax_Extent TFT_Short
  16109. Fcaret_Slope_Rise TFT_Short
  16110. Fcaret_Slope_Run TFT_Short
  16111. Fcaret_Offset TFT_Short
  16112. FReserved [4]TFT_Short
  16113. Fmetric_Data_Format TFT_Short
  16114. Fnumber_Of_HMetrics TFT_UShort
  16115. Flong_metrics uintptr
  16116. Fshort_metrics uintptr
  16117. }
  16118. type TTT_HoriHeader_ = TTT_HoriHeader
  16119. type TTT_VertHeader = struct {
  16120. FVersion TFT_Fixed
  16121. FAscender TFT_Short
  16122. FDescender TFT_Short
  16123. FLine_Gap TFT_Short
  16124. Fadvance_Height_Max TFT_UShort
  16125. Fmin_Top_Side_Bearing TFT_Short
  16126. Fmin_Bottom_Side_Bearing TFT_Short
  16127. FyMax_Extent TFT_Short
  16128. Fcaret_Slope_Rise TFT_Short
  16129. Fcaret_Slope_Run TFT_Short
  16130. Fcaret_Offset TFT_Short
  16131. FReserved [4]TFT_Short
  16132. Fmetric_Data_Format TFT_Short
  16133. Fnumber_Of_VMetrics TFT_UShort
  16134. Flong_metrics uintptr
  16135. Fshort_metrics uintptr
  16136. }
  16137. type TTT_VertHeader_ = TTT_VertHeader
  16138. type TTT_OS2 = struct {
  16139. Fversion TFT_UShort
  16140. FxAvgCharWidth TFT_Short
  16141. FusWeightClass TFT_UShort
  16142. FusWidthClass TFT_UShort
  16143. FfsType TFT_UShort
  16144. FySubscriptXSize TFT_Short
  16145. FySubscriptYSize TFT_Short
  16146. FySubscriptXOffset TFT_Short
  16147. FySubscriptYOffset TFT_Short
  16148. FySuperscriptXSize TFT_Short
  16149. FySuperscriptYSize TFT_Short
  16150. FySuperscriptXOffset TFT_Short
  16151. FySuperscriptYOffset TFT_Short
  16152. FyStrikeoutSize TFT_Short
  16153. FyStrikeoutPosition TFT_Short
  16154. FsFamilyClass TFT_Short
  16155. Fpanose [10]TFT_Byte
  16156. FulUnicodeRange1 TFT_ULong
  16157. FulUnicodeRange2 TFT_ULong
  16158. FulUnicodeRange3 TFT_ULong
  16159. FulUnicodeRange4 TFT_ULong
  16160. FachVendID [4]TFT_Char
  16161. FfsSelection TFT_UShort
  16162. FusFirstCharIndex TFT_UShort
  16163. FusLastCharIndex TFT_UShort
  16164. FsTypoAscender TFT_Short
  16165. FsTypoDescender TFT_Short
  16166. FsTypoLineGap TFT_Short
  16167. FusWinAscent TFT_UShort
  16168. FusWinDescent TFT_UShort
  16169. FulCodePageRange1 TFT_ULong
  16170. FulCodePageRange2 TFT_ULong
  16171. FsxHeight TFT_Short
  16172. FsCapHeight TFT_Short
  16173. FusDefaultChar TFT_UShort
  16174. FusBreakChar TFT_UShort
  16175. FusMaxContext TFT_UShort
  16176. FusLowerOpticalPointSize TFT_UShort
  16177. FusUpperOpticalPointSize TFT_UShort
  16178. }
  16179. type TTT_OS2_ = TTT_OS2
  16180. type TTT_Postscript = struct {
  16181. FFormatType TFT_Fixed
  16182. FitalicAngle TFT_Fixed
  16183. FunderlinePosition TFT_Short
  16184. FunderlineThickness TFT_Short
  16185. FisFixedPitch TFT_ULong
  16186. FminMemType42 TFT_ULong
  16187. FmaxMemType42 TFT_ULong
  16188. FminMemType1 TFT_ULong
  16189. FmaxMemType1 TFT_ULong
  16190. }
  16191. type TTT_Postscript_ = TTT_Postscript
  16192. type TTT_PCLT = struct {
  16193. FVersion TFT_Fixed
  16194. FFontNumber TFT_ULong
  16195. FPitch TFT_UShort
  16196. FxHeight TFT_UShort
  16197. FStyle TFT_UShort
  16198. FTypeFamily TFT_UShort
  16199. FCapHeight TFT_UShort
  16200. FSymbolSet TFT_UShort
  16201. FTypeFace [16]TFT_Char
  16202. FCharacterComplement [8]TFT_Char
  16203. FFileName [6]TFT_Char
  16204. FStrokeWeight TFT_Char
  16205. FWidthType TFT_Char
  16206. FSerifStyle TFT_Byte
  16207. FReserved TFT_Byte
  16208. }
  16209. type TTT_PCLT_ = TTT_PCLT
  16210. type TTT_MaxProfile = struct {
  16211. Fversion TFT_Fixed
  16212. FnumGlyphs TFT_UShort
  16213. FmaxPoints TFT_UShort
  16214. FmaxContours TFT_UShort
  16215. FmaxCompositePoints TFT_UShort
  16216. FmaxCompositeContours TFT_UShort
  16217. FmaxZones TFT_UShort
  16218. FmaxTwilightPoints TFT_UShort
  16219. FmaxStorage TFT_UShort
  16220. FmaxFunctionDefs TFT_UShort
  16221. FmaxInstructionDefs TFT_UShort
  16222. FmaxStackElements TFT_UShort
  16223. FmaxSizeOfInstructions TFT_UShort
  16224. FmaxComponentElements TFT_UShort
  16225. FmaxComponentDepth TFT_UShort
  16226. }
  16227. type TTT_MaxProfile_ = TTT_MaxProfile
  16228. type TFT_Sfnt_Tag = int32
  16229. type _FT_Sfnt_Tag_ = int32
  16230. const _FT_SFNT_HEAD = 0
  16231. const _FT_SFNT_MAXP = 1
  16232. const _FT_SFNT_OS2 = 2
  16233. const _FT_SFNT_HHEA = 3
  16234. const _FT_SFNT_VHEA = 4
  16235. const _FT_SFNT_POST = 5
  16236. const _FT_SFNT_PCLT = 6
  16237. const _FT_SFNT_MAX = 7
  16238. type TFT_SfntName = struct {
  16239. Fplatform_id TFT_UShort
  16240. Fencoding_id TFT_UShort
  16241. Flanguage_id TFT_UShort
  16242. Fname_id TFT_UShort
  16243. Fstring1 uintptr
  16244. Fstring_len TFT_UInt
  16245. }
  16246. type TFT_SfntName_ = TFT_SfntName
  16247. type TFT_SfntLangTag = struct {
  16248. Fstring1 uintptr
  16249. Fstring_len TFT_UInt
  16250. }
  16251. type TFT_SfntLangTag_ = TFT_SfntLangTag
  16252. type TPS_FontInfoRec = struct {
  16253. Fversion uintptr
  16254. Fnotice uintptr
  16255. Ffull_name uintptr
  16256. Ffamily_name uintptr
  16257. Fweight uintptr
  16258. Fitalic_angle TFT_Long
  16259. Fis_fixed_pitch TFT_Bool
  16260. Funderline_position TFT_Short
  16261. Funderline_thickness TFT_UShort
  16262. }
  16263. type TPS_FontInfoRec_ = TPS_FontInfoRec
  16264. type TPS_FontInfo = uintptr
  16265. type TT1_FontInfo = struct {
  16266. Fversion uintptr
  16267. Fnotice uintptr
  16268. Ffull_name uintptr
  16269. Ffamily_name uintptr
  16270. Fweight uintptr
  16271. Fitalic_angle TFT_Long
  16272. Fis_fixed_pitch TFT_Bool
  16273. Funderline_position TFT_Short
  16274. Funderline_thickness TFT_UShort
  16275. }
  16276. type TPS_PrivateRec = struct {
  16277. Funique_id TFT_Int
  16278. FlenIV TFT_Int
  16279. Fnum_blue_values TFT_Byte
  16280. Fnum_other_blues TFT_Byte
  16281. Fnum_family_blues TFT_Byte
  16282. Fnum_family_other_blues TFT_Byte
  16283. Fblue_values [14]TFT_Short
  16284. Fother_blues [10]TFT_Short
  16285. Ffamily_blues [14]TFT_Short
  16286. Ffamily_other_blues [10]TFT_Short
  16287. Fblue_scale TFT_Fixed
  16288. Fblue_shift TFT_Int
  16289. Fblue_fuzz TFT_Int
  16290. Fstandard_width [1]TFT_UShort
  16291. Fstandard_height [1]TFT_UShort
  16292. Fnum_snap_widths TFT_Byte
  16293. Fnum_snap_heights TFT_Byte
  16294. Fforce_bold TFT_Bool
  16295. Fround_stem_up TFT_Bool
  16296. Fsnap_widths [13]TFT_Short
  16297. Fsnap_heights [13]TFT_Short
  16298. Fexpansion_factor TFT_Fixed
  16299. Flanguage_group TFT_Long
  16300. Fpassword TFT_Long
  16301. Fmin_feature [2]TFT_Short
  16302. }
  16303. type TPS_PrivateRec_ = TPS_PrivateRec
  16304. type TPS_Private = uintptr
  16305. type TT1_Private = struct {
  16306. Funique_id TFT_Int
  16307. FlenIV TFT_Int
  16308. Fnum_blue_values TFT_Byte
  16309. Fnum_other_blues TFT_Byte
  16310. Fnum_family_blues TFT_Byte
  16311. Fnum_family_other_blues TFT_Byte
  16312. Fblue_values [14]TFT_Short
  16313. Fother_blues [10]TFT_Short
  16314. Ffamily_blues [14]TFT_Short
  16315. Ffamily_other_blues [10]TFT_Short
  16316. Fblue_scale TFT_Fixed
  16317. Fblue_shift TFT_Int
  16318. Fblue_fuzz TFT_Int
  16319. Fstandard_width [1]TFT_UShort
  16320. Fstandard_height [1]TFT_UShort
  16321. Fnum_snap_widths TFT_Byte
  16322. Fnum_snap_heights TFT_Byte
  16323. Fforce_bold TFT_Bool
  16324. Fround_stem_up TFT_Bool
  16325. Fsnap_widths [13]TFT_Short
  16326. Fsnap_heights [13]TFT_Short
  16327. Fexpansion_factor TFT_Fixed
  16328. Flanguage_group TFT_Long
  16329. Fpassword TFT_Long
  16330. Fmin_feature [2]TFT_Short
  16331. }
  16332. type TT1_Blend_Flags = int32
  16333. type _T1_Blend_Flags_ = int32
  16334. const _T1_BLEND_UNDERLINE_POSITION = 0
  16335. const _T1_BLEND_UNDERLINE_THICKNESS = 1
  16336. const _T1_BLEND_ITALIC_ANGLE = 2
  16337. const _T1_BLEND_BLUE_VALUES = 3
  16338. const _T1_BLEND_OTHER_BLUES = 4
  16339. const _T1_BLEND_STANDARD_WIDTH = 5
  16340. const _T1_BLEND_STANDARD_HEIGHT = 6
  16341. const _T1_BLEND_STEM_SNAP_WIDTHS = 7
  16342. const _T1_BLEND_STEM_SNAP_HEIGHTS = 8
  16343. const _T1_BLEND_BLUE_SCALE = 9
  16344. const _T1_BLEND_BLUE_SHIFT = 10
  16345. const _T1_BLEND_FAMILY_BLUES = 11
  16346. const _T1_BLEND_FAMILY_OTHER_BLUES = 12
  16347. const _T1_BLEND_FORCE_BOLD = 13
  16348. const _T1_BLEND_MAX = 14
  16349. type TPS_DesignMapRec = struct {
  16350. Fnum_points TFT_Byte
  16351. Fdesign_points uintptr
  16352. Fblend_points uintptr
  16353. }
  16354. type TPS_DesignMap_ = TPS_DesignMapRec
  16355. type TPS_DesignMap = uintptr
  16356. type TT1_DesignMap = struct {
  16357. Fnum_points TFT_Byte
  16358. Fdesign_points uintptr
  16359. Fblend_points uintptr
  16360. }
  16361. type TPS_BlendRec = struct {
  16362. Fnum_designs TFT_UInt
  16363. Fnum_axis TFT_UInt
  16364. Faxis_names [4]uintptr
  16365. Fdesign_pos [16]uintptr
  16366. Fdesign_map [4]TPS_DesignMapRec
  16367. Fweight_vector uintptr
  16368. Fdefault_weight_vector uintptr
  16369. Ffont_infos [17]TPS_FontInfo
  16370. Fprivates [17]TPS_Private
  16371. Fblend_bitflags TFT_ULong
  16372. Fbboxes [17]uintptr
  16373. Fdefault_design_vector [16]TFT_UInt
  16374. Fnum_default_design_vector TFT_UInt
  16375. }
  16376. type TPS_BlendRec_ = TPS_BlendRec
  16377. type TPS_Blend = uintptr
  16378. type TT1_Blend = struct {
  16379. Fnum_designs TFT_UInt
  16380. Fnum_axis TFT_UInt
  16381. Faxis_names [4]uintptr
  16382. Fdesign_pos [16]uintptr
  16383. Fdesign_map [4]TPS_DesignMapRec
  16384. Fweight_vector uintptr
  16385. Fdefault_weight_vector uintptr
  16386. Ffont_infos [17]TPS_FontInfo
  16387. Fprivates [17]TPS_Private
  16388. Fblend_bitflags TFT_ULong
  16389. Fbboxes [17]uintptr
  16390. Fdefault_design_vector [16]TFT_UInt
  16391. Fnum_default_design_vector TFT_UInt
  16392. }
  16393. type TCID_FaceDictRec = struct {
  16394. Fprivate_dict TPS_PrivateRec
  16395. Flen_buildchar TFT_UInt
  16396. Fforcebold_threshold TFT_Fixed
  16397. Fstroke_width TFT_Pos
  16398. Fexpansion_factor TFT_Fixed
  16399. Fpaint_type TFT_Byte
  16400. Ffont_type TFT_Byte
  16401. Ffont_matrix TFT_Matrix
  16402. Ffont_offset TFT_Vector
  16403. Fnum_subrs TFT_UInt
  16404. Fsubrmap_offset TFT_ULong
  16405. Fsd_bytes TFT_Int
  16406. }
  16407. type TCID_FaceDictRec_ = TCID_FaceDictRec
  16408. type TCID_FaceDict = uintptr
  16409. type TCID_FontDict = struct {
  16410. Fprivate_dict TPS_PrivateRec
  16411. Flen_buildchar TFT_UInt
  16412. Fforcebold_threshold TFT_Fixed
  16413. Fstroke_width TFT_Pos
  16414. Fexpansion_factor TFT_Fixed
  16415. Fpaint_type TFT_Byte
  16416. Ffont_type TFT_Byte
  16417. Ffont_matrix TFT_Matrix
  16418. Ffont_offset TFT_Vector
  16419. Fnum_subrs TFT_UInt
  16420. Fsubrmap_offset TFT_ULong
  16421. Fsd_bytes TFT_Int
  16422. }
  16423. type TCID_FaceInfoRec = struct {
  16424. Fcid_font_name uintptr
  16425. Fcid_version TFT_Fixed
  16426. Fcid_font_type TFT_Int
  16427. Fregistry uintptr
  16428. Fordering uintptr
  16429. Fsupplement TFT_Int
  16430. Ffont_info TPS_FontInfoRec
  16431. Ffont_bbox TFT_BBox
  16432. Fuid_base TFT_ULong
  16433. Fnum_xuid TFT_Int
  16434. Fxuid [16]TFT_ULong
  16435. Fcidmap_offset TFT_ULong
  16436. Ffd_bytes TFT_Int
  16437. Fgd_bytes TFT_Int
  16438. Fcid_count TFT_ULong
  16439. Fnum_dicts TFT_Int
  16440. Ffont_dicts TCID_FaceDict
  16441. Fdata_offset TFT_ULong
  16442. }
  16443. type TCID_FaceInfoRec_ = TCID_FaceInfoRec
  16444. type TCID_FaceInfo = uintptr
  16445. type TCID_Info = struct {
  16446. Fcid_font_name uintptr
  16447. Fcid_version TFT_Fixed
  16448. Fcid_font_type TFT_Int
  16449. Fregistry uintptr
  16450. Fordering uintptr
  16451. Fsupplement TFT_Int
  16452. Ffont_info TPS_FontInfoRec
  16453. Ffont_bbox TFT_BBox
  16454. Fuid_base TFT_ULong
  16455. Fnum_xuid TFT_Int
  16456. Fxuid [16]TFT_ULong
  16457. Fcidmap_offset TFT_ULong
  16458. Ffd_bytes TFT_Int
  16459. Fgd_bytes TFT_Int
  16460. Fcid_count TFT_ULong
  16461. Fnum_dicts TFT_Int
  16462. Ffont_dicts TCID_FaceDict
  16463. Fdata_offset TFT_ULong
  16464. }
  16465. type TT1_EncodingType = int32
  16466. type _T1_EncodingType_ = int32
  16467. const _T1_ENCODING_TYPE_NONE = 0
  16468. const _T1_ENCODING_TYPE_ARRAY = 1
  16469. const _T1_ENCODING_TYPE_STANDARD = 2
  16470. const _T1_ENCODING_TYPE_ISOLATIN1 = 3
  16471. const _T1_ENCODING_TYPE_EXPERT = 4
  16472. type TPS_Dict_Keys = int32
  16473. type _PS_Dict_Keys_ = int32
  16474. const _PS_DICT_FONT_TYPE = 0
  16475. const _PS_DICT_FONT_MATRIX = 1
  16476. const _PS_DICT_FONT_BBOX = 2
  16477. const _PS_DICT_PAINT_TYPE = 3
  16478. const _PS_DICT_FONT_NAME = 4
  16479. const _PS_DICT_UNIQUE_ID = 5
  16480. const _PS_DICT_NUM_CHAR_STRINGS = 6
  16481. const _PS_DICT_CHAR_STRING_KEY = 7
  16482. const _PS_DICT_CHAR_STRING = 8
  16483. const _PS_DICT_ENCODING_TYPE = 9
  16484. const _PS_DICT_ENCODING_ENTRY = 10
  16485. const _PS_DICT_NUM_SUBRS = 11
  16486. const _PS_DICT_SUBR = 12
  16487. const _PS_DICT_STD_HW = 13
  16488. const _PS_DICT_STD_VW = 14
  16489. const _PS_DICT_NUM_BLUE_VALUES = 15
  16490. const _PS_DICT_BLUE_VALUE = 16
  16491. const _PS_DICT_BLUE_FUZZ = 17
  16492. const _PS_DICT_NUM_OTHER_BLUES = 18
  16493. const _PS_DICT_OTHER_BLUE = 19
  16494. const _PS_DICT_NUM_FAMILY_BLUES = 20
  16495. const _PS_DICT_FAMILY_BLUE = 21
  16496. const _PS_DICT_NUM_FAMILY_OTHER_BLUES = 22
  16497. const _PS_DICT_FAMILY_OTHER_BLUE = 23
  16498. const _PS_DICT_BLUE_SCALE = 24
  16499. const _PS_DICT_BLUE_SHIFT = 25
  16500. const _PS_DICT_NUM_STEM_SNAP_H = 26
  16501. const _PS_DICT_STEM_SNAP_H = 27
  16502. const _PS_DICT_NUM_STEM_SNAP_V = 28
  16503. const _PS_DICT_STEM_SNAP_V = 29
  16504. const _PS_DICT_FORCE_BOLD = 30
  16505. const _PS_DICT_RND_STEM_UP = 31
  16506. const _PS_DICT_MIN_FEATURE = 32
  16507. const _PS_DICT_LEN_IV = 33
  16508. const _PS_DICT_PASSWORD = 34
  16509. const _PS_DICT_LANGUAGE_GROUP = 35
  16510. const _PS_DICT_VERSION = 36
  16511. const _PS_DICT_NOTICE = 37
  16512. const _PS_DICT_FULL_NAME = 38
  16513. const _PS_DICT_FAMILY_NAME = 39
  16514. const _PS_DICT_WEIGHT = 40
  16515. const _PS_DICT_IS_FIXED_PITCH = 41
  16516. const _PS_DICT_UNDERLINE_POSITION = 42
  16517. const _PS_DICT_UNDERLINE_THICKNESS = 43
  16518. const _PS_DICT_FS_TYPE = 44
  16519. const _PS_DICT_ITALIC_ANGLE = 45
  16520. const _PS_DICT_MAX = 45
  16521. type TFT_MM_Axis = struct {
  16522. Fname uintptr
  16523. Fminimum TFT_Long
  16524. Fmaximum TFT_Long
  16525. }
  16526. type TFT_MM_Axis_ = TFT_MM_Axis
  16527. type TFT_Multi_Master = struct {
  16528. Fnum_axis TFT_UInt
  16529. Fnum_designs TFT_UInt
  16530. Faxis [4]TFT_MM_Axis
  16531. }
  16532. type TFT_Multi_Master_ = TFT_Multi_Master
  16533. type TFT_Var_Axis = struct {
  16534. Fname uintptr
  16535. Fminimum TFT_Fixed
  16536. Fdef TFT_Fixed
  16537. Fmaximum TFT_Fixed
  16538. Ftag TFT_ULong
  16539. Fstrid TFT_UInt
  16540. }
  16541. type TFT_Var_Axis_ = TFT_Var_Axis
  16542. type TFT_Var_Named_Style = struct {
  16543. Fcoords uintptr
  16544. Fstrid TFT_UInt
  16545. Fpsid TFT_UInt
  16546. }
  16547. type TFT_Var_Named_Style_ = TFT_Var_Named_Style
  16548. type TFT_MM_Var = struct {
  16549. Fnum_axis TFT_UInt
  16550. Fnum_designs TFT_UInt
  16551. Fnum_namedstyles TFT_UInt
  16552. Faxis uintptr
  16553. Fnamedstyle uintptr
  16554. }
  16555. type TFT_MM_Var_ = TFT_MM_Var
  16556. var _FcNoticeFoundries = [18][2]uintptr{
  16557. 0: {
  16558. 0: __ccgo_ts + 3522,
  16559. 1: __ccgo_ts + 3528,
  16560. },
  16561. 1: {
  16562. 0: __ccgo_ts + 3534,
  16563. 1: __ccgo_ts + 3542,
  16564. },
  16565. 2: {
  16566. 0: __ccgo_ts + 3546,
  16567. 1: __ccgo_ts + 3556,
  16568. },
  16569. 3: {
  16570. 0: __ccgo_ts + 3566,
  16571. 1: __ccgo_ts + 3571,
  16572. },
  16573. 4: {
  16574. 0: __ccgo_ts + 3578,
  16575. 1: __ccgo_ts + 3571,
  16576. },
  16577. 5: {
  16578. 0: __ccgo_ts + 3584,
  16579. 1: __ccgo_ts + 3599,
  16580. },
  16581. 6: {
  16582. 0: __ccgo_ts + 3607,
  16583. 1: __ccgo_ts + 3614,
  16584. },
  16585. 7: {
  16586. 0: __ccgo_ts + 3619,
  16587. 1: __ccgo_ts + 3623,
  16588. },
  16589. 8: {
  16590. 0: __ccgo_ts + 3627,
  16591. 1: __ccgo_ts + 3662,
  16592. },
  16593. 9: {
  16594. 0: __ccgo_ts + 3666,
  16595. 1: __ccgo_ts + 3675,
  16596. },
  16597. 10: {
  16598. 0: __ccgo_ts + 3684,
  16599. 1: __ccgo_ts + 3675,
  16600. },
  16601. 11: {
  16602. 0: __ccgo_ts + 3698,
  16603. 1: __ccgo_ts + 3708,
  16604. },
  16605. 12: {
  16606. 0: __ccgo_ts + 3718,
  16607. 1: __ccgo_ts + 3727,
  16608. },
  16609. 13: {
  16610. 0: __ccgo_ts + 3736,
  16611. 1: __ccgo_ts + 3742,
  16612. },
  16613. 14: {
  16614. 0: __ccgo_ts + 3748,
  16615. 1: __ccgo_ts + 3763,
  16616. },
  16617. 15: {
  16618. 0: __ccgo_ts + 3768,
  16619. 1: __ccgo_ts + 3772,
  16620. },
  16621. 16: {
  16622. 0: __ccgo_ts + 3776,
  16623. 1: __ccgo_ts + 3784,
  16624. },
  16625. 17: {
  16626. 0: __ccgo_ts + 3792,
  16627. 1: __ccgo_ts + 3797,
  16628. },
  16629. }
  16630. /*
  16631. * Keep Han languages separated by eliminating languages
  16632. * that the codePageRange bits says aren't supported
  16633. */
  16634. var _FcCodePageRange = [4]struct {
  16635. Fbit int8
  16636. Flang [6]TFcChar8
  16637. }{
  16638. 0: {
  16639. Fbit: int8(17),
  16640. Flang: [6]TFcChar8{'j', 'a'},
  16641. },
  16642. 1: {
  16643. Fbit: int8(18),
  16644. Flang: [6]TFcChar8{'z', 'h', '-', 'c', 'n'},
  16645. },
  16646. 2: {
  16647. Fbit: int8(19),
  16648. Flang: [6]TFcChar8{'k', 'o'},
  16649. },
  16650. 3: {
  16651. Fbit: int8(20),
  16652. Flang: [6]TFcChar8{'z', 'h', '-', 't', 'w'},
  16653. },
  16654. }
  16655. func XFcFreeTypeIsExclusiveLang(tls *libc.TLS, lang uintptr) (r TFcBool) {
  16656. var i int32
  16657. _ = i
  16658. i = 0
  16659. for {
  16660. if !(i < int32(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7))) {
  16661. break
  16662. }
  16663. if XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_FcCodePageRange))+uintptr(i)*7+1) == int32(_FcLangEqual) {
  16664. return int32(m_FcTrue)
  16665. }
  16666. goto _1
  16667. _1:
  16668. ;
  16669. i++
  16670. }
  16671. return m_FcFalse
  16672. }
  16673. type TFcFtEncoding = struct {
  16674. Fplatform_id TFT_UShort
  16675. Fencoding_id TFT_UShort
  16676. Ffromcode [12]int8
  16677. }
  16678. var _fcFtEncoding = [14]TFcFtEncoding{
  16679. 0: {
  16680. Fencoding_id: uint16(m_TT_ENCODING_DONT_CARE),
  16681. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  16682. },
  16683. 1: {
  16684. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16685. Ffromcode: [12]int8{'M', 'A', 'C', 'I', 'N', 'T', 'O', 'S', 'H'},
  16686. },
  16687. 2: {
  16688. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16689. Fencoding_id: uint16(m_TT_MAC_ID_JAPANESE),
  16690. Ffromcode: [12]int8{'S', 'J', 'I', 'S'},
  16691. },
  16692. 3: {
  16693. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16694. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  16695. },
  16696. 4: {
  16697. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16698. Fencoding_id: uint16(m_TT_MS_ID_UNICODE_CS),
  16699. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  16700. },
  16701. 5: {
  16702. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16703. Fencoding_id: uint16(m_TT_MS_ID_SJIS),
  16704. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  16705. },
  16706. 6: {
  16707. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16708. Fencoding_id: uint16(m_TT_MS_ID_PRC),
  16709. Ffromcode: [12]int8{'G', 'B', '2', '3', '1', '2'},
  16710. },
  16711. 7: {
  16712. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16713. Fencoding_id: uint16(m_TT_MS_ID_BIG_5),
  16714. Ffromcode: [12]int8{'B', 'I', 'G', '-', '5'},
  16715. },
  16716. 8: {
  16717. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16718. Fencoding_id: uint16(m_TT_MS_ID_WANSUNG),
  16719. Ffromcode: [12]int8{'W', 'a', 'n', 's', 'u', 'n', 'g'},
  16720. },
  16721. 9: {
  16722. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16723. Fencoding_id: uint16(m_TT_MS_ID_JOHAB),
  16724. Ffromcode: [12]int8{'J', 'o', 'h', 'a', 'b'},
  16725. },
  16726. 10: {
  16727. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  16728. Fencoding_id: uint16(m_TT_MS_ID_UCS_4),
  16729. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  16730. },
  16731. 11: {
  16732. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  16733. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  16734. },
  16735. 12: {
  16736. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  16737. Fencoding_id: uint16(m_TT_ISO_ID_10646),
  16738. Ffromcode: [12]int8{'U', 'T', 'F', '-', '1', '6', 'B', 'E'},
  16739. },
  16740. 13: {
  16741. Fplatform_id: uint16(m_TT_PLATFORM_ISO),
  16742. Fencoding_id: uint16(m_TT_ISO_ID_8859_1),
  16743. Ffromcode: [12]int8{'I', 'S', 'O', '-', '8', '8', '5', '9', '-', '1'},
  16744. },
  16745. }
  16746. type TFcFtLanguage = struct {
  16747. Fplatform_id TFT_UShort
  16748. Flanguage_id TFT_UShort
  16749. Flang [8]int8
  16750. }
  16751. var _fcFtLanguage = [335]TFcFtLanguage{
  16752. 0: {
  16753. Flanguage_id: uint16(m_TT_LANGUAGE_DONT_CARE),
  16754. Flang: [8]int8{},
  16755. },
  16756. 1: {
  16757. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16758. Flang: [8]int8{'e', 'n'},
  16759. },
  16760. 2: {
  16761. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16762. Flanguage_id: uint16(m_TT_MAC_LANGID_FRENCH),
  16763. Flang: [8]int8{'f', 'r'},
  16764. },
  16765. 3: {
  16766. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16767. Flanguage_id: uint16(m_TT_MAC_LANGID_GERMAN),
  16768. Flang: [8]int8{'d', 'e'},
  16769. },
  16770. 4: {
  16771. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16772. Flanguage_id: uint16(m_TT_MAC_LANGID_ITALIAN),
  16773. Flang: [8]int8{'i', 't'},
  16774. },
  16775. 5: {
  16776. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16777. Flanguage_id: uint16(m_TT_MAC_LANGID_DUTCH),
  16778. Flang: [8]int8{'n', 'l'},
  16779. },
  16780. 6: {
  16781. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16782. Flanguage_id: uint16(m_TT_MAC_LANGID_SWEDISH),
  16783. Flang: [8]int8{'s', 'v'},
  16784. },
  16785. 7: {
  16786. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16787. Flanguage_id: uint16(m_TT_MAC_LANGID_SPANISH),
  16788. Flang: [8]int8{'e', 's'},
  16789. },
  16790. 8: {
  16791. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16792. Flanguage_id: uint16(m_TT_MAC_LANGID_DANISH),
  16793. Flang: [8]int8{'d', 'a'},
  16794. },
  16795. 9: {
  16796. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16797. Flanguage_id: uint16(m_TT_MAC_LANGID_PORTUGUESE),
  16798. Flang: [8]int8{'p', 't'},
  16799. },
  16800. 10: {
  16801. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16802. Flanguage_id: uint16(m_TT_MAC_LANGID_NORWEGIAN),
  16803. Flang: [8]int8{'n', 'o'},
  16804. },
  16805. 11: {
  16806. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16807. Flanguage_id: uint16(m_TT_MAC_LANGID_HEBREW),
  16808. Flang: [8]int8{'h', 'e'},
  16809. },
  16810. 12: {
  16811. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16812. Flanguage_id: uint16(m_TT_MAC_LANGID_JAPANESE),
  16813. Flang: [8]int8{'j', 'a'},
  16814. },
  16815. 13: {
  16816. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16817. Flanguage_id: uint16(m_TT_MAC_LANGID_ARABIC),
  16818. Flang: [8]int8{'a', 'r'},
  16819. },
  16820. 14: {
  16821. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16822. Flanguage_id: uint16(m_TT_MAC_LANGID_FINNISH),
  16823. Flang: [8]int8{'f', 'i'},
  16824. },
  16825. 15: {
  16826. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16827. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK),
  16828. Flang: [8]int8{'e', 'l'},
  16829. },
  16830. 16: {
  16831. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16832. Flanguage_id: uint16(m_TT_MAC_LANGID_ICELANDIC),
  16833. Flang: [8]int8{'i', 's'},
  16834. },
  16835. 17: {
  16836. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16837. Flanguage_id: uint16(m_TT_MAC_LANGID_MALTESE),
  16838. Flang: [8]int8{'m', 't'},
  16839. },
  16840. 18: {
  16841. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16842. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKISH),
  16843. Flang: [8]int8{'t', 'r'},
  16844. },
  16845. 19: {
  16846. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16847. Flanguage_id: uint16(m_TT_MAC_LANGID_CROATIAN),
  16848. Flang: [8]int8{'h', 'r'},
  16849. },
  16850. 20: {
  16851. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16852. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_TRADITIONAL),
  16853. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  16854. },
  16855. 21: {
  16856. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16857. Flanguage_id: uint16(m_TT_MAC_LANGID_URDU),
  16858. Flang: [8]int8{'u', 'r'},
  16859. },
  16860. 22: {
  16861. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16862. Flanguage_id: uint16(m_TT_MAC_LANGID_HINDI),
  16863. Flang: [8]int8{'h', 'i'},
  16864. },
  16865. 23: {
  16866. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16867. Flanguage_id: uint16(m_TT_MAC_LANGID_THAI),
  16868. Flang: [8]int8{'t', 'h'},
  16869. },
  16870. 24: {
  16871. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16872. Flanguage_id: uint16(m_TT_MAC_LANGID_KOREAN),
  16873. Flang: [8]int8{'k', 'o'},
  16874. },
  16875. 25: {
  16876. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16877. Flanguage_id: uint16(m_TT_MAC_LANGID_LITHUANIAN),
  16878. Flang: [8]int8{'l', 't'},
  16879. },
  16880. 26: {
  16881. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16882. Flanguage_id: uint16(m_TT_MAC_LANGID_POLISH),
  16883. Flang: [8]int8{'p', 'l'},
  16884. },
  16885. 27: {
  16886. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16887. Flanguage_id: uint16(m_TT_MAC_LANGID_HUNGARIAN),
  16888. Flang: [8]int8{'h', 'u'},
  16889. },
  16890. 28: {
  16891. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16892. Flanguage_id: uint16(m_TT_MAC_LANGID_ESTONIAN),
  16893. Flang: [8]int8{'e', 't'},
  16894. },
  16895. 29: {
  16896. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16897. Flanguage_id: uint16(m_TT_MAC_LANGID_LETTISH),
  16898. Flang: [8]int8{'l', 'v'},
  16899. },
  16900. 30: {
  16901. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16902. Flanguage_id: uint16(m_TT_MAC_LANGID_FAEROESE),
  16903. Flang: [8]int8{'f', 'o'},
  16904. },
  16905. 31: {
  16906. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16907. Flanguage_id: uint16(m_TT_MAC_LANGID_FARSI),
  16908. Flang: [8]int8{'f', 'a'},
  16909. },
  16910. 32: {
  16911. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16912. Flanguage_id: uint16(m_TT_MAC_LANGID_RUSSIAN),
  16913. Flang: [8]int8{'r', 'u'},
  16914. },
  16915. 33: {
  16916. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16917. Flanguage_id: uint16(m_TT_MAC_LANGID_CHINESE_SIMPLIFIED),
  16918. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  16919. },
  16920. 34: {
  16921. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16922. Flanguage_id: uint16(m_TT_MAC_LANGID_FLEMISH),
  16923. Flang: [8]int8{'n', 'l'},
  16924. },
  16925. 35: {
  16926. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16927. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH),
  16928. Flang: [8]int8{'g', 'a'},
  16929. },
  16930. 36: {
  16931. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16932. Flanguage_id: uint16(m_TT_MAC_LANGID_ALBANIAN),
  16933. Flang: [8]int8{'s', 'q'},
  16934. },
  16935. 37: {
  16936. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16937. Flanguage_id: uint16(m_TT_MAC_LANGID_ROMANIAN),
  16938. Flang: [8]int8{'r', 'o'},
  16939. },
  16940. 38: {
  16941. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16942. Flanguage_id: uint16(m_TT_MAC_LANGID_CZECH),
  16943. Flang: [8]int8{'c', 's'},
  16944. },
  16945. 39: {
  16946. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16947. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVAK),
  16948. Flang: [8]int8{'s', 'k'},
  16949. },
  16950. 40: {
  16951. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16952. Flanguage_id: uint16(m_TT_MAC_LANGID_SLOVENIAN),
  16953. Flang: [8]int8{'s', 'l'},
  16954. },
  16955. 41: {
  16956. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16957. Flanguage_id: uint16(m_TT_MAC_LANGID_YIDDISH),
  16958. Flang: [8]int8{'y', 'i'},
  16959. },
  16960. 42: {
  16961. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16962. Flanguage_id: uint16(m_TT_MAC_LANGID_SERBIAN),
  16963. Flang: [8]int8{'s', 'r'},
  16964. },
  16965. 43: {
  16966. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16967. Flanguage_id: uint16(m_TT_MAC_LANGID_MACEDONIAN),
  16968. Flang: [8]int8{'m', 'k'},
  16969. },
  16970. 44: {
  16971. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16972. Flanguage_id: uint16(m_TT_MAC_LANGID_BULGARIAN),
  16973. Flang: [8]int8{'b', 'g'},
  16974. },
  16975. 45: {
  16976. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16977. Flanguage_id: uint16(m_TT_MAC_LANGID_UKRAINIAN),
  16978. Flang: [8]int8{'u', 'k'},
  16979. },
  16980. 46: {
  16981. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16982. Flanguage_id: uint16(m_TT_MAC_LANGID_BYELORUSSIAN),
  16983. Flang: [8]int8{'b', 'e'},
  16984. },
  16985. 47: {
  16986. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16987. Flanguage_id: uint16(m_TT_MAC_LANGID_UZBEK),
  16988. Flang: [8]int8{'u', 'z'},
  16989. },
  16990. 48: {
  16991. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16992. Flanguage_id: uint16(m_TT_MAC_LANGID_KAZAKH),
  16993. Flang: [8]int8{'k', 'k'},
  16994. },
  16995. 49: {
  16996. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  16997. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI),
  16998. Flang: [8]int8{'a', 'z'},
  16999. },
  17000. 50: {
  17001. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17002. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_CYRILLIC_SCRIPT),
  17003. Flang: [8]int8{'a', 'z'},
  17004. },
  17005. 51: {
  17006. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17007. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ARABIC_SCRIPT),
  17008. Flang: [8]int8{'a', 'r'},
  17009. },
  17010. 52: {
  17011. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17012. Flanguage_id: uint16(m_TT_MAC_LANGID_ARMENIAN),
  17013. Flang: [8]int8{'h', 'y'},
  17014. },
  17015. 53: {
  17016. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17017. Flanguage_id: uint16(m_TT_MAC_LANGID_GEORGIAN),
  17018. Flang: [8]int8{'k', 'a'},
  17019. },
  17020. 54: {
  17021. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17022. Flanguage_id: uint16(m_TT_MAC_LANGID_MOLDAVIAN),
  17023. Flang: [8]int8{'m', 'o'},
  17024. },
  17025. 55: {
  17026. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17027. Flanguage_id: uint16(m_TT_MAC_LANGID_KIRGHIZ),
  17028. Flang: [8]int8{'k', 'y'},
  17029. },
  17030. 56: {
  17031. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17032. Flanguage_id: uint16(m_TT_MAC_LANGID_TAJIKI),
  17033. Flang: [8]int8{'t', 'g'},
  17034. },
  17035. 57: {
  17036. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17037. Flanguage_id: uint16(m_TT_MAC_LANGID_TURKMEN),
  17038. Flang: [8]int8{'t', 'k'},
  17039. },
  17040. 58: {
  17041. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17042. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN),
  17043. Flang: [8]int8{'m', 'n'},
  17044. },
  17045. 59: {
  17046. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17047. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_MONGOLIAN_SCRIPT),
  17048. Flang: [8]int8{'m', 'n'},
  17049. },
  17050. 60: {
  17051. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17052. Flanguage_id: uint16(m_TT_MAC_LANGID_MONGOLIAN_CYRILLIC_SCRIPT),
  17053. Flang: [8]int8{'m', 'n'},
  17054. },
  17055. 61: {
  17056. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17057. Flanguage_id: uint16(m_TT_MAC_LANGID_PASHTO),
  17058. Flang: [8]int8{'p', 's'},
  17059. },
  17060. 62: {
  17061. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17062. Flanguage_id: uint16(m_TT_MAC_LANGID_KURDISH),
  17063. Flang: [8]int8{'k', 'u'},
  17064. },
  17065. 63: {
  17066. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17067. Flanguage_id: uint16(m_TT_MAC_LANGID_KASHMIRI),
  17068. Flang: [8]int8{'k', 's'},
  17069. },
  17070. 64: {
  17071. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17072. Flanguage_id: uint16(m_TT_MAC_LANGID_SINDHI),
  17073. Flang: [8]int8{'s', 'd'},
  17074. },
  17075. 65: {
  17076. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17077. Flanguage_id: uint16(m_TT_MAC_LANGID_TIBETAN),
  17078. Flang: [8]int8{'b', 'o'},
  17079. },
  17080. 66: {
  17081. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17082. Flanguage_id: uint16(m_TT_MAC_LANGID_NEPALI),
  17083. Flang: [8]int8{'n', 'e'},
  17084. },
  17085. 67: {
  17086. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17087. Flanguage_id: uint16(m_TT_MAC_LANGID_SANSKRIT),
  17088. Flang: [8]int8{'s', 'a'},
  17089. },
  17090. 68: {
  17091. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17092. Flanguage_id: uint16(m_TT_MAC_LANGID_MARATHI),
  17093. Flang: [8]int8{'m', 'r'},
  17094. },
  17095. 69: {
  17096. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17097. Flanguage_id: uint16(m_TT_MAC_LANGID_BENGALI),
  17098. Flang: [8]int8{'b', 'n'},
  17099. },
  17100. 70: {
  17101. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17102. Flanguage_id: uint16(m_TT_MAC_LANGID_ASSAMESE),
  17103. Flang: [8]int8{'a', 's'},
  17104. },
  17105. 71: {
  17106. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17107. Flanguage_id: uint16(m_TT_MAC_LANGID_GUJARATI),
  17108. Flang: [8]int8{'g', 'u'},
  17109. },
  17110. 72: {
  17111. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17112. Flanguage_id: uint16(m_TT_MAC_LANGID_PUNJABI),
  17113. Flang: [8]int8{'p', 'a'},
  17114. },
  17115. 73: {
  17116. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17117. Flanguage_id: uint16(m_TT_MAC_LANGID_ORIYA),
  17118. Flang: [8]int8{'o', 'r'},
  17119. },
  17120. 74: {
  17121. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17122. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAYALAM),
  17123. Flang: [8]int8{'m', 'l'},
  17124. },
  17125. 75: {
  17126. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17127. Flanguage_id: uint16(m_TT_MAC_LANGID_KANNADA),
  17128. Flang: [8]int8{'k', 'n'},
  17129. },
  17130. 76: {
  17131. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17132. Flanguage_id: uint16(m_TT_MAC_LANGID_TAMIL),
  17133. Flang: [8]int8{'t', 'a'},
  17134. },
  17135. 77: {
  17136. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17137. Flanguage_id: uint16(m_TT_MAC_LANGID_TELUGU),
  17138. Flang: [8]int8{'t', 'e'},
  17139. },
  17140. 78: {
  17141. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17142. Flanguage_id: uint16(m_TT_MAC_LANGID_SINHALESE),
  17143. Flang: [8]int8{'s', 'i'},
  17144. },
  17145. 79: {
  17146. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17147. Flanguage_id: uint16(m_TT_MAC_LANGID_BURMESE),
  17148. Flang: [8]int8{'m', 'y'},
  17149. },
  17150. 80: {
  17151. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17152. Flanguage_id: uint16(m_TT_MAC_LANGID_KHMER),
  17153. Flang: [8]int8{'k', 'm'},
  17154. },
  17155. 81: {
  17156. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17157. Flanguage_id: uint16(m_TT_MAC_LANGID_LAO),
  17158. Flang: [8]int8{'l', 'o'},
  17159. },
  17160. 82: {
  17161. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17162. Flanguage_id: uint16(m_TT_MAC_LANGID_VIETNAMESE),
  17163. Flang: [8]int8{'v', 'i'},
  17164. },
  17165. 83: {
  17166. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17167. Flanguage_id: uint16(m_TT_MAC_LANGID_INDONESIAN),
  17168. Flang: [8]int8{'i', 'd'},
  17169. },
  17170. 84: {
  17171. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17172. Flanguage_id: uint16(m_TT_MAC_LANGID_TAGALOG),
  17173. Flang: [8]int8{'t', 'l'},
  17174. },
  17175. 85: {
  17176. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17177. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ROMAN_SCRIPT),
  17178. Flang: [8]int8{'m', 's'},
  17179. },
  17180. 86: {
  17181. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17182. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAY_ARABIC_SCRIPT),
  17183. Flang: [8]int8{'m', 's'},
  17184. },
  17185. 87: {
  17186. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17187. Flanguage_id: uint16(m_TT_MAC_LANGID_AMHARIC),
  17188. Flang: [8]int8{'a', 'm'},
  17189. },
  17190. 88: {
  17191. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17192. Flanguage_id: uint16(m_TT_MAC_LANGID_TIGRINYA),
  17193. Flang: [8]int8{'t', 'i'},
  17194. },
  17195. 89: {
  17196. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17197. Flanguage_id: uint16(m_TT_MAC_LANGID_GALLA),
  17198. Flang: [8]int8{'o', 'm'},
  17199. },
  17200. 90: {
  17201. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17202. Flanguage_id: uint16(m_TT_MAC_LANGID_SOMALI),
  17203. Flang: [8]int8{'s', 'o'},
  17204. },
  17205. 91: {
  17206. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17207. Flanguage_id: uint16(m_TT_MAC_LANGID_SWAHILI),
  17208. Flang: [8]int8{'s', 'w'},
  17209. },
  17210. 92: {
  17211. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17212. Flanguage_id: uint16(m_TT_MAC_LANGID_RUANDA),
  17213. Flang: [8]int8{'r', 'w'},
  17214. },
  17215. 93: {
  17216. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17217. Flanguage_id: uint16(m_TT_MAC_LANGID_RUNDI),
  17218. Flang: [8]int8{'r', 'n'},
  17219. },
  17220. 94: {
  17221. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17222. Flanguage_id: uint16(m_TT_MAC_LANGID_CHEWA),
  17223. Flang: [8]int8{'n', 'y'},
  17224. },
  17225. 95: {
  17226. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17227. Flanguage_id: uint16(m_TT_MAC_LANGID_MALAGASY),
  17228. Flang: [8]int8{'m', 'g'},
  17229. },
  17230. 96: {
  17231. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17232. Flanguage_id: uint16(m_TT_MAC_LANGID_ESPERANTO),
  17233. Flang: [8]int8{'e', 'o'},
  17234. },
  17235. 97: {
  17236. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17237. Flanguage_id: uint16(m_TT_MAC_LANGID_WELSH),
  17238. Flang: [8]int8{'c', 'y'},
  17239. },
  17240. 98: {
  17241. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17242. Flanguage_id: uint16(m_TT_MAC_LANGID_BASQUE),
  17243. Flang: [8]int8{'e', 'u'},
  17244. },
  17245. 99: {
  17246. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17247. Flanguage_id: uint16(m_TT_MAC_LANGID_CATALAN),
  17248. Flang: [8]int8{'c', 'a'},
  17249. },
  17250. 100: {
  17251. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17252. Flanguage_id: uint16(m_TT_MAC_LANGID_LATIN),
  17253. Flang: [8]int8{'l', 'a'},
  17254. },
  17255. 101: {
  17256. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17257. Flanguage_id: uint16(m_TT_MAC_LANGID_QUECHUA),
  17258. Flang: [8]int8{'q', 'u'},
  17259. },
  17260. 102: {
  17261. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17262. Flanguage_id: uint16(m_TT_MAC_LANGID_GUARANI),
  17263. Flang: [8]int8{'g', 'n'},
  17264. },
  17265. 103: {
  17266. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17267. Flanguage_id: uint16(m_TT_MAC_LANGID_AYMARA),
  17268. Flang: [8]int8{'a', 'y'},
  17269. },
  17270. 104: {
  17271. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17272. Flanguage_id: uint16(m_TT_MAC_LANGID_TATAR),
  17273. Flang: [8]int8{'t', 't'},
  17274. },
  17275. 105: {
  17276. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17277. Flanguage_id: uint16(m_TT_MAC_LANGID_UIGHUR),
  17278. Flang: [8]int8{'u', 'g'},
  17279. },
  17280. 106: {
  17281. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17282. Flanguage_id: uint16(m_TT_MAC_LANGID_DZONGKHA),
  17283. Flang: [8]int8{'d', 'z'},
  17284. },
  17285. 107: {
  17286. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17287. Flanguage_id: uint16(m_TT_MAC_LANGID_JAVANESE),
  17288. Flang: [8]int8{'j', 'w'},
  17289. },
  17290. 108: {
  17291. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17292. Flanguage_id: uint16(m_TT_MAC_LANGID_SUNDANESE),
  17293. Flang: [8]int8{'s', 'u'},
  17294. },
  17295. 109: {
  17296. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17297. Flanguage_id: uint16(m_TT_MAC_LANGID_GALICIAN),
  17298. Flang: [8]int8{'g', 'l'},
  17299. },
  17300. 110: {
  17301. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17302. Flanguage_id: uint16(m_TT_MAC_LANGID_AFRIKAANS),
  17303. Flang: [8]int8{'a', 'f'},
  17304. },
  17305. 111: {
  17306. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17307. Flanguage_id: uint16(m_TT_MAC_LANGID_BRETON),
  17308. Flang: [8]int8{'b', 'r'},
  17309. },
  17310. 112: {
  17311. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17312. Flanguage_id: uint16(m_TT_MAC_LANGID_INUKTITUT),
  17313. Flang: [8]int8{'i', 'u'},
  17314. },
  17315. 113: {
  17316. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17317. Flanguage_id: uint16(m_TT_MAC_LANGID_SCOTTISH_GAELIC),
  17318. Flang: [8]int8{'g', 'd'},
  17319. },
  17320. 114: {
  17321. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17322. Flanguage_id: uint16(m_TT_MAC_LANGID_MANX_GAELIC),
  17323. Flang: [8]int8{'g', 'v'},
  17324. },
  17325. 115: {
  17326. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17327. Flanguage_id: uint16(m_TT_MAC_LANGID_IRISH_GAELIC),
  17328. Flang: [8]int8{'g', 'a'},
  17329. },
  17330. 116: {
  17331. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17332. Flanguage_id: uint16(m_TT_MAC_LANGID_TONGAN),
  17333. Flang: [8]int8{'t', 'o'},
  17334. },
  17335. 117: {
  17336. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17337. Flanguage_id: uint16(m_TT_MAC_LANGID_GREEK_POLYTONIC),
  17338. Flang: [8]int8{'e', 'l'},
  17339. },
  17340. 118: {
  17341. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17342. Flanguage_id: uint16(m_TT_MAC_LANGID_GREELANDIC),
  17343. Flang: [8]int8{'i', 'k'},
  17344. },
  17345. 119: {
  17346. Fplatform_id: uint16(m_TT_PLATFORM_MACINTOSH),
  17347. Flanguage_id: uint16(m_TT_MAC_LANGID_AZERBAIJANI_ROMAN_SCRIPT),
  17348. Flang: [8]int8{'a', 'z'},
  17349. },
  17350. 120: {
  17351. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17352. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SAUDI_ARABIA),
  17353. Flang: [8]int8{'a', 'r'},
  17354. },
  17355. 121: {
  17356. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17357. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_IRAQ),
  17358. Flang: [8]int8{'a', 'r'},
  17359. },
  17360. 122: {
  17361. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17362. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_EGYPT),
  17363. Flang: [8]int8{'a', 'r'},
  17364. },
  17365. 123: {
  17366. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17367. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LIBYA),
  17368. Flang: [8]int8{'a', 'r'},
  17369. },
  17370. 124: {
  17371. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17372. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_ALGERIA),
  17373. Flang: [8]int8{'a', 'r'},
  17374. },
  17375. 125: {
  17376. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17377. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_MOROCCO),
  17378. Flang: [8]int8{'a', 'r'},
  17379. },
  17380. 126: {
  17381. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17382. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_TUNISIA),
  17383. Flang: [8]int8{'a', 'r'},
  17384. },
  17385. 127: {
  17386. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17387. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_OMAN),
  17388. Flang: [8]int8{'a', 'r'},
  17389. },
  17390. 128: {
  17391. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17392. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_YEMEN),
  17393. Flang: [8]int8{'a', 'r'},
  17394. },
  17395. 129: {
  17396. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17397. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_SYRIA),
  17398. Flang: [8]int8{'a', 'r'},
  17399. },
  17400. 130: {
  17401. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17402. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_JORDAN),
  17403. Flang: [8]int8{'a', 'r'},
  17404. },
  17405. 131: {
  17406. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17407. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_LEBANON),
  17408. Flang: [8]int8{'a', 'r'},
  17409. },
  17410. 132: {
  17411. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17412. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_KUWAIT),
  17413. Flang: [8]int8{'a', 'r'},
  17414. },
  17415. 133: {
  17416. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17417. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_UAE),
  17418. Flang: [8]int8{'a', 'r'},
  17419. },
  17420. 134: {
  17421. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17422. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_BAHRAIN),
  17423. Flang: [8]int8{'a', 'r'},
  17424. },
  17425. 135: {
  17426. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17427. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_QATAR),
  17428. Flang: [8]int8{'a', 'r'},
  17429. },
  17430. 136: {
  17431. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17432. Flanguage_id: uint16(m_TT_MS_LANGID_BULGARIAN_BULGARIA),
  17433. Flang: [8]int8{'b', 'g'},
  17434. },
  17435. 137: {
  17436. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17437. Flanguage_id: uint16(m_TT_MS_LANGID_CATALAN_CATALAN),
  17438. Flang: [8]int8{'c', 'a'},
  17439. },
  17440. 138: {
  17441. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17442. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_TAIWAN),
  17443. Flang: [8]int8{'z', 'h', '-', 't', 'w'},
  17444. },
  17445. 139: {
  17446. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17447. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_PRC),
  17448. Flang: [8]int8{'z', 'h', '-', 'c', 'n'},
  17449. },
  17450. 140: {
  17451. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17452. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_HONG_KONG),
  17453. Flang: [8]int8{'z', 'h', '-', 'h', 'k'},
  17454. },
  17455. 141: {
  17456. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17457. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_SINGAPORE),
  17458. Flang: [8]int8{'z', 'h', '-', 's', 'g'},
  17459. },
  17460. 142: {
  17461. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17462. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_MACAO),
  17463. Flang: [8]int8{'z', 'h', '-', 'm', 'o'},
  17464. },
  17465. 143: {
  17466. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17467. Flanguage_id: uint16(m_TT_MS_LANGID_CZECH_CZECH_REPUBLIC),
  17468. Flang: [8]int8{'c', 's'},
  17469. },
  17470. 144: {
  17471. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17472. Flanguage_id: uint16(m_TT_MS_LANGID_DANISH_DENMARK),
  17473. Flang: [8]int8{'d', 'a'},
  17474. },
  17475. 145: {
  17476. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17477. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_GERMANY),
  17478. Flang: [8]int8{'d', 'e'},
  17479. },
  17480. 146: {
  17481. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17482. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_SWITZERLAND),
  17483. Flang: [8]int8{'d', 'e'},
  17484. },
  17485. 147: {
  17486. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17487. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_AUSTRIA),
  17488. Flang: [8]int8{'d', 'e'},
  17489. },
  17490. 148: {
  17491. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17492. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LUXEMBOURG),
  17493. Flang: [8]int8{'d', 'e'},
  17494. },
  17495. 149: {
  17496. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17497. Flanguage_id: uint16(m_TT_MS_LANGID_GERMAN_LIECHTENSTEIN),
  17498. Flang: [8]int8{'d', 'e'},
  17499. },
  17500. 150: {
  17501. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17502. Flanguage_id: uint16(m_TT_MS_LANGID_GREEK_GREECE),
  17503. Flang: [8]int8{'e', 'l'},
  17504. },
  17505. 151: {
  17506. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17507. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  17508. Flang: [8]int8{'e', 'n'},
  17509. },
  17510. 152: {
  17511. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17512. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_KINGDOM),
  17513. Flang: [8]int8{'e', 'n'},
  17514. },
  17515. 153: {
  17516. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17517. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_AUSTRALIA),
  17518. Flang: [8]int8{'e', 'n'},
  17519. },
  17520. 154: {
  17521. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17522. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CANADA),
  17523. Flang: [8]int8{'e', 'n'},
  17524. },
  17525. 155: {
  17526. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17527. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_NEW_ZEALAND),
  17528. Flang: [8]int8{'e', 'n'},
  17529. },
  17530. 156: {
  17531. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17532. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_IRELAND),
  17533. Flang: [8]int8{'e', 'n'},
  17534. },
  17535. 157: {
  17536. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17537. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SOUTH_AFRICA),
  17538. Flang: [8]int8{'e', 'n'},
  17539. },
  17540. 158: {
  17541. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17542. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_JAMAICA),
  17543. Flang: [8]int8{'e', 'n'},
  17544. },
  17545. 159: {
  17546. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17547. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_CARIBBEAN),
  17548. Flang: [8]int8{'e', 'n'},
  17549. },
  17550. 160: {
  17551. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17552. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_BELIZE),
  17553. Flang: [8]int8{'e', 'n'},
  17554. },
  17555. 161: {
  17556. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17557. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_TRINIDAD),
  17558. Flang: [8]int8{'e', 'n'},
  17559. },
  17560. 162: {
  17561. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17562. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_ZIMBABWE),
  17563. Flang: [8]int8{'e', 'n'},
  17564. },
  17565. 163: {
  17566. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17567. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_PHILIPPINES),
  17568. Flang: [8]int8{'e', 'n'},
  17569. },
  17570. 164: {
  17571. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17572. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_TRADITIONAL_SORT),
  17573. Flang: [8]int8{'e', 's'},
  17574. },
  17575. 165: {
  17576. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17577. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_MEXICO),
  17578. Flang: [8]int8{'e', 's'},
  17579. },
  17580. 166: {
  17581. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17582. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT),
  17583. Flang: [8]int8{'e', 's'},
  17584. },
  17585. 167: {
  17586. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17587. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_GUATEMALA),
  17588. Flang: [8]int8{'e', 's'},
  17589. },
  17590. 168: {
  17591. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17592. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COSTA_RICA),
  17593. Flang: [8]int8{'e', 's'},
  17594. },
  17595. 169: {
  17596. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17597. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PANAMA),
  17598. Flang: [8]int8{'e', 's'},
  17599. },
  17600. 170: {
  17601. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17602. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_DOMINICAN_REPUBLIC),
  17603. Flang: [8]int8{'e', 's'},
  17604. },
  17605. 171: {
  17606. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17607. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_VENEZUELA),
  17608. Flang: [8]int8{'e', 's'},
  17609. },
  17610. 172: {
  17611. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17612. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_COLOMBIA),
  17613. Flang: [8]int8{'e', 's'},
  17614. },
  17615. 173: {
  17616. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17617. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PERU),
  17618. Flang: [8]int8{'e', 's'},
  17619. },
  17620. 174: {
  17621. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17622. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ARGENTINA),
  17623. Flang: [8]int8{'e', 's'},
  17624. },
  17625. 175: {
  17626. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17627. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_ECUADOR),
  17628. Flang: [8]int8{'e', 's'},
  17629. },
  17630. 176: {
  17631. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17632. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_CHILE),
  17633. Flang: [8]int8{'e', 's'},
  17634. },
  17635. 177: {
  17636. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17637. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_URUGUAY),
  17638. Flang: [8]int8{'e', 's'},
  17639. },
  17640. 178: {
  17641. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17642. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PARAGUAY),
  17643. Flang: [8]int8{'e', 's'},
  17644. },
  17645. 179: {
  17646. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17647. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_BOLIVIA),
  17648. Flang: [8]int8{'e', 's'},
  17649. },
  17650. 180: {
  17651. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17652. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_EL_SALVADOR),
  17653. Flang: [8]int8{'e', 's'},
  17654. },
  17655. 181: {
  17656. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17657. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_HONDURAS),
  17658. Flang: [8]int8{'e', 's'},
  17659. },
  17660. 182: {
  17661. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17662. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_NICARAGUA),
  17663. Flang: [8]int8{'e', 's'},
  17664. },
  17665. 183: {
  17666. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17667. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_PUERTO_RICO),
  17668. Flang: [8]int8{'e', 's'},
  17669. },
  17670. 184: {
  17671. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17672. Flanguage_id: uint16(m_TT_MS_LANGID_FINNISH_FINLAND),
  17673. Flang: [8]int8{'f', 'i'},
  17674. },
  17675. 185: {
  17676. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17677. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_FRANCE),
  17678. Flang: [8]int8{'f', 'r'},
  17679. },
  17680. 186: {
  17681. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17682. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_BELGIUM),
  17683. Flang: [8]int8{'f', 'r'},
  17684. },
  17685. 187: {
  17686. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17687. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CANADA),
  17688. Flang: [8]int8{'f', 'r'},
  17689. },
  17690. 188: {
  17691. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17692. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SWITZERLAND),
  17693. Flang: [8]int8{'f', 'r'},
  17694. },
  17695. 189: {
  17696. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17697. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_LUXEMBOURG),
  17698. Flang: [8]int8{'f', 'r'},
  17699. },
  17700. 190: {
  17701. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17702. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MONACO),
  17703. Flang: [8]int8{'f', 'r'},
  17704. },
  17705. 191: {
  17706. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17707. Flanguage_id: uint16(m_TT_MS_LANGID_HEBREW_ISRAEL),
  17708. Flang: [8]int8{'h', 'e'},
  17709. },
  17710. 192: {
  17711. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17712. Flanguage_id: uint16(m_TT_MS_LANGID_HUNGARIAN_HUNGARY),
  17713. Flang: [8]int8{'h', 'u'},
  17714. },
  17715. 193: {
  17716. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17717. Flanguage_id: uint16(m_TT_MS_LANGID_ICELANDIC_ICELAND),
  17718. Flang: [8]int8{'i', 's'},
  17719. },
  17720. 194: {
  17721. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17722. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_ITALY),
  17723. Flang: [8]int8{'i', 't'},
  17724. },
  17725. 195: {
  17726. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17727. Flanguage_id: uint16(m_TT_MS_LANGID_ITALIAN_SWITZERLAND),
  17728. Flang: [8]int8{'i', 't'},
  17729. },
  17730. 196: {
  17731. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17732. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  17733. Flang: [8]int8{'j', 'a'},
  17734. },
  17735. 197: {
  17736. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17737. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_KOREA),
  17738. Flang: [8]int8{'k', 'o'},
  17739. },
  17740. 198: {
  17741. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17742. Flanguage_id: uint16(m_TT_MS_LANGID_KOREAN_JOHAB_KOREA),
  17743. Flang: [8]int8{'k', 'o'},
  17744. },
  17745. 199: {
  17746. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17747. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_NETHERLANDS),
  17748. Flang: [8]int8{'n', 'l'},
  17749. },
  17750. 200: {
  17751. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17752. Flanguage_id: uint16(m_TT_MS_LANGID_DUTCH_BELGIUM),
  17753. Flang: [8]int8{'n', 'l'},
  17754. },
  17755. 201: {
  17756. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17757. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_BOKMAL),
  17758. Flang: [8]int8{'n', 'o'},
  17759. },
  17760. 202: {
  17761. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17762. Flanguage_id: uint16(m_TT_MS_LANGID_NORWEGIAN_NORWAY_NYNORSK),
  17763. Flang: [8]int8{'n', 'n'},
  17764. },
  17765. 203: {
  17766. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17767. Flanguage_id: uint16(m_TT_MS_LANGID_POLISH_POLAND),
  17768. Flang: [8]int8{'p', 'l'},
  17769. },
  17770. 204: {
  17771. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17772. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_BRAZIL),
  17773. Flang: [8]int8{'p', 't'},
  17774. },
  17775. 205: {
  17776. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17777. Flanguage_id: uint16(m_TT_MS_LANGID_PORTUGUESE_PORTUGAL),
  17778. Flang: [8]int8{'p', 't'},
  17779. },
  17780. 206: {
  17781. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17782. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANSH_SWITZERLAND),
  17783. Flang: [8]int8{'r', 'm'},
  17784. },
  17785. 207: {
  17786. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17787. Flanguage_id: uint16(m_TT_MS_LANGID_ROMANIAN_ROMANIA),
  17788. Flang: [8]int8{'r', 'o'},
  17789. },
  17790. 208: {
  17791. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17792. Flanguage_id: uint16(m_TT_MS_LANGID_MOLDAVIAN_MOLDAVIA),
  17793. Flang: [8]int8{'m', 'o'},
  17794. },
  17795. 209: {
  17796. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17797. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_RUSSIA),
  17798. Flang: [8]int8{'r', 'u'},
  17799. },
  17800. 210: {
  17801. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17802. Flanguage_id: uint16(m_TT_MS_LANGID_RUSSIAN_MOLDAVIA),
  17803. Flang: [8]int8{'r', 'u'},
  17804. },
  17805. 211: {
  17806. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17807. Flanguage_id: uint16(m_TT_MS_LANGID_CROATIAN_CROATIA),
  17808. Flang: [8]int8{'h', 'r'},
  17809. },
  17810. 212: {
  17811. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17812. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_LATIN),
  17813. Flang: [8]int8{'s', 'r'},
  17814. },
  17815. 213: {
  17816. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17817. Flanguage_id: uint16(m_TT_MS_LANGID_SERBIAN_SERBIA_CYRILLIC),
  17818. Flang: [8]int8{'s', 'r'},
  17819. },
  17820. 214: {
  17821. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17822. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVAK_SLOVAKIA),
  17823. Flang: [8]int8{'s', 'k'},
  17824. },
  17825. 215: {
  17826. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17827. Flanguage_id: uint16(m_TT_MS_LANGID_ALBANIAN_ALBANIA),
  17828. Flang: [8]int8{'s', 'q'},
  17829. },
  17830. 216: {
  17831. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17832. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_SWEDEN),
  17833. Flang: [8]int8{'s', 'v'},
  17834. },
  17835. 217: {
  17836. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17837. Flanguage_id: uint16(m_TT_MS_LANGID_SWEDISH_FINLAND),
  17838. Flang: [8]int8{'s', 'v'},
  17839. },
  17840. 218: {
  17841. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17842. Flanguage_id: uint16(m_TT_MS_LANGID_THAI_THAILAND),
  17843. Flang: [8]int8{'t', 'h'},
  17844. },
  17845. 219: {
  17846. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17847. Flanguage_id: uint16(m_TT_MS_LANGID_TURKISH_TURKEY),
  17848. Flang: [8]int8{'t', 'r'},
  17849. },
  17850. 220: {
  17851. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17852. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_PAKISTAN),
  17853. Flang: [8]int8{'u', 'r'},
  17854. },
  17855. 221: {
  17856. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17857. Flanguage_id: uint16(m_TT_MS_LANGID_INDONESIAN_INDONESIA),
  17858. Flang: [8]int8{'i', 'd'},
  17859. },
  17860. 222: {
  17861. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17862. Flanguage_id: uint16(m_TT_MS_LANGID_UKRAINIAN_UKRAINE),
  17863. Flang: [8]int8{'u', 'k'},
  17864. },
  17865. 223: {
  17866. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17867. Flanguage_id: uint16(m_TT_MS_LANGID_BELARUSIAN_BELARUS),
  17868. Flang: [8]int8{'b', 'e'},
  17869. },
  17870. 224: {
  17871. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17872. Flanguage_id: uint16(m_TT_MS_LANGID_SLOVENIAN_SLOVENIA),
  17873. Flang: [8]int8{'s', 'l'},
  17874. },
  17875. 225: {
  17876. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17877. Flanguage_id: uint16(m_TT_MS_LANGID_ESTONIAN_ESTONIA),
  17878. Flang: [8]int8{'e', 't'},
  17879. },
  17880. 226: {
  17881. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17882. Flanguage_id: uint16(m_TT_MS_LANGID_LATVIAN_LATVIA),
  17883. Flang: [8]int8{'l', 'v'},
  17884. },
  17885. 227: {
  17886. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17887. Flanguage_id: uint16(m_TT_MS_LANGID_LITHUANIAN_LITHUANIA),
  17888. Flang: [8]int8{'l', 't'},
  17889. },
  17890. 228: {
  17891. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17892. Flanguage_id: uint16(m_TT_MS_LANGID_CLASSIC_LITHUANIAN_LITHUANIA),
  17893. Flang: [8]int8{'l', 't'},
  17894. },
  17895. 229: {
  17896. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17897. Flanguage_id: uint16(m_TT_MS_LANGID_MAORI_NEW_ZEALAND),
  17898. Flang: [8]int8{'m', 'i'},
  17899. },
  17900. 230: {
  17901. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17902. Flanguage_id: uint16(m_TT_MS_LANGID_FARSI_IRAN),
  17903. Flang: [8]int8{'f', 'a'},
  17904. },
  17905. 231: {
  17906. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17907. Flanguage_id: uint16(m_TT_MS_LANGID_VIETNAMESE_VIET_NAM),
  17908. Flang: [8]int8{'v', 'i'},
  17909. },
  17910. 232: {
  17911. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17912. Flanguage_id: uint16(m_TT_MS_LANGID_ARMENIAN_ARMENIA),
  17913. Flang: [8]int8{'h', 'y'},
  17914. },
  17915. 233: {
  17916. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17917. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_LATIN),
  17918. Flang: [8]int8{'a', 'z'},
  17919. },
  17920. 234: {
  17921. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17922. Flanguage_id: uint16(m_TT_MS_LANGID_AZERI_AZERBAIJAN_CYRILLIC),
  17923. Flang: [8]int8{'a', 'z'},
  17924. },
  17925. 235: {
  17926. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17927. Flanguage_id: uint16(m_TT_MS_LANGID_BASQUE_BASQUE),
  17928. Flang: [8]int8{'e', 'u'},
  17929. },
  17930. 236: {
  17931. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17932. Flanguage_id: uint16(m_TT_MS_LANGID_UPPER_SORBIAN_GERMANY),
  17933. Flang: [8]int8{'w', 'e', 'n'},
  17934. },
  17935. 237: {
  17936. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17937. Flanguage_id: uint16(m_TT_MS_LANGID_MACEDONIAN_MACEDONIA),
  17938. Flang: [8]int8{'m', 'k'},
  17939. },
  17940. 238: {
  17941. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17942. Flanguage_id: uint16(m_TT_MS_LANGID_SUTU_SOUTH_AFRICA),
  17943. Flang: [8]int8{'s', 't'},
  17944. },
  17945. 239: {
  17946. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17947. Flanguage_id: uint16(m_TT_MS_LANGID_TSONGA_SOUTH_AFRICA),
  17948. Flang: [8]int8{'t', 's'},
  17949. },
  17950. 240: {
  17951. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17952. Flanguage_id: uint16(m_TT_MS_LANGID_SETSWANA_SOUTH_AFRICA),
  17953. Flang: [8]int8{'t', 'n'},
  17954. },
  17955. 241: {
  17956. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17957. Flanguage_id: uint16(m_TT_MS_LANGID_VENDA_SOUTH_AFRICA),
  17958. Flang: [8]int8{'v', 'e', 'n'},
  17959. },
  17960. 242: {
  17961. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17962. Flanguage_id: uint16(m_TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA),
  17963. Flang: [8]int8{'x', 'h'},
  17964. },
  17965. 243: {
  17966. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17967. Flanguage_id: uint16(m_TT_MS_LANGID_ISIZULU_SOUTH_AFRICA),
  17968. Flang: [8]int8{'z', 'u'},
  17969. },
  17970. 244: {
  17971. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17972. Flanguage_id: uint16(m_TT_MS_LANGID_AFRIKAANS_SOUTH_AFRICA),
  17973. Flang: [8]int8{'a', 'f'},
  17974. },
  17975. 245: {
  17976. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17977. Flanguage_id: uint16(m_TT_MS_LANGID_GEORGIAN_GEORGIA),
  17978. Flang: [8]int8{'k', 'a'},
  17979. },
  17980. 246: {
  17981. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17982. Flanguage_id: uint16(m_TT_MS_LANGID_FAEROESE_FAEROE_ISLANDS),
  17983. Flang: [8]int8{'f', 'o'},
  17984. },
  17985. 247: {
  17986. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17987. Flanguage_id: uint16(m_TT_MS_LANGID_HINDI_INDIA),
  17988. Flang: [8]int8{'h', 'i'},
  17989. },
  17990. 248: {
  17991. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17992. Flanguage_id: uint16(m_TT_MS_LANGID_MALTESE_MALTA),
  17993. Flang: [8]int8{'m', 't'},
  17994. },
  17995. 249: {
  17996. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  17997. Flanguage_id: uint16(m_TT_MS_LANGID_SAAMI_LAPONIA),
  17998. Flang: [8]int8{'s', 'e'},
  17999. },
  18000. 250: {
  18001. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18002. Flanguage_id: uint16(m_TT_MS_LANGID_SCOTTISH_GAELIC_UNITED_KINGDOM),
  18003. Flang: [8]int8{'g', 'd'},
  18004. },
  18005. 251: {
  18006. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18007. Flanguage_id: uint16(m_TT_MS_LANGID_IRISH_GAELIC_IRELAND),
  18008. Flang: [8]int8{'g', 'a'},
  18009. },
  18010. 252: {
  18011. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18012. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_MALAYSIA),
  18013. Flang: [8]int8{'m', 's'},
  18014. },
  18015. 253: {
  18016. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18017. Flanguage_id: uint16(m_TT_MS_LANGID_MALAY_BRUNEI_DARUSSALAM),
  18018. Flang: [8]int8{'m', 's'},
  18019. },
  18020. 254: {
  18021. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18022. Flanguage_id: uint16(m_TT_MS_LANGID_KAZAKH_KAZAKHSTAN),
  18023. Flang: [8]int8{'k', 'k'},
  18024. },
  18025. 255: {
  18026. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18027. Flanguage_id: uint16(m_TT_MS_LANGID_KISWAHILI_KENYA),
  18028. Flang: [8]int8{'s', 'w'},
  18029. },
  18030. 256: {
  18031. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18032. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_LATIN),
  18033. Flang: [8]int8{'u', 'z'},
  18034. },
  18035. 257: {
  18036. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18037. Flanguage_id: uint16(m_TT_MS_LANGID_UZBEK_UZBEKISTAN_CYRILLIC),
  18038. Flang: [8]int8{'u', 'z'},
  18039. },
  18040. 258: {
  18041. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18042. Flanguage_id: uint16(m_TT_MS_LANGID_TATAR_RUSSIA),
  18043. Flang: [8]int8{'t', 't'},
  18044. },
  18045. 259: {
  18046. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18047. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_INDIA),
  18048. Flang: [8]int8{'b', 'n'},
  18049. },
  18050. 260: {
  18051. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18052. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_INDIA),
  18053. Flang: [8]int8{'p', 'a'},
  18054. },
  18055. 261: {
  18056. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18057. Flanguage_id: uint16(m_TT_MS_LANGID_GUJARATI_INDIA),
  18058. Flang: [8]int8{'g', 'u'},
  18059. },
  18060. 262: {
  18061. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18062. Flanguage_id: uint16(m_TT_MS_LANGID_ODIA_INDIA),
  18063. Flang: [8]int8{'o', 'r'},
  18064. },
  18065. 263: {
  18066. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18067. Flanguage_id: uint16(m_TT_MS_LANGID_TAMIL_INDIA),
  18068. Flang: [8]int8{'t', 'a'},
  18069. },
  18070. 264: {
  18071. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18072. Flanguage_id: uint16(m_TT_MS_LANGID_TELUGU_INDIA),
  18073. Flang: [8]int8{'t', 'e'},
  18074. },
  18075. 265: {
  18076. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18077. Flanguage_id: uint16(m_TT_MS_LANGID_KANNADA_INDIA),
  18078. Flang: [8]int8{'k', 'n'},
  18079. },
  18080. 266: {
  18081. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18082. Flanguage_id: uint16(m_TT_MS_LANGID_MALAYALAM_INDIA),
  18083. Flang: [8]int8{'m', 'l'},
  18084. },
  18085. 267: {
  18086. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18087. Flanguage_id: uint16(m_TT_MS_LANGID_ASSAMESE_INDIA),
  18088. Flang: [8]int8{'a', 's'},
  18089. },
  18090. 268: {
  18091. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18092. Flanguage_id: uint16(m_TT_MS_LANGID_MARATHI_INDIA),
  18093. Flang: [8]int8{'m', 'r'},
  18094. },
  18095. 269: {
  18096. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18097. Flanguage_id: uint16(m_TT_MS_LANGID_SANSKRIT_INDIA),
  18098. Flang: [8]int8{'s', 'a'},
  18099. },
  18100. 270: {
  18101. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18102. Flanguage_id: uint16(m_TT_MS_LANGID_KONKANI_INDIA),
  18103. Flang: [8]int8{'k', 'o', 'k'},
  18104. },
  18105. 271: {
  18106. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18107. Flanguage_id: uint16(m_TT_MS_LANGID_ARABIC_GENERAL),
  18108. Flang: [8]int8{'a', 'r'},
  18109. },
  18110. 272: {
  18111. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18112. Flanguage_id: uint16(m_TT_MS_LANGID_CHINESE_GENERAL),
  18113. Flang: [8]int8{'z', 'h'},
  18114. },
  18115. 273: {
  18116. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18117. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_GENERAL),
  18118. Flang: [8]int8{'e', 'n'},
  18119. },
  18120. 274: {
  18121. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18122. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_WEST_INDIES),
  18123. Flang: [8]int8{'f', 'r'},
  18124. },
  18125. 275: {
  18126. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18127. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_REUNION),
  18128. Flang: [8]int8{'f', 'r'},
  18129. },
  18130. 276: {
  18131. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18132. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CONGO),
  18133. Flang: [8]int8{'f', 'r'},
  18134. },
  18135. 277: {
  18136. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18137. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_SENEGAL),
  18138. Flang: [8]int8{'f', 'r'},
  18139. },
  18140. 278: {
  18141. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18142. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_CAMEROON),
  18143. Flang: [8]int8{'f', 'r'},
  18144. },
  18145. 279: {
  18146. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18147. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_COTE_D_IVOIRE),
  18148. Flang: [8]int8{'f', 'r'},
  18149. },
  18150. 280: {
  18151. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18152. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MALI),
  18153. Flang: [8]int8{'f', 'r'},
  18154. },
  18155. 281: {
  18156. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18157. Flanguage_id: uint16(m_TT_MS_LANGID_BOSNIAN_BOSNIA_HERZEGOVINA),
  18158. Flang: [8]int8{'b', 's'},
  18159. },
  18160. 282: {
  18161. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18162. Flanguage_id: uint16(m_TT_MS_LANGID_URDU_INDIA),
  18163. Flang: [8]int8{'u', 'r'},
  18164. },
  18165. 283: {
  18166. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18167. Flanguage_id: uint16(m_TT_MS_LANGID_TAJIK_TAJIKISTAN),
  18168. Flang: [8]int8{'t', 'g'},
  18169. },
  18170. 284: {
  18171. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18172. Flanguage_id: uint16(m_TT_MS_LANGID_YIDDISH_GERMANY),
  18173. Flang: [8]int8{'y', 'i'},
  18174. },
  18175. 285: {
  18176. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18177. Flanguage_id: uint16(m_TT_MS_LANGID_KYRGYZ_KYRGYZSTAN),
  18178. Flang: [8]int8{'k', 'y'},
  18179. },
  18180. 286: {
  18181. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18182. Flanguage_id: uint16(m_TT_MS_LANGID_TURKMEN_TURKMENISTAN),
  18183. Flang: [8]int8{'t', 'k'},
  18184. },
  18185. 287: {
  18186. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18187. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_MONGOLIA),
  18188. Flang: [8]int8{'m', 'n'},
  18189. },
  18190. 288: {
  18191. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18192. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  18193. Flang: [8]int8{'b', 'o'},
  18194. },
  18195. 289: {
  18196. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18197. Flanguage_id: uint16(m_TT_MS_LANGID_TIBETAN_PRC),
  18198. Flang: [8]int8{'b', 'o'},
  18199. },
  18200. 290: {
  18201. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18202. Flanguage_id: uint16(m_TT_MS_LANGID_DZONGHKA_BHUTAN),
  18203. Flang: [8]int8{'d', 'z'},
  18204. },
  18205. 291: {
  18206. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18207. Flanguage_id: uint16(m_TT_MS_LANGID_WELSH_UNITED_KINGDOM),
  18208. Flang: [8]int8{'c', 'y'},
  18209. },
  18210. 292: {
  18211. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18212. Flanguage_id: uint16(m_TT_MS_LANGID_KHMER_CAMBODIA),
  18213. Flang: [8]int8{'k', 'm'},
  18214. },
  18215. 293: {
  18216. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18217. Flanguage_id: uint16(m_TT_MS_LANGID_LAO_LAOS),
  18218. Flang: [8]int8{'l', 'o'},
  18219. },
  18220. 294: {
  18221. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18222. Flanguage_id: uint16(m_TT_MS_LANGID_BURMESE_MYANMAR),
  18223. Flang: [8]int8{'m', 'y'},
  18224. },
  18225. 295: {
  18226. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18227. Flanguage_id: uint16(m_TT_MS_LANGID_GALICIAN_GALICIAN),
  18228. Flang: [8]int8{'g', 'l'},
  18229. },
  18230. 296: {
  18231. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18232. Flanguage_id: uint16(m_TT_MS_LANGID_MANIPURI_INDIA),
  18233. Flang: [8]int8{'m', 'n', 'i'},
  18234. },
  18235. 297: {
  18236. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18237. Flanguage_id: uint16(m_TT_MS_LANGID_SINDHI_INDIA),
  18238. Flang: [8]int8{'s', 'd'},
  18239. },
  18240. 298: {
  18241. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18242. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_PAKISTAN),
  18243. Flang: [8]int8{'k', 's'},
  18244. },
  18245. 299: {
  18246. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18247. Flanguage_id: uint16(m_TT_MS_LANGID_KASHMIRI_SASIA),
  18248. Flang: [8]int8{'k', 's'},
  18249. },
  18250. 300: {
  18251. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18252. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_NEPAL),
  18253. Flang: [8]int8{'n', 'e'},
  18254. },
  18255. 301: {
  18256. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18257. Flanguage_id: uint16(m_TT_MS_LANGID_NEPALI_INDIA),
  18258. Flang: [8]int8{'n', 'e'},
  18259. },
  18260. 302: {
  18261. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18262. Flanguage_id: uint16(m_TT_MS_LANGID_FRISIAN_NETHERLANDS),
  18263. Flang: [8]int8{'f', 'y'},
  18264. },
  18265. 303: {
  18266. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18267. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_HONG_KONG),
  18268. Flang: [8]int8{'e', 'n'},
  18269. },
  18270. 304: {
  18271. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18272. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_INDIA),
  18273. Flang: [8]int8{'e', 'n'},
  18274. },
  18275. 305: {
  18276. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18277. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_MALAYSIA),
  18278. Flang: [8]int8{'e', 'n'},
  18279. },
  18280. 306: {
  18281. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18282. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_SINGAPORE),
  18283. Flang: [8]int8{'e', 'n'},
  18284. },
  18285. 307: {
  18286. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18287. Flanguage_id: uint16(m_TT_MS_LANGID_SYRIAC_SYRIA),
  18288. Flang: [8]int8{'s', 'y', 'r'},
  18289. },
  18290. 308: {
  18291. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18292. Flanguage_id: uint16(m_TT_MS_LANGID_SINHALA_SRI_LANKA),
  18293. Flang: [8]int8{'s', 'i'},
  18294. },
  18295. 309: {
  18296. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18297. Flanguage_id: uint16(m_TT_MS_LANGID_CHEROKEE_UNITED_STATES),
  18298. Flang: [8]int8{'c', 'h', 'r'},
  18299. },
  18300. 310: {
  18301. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18302. Flanguage_id: uint16(m_TT_MS_LANGID_INUKTITUT_CANADA),
  18303. Flang: [8]int8{'i', 'u'},
  18304. },
  18305. 311: {
  18306. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18307. Flanguage_id: uint16(m_TT_MS_LANGID_AMHARIC_ETHIOPIA),
  18308. Flang: [8]int8{'a', 'm'},
  18309. },
  18310. 312: {
  18311. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18312. Flanguage_id: uint16(m_TT_MS_LANGID_PASHTO_AFGHANISTAN),
  18313. Flang: [8]int8{'p', 's'},
  18314. },
  18315. 313: {
  18316. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18317. Flanguage_id: uint16(m_TT_MS_LANGID_FILIPINO_PHILIPPINES),
  18318. Flang: [8]int8{'p', 'h', 'i'},
  18319. },
  18320. 314: {
  18321. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18322. Flanguage_id: uint16(m_TT_MS_LANGID_DHIVEHI_MALDIVES),
  18323. Flang: [8]int8{'d', 'i', 'v'},
  18324. },
  18325. 315: {
  18326. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18327. Flanguage_id: uint16(m_TT_MS_LANGID_OROMO_ETHIOPIA),
  18328. Flang: [8]int8{'o', 'm'},
  18329. },
  18330. 316: {
  18331. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18332. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ETHIOPIA),
  18333. Flang: [8]int8{'t', 'i'},
  18334. },
  18335. 317: {
  18336. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18337. Flanguage_id: uint16(m_TT_MS_LANGID_TIGRIGNA_ERYTHREA),
  18338. Flang: [8]int8{'t', 'i'},
  18339. },
  18340. 318: {
  18341. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18342. Flanguage_id: uint16(m_TT_MS_LANGID_SPANISH_UNITED_STATES),
  18343. Flang: [8]int8{'e', 's'},
  18344. },
  18345. 319: {
  18346. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18347. Flanguage_id: uint16(0xE40A),
  18348. Flang: [8]int8{'e', 's'},
  18349. },
  18350. 320: {
  18351. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18352. Flanguage_id: uint16(0xE40C),
  18353. Flang: [8]int8{'f', 'r'},
  18354. },
  18355. 321: {
  18356. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18357. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_MOROCCO),
  18358. Flang: [8]int8{'f', 'r'},
  18359. },
  18360. 322: {
  18361. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18362. Flanguage_id: uint16(m_TT_MS_LANGID_FRENCH_HAITI),
  18363. Flang: [8]int8{'f', 'r'},
  18364. },
  18365. 323: {
  18366. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18367. Flanguage_id: uint16(m_TT_MS_LANGID_BENGALI_BANGLADESH),
  18368. Flang: [8]int8{'b', 'n'},
  18369. },
  18370. 324: {
  18371. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18372. Flanguage_id: uint16(m_TT_MS_LANGID_PUNJABI_ARABIC_PAKISTAN),
  18373. Flang: [8]int8{'a', 'r'},
  18374. },
  18375. 325: {
  18376. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18377. Flanguage_id: uint16(m_TT_MS_LANGID_MONGOLIAN_PRC),
  18378. Flang: [8]int8{'m', 'n'},
  18379. },
  18380. 326: {
  18381. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18382. Flanguage_id: uint16(m_TT_MS_LANGID_HAUSA_NIGERIA),
  18383. Flang: [8]int8{'h', 'a'},
  18384. },
  18385. 327: {
  18386. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18387. Flanguage_id: uint16(m_TT_MS_LANGID_YORUBA_NIGERIA),
  18388. Flang: [8]int8{'y', 'o'},
  18389. },
  18390. 328: {
  18391. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18392. Flanguage_id: uint16(m_TT_MS_LANGID_IGBO_NIGERIA),
  18393. Flang: [8]int8{'i', 'b', 'o'},
  18394. },
  18395. 329: {
  18396. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18397. Flanguage_id: uint16(m_TT_MS_LANGID_KANURI_NIGERIA),
  18398. Flang: [8]int8{'k', 'a', 'u'},
  18399. },
  18400. 330: {
  18401. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18402. Flanguage_id: uint16(m_TT_MS_LANGID_GUARANI_PARAGUAY),
  18403. Flang: [8]int8{'g', 'n'},
  18404. },
  18405. 331: {
  18406. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18407. Flanguage_id: uint16(m_TT_MS_LANGID_HAWAIIAN_UNITED_STATES),
  18408. Flang: [8]int8{'h', 'a', 'w'},
  18409. },
  18410. 332: {
  18411. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18412. Flanguage_id: uint16(m_TT_MS_LANGID_LATIN),
  18413. Flang: [8]int8{'l', 'a'},
  18414. },
  18415. 333: {
  18416. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18417. Flanguage_id: uint16(m_TT_MS_LANGID_SOMALI_SOMALIA),
  18418. Flang: [8]int8{'s', 'o'},
  18419. },
  18420. 334: {
  18421. Fplatform_id: uint16(m_TT_PLATFORM_MICROSOFT),
  18422. Flanguage_id: uint16(m_TT_MS_LANGID_PAPIAMENTU_NETHERLANDS_ANTILLES),
  18423. Flang: [8]int8{'p', 'a', 'p'},
  18424. },
  18425. }
  18426. type TFcMacRomanFake = struct {
  18427. Flanguage_id TFT_UShort
  18428. Ffromcode [12]int8
  18429. }
  18430. var _fcMacRomanFake = [2]TFcMacRomanFake{
  18431. 0: {
  18432. Flanguage_id: uint16(m_TT_MS_LANGID_JAPANESE_JAPAN),
  18433. Ffromcode: [12]int8{'S', 'J', 'I', 'S', '-', 'W', 'I', 'N'},
  18434. },
  18435. 1: {
  18436. Flanguage_id: uint16(m_TT_MS_LANGID_ENGLISH_UNITED_STATES),
  18437. Ffromcode: [12]int8{'A', 'S', 'C', 'I', 'I'},
  18438. },
  18439. }
  18440. // C documentation
  18441. //
  18442. // /* From http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT */
  18443. var _fcMacRomanNonASCIIToUnicode = [128]TFcChar16{
  18444. 0: uint16(0x00C4),
  18445. 1: uint16(0x00C5),
  18446. 2: uint16(0x00C7),
  18447. 3: uint16(0x00C9),
  18448. 4: uint16(0x00D1),
  18449. 5: uint16(0x00D6),
  18450. 6: uint16(0x00DC),
  18451. 7: uint16(0x00E1),
  18452. 8: uint16(0x00E0),
  18453. 9: uint16(0x00E2),
  18454. 10: uint16(0x00E4),
  18455. 11: uint16(0x00E3),
  18456. 12: uint16(0x00E5),
  18457. 13: uint16(0x00E7),
  18458. 14: uint16(0x00E9),
  18459. 15: uint16(0x00E8),
  18460. 16: uint16(0x00EA),
  18461. 17: uint16(0x00EB),
  18462. 18: uint16(0x00ED),
  18463. 19: uint16(0x00EC),
  18464. 20: uint16(0x00EE),
  18465. 21: uint16(0x00EF),
  18466. 22: uint16(0x00F1),
  18467. 23: uint16(0x00F3),
  18468. 24: uint16(0x00F2),
  18469. 25: uint16(0x00F4),
  18470. 26: uint16(0x00F6),
  18471. 27: uint16(0x00F5),
  18472. 28: uint16(0x00FA),
  18473. 29: uint16(0x00F9),
  18474. 30: uint16(0x00FB),
  18475. 31: uint16(0x00FC),
  18476. 32: uint16(0x2020),
  18477. 33: uint16(0x00B0),
  18478. 34: uint16(0x00A2),
  18479. 35: uint16(0x00A3),
  18480. 36: uint16(0x00A7),
  18481. 37: uint16(0x2022),
  18482. 38: uint16(0x00B6),
  18483. 39: uint16(0x00DF),
  18484. 40: uint16(0x00AE),
  18485. 41: uint16(0x00A9),
  18486. 42: uint16(0x2122),
  18487. 43: uint16(0x00B4),
  18488. 44: uint16(0x00A8),
  18489. 45: uint16(0x2260),
  18490. 46: uint16(0x00C6),
  18491. 47: uint16(0x00D8),
  18492. 48: uint16(0x221E),
  18493. 49: uint16(0x00B1),
  18494. 50: uint16(0x2264),
  18495. 51: uint16(0x2265),
  18496. 52: uint16(0x00A5),
  18497. 53: uint16(0x00B5),
  18498. 54: uint16(0x2202),
  18499. 55: uint16(0x2211),
  18500. 56: uint16(0x220F),
  18501. 57: uint16(0x03C0),
  18502. 58: uint16(0x222B),
  18503. 59: uint16(0x00AA),
  18504. 60: uint16(0x00BA),
  18505. 61: uint16(0x03A9),
  18506. 62: uint16(0x00E6),
  18507. 63: uint16(0x00F8),
  18508. 64: uint16(0x00BF),
  18509. 65: uint16(0x00A1),
  18510. 66: uint16(0x00AC),
  18511. 67: uint16(0x221A),
  18512. 68: uint16(0x0192),
  18513. 69: uint16(0x2248),
  18514. 70: uint16(0x2206),
  18515. 71: uint16(0x00AB),
  18516. 72: uint16(0x00BB),
  18517. 73: uint16(0x2026),
  18518. 74: uint16(0x00A0),
  18519. 75: uint16(0x00C0),
  18520. 76: uint16(0x00C3),
  18521. 77: uint16(0x00D5),
  18522. 78: uint16(0x0152),
  18523. 79: uint16(0x0153),
  18524. 80: uint16(0x2013),
  18525. 81: uint16(0x2014),
  18526. 82: uint16(0x201C),
  18527. 83: uint16(0x201D),
  18528. 84: uint16(0x2018),
  18529. 85: uint16(0x2019),
  18530. 86: uint16(0x00F7),
  18531. 87: uint16(0x25CA),
  18532. 88: uint16(0x00FF),
  18533. 89: uint16(0x0178),
  18534. 90: uint16(0x2044),
  18535. 91: uint16(0x20AC),
  18536. 92: uint16(0x2039),
  18537. 93: uint16(0x203A),
  18538. 94: uint16(0xFB01),
  18539. 95: uint16(0xFB02),
  18540. 96: uint16(0x2021),
  18541. 97: uint16(0x00B7),
  18542. 98: uint16(0x201A),
  18543. 99: uint16(0x201E),
  18544. 100: uint16(0x2030),
  18545. 101: uint16(0x00C2),
  18546. 102: uint16(0x00CA),
  18547. 103: uint16(0x00C1),
  18548. 104: uint16(0x00CB),
  18549. 105: uint16(0x00C8),
  18550. 106: uint16(0x00CD),
  18551. 107: uint16(0x00CE),
  18552. 108: uint16(0x00CF),
  18553. 109: uint16(0x00CC),
  18554. 110: uint16(0x00D3),
  18555. 111: uint16(0x00D4),
  18556. 112: uint16(0xF8FF),
  18557. 113: uint16(0x00D2),
  18558. 114: uint16(0x00DA),
  18559. 115: uint16(0x00DB),
  18560. 116: uint16(0x00D9),
  18561. 117: uint16(0x0131),
  18562. 118: uint16(0x02C6),
  18563. 119: uint16(0x02DC),
  18564. 120: uint16(0x00AF),
  18565. 121: uint16(0x02D8),
  18566. 122: uint16(0x02D9),
  18567. 123: uint16(0x02DA),
  18568. 124: uint16(0x00B8),
  18569. 125: uint16(0x02DD),
  18570. 126: uint16(0x02DB),
  18571. 127: uint16(0x02C7),
  18572. }
  18573. // C documentation
  18574. //
  18575. // /*
  18576. // * A shift-JIS will have many high bits turned on
  18577. // */
  18578. func _FcLooksLikeSJIS(tls *libc.TLS, string1 uintptr, len1 int32) (r TFcBool) {
  18579. var nhigh, nlow, v1 int32
  18580. var v2 uintptr
  18581. _, _, _, _ = nhigh, nlow, v1, v2
  18582. nhigh = 0
  18583. nlow = 0
  18584. for {
  18585. v1 = len1
  18586. len1--
  18587. if !(v1 > 0) {
  18588. break
  18589. }
  18590. v2 = string1
  18591. string1++
  18592. if int32(*(*TFcChar8)(unsafe.Pointer(v2)))&int32(0x80) != 0 {
  18593. nhigh++
  18594. } else {
  18595. nlow++
  18596. }
  18597. }
  18598. /*
  18599. * Heuristic -- if more than 1/3 of the bytes have the high-bit set,
  18600. * this is likely to be SJIS and not ROMAN
  18601. */
  18602. if nhigh*int32(2) > nlow {
  18603. return int32(m_FcTrue)
  18604. }
  18605. return m_FcFalse
  18606. }
  18607. func _FcSfntNameTranscode(tls *libc.TLS, sname uintptr) (r uintptr) {
  18608. bp := tls.Alloc(16)
  18609. defer tls.Free(16)
  18610. var f, i, ilen, olen, olen1, olen2, src_len, src_len1, src_len2, v3 int32
  18611. var fromcode, src, src1, src2, u8, u81, u82, utf8, v4, v5 uintptr
  18612. var ucs41, ucs42 TFcChar32
  18613. var _ /* len at bp+0 */ int32
  18614. var _ /* ucs4 at bp+8 */ TFcChar32
  18615. var _ /* wchar at bp+4 */ int32
  18616. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  18617. i = 0
  18618. for {
  18619. if !(i < int32(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16))) {
  18620. break
  18621. }
  18622. if int32(_fcFtEncoding[i].Fplatform_id) == int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id) && (int32(_fcFtEncoding[i].Fencoding_id) == int32(m_TT_ENCODING_DONT_CARE) || int32(_fcFtEncoding[i].Fencoding_id) == int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id)) {
  18623. break
  18624. }
  18625. goto _1
  18626. _1:
  18627. ;
  18628. i++
  18629. }
  18630. if i == int32(libc.Uint64FromInt64(224)/libc.Uint64FromInt64(16)) {
  18631. return uintptr(0)
  18632. }
  18633. fromcode = uintptr(unsafe.Pointer(&_fcFtEncoding)) + uintptr(i)*16 + 4
  18634. /*
  18635. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  18636. * in various ways. Kludge around them.
  18637. */
  18638. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  18639. if int32((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) == m_TT_MAC_LANGID_ENGLISH && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  18640. fromcode = __ccgo_ts + 3812
  18641. } else {
  18642. if int32((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) >= int32(0x100) {
  18643. fromcode = libc.UintptrFromInt32(0)
  18644. f = 0
  18645. for {
  18646. if !(f < int32(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(14))) {
  18647. break
  18648. }
  18649. if int32(_fcMacRomanFake[f].Flanguage_id) == int32((*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id) {
  18650. fromcode = uintptr(unsafe.Pointer(&_fcMacRomanFake)) + uintptr(f)*14 + 2
  18651. break
  18652. }
  18653. goto _2
  18654. _2:
  18655. ;
  18656. f++
  18657. }
  18658. if !(fromcode != 0) {
  18659. return uintptr(0)
  18660. }
  18661. }
  18662. }
  18663. }
  18664. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3817) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3825) != 0) {
  18665. src = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  18666. src_len = int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  18667. /*
  18668. * Convert Utf16 to Utf8
  18669. */
  18670. if !(XFcUtf16Len(tls, src, int32(_FcEndianBig), src_len, bp, bp+4) != 0) {
  18671. return uintptr(0)
  18672. }
  18673. /*
  18674. * Allocate plenty of space. Freed below
  18675. */
  18676. utf8 = libc.Xmalloc(tls, uint64(*(*int32)(unsafe.Pointer(bp))*int32(m_FC_UTF8_MAX_LEN)+int32(1)))
  18677. if !(utf8 != 0) {
  18678. return uintptr(0)
  18679. }
  18680. u8 = utf8
  18681. for {
  18682. v3 = XFcUtf16ToUcs4(tls, src, int32(_FcEndianBig), bp+8, src_len)
  18683. ilen = v3
  18684. if !(v3 > 0) {
  18685. break
  18686. }
  18687. src_len -= ilen
  18688. src += uintptr(ilen)
  18689. olen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp + 8)), u8)
  18690. u8 += uintptr(olen)
  18691. }
  18692. *(*TFcChar8)(unsafe.Pointer(u8)) = uint8('\000')
  18693. goto done
  18694. }
  18695. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3834) != 0) || !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3840) != 0) {
  18696. src1 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  18697. src_len1 = int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  18698. /*
  18699. * Convert Latin1 to Utf8. Freed below
  18700. */
  18701. utf8 = libc.Xmalloc(tls, uint64(src_len1*int32(2)+int32(1)))
  18702. if !(utf8 != 0) {
  18703. return uintptr(0)
  18704. }
  18705. u81 = utf8
  18706. for src_len1 > 0 {
  18707. v4 = src1
  18708. src1++
  18709. ucs41 = uint32(*(*TFcChar8)(unsafe.Pointer(v4)))
  18710. src_len1--
  18711. olen1 = XFcUcs4ToUtf8(tls, ucs41, u81)
  18712. u81 += uintptr(olen1)
  18713. }
  18714. *(*TFcChar8)(unsafe.Pointer(u81)) = uint8('\000')
  18715. goto done
  18716. }
  18717. if !(libc.Xstrcmp(tls, fromcode, __ccgo_ts+3802) != 0) {
  18718. src2 = (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1
  18719. src_len2 = int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)
  18720. /*
  18721. * Convert Latin1 to Utf8. Freed below
  18722. */
  18723. utf8 = libc.Xmalloc(tls, uint64(src_len2*int32(3)+int32(1)))
  18724. if !(utf8 != 0) {
  18725. return uintptr(0)
  18726. }
  18727. u82 = utf8
  18728. for src_len2 > 0 {
  18729. v5 = src2
  18730. src2++
  18731. ucs42 = uint32(*(*TFcChar8)(unsafe.Pointer(v5)))
  18732. if ucs42 >= uint32(128) {
  18733. ucs42 = uint32(_fcMacRomanNonASCIIToUnicode[ucs42-uint32(128)])
  18734. }
  18735. src_len2--
  18736. olen2 = XFcUcs4ToUtf8(tls, ucs42, u82)
  18737. u82 += uintptr(olen2)
  18738. }
  18739. *(*TFcChar8)(unsafe.Pointer(u82)) = uint8('\000')
  18740. goto done
  18741. }
  18742. return uintptr(0)
  18743. goto done
  18744. done:
  18745. ;
  18746. if XFcStrCmpIgnoreBlanksAndCase(tls, utf8, __ccgo_ts+110) == 0 {
  18747. libc.Xfree(tls, utf8)
  18748. return uintptr(0)
  18749. }
  18750. return utf8
  18751. }
  18752. func _FcSfntNameLanguage(tls *libc.TLS, sname uintptr) (r uintptr) {
  18753. var i int32
  18754. var language_id, platform_id TFT_UShort
  18755. _, _, _ = i, language_id, platform_id
  18756. platform_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Fplatform_id
  18757. language_id = (*TFT_SfntName)(unsafe.Pointer(sname)).Flanguage_id
  18758. /*
  18759. * Many names encoded for TT_PLATFORM_MACINTOSH are broken
  18760. * in various ways. Kludge around them.
  18761. */
  18762. if int32(platform_id) == int32(m_TT_PLATFORM_MACINTOSH) && int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fencoding_id) == m_TT_MAC_ID_ROMAN && _FcLooksLikeSJIS(tls, (*TFT_SfntName)(unsafe.Pointer(sname)).Fstring1, int32((*TFT_SfntName)(unsafe.Pointer(sname)).Fstring_len)) != 0 {
  18763. language_id = uint16(m_TT_MAC_LANGID_JAPANESE)
  18764. }
  18765. i = 0
  18766. for {
  18767. if !(i < int32(libc.Uint64FromInt64(4020)/libc.Uint64FromInt64(12))) {
  18768. break
  18769. }
  18770. if int32(_fcFtLanguage[i].Fplatform_id) == int32(platform_id) && (int32(_fcFtLanguage[i].Flanguage_id) == int32(m_TT_LANGUAGE_DONT_CARE) || int32(_fcFtLanguage[i].Flanguage_id) == int32(language_id)) {
  18771. if int32(*(*int8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4))) == int32('\000') {
  18772. return libc.UintptrFromInt32(0)
  18773. } else {
  18774. return uintptr(unsafe.Pointer(&_fcFtLanguage)) + uintptr(i)*12 + 4
  18775. }
  18776. }
  18777. goto _1
  18778. _1:
  18779. ;
  18780. i++
  18781. }
  18782. return uintptr(0)
  18783. }
  18784. func _FcNoticeFoundry(tls *libc.TLS, notice uintptr) (r uintptr) {
  18785. var f, n uintptr
  18786. var i int32
  18787. _, _, _ = f, i, n
  18788. if notice != 0 {
  18789. i = 0
  18790. for {
  18791. if !(i < int32(libc.Uint64FromInt64(288)/libc.Uint64FromInt64(16))) {
  18792. break
  18793. }
  18794. n = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16))
  18795. f = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&_FcNoticeFoundries)) + uintptr(i)*16 + 1*8))
  18796. if libc.Xstrstr(tls, notice, n) != 0 {
  18797. return f
  18798. }
  18799. goto _1
  18800. _1:
  18801. ;
  18802. i++
  18803. }
  18804. }
  18805. return uintptr(0)
  18806. }
  18807. type TFcStringConst = struct {
  18808. Fname uintptr
  18809. Fvalue int32
  18810. }
  18811. type T_FcStringConst = TFcStringConst
  18812. func _FcStringIsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  18813. var i int32
  18814. _ = i
  18815. i = 0
  18816. for {
  18817. if !(i < nc) {
  18818. break
  18819. }
  18820. if XFcStrCmpIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) == 0 {
  18821. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  18822. }
  18823. goto _1
  18824. _1:
  18825. ;
  18826. i++
  18827. }
  18828. return -int32(1)
  18829. }
  18830. func _FcStringContainsConst(tls *libc.TLS, string1 uintptr, c uintptr, nc int32) (r int32) {
  18831. var i int32
  18832. _ = i
  18833. i = 0
  18834. for {
  18835. if !(i < nc) {
  18836. break
  18837. }
  18838. if int32(*(*TFcChar8)(unsafe.Pointer((*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname))) == int32('<') {
  18839. if XFcStrContainsWord(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname+uintptr(1)) != 0 {
  18840. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  18841. }
  18842. } else {
  18843. if XFcStrContainsIgnoreBlanksAndCase(tls, string1, (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fname) != 0 {
  18844. return (*(*TFcStringConst)(unsafe.Pointer(c + uintptr(i)*16))).Fvalue
  18845. }
  18846. }
  18847. goto _1
  18848. _1:
  18849. ;
  18850. i++
  18851. }
  18852. return -int32(1)
  18853. }
  18854. type TFC8 = uintptr
  18855. var _weightConsts = [23]TFcStringConst{
  18856. 0: {
  18857. Fname: __ccgo_ts + 3851,
  18858. },
  18859. 1: {
  18860. Fname: __ccgo_ts + 3856,
  18861. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  18862. },
  18863. 2: {
  18864. Fname: __ccgo_ts + 3867,
  18865. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  18866. },
  18867. 3: {
  18868. Fname: __ccgo_ts + 3878,
  18869. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  18870. },
  18871. 4: {
  18872. Fname: __ccgo_ts + 3888,
  18873. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  18874. },
  18875. 5: {
  18876. Fname: __ccgo_ts + 3898,
  18877. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  18878. },
  18879. 6: {
  18880. Fname: __ccgo_ts + 3904,
  18881. Fvalue: int32(m_FC_WEIGHT_BOOK),
  18882. },
  18883. 7: {
  18884. Fname: __ccgo_ts + 3909,
  18885. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  18886. },
  18887. 8: {
  18888. Fname: __ccgo_ts + 3917,
  18889. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  18890. },
  18891. 9: {
  18892. Fname: __ccgo_ts + 3924,
  18893. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  18894. },
  18895. 10: {
  18896. Fname: __ccgo_ts + 3931,
  18897. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  18898. },
  18899. 11: {
  18900. Fname: __ccgo_ts + 3940,
  18901. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  18902. },
  18903. 12: {
  18904. Fname: __ccgo_ts + 3945,
  18905. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  18906. },
  18907. 13: {
  18908. Fname: __ccgo_ts + 3954,
  18909. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  18910. },
  18911. 14: {
  18912. Fname: __ccgo_ts + 3964,
  18913. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  18914. },
  18915. 15: {
  18916. Fname: __ccgo_ts + 3974,
  18917. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  18918. },
  18919. 16: {
  18920. Fname: __ccgo_ts + 3984,
  18921. Fvalue: int32(m_FC_WEIGHT_BOLD),
  18922. },
  18923. 17: {
  18924. Fname: __ccgo_ts + 3989,
  18925. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  18926. },
  18927. 18: {
  18928. Fname: __ccgo_ts + 4000,
  18929. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  18930. },
  18931. 19: {
  18932. Fname: __ccgo_ts + 4011,
  18933. Fvalue: int32(m_FC_WEIGHT_EXTRABLACK),
  18934. },
  18935. 20: {
  18936. Fname: __ccgo_ts + 4022,
  18937. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  18938. },
  18939. 21: {
  18940. Fname: __ccgo_ts + 4029,
  18941. Fvalue: int32(m_FC_WEIGHT_BLACK),
  18942. },
  18943. 22: {
  18944. Fname: __ccgo_ts + 4035,
  18945. Fvalue: int32(m_FC_WEIGHT_BLACK),
  18946. },
  18947. }
  18948. var _widthConsts = [10]TFcStringConst{
  18949. 0: {
  18950. Fname: __ccgo_ts + 4041,
  18951. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  18952. },
  18953. 1: {
  18954. Fname: __ccgo_ts + 4056,
  18955. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  18956. },
  18957. 2: {
  18958. Fname: __ccgo_ts + 4071,
  18959. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  18960. },
  18961. 3: {
  18962. Fname: __ccgo_ts + 4085,
  18963. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  18964. },
  18965. 4: {
  18966. Fname: __ccgo_ts + 3917,
  18967. Fvalue: int32(m_FC_WIDTH_NORMAL),
  18968. },
  18969. 5: {
  18970. Fname: __ccgo_ts + 4095,
  18971. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  18972. },
  18973. 6: {
  18974. Fname: __ccgo_ts + 4108,
  18975. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  18976. },
  18977. 7: {
  18978. Fname: __ccgo_ts + 4122,
  18979. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  18980. },
  18981. 8: {
  18982. Fname: __ccgo_ts + 4136,
  18983. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  18984. },
  18985. 9: {
  18986. Fname: __ccgo_ts + 4145,
  18987. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  18988. },
  18989. }
  18990. var _slantConsts = [3]TFcStringConst{
  18991. 0: {
  18992. Fname: __ccgo_ts + 4154,
  18993. Fvalue: int32(m_FC_SLANT_ITALIC),
  18994. },
  18995. 1: {
  18996. Fname: __ccgo_ts + 4161,
  18997. Fvalue: int32(m_FC_SLANT_ITALIC),
  18998. },
  18999. 2: {
  19000. Fname: __ccgo_ts + 4168,
  19001. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  19002. },
  19003. }
  19004. var _decorativeConsts = [6]TFcStringConst{
  19005. 0: {
  19006. Fname: __ccgo_ts + 4176,
  19007. Fvalue: int32(m_FcTrue),
  19008. },
  19009. 1: {
  19010. Fname: __ccgo_ts + 4183,
  19011. Fvalue: int32(m_FcTrue),
  19012. },
  19013. 2: {
  19014. Fname: __ccgo_ts + 4188,
  19015. Fvalue: int32(m_FcTrue),
  19016. },
  19017. 3: {
  19018. Fname: __ccgo_ts + 4196,
  19019. Fvalue: int32(m_FcTrue),
  19020. },
  19021. 4: {
  19022. Fname: __ccgo_ts + 4204,
  19023. Fvalue: int32(m_FcTrue),
  19024. },
  19025. 5: {
  19026. Fname: __ccgo_ts + 4212,
  19027. Fvalue: int32(m_FcTrue),
  19028. },
  19029. }
  19030. func _FcGetPixelSize(tls *libc.TLS, face TFT_Face, i int32) (r float64) {
  19031. return float64((*(*TFT_Bitmap_Size)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Favailable_sizes + uintptr(i)*32))).Fy_ppem) / float64(64)
  19032. }
  19033. func _FcStringInPatternElement(tls *libc.TLS, pat uintptr, obj TFcObject, string1 uintptr) (r TFcBool) {
  19034. bp := tls.Alloc(32)
  19035. defer tls.Free(32)
  19036. var l TFcValueListPtr
  19037. var v2 uintptr
  19038. var _ /* iter at bp+0 */ TFcPatternIter
  19039. var _ /* v at bp+16 */ TFcValue
  19040. _, _ = l, v2
  19041. XFcPatternIterStart(tls, pat, bp)
  19042. if !(XFcPatternFindObjectIter(tls, pat, bp, obj) != 0) {
  19043. return m_FcFalse
  19044. }
  19045. l = XFcPatternIterGetValues(tls, pat, bp)
  19046. for {
  19047. if !(l != 0) {
  19048. break
  19049. }
  19050. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  19051. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, l+8)
  19052. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 != int32(_FcTypeString) {
  19053. break
  19054. }
  19055. if !(XFcStrCmpIgnoreBlanksAndCase(tls, *(*uintptr)(unsafe.Pointer(bp + 16 + 8)), string1) != 0) {
  19056. return int32(m_FcTrue)
  19057. }
  19058. goto _1
  19059. _1:
  19060. ;
  19061. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  19062. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  19063. } else {
  19064. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  19065. }
  19066. l = v2
  19067. }
  19068. return m_FcFalse
  19069. }
  19070. var _platform_order = [4]TFT_UShort{
  19071. 0: uint16(m_TT_PLATFORM_MICROSOFT),
  19072. 2: uint16(m_TT_PLATFORM_MACINTOSH),
  19073. 3: uint16(m_TT_PLATFORM_ISO),
  19074. }
  19075. var _nameid_order = [10]TFT_UShort{
  19076. 0: uint16(m_TT_NAME_ID_WWS_FAMILY),
  19077. 1: uint16(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY),
  19078. 2: uint16(m_TT_NAME_ID_FONT_FAMILY),
  19079. 3: uint16(m_TT_NAME_ID_MAC_FULL_NAME),
  19080. 4: uint16(m_TT_NAME_ID_FULL_NAME),
  19081. 5: uint16(m_TT_NAME_ID_WWS_SUBFAMILY),
  19082. 6: uint16(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY),
  19083. 7: uint16(m_TT_NAME_ID_FONT_SUBFAMILY),
  19084. 8: uint16(m_TT_NAME_ID_TRADEMARK),
  19085. 9: uint16(m_TT_NAME_ID_MANUFACTURER),
  19086. }
  19087. type TFcNameMapping = struct {
  19088. Fplatform_id uint32
  19089. Fname_id uint32
  19090. Fencoding_id uint32
  19091. Flanguage_id uint32
  19092. Fidx uint32
  19093. }
  19094. func __is_english(tls *libc.TLS, platform int32, language int32) (r TFcBool) {
  19095. var ret TFcBool
  19096. _ = ret
  19097. ret = m_FcFalse
  19098. switch platform {
  19099. case int32(m_TT_PLATFORM_MACINTOSH):
  19100. ret = libc.BoolInt32(language == m_TT_MAC_LANGID_ENGLISH)
  19101. case int32(m_TT_PLATFORM_MICROSOFT):
  19102. ret = libc.BoolInt32(language == int32(m_TT_MS_LANGID_ENGLISH_UNITED_STATES))
  19103. break
  19104. }
  19105. return ret
  19106. }
  19107. func _name_mapping_cmp(tls *libc.TLS, pa uintptr, pb uintptr) (r int32) {
  19108. var a, b uintptr
  19109. var v1, v2 int32
  19110. _, _, _, _ = a, b, v1, v2
  19111. a = pa
  19112. b = pb
  19113. if (*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id {
  19114. return int32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id) - int32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id)
  19115. }
  19116. if (*TFcNameMapping)(unsafe.Pointer(a)).Fname_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fname_id {
  19117. return int32((*TFcNameMapping)(unsafe.Pointer(a)).Fname_id) - int32((*TFcNameMapping)(unsafe.Pointer(b)).Fname_id)
  19118. }
  19119. if (*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id != (*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id {
  19120. return int32((*TFcNameMapping)(unsafe.Pointer(a)).Fencoding_id) - int32((*TFcNameMapping)(unsafe.Pointer(b)).Fencoding_id)
  19121. }
  19122. if (*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id != (*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id {
  19123. if __is_english(tls, int32((*TFcNameMapping)(unsafe.Pointer(a)).Fplatform_id), int32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id)) != 0 {
  19124. v1 = -int32(1)
  19125. } else {
  19126. if __is_english(tls, int32((*TFcNameMapping)(unsafe.Pointer(b)).Fplatform_id), int32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)) != 0 {
  19127. v2 = int32(1)
  19128. } else {
  19129. v2 = int32((*TFcNameMapping)(unsafe.Pointer(a)).Flanguage_id) - int32((*TFcNameMapping)(unsafe.Pointer(b)).Flanguage_id)
  19130. }
  19131. v1 = v2
  19132. }
  19133. return v1
  19134. }
  19135. if (*TFcNameMapping)(unsafe.Pointer(a)).Fidx != (*TFcNameMapping)(unsafe.Pointer(b)).Fidx {
  19136. return int32((*TFcNameMapping)(unsafe.Pointer(a)).Fidx) - int32((*TFcNameMapping)(unsafe.Pointer(b)).Fidx)
  19137. }
  19138. return 0
  19139. }
  19140. func _FcFreeTypeGetFirstName(tls *libc.TLS, face TFT_Face, platform uint32, nameid uint32, mapping uintptr, count uint32, sname uintptr) (r int32) {
  19141. var max, mid, min int32
  19142. _, _, _ = max, mid, min
  19143. min = 0
  19144. max = int32(count) - int32(1)
  19145. for min <= max {
  19146. mid = (min + max) / int32(2)
  19147. if libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(mapping + uintptr(mid)*20))).Fidx, sname) != 0 {
  19148. return m_FcFalse
  19149. }
  19150. 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)) {
  19151. max = mid - int32(1)
  19152. } else {
  19153. 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) {
  19154. min = mid + int32(1)
  19155. } else {
  19156. return mid
  19157. }
  19158. }
  19159. }
  19160. return -int32(1)
  19161. }
  19162. func _FcFreeTypeQueryFaceInternal(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, cs_share uintptr, ls_share uintptr, nm_share uintptr) (r2 uintptr) {
  19163. bp := tls.Alloc(576)
  19164. defer tls.Free(576)
  19165. var bit, has_color, has_outline, i3, i7, lookupid, n1, n2, name_count, nameid, nameidx, platform, slant, spacing, st, v12, v13, v17, v21, v23, v24, v27, v31, v33, v34 int32
  19166. var bits TFT_ULong
  19167. var complex_, cs, end, exclusiveLang, family, foundry, foundry_, head, instance, lang, ls, name_mapping, nlangp, np, os2, p1, pat, pp, r, r1, ss, start, style_regular, tmp, utf8, utf81, v15, v39 uintptr
  19168. var decorative, symbol, variable, variable_size, variable_weight, variable_width TFcBool
  19169. var def_value, default_value, lower_size, max_value, min_value, mult, upper_size, value, weight, weight_mult, width, width_mult, v3 float64
  19170. var ftresult TFT_Error
  19171. var i, i1, i2, i5, i6, n, p, v6, v7, v8, v9 uint32
  19172. var i4, len1, len11, len2 Tsize_t
  19173. var obj, obj1, objlang TFcObject
  19174. var v19, v29 t__darwin_ct_rune_t
  19175. var v20, v30 uint64
  19176. var v36, v40 bool
  19177. var _ /* family at bp+520 */ uintptr
  19178. var _ /* family at bp+88 */ uintptr
  19179. var _ /* familylang at bp+528 */ uintptr
  19180. var _ /* lang at bp+104 */ uintptr
  19181. var _ /* master at bp+0 */ uintptr
  19182. var _ /* nfamily at bp+8 */ int32
  19183. var _ /* nfamily_lang at bp+12 */ int32
  19184. var _ /* nfullname at bp+24 */ int32
  19185. var _ /* nfullname_lang at bp+28 */ int32
  19186. var _ /* nstyle at bp+16 */ int32
  19187. var _ /* nstyle_lang at bp+20 */ int32
  19188. var _ /* psname at bp+264 */ [256]int8
  19189. var _ /* sbuf at bp+112 */ TFcStrBuf
  19190. var _ /* sname at bp+40 */ TFT_SfntName
  19191. var _ /* sname at bp+64 */ TFT_SfntName
  19192. var _ /* style at bp+32 */ uintptr
  19193. var _ /* style at bp+96 */ uintptr
  19194. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bit, bits, complex_, cs, decorative, def_value, default_value, end, exclusiveLang, family, foundry, foundry_, ftresult, has_color, has_outline, head, i, i1, i2, i3, i4, i5, i6, i7, instance, lang, len1, len11, len2, lookupid, lower_size, ls, max_value, min_value, mult, n, n1, n2, name_count, name_mapping, nameid, nameidx, nlangp, np, obj, obj1, objlang, os2, p, p1, pat, platform, pp, r, r1, slant, spacing, ss, st, start, style_regular, symbol, tmp, upper_size, utf8, utf81, value, variable, variable_size, variable_weight, variable_width, weight, weight_mult, width, width_mult, v12, v13, v15, v17, v19, v20, v21, v23, v24, v27, v29, v3, v30, v31, v33, v34, v36, v39, v40, v6, v7, v8, v9
  19195. slant = -int32(1)
  19196. weight = float64(-libc.Int32FromInt32(1))
  19197. width = float64(-libc.Int32FromInt32(1))
  19198. decorative = m_FcFalse
  19199. variable = m_FcFalse
  19200. variable_weight = m_FcFalse
  19201. variable_width = m_FcFalse
  19202. variable_size = m_FcFalse
  19203. name_mapping = libc.UintptrFromInt32(0)
  19204. foundry_ = libc.UintptrFromInt32(0)
  19205. foundry = uintptr(0)
  19206. /* Support for glyph-variation named-instances. */
  19207. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  19208. instance = libc.UintptrFromInt32(0)
  19209. weight_mult = float64(1)
  19210. width_mult = float64(1)
  19211. exclusiveLang = uintptr(0)
  19212. name_count = 0
  19213. *(*int32)(unsafe.Pointer(bp + 8)) = 0
  19214. *(*int32)(unsafe.Pointer(bp + 12)) = 0
  19215. *(*int32)(unsafe.Pointer(bp + 16)) = 0
  19216. *(*int32)(unsafe.Pointer(bp + 20)) = 0
  19217. *(*int32)(unsafe.Pointer(bp + 24)) = 0
  19218. *(*int32)(unsafe.Pointer(bp + 28)) = 0
  19219. *(*uintptr)(unsafe.Pointer(bp + 32)) = uintptr(0)
  19220. symbol = m_FcFalse
  19221. XFcInitDebug(tls) /* We might be called with no initizalization whatsoever. */
  19222. pat = XFcPatternCreate(tls)
  19223. if !(pat != 0) {
  19224. goto bail0
  19225. }
  19226. has_outline = libc.BoolInt32(!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0))
  19227. has_color = 0
  19228. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_OUTLINE_OBJECT), has_outline) != 0) {
  19229. goto bail1
  19230. }
  19231. has_color = libc.BoolInt32(!!!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(14)) != 0))
  19232. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_COLOR_OBJECT), has_color) != 0) {
  19233. goto bail1
  19234. }
  19235. /* All color fonts are designed to be scaled, even if they only have
  19236. * bitmap strikes. Client is responsible to scale the bitmaps. This
  19237. * is in contrast to non-color strikes... */
  19238. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SCALABLE_OBJECT), libc.BoolInt32(has_outline != 0 || has_color != 0)) != 0) {
  19239. goto bail1
  19240. }
  19241. ftresult = libfreetype.XFT_Get_MM_Var(tls, face, bp)
  19242. if id>>int32(16) != 0 {
  19243. if ftresult != 0 {
  19244. goto bail1
  19245. }
  19246. if id>>int32(16) == uint32(0x8000) {
  19247. i = uint32(0)
  19248. for {
  19249. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19250. break
  19251. }
  19252. 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))
  19253. 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))
  19254. 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))
  19255. obj = int32(_FC_INVALID_OBJECT)
  19256. if min_value > def_value || def_value > max_value || min_value == max_value {
  19257. goto _1
  19258. }
  19259. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i)*48))).Ftag {
  19260. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  19261. obj = int32(_FC_WEIGHT_OBJECT)
  19262. min_value = XFcWeightFromOpenTypeDouble(tls, min_value)
  19263. max_value = XFcWeightFromOpenTypeDouble(tls, max_value)
  19264. variable_weight = int32(m_FcTrue)
  19265. weight = libc.Float64FromInt32(0) /* To stop looking for weight. */
  19266. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  19267. obj = int32(_FC_WIDTH_OBJECT)
  19268. /* Values in 'wdth' match Fontconfig FC_WIDTH_* scheme directly. */
  19269. variable_width = int32(m_FcTrue)
  19270. width = libc.Float64FromInt32(0) /* To stop looking for width. */
  19271. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19272. obj = int32(_FC_SIZE_OBJECT)
  19273. /* Values in 'opsz' match Fontconfig FC_SIZE, both are in points. */
  19274. variable_size = int32(m_FcTrue)
  19275. break
  19276. }
  19277. if obj != int32(_FC_INVALID_OBJECT) {
  19278. r = XFcRangeCreateDouble(tls, min_value, max_value)
  19279. if !(XFcPatternObjectAddRange(tls, pat, obj, r) != 0) {
  19280. XFcRangeDestroy(tls, r)
  19281. goto bail1
  19282. }
  19283. XFcRangeDestroy(tls, r)
  19284. variable = int32(m_FcTrue)
  19285. }
  19286. goto _1
  19287. _1:
  19288. ;
  19289. i++
  19290. }
  19291. if !(variable != 0) {
  19292. goto bail1
  19293. }
  19294. id &= uint32(0xFFFF)
  19295. } else {
  19296. if id>>int32(16)-uint32(1) < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_namedstyles {
  19297. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnamedstyle + uintptr(id>>int32(16)-uint32(1))*16
  19298. i1 = uint32(0)
  19299. for {
  19300. if !(i1 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19301. break
  19302. }
  19303. value = float64(*(*TFT_Fixed)(unsafe.Pointer((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords + uintptr(i1)*8))) / float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))
  19304. 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))
  19305. if default_value != 0 {
  19306. v3 = value / default_value
  19307. } else {
  19308. v3 = libc.Float64FromInt32(1)
  19309. }
  19310. mult = v3
  19311. //printf ("named-instance, axis %d tag %lx value %g\n", i, master->axis[i].tag, value);
  19312. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i1)*48))).Ftag {
  19313. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('g')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('h')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('t'))):
  19314. weight_mult = mult
  19315. case uint64(uint32(libc.Uint64FromUint8('w')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('d')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('t')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('h'))):
  19316. width_mult = mult
  19317. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19318. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), value) != 0) {
  19319. goto bail1
  19320. }
  19321. break
  19322. }
  19323. goto _2
  19324. _2:
  19325. ;
  19326. i1++
  19327. }
  19328. } else {
  19329. goto bail1
  19330. }
  19331. }
  19332. } else {
  19333. if !(ftresult != 0) {
  19334. i2 = uint32(0)
  19335. for {
  19336. if !(i2 < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fnum_axis) {
  19337. break
  19338. }
  19339. switch (*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Ftag {
  19340. case uint64(uint32(libc.Uint64FromUint8('o')<<libc.Int32FromInt32(24) | libc.Uint64FromUint8('p')<<libc.Int32FromInt32(16) | libc.Uint64FromUint8('s')<<libc.Int32FromInt32(8) | libc.Uint64FromUint8('z'))):
  19341. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), float64((*(*TFT_Var_Axis)(unsafe.Pointer((*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Faxis + uintptr(i2)*48))).Fdef)/float64(libc.Uint32FromUint32(1)<<libc.Int32FromInt32(16))) != 0) {
  19342. goto bail1
  19343. }
  19344. variable_size = int32(m_FcTrue)
  19345. break
  19346. }
  19347. goto _4
  19348. _4:
  19349. ;
  19350. i2++
  19351. }
  19352. } else {
  19353. /* ignore an error of FT_Get_MM_Var() */
  19354. }
  19355. }
  19356. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_VARIABLE_OBJECT), variable) != 0) {
  19357. goto bail1
  19358. }
  19359. /*
  19360. * Get the OS/2 table
  19361. */
  19362. os2 = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_OS2))
  19363. /*
  19364. * Look first in the OS/2 table for the foundry, if
  19365. * not found here, the various notices will be searched for
  19366. * that information, either from the sfnt name tables or
  19367. * the Postscript FontInfo dictionary. Finally, the
  19368. * BDF properties will queried.
  19369. */
  19370. if os2 != 0 && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  19371. if int32(*(*TFT_Char)(unsafe.Pointer(os2 + 80))) != 0 {
  19372. foundry_ = libc.Xmalloc(tls, libc.Uint64FromInt64(4)+libc.Uint64FromInt32(1))
  19373. libc.X__builtin___memcpy_chk(tls, foundry_, os2+80, uint64(4), uint64(libc.X__builtin_object_size(tls, foundry_, 0)))
  19374. *(*TFcChar8)(unsafe.Pointer(foundry_ + uintptr(4))) = uint8(0)
  19375. foundry = foundry_
  19376. }
  19377. }
  19378. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19379. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  19380. }
  19381. /*
  19382. * Grub through the name table looking for family
  19383. * and style names. FreeType makes quite a hash
  19384. * of them
  19385. */
  19386. name_count = int32(libfreetype.XFT_Get_Sfnt_Name_Count(tls, face))
  19387. if nm_share != 0 {
  19388. name_mapping = *(*uintptr)(unsafe.Pointer(nm_share))
  19389. }
  19390. if !(name_mapping != 0) {
  19391. i3 = 0
  19392. name_mapping = libc.Xmalloc(tls, uint64(name_count)*uint64(20))
  19393. if !(name_mapping != 0) {
  19394. name_count = 0
  19395. }
  19396. i3 = 0
  19397. for {
  19398. if !(i3 < name_count) {
  19399. break
  19400. }
  19401. p1 = name_mapping + uintptr(i3)*20
  19402. if libfreetype.XFT_Get_Sfnt_Name(tls, face, uint32(i3), bp+40) == 0 {
  19403. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fplatform_id)
  19404. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fname_id)
  19405. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Fencoding_id)
  19406. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = uint32((*(*TFT_SfntName)(unsafe.Pointer(bp + 40))).Flanguage_id)
  19407. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = uint32(i3)
  19408. } else {
  19409. v9 = uint32(-libc.Int32FromInt32(1))
  19410. (*TFcNameMapping)(unsafe.Pointer(p1)).Fidx = v9
  19411. v8 = v9
  19412. (*TFcNameMapping)(unsafe.Pointer(p1)).Flanguage_id = v8
  19413. v7 = v8
  19414. (*TFcNameMapping)(unsafe.Pointer(p1)).Fencoding_id = v7
  19415. v6 = v7
  19416. (*TFcNameMapping)(unsafe.Pointer(p1)).Fname_id = v6
  19417. (*TFcNameMapping)(unsafe.Pointer(p1)).Fplatform_id = v6
  19418. }
  19419. goto _5
  19420. _5:
  19421. ;
  19422. i3++
  19423. }
  19424. libc.Xqsort(tls, name_mapping, uint64(name_count), uint64(20), __ccgo_fp(_name_mapping_cmp))
  19425. if nm_share != 0 {
  19426. *(*uintptr)(unsafe.Pointer(nm_share)) = name_mapping
  19427. }
  19428. }
  19429. p = uint32(0)
  19430. for {
  19431. if !(uint64(p) < libc.Uint64FromInt64(8)/libc.Uint64FromInt64(2)) {
  19432. break
  19433. }
  19434. platform = int32(_platform_order[p])
  19435. /*
  19436. * Order nameids so preferred names appear first
  19437. * in the resulting list
  19438. */
  19439. n = uint32(0)
  19440. for {
  19441. if !(uint64(n) < libc.Uint64FromInt64(20)/libc.Uint64FromInt64(2)) {
  19442. break
  19443. }
  19444. np = uintptr(0)
  19445. nlangp = uintptr(0)
  19446. obj1 = int32(_FC_INVALID_OBJECT)
  19447. objlang = int32(_FC_INVALID_OBJECT)
  19448. v12 = int32(_nameid_order[n])
  19449. lookupid = v12
  19450. nameid = v12
  19451. if instance != 0 {
  19452. /* For named-instances, we skip regular style nameIDs,
  19453. * and treat the instance's nameid as FONT_SUBFAMILY.
  19454. * Postscript name is automatically handled by FreeType. */
  19455. if nameid == int32(m_TT_NAME_ID_WWS_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) || nameid == int32(m_TT_NAME_ID_FULL_NAME) {
  19456. goto _11
  19457. }
  19458. if nameid == int32(m_TT_NAME_ID_FONT_SUBFAMILY) {
  19459. lookupid = int32((*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fstrid)
  19460. }
  19461. }
  19462. nameidx = _FcFreeTypeGetFirstName(tls, face, uint32(platform), uint32(lookupid), name_mapping, uint32(name_count), bp+64)
  19463. if nameidx == -int32(1) {
  19464. goto _11
  19465. }
  19466. for {
  19467. switch nameid {
  19468. case int32(m_TT_NAME_ID_WWS_FAMILY):
  19469. fallthrough
  19470. case int32(m_TT_NAME_ID_TYPOGRAPHIC_FAMILY):
  19471. fallthrough
  19472. case int32(m_TT_NAME_ID_FONT_FAMILY):
  19473. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19474. libc.Xprintf(tls, __ccgo_ts+4220, libc.VaList(bp+544, int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  19475. }
  19476. obj1 = int32(_FC_FAMILY_OBJECT)
  19477. objlang = int32(_FC_FAMILYLANG_OBJECT)
  19478. np = bp + 8
  19479. nlangp = bp + 12
  19480. case int32(m_TT_NAME_ID_MAC_FULL_NAME):
  19481. fallthrough
  19482. case int32(m_TT_NAME_ID_FULL_NAME):
  19483. if variable != 0 {
  19484. break
  19485. }
  19486. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19487. libc.Xprintf(tls, __ccgo_ts+4260, libc.VaList(bp+544, int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  19488. }
  19489. obj1 = int32(_FC_FULLNAME_OBJECT)
  19490. objlang = int32(_FC_FULLNAMELANG_OBJECT)
  19491. np = bp + 24
  19492. nlangp = bp + 28
  19493. case int32(m_TT_NAME_ID_WWS_SUBFAMILY):
  19494. fallthrough
  19495. case int32(m_TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY):
  19496. fallthrough
  19497. case int32(m_TT_NAME_ID_FONT_SUBFAMILY):
  19498. if variable != 0 {
  19499. break
  19500. }
  19501. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19502. libc.Xprintf(tls, __ccgo_ts+4300, libc.VaList(bp+544, int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fencoding_id), int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Flanguage_id)))
  19503. }
  19504. obj1 = int32(_FC_STYLE_OBJECT)
  19505. objlang = int32(_FC_STYLELANG_OBJECT)
  19506. np = bp + 16
  19507. nlangp = bp + 20
  19508. case int32(m_TT_NAME_ID_TRADEMARK):
  19509. fallthrough
  19510. case int32(m_TT_NAME_ID_MANUFACTURER):
  19511. /* If the foundry wasn't found in the OS/2 table, look here */
  19512. if !(foundry != 0) {
  19513. utf8 = _FcSfntNameTranscode(tls, bp+64)
  19514. foundry = _FcNoticeFoundry(tls, utf8)
  19515. libc.Xfree(tls, utf8)
  19516. }
  19517. break
  19518. }
  19519. if obj1 != int32(_FC_INVALID_OBJECT) {
  19520. utf81 = _FcSfntNameTranscode(tls, bp+64)
  19521. lang = _FcSfntNameLanguage(tls, bp+64)
  19522. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19523. if utf81 != 0 {
  19524. v15 = utf81
  19525. } else {
  19526. v15 = __ccgo_ts + 4341
  19527. }
  19528. libc.Xprintf(tls, __ccgo_ts+4348, libc.VaList(bp+544, v15))
  19529. }
  19530. if !(utf81 != 0) {
  19531. goto _14
  19532. }
  19533. /* Trim surrounding whitespace. */
  19534. pp = utf81
  19535. for int32(*(*TFcChar8)(unsafe.Pointer(pp))) == int32(' ') {
  19536. pp++
  19537. }
  19538. len1 = libc.Xstrlen(tls, pp)
  19539. libc.X__builtin___memmove_chk(tls, utf81, pp, len1+uint64(1), uint64(libc.X__builtin_object_size(tls, utf81, 0)))
  19540. pp = utf81 + uintptr(len1)
  19541. for pp > utf81 && int32(*(*TFcChar8)(unsafe.Pointer(pp - libc.UintptrFromInt32(1)))) == int32(' ') {
  19542. pp--
  19543. }
  19544. *(*TFcChar8)(unsafe.Pointer(pp)) = uint8(0)
  19545. if _FcStringInPatternElement(tls, pat, obj1, utf81) != 0 {
  19546. libc.Xfree(tls, utf81)
  19547. goto _14
  19548. }
  19549. /* add new element */
  19550. if !(XFcPatternObjectAddString(tls, pat, obj1, utf81) != 0) {
  19551. libc.Xfree(tls, utf81)
  19552. goto bail1
  19553. }
  19554. libc.Xfree(tls, utf81)
  19555. if lang != 0 {
  19556. /* pad lang list with 'und' to line up with elt */
  19557. for *(*int32)(unsafe.Pointer(nlangp)) < *(*int32)(unsafe.Pointer(np)) {
  19558. if !(XFcPatternObjectAddString(tls, pat, objlang, __ccgo_ts+1348) != 0) {
  19559. goto bail1
  19560. }
  19561. *(*int32)(unsafe.Pointer(nlangp))++
  19562. }
  19563. if !(XFcPatternObjectAddString(tls, pat, objlang, lang) != 0) {
  19564. goto bail1
  19565. }
  19566. *(*int32)(unsafe.Pointer(nlangp))++
  19567. }
  19568. *(*int32)(unsafe.Pointer(np))++
  19569. }
  19570. goto _14
  19571. _14:
  19572. ;
  19573. nameidx++
  19574. v13 = nameidx
  19575. if !(v13 < name_count && libfreetype.XFT_Get_Sfnt_Name(tls, face, (*(*TFcNameMapping)(unsafe.Pointer(name_mapping + uintptr(nameidx)*20))).Fidx, bp+64) == 0 && platform == int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fplatform_id) && lookupid == int32((*(*TFT_SfntName)(unsafe.Pointer(bp + 64))).Fname_id)) {
  19576. break
  19577. }
  19578. }
  19579. goto _11
  19580. _11:
  19581. ;
  19582. n++
  19583. }
  19584. goto _10
  19585. _10:
  19586. ;
  19587. p++
  19588. }
  19589. if !(nm_share != 0) {
  19590. libc.Xfree(tls, name_mapping)
  19591. name_mapping = libc.UintptrFromInt32(0)
  19592. }
  19593. if !(*(*int32)(unsafe.Pointer(bp + 8)) != 0) && (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name, __ccgo_ts+110) != 0 {
  19594. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19595. libc.Xprintf(tls, __ccgo_ts+4352, libc.VaList(bp+544, (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name))
  19596. }
  19597. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), (*TFT_FaceRec_)(unsafe.Pointer(face)).Ffamily_name) != 0) {
  19598. goto bail1
  19599. }
  19600. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  19601. goto bail1
  19602. }
  19603. *(*int32)(unsafe.Pointer(bp + 8))++
  19604. }
  19605. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 16)) != 0) {
  19606. style_regular = __ccgo_ts + 4380
  19607. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name != 0 && XFcStrCmpIgnoreBlanksAndCase(tls, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name, __ccgo_ts+110) != 0 {
  19608. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19609. libc.Xprintf(tls, __ccgo_ts+4388, libc.VaList(bp+544, (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name))
  19610. }
  19611. ss = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_name
  19612. } else {
  19613. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19614. libc.Xprintf(tls, __ccgo_ts+4415, 0)
  19615. }
  19616. ss = style_regular
  19617. }
  19618. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLE_OBJECT), ss) != 0) {
  19619. goto bail1
  19620. }
  19621. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_STYLELANG_OBJECT), __ccgo_ts+2752) != 0) {
  19622. goto bail1
  19623. }
  19624. *(*int32)(unsafe.Pointer(bp + 16))++
  19625. }
  19626. if !(*(*int32)(unsafe.Pointer(bp + 8)) != 0) && file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 {
  19627. start = libc.Xstrrchr(tls, file, int32('/'))
  19628. if start != 0 {
  19629. start++
  19630. } else {
  19631. start = file
  19632. }
  19633. end = libc.Xstrrchr(tls, start, int32('.'))
  19634. if !(end != 0) {
  19635. end = start + uintptr(libc.Xstrlen(tls, start))
  19636. }
  19637. /* freed below */
  19638. family = libc.Xmalloc(tls, uint64(int64(end)-int64(start)+int64(1)))
  19639. libc.X__builtin___strncpy_chk(tls, family, start, uint64(int64(end)-int64(start)), uint64(libc.X__builtin_object_size(tls, family, int32(1))))
  19640. *(*TFcChar8)(unsafe.Pointer(family + uintptr(int64(end)-int64(start)))) = uint8('\000')
  19641. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19642. libc.Xprintf(tls, __ccgo_ts+4447, libc.VaList(bp+544, family))
  19643. }
  19644. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), family) != 0) {
  19645. libc.Xfree(tls, family)
  19646. goto bail1
  19647. }
  19648. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), __ccgo_ts+2752) != 0) {
  19649. libc.Xfree(tls, family)
  19650. goto bail1
  19651. }
  19652. libc.Xfree(tls, family)
  19653. *(*int32)(unsafe.Pointer(bp + 8))++
  19654. }
  19655. /* Add the fullname into the cache */
  19656. if !(variable != 0) && !(*(*int32)(unsafe.Pointer(bp + 24)) != 0) {
  19657. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  19658. n1 = 0
  19659. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n1, bp+104) == int32(_FcResultMatch) {
  19660. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), __ccgo_ts+2752) == 0 {
  19661. break
  19662. }
  19663. n1++
  19664. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  19665. }
  19666. if !(*(*uintptr)(unsafe.Pointer(bp + 104)) != 0) {
  19667. n1 = 0
  19668. }
  19669. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n1, bp+88) != int32(_FcResultMatch) {
  19670. goto bail1
  19671. }
  19672. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 88)))
  19673. i4 = len11
  19674. for {
  19675. if !(i4 > uint64(0)) {
  19676. break
  19677. }
  19678. v19 = int32(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(i4-uint64(1)))))
  19679. v20 = uint64(0x00004000)
  19680. v24 = libc.BoolInt32(v19 & ^libc.Int32FromInt32(0x7F) == 0)
  19681. goto _25
  19682. _25:
  19683. if v24 != 0 {
  19684. v23 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v19)*4)))&v20 != 0))
  19685. } else {
  19686. v23 = libc.BoolInt32(!!(libc.X__maskrune(tls, v19, v20) != 0))
  19687. }
  19688. v21 = v23
  19689. goto _22
  19690. _22:
  19691. v17 = v21
  19692. goto _18
  19693. _18:
  19694. if !(v17 != 0) {
  19695. break
  19696. }
  19697. goto _16
  19698. _16:
  19699. ;
  19700. i4--
  19701. }
  19702. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 88)) + uintptr(i4))) = uint8(0)
  19703. n1 = 0
  19704. for XFcPatternObjectGetString(tls, pat, int32(_FC_STYLELANG_OBJECT), n1, bp+104) == int32(_FcResultMatch) {
  19705. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 104)), __ccgo_ts+2752) == 0 {
  19706. break
  19707. }
  19708. n1++
  19709. *(*uintptr)(unsafe.Pointer(bp + 104)) = libc.UintptrFromInt32(0)
  19710. }
  19711. if !(*(*uintptr)(unsafe.Pointer(bp + 104)) != 0) {
  19712. n1 = 0
  19713. }
  19714. if XFcPatternObjectGetString(tls, pat, int32(_FC_STYLE_OBJECT), n1, bp+96) != int32(_FcResultMatch) {
  19715. goto bail1
  19716. }
  19717. len11 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 96)))
  19718. i4 = uint64(0)
  19719. for {
  19720. if v36 = int32(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + uintptr(i4)))) != 0; v36 {
  19721. v29 = int32(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 96)) + uintptr(i4))))
  19722. v30 = uint64(0x00004000)
  19723. v34 = libc.BoolInt32(v29 & ^libc.Int32FromInt32(0x7F) == 0)
  19724. goto _35
  19725. _35:
  19726. if v34 != 0 {
  19727. v33 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v29)*4)))&v30 != 0))
  19728. } else {
  19729. v33 = libc.BoolInt32(!!(libc.X__maskrune(tls, v29, v30) != 0))
  19730. }
  19731. v31 = v33
  19732. goto _32
  19733. _32:
  19734. v27 = v31
  19735. goto _28
  19736. _28:
  19737. }
  19738. if !(v36 && v27 != 0) {
  19739. break
  19740. }
  19741. goto _26
  19742. _26:
  19743. ;
  19744. i4++
  19745. }
  19746. libc.X__builtin___memcpy_chk(tls, *(*uintptr)(unsafe.Pointer(bp + 96)), *(*uintptr)(unsafe.Pointer(bp + 96))+uintptr(i4), len11-i4, uint64(libc.X__builtin_object_size(tls, *(*uintptr)(unsafe.Pointer(bp + 96)), 0)))
  19747. XFcStrBufInit(tls, bp+112, libc.UintptrFromInt32(0), 0)
  19748. XFcStrBufString(tls, bp+112, *(*uintptr)(unsafe.Pointer(bp + 88)))
  19749. XFcStrBufChar(tls, bp+112, uint8(' '))
  19750. XFcStrBufString(tls, bp+112, *(*uintptr)(unsafe.Pointer(bp + 96)))
  19751. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAME_OBJECT), XFcStrBufDoneStatic(tls, bp+112)) != 0) {
  19752. XFcStrBufDestroy(tls, bp+112)
  19753. goto bail1
  19754. }
  19755. XFcStrBufDestroy(tls, bp+112)
  19756. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FULLNAMELANG_OBJECT), __ccgo_ts+2752) != 0) {
  19757. goto bail1
  19758. }
  19759. *(*int32)(unsafe.Pointer(bp + 24))++
  19760. }
  19761. /* Add the PostScript name into the cache */
  19762. if !(variable != 0) {
  19763. tmp = libfreetype.XFT_Get_Postscript_Name(tls, face)
  19764. if !(tmp != 0) {
  19765. *(*uintptr)(unsafe.Pointer(bp + 528)) = libc.UintptrFromInt32(0)
  19766. n2 = 0
  19767. /* Workaround when FT_Get_Postscript_Name didn't give any name.
  19768. * try to find out the English family name and convert.
  19769. */
  19770. for XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILYLANG_OBJECT), n2, bp+528) == int32(_FcResultMatch) {
  19771. if XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer(bp + 528)), __ccgo_ts+2752) == 0 {
  19772. break
  19773. }
  19774. n2++
  19775. *(*uintptr)(unsafe.Pointer(bp + 528)) = libc.UintptrFromInt32(0)
  19776. }
  19777. if !(*(*uintptr)(unsafe.Pointer(bp + 528)) != 0) {
  19778. n2 = 0
  19779. }
  19780. if XFcPatternObjectGetString(tls, pat, int32(_FC_FAMILY_OBJECT), n2, bp+520) != int32(_FcResultMatch) {
  19781. goto bail1
  19782. }
  19783. len2 = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(bp + 520)))
  19784. /* the literal name in PostScript Language is limited to 127 characters though,
  19785. * It is the architectural limit. so assuming 255 characters may works enough.
  19786. */
  19787. i5 = uint32(0)
  19788. for {
  19789. if !(uint64(i5) < len2 && i5 < uint32(255)) {
  19790. break
  19791. }
  19792. if libc.Xstrchr(tls, uintptr(unsafe.Pointer(&_exclusive_chars)), int32(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 520)) + uintptr(i5))))) != libc.UintptrFromInt32(0) {
  19793. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = int8('-')
  19794. } else {
  19795. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = int8(*(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 520)) + uintptr(i5))))
  19796. }
  19797. goto _37
  19798. _37:
  19799. ;
  19800. i5++
  19801. }
  19802. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[i5] = 0
  19803. } else {
  19804. libc.X__builtin___strncpy_chk(tls, bp+264, tmp, uint64(255), uint64(libc.X__builtin_object_size(tls, bp+264, int32(1))))
  19805. (*(*[256]int8)(unsafe.Pointer(bp + 264)))[int32(255)] = 0
  19806. }
  19807. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_POSTSCRIPT_NAME_OBJECT), bp+264) != 0) {
  19808. goto bail1
  19809. }
  19810. }
  19811. if file != 0 && *(*TFcChar8)(unsafe.Pointer(file)) != 0 && !(XFcPatternObjectAddString(tls, pat, int32(_FC_FILE_OBJECT), file) != 0) {
  19812. goto bail1
  19813. }
  19814. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_INDEX_OBJECT), int32(id)) != 0) {
  19815. goto bail1
  19816. }
  19817. /*
  19818. * Find the font revision (if available)
  19819. */
  19820. head = libfreetype.XFT_Get_Sfnt_Table(tls, face, int32(_FT_SFNT_HEAD))
  19821. if head != 0 {
  19822. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), int32((*TTT_Header)(unsafe.Pointer(head)).FFont_Revision)) != 0) {
  19823. goto bail1
  19824. }
  19825. } else {
  19826. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_FONTVERSION_OBJECT), 0) != 0) {
  19827. goto bail1
  19828. }
  19829. }
  19830. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_ORDER_OBJECT), 0) != 0) {
  19831. goto bail1
  19832. }
  19833. if os2 != 0 && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0001) && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  19834. i6 = uint32(0)
  19835. for {
  19836. if !(i6 < uint32(int32(libc.Uint64FromInt64(28)/libc.Uint64FromInt64(7)))) {
  19837. break
  19838. }
  19839. if int32(_FcCodePageRange[i6].Fbit) < int32(32) {
  19840. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange1
  19841. bit = int32(_FcCodePageRange[i6].Fbit)
  19842. } else {
  19843. bits = (*TTT_OS2)(unsafe.Pointer(os2)).FulCodePageRange2
  19844. bit = int32(_FcCodePageRange[i6].Fbit) - int32(32)
  19845. }
  19846. if bits&uint64(libc.Uint32FromUint32(1)<<bit) != 0 {
  19847. /*
  19848. * If the font advertises support for multiple
  19849. * "exclusive" languages, then include support
  19850. * for any language found to have coverage
  19851. */
  19852. if exclusiveLang != 0 {
  19853. exclusiveLang = uintptr(0)
  19854. break
  19855. }
  19856. exclusiveLang = uintptr(unsafe.Pointer(&_FcCodePageRange)) + uintptr(i6)*7 + 1
  19857. }
  19858. goto _38
  19859. _38:
  19860. ;
  19861. i6++
  19862. }
  19863. }
  19864. if os2 != 0 && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  19865. weight = float64((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass)
  19866. weight = XFcWeightFromOpenTypeDouble(tls, weight*weight_mult)
  19867. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && weight != float64(-libc.Int32FromInt32(1)) {
  19868. libc.Xprintf(tls, __ccgo_ts+4477, libc.VaList(bp+544, int32((*TTT_OS2)(unsafe.Pointer(os2)).FusWeightClass), weight_mult, weight))
  19869. }
  19870. switch int32((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass) {
  19871. case int32(1):
  19872. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRACONDENSED)
  19873. case int32(2):
  19874. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRACONDENSED)
  19875. case int32(3):
  19876. width = libc.Float64FromInt32(m_FC_WIDTH_CONDENSED)
  19877. case int32(4):
  19878. width = libc.Float64FromInt32(m_FC_WIDTH_SEMICONDENSED)
  19879. case int32(5):
  19880. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  19881. case int32(6):
  19882. width = libc.Float64FromInt32(m_FC_WIDTH_SEMIEXPANDED)
  19883. case int32(7):
  19884. width = libc.Float64FromInt32(m_FC_WIDTH_EXPANDED)
  19885. case int32(8):
  19886. width = libc.Float64FromInt32(m_FC_WIDTH_EXTRAEXPANDED)
  19887. case int32(9):
  19888. width = libc.Float64FromInt32(m_FC_WIDTH_ULTRAEXPANDED)
  19889. break
  19890. }
  19891. width *= width_mult
  19892. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 && width != float64(-libc.Int32FromInt32(1)) {
  19893. libc.Xprintf(tls, __ccgo_ts+4531, libc.VaList(bp+544, int32((*TTT_OS2)(unsafe.Pointer(os2)).FusWidthClass), width_mult, width))
  19894. }
  19895. }
  19896. if v40 = os2 != 0; v40 {
  19897. v39 = _FcFontCapabilities(tls, face)
  19898. complex_ = v39
  19899. }
  19900. if v40 && v39 != 0 {
  19901. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_CAPABILITY_OBJECT), complex_) != 0) {
  19902. libc.Xfree(tls, complex_)
  19903. goto bail1
  19904. }
  19905. libc.Xfree(tls, complex_)
  19906. }
  19907. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_FONT_HAS_HINT_OBJECT), _FcFontHasHint(tls, face)) != 0) {
  19908. goto bail1
  19909. }
  19910. if !(variable_size != 0) && os2 != 0 && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) >= int32(0x0005) && int32((*TTT_OS2)(unsafe.Pointer(os2)).Fversion) != int32(0xffff) {
  19911. /* usLowerPointSize and usUpperPointSize is actually twips */
  19912. lower_size = float64(float64((*TTT_OS2)(unsafe.Pointer(os2)).FusLowerOpticalPointSize) / libc.Float64FromFloat64(20))
  19913. upper_size = float64(float64((*TTT_OS2)(unsafe.Pointer(os2)).FusUpperOpticalPointSize) / libc.Float64FromFloat64(20))
  19914. if lower_size == upper_size {
  19915. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), lower_size) != 0) {
  19916. goto bail1
  19917. }
  19918. } else {
  19919. r1 = XFcRangeCreateDouble(tls, lower_size, upper_size)
  19920. if !(XFcPatternObjectAddRange(tls, pat, int32(_FC_SIZE_OBJECT), r1) != 0) {
  19921. XFcRangeDestroy(tls, r1)
  19922. goto bail1
  19923. }
  19924. XFcRangeDestroy(tls, r1)
  19925. }
  19926. }
  19927. /*
  19928. * Type 1: Check for FontInfo dictionary information
  19929. * Code from g2@magestudios.net (Gerard Escalante)
  19930. */
  19931. /*
  19932. * Look for weight, width and slant names in the style value
  19933. */
  19934. st = 0
  19935. for {
  19936. if !(XFcPatternGetString(tls, pat, __ccgo_ts+4583, st, bp+32) == int32(_FcResultMatch)) {
  19937. break
  19938. }
  19939. if weight == float64(-libc.Int32FromInt32(1)) {
  19940. weight = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_weightConsts)), int32(libc.Uint64FromInt64(368)/libc.Uint64FromInt64(16))))
  19941. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19942. libc.Xprintf(tls, __ccgo_ts+4589, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), weight))
  19943. }
  19944. }
  19945. if width == float64(-libc.Int32FromInt32(1)) {
  19946. width = float64(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_widthConsts)), int32(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(16))))
  19947. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19948. libc.Xprintf(tls, __ccgo_ts+4618, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), width))
  19949. }
  19950. }
  19951. if slant == -int32(1) {
  19952. slant = _FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_slantConsts)), int32(libc.Uint64FromInt64(48)/libc.Uint64FromInt64(16)))
  19953. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19954. libc.Xprintf(tls, __ccgo_ts+4646, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), slant))
  19955. }
  19956. }
  19957. if decorative == m_FcFalse {
  19958. decorative = libc.BoolInt32(_FcStringContainsConst(tls, *(*uintptr)(unsafe.Pointer(bp + 32)), uintptr(unsafe.Pointer(&_decorativeConsts)), int32(libc.Uint64FromInt64(96)/libc.Uint64FromInt64(16))) > 0)
  19959. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  19960. libc.Xprintf(tls, __ccgo_ts+4674, libc.VaList(bp+544, *(*uintptr)(unsafe.Pointer(bp + 32)), decorative))
  19961. }
  19962. }
  19963. goto _41
  19964. _41:
  19965. ;
  19966. st++
  19967. }
  19968. /*
  19969. * Pull default values from the FreeType flags if more
  19970. * specific values not found above
  19971. */
  19972. if slant == -int32(1) {
  19973. slant = m_FC_SLANT_ROMAN
  19974. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(0)) != 0 {
  19975. slant = int32(m_FC_SLANT_ITALIC)
  19976. }
  19977. }
  19978. if weight == float64(-libc.Int32FromInt32(1)) {
  19979. weight = libc.Float64FromInt32(m_FC_WEIGHT_MEDIUM)
  19980. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstyle_flags&int64(libc.Int32FromInt32(1)<<libc.Int32FromInt32(1)) != 0 {
  19981. weight = libc.Float64FromInt32(m_FC_WEIGHT_BOLD)
  19982. }
  19983. }
  19984. if width == float64(-libc.Int32FromInt32(1)) {
  19985. width = libc.Float64FromInt32(m_FC_WIDTH_NORMAL)
  19986. }
  19987. if foundry == uintptr(0) {
  19988. foundry = __ccgo_ts + 4707
  19989. }
  19990. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SLANT_OBJECT), slant) != 0) {
  19991. goto bail1
  19992. }
  19993. if !(variable_weight != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WEIGHT_OBJECT), weight) != 0) {
  19994. goto bail1
  19995. }
  19996. if !(variable_width != 0) && !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_WIDTH_OBJECT), width) != 0) {
  19997. goto bail1
  19998. }
  19999. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FOUNDRY_OBJECT), foundry) != 0) {
  20000. goto bail1
  20001. }
  20002. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_DECORATIVE_OBJECT), decorative) != 0) {
  20003. goto bail1
  20004. }
  20005. /*
  20006. * Compute the unicode coverage for the font
  20007. */
  20008. if cs_share != 0 && *(*uintptr)(unsafe.Pointer(cs_share)) != 0 {
  20009. cs = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(cs_share)))
  20010. } else {
  20011. cs = XFcFreeTypeCharSet(tls, face, libc.UintptrFromInt32(0))
  20012. if cs_share != 0 {
  20013. *(*uintptr)(unsafe.Pointer(cs_share)) = XFcCharSetCopy(tls, cs)
  20014. }
  20015. }
  20016. if !(cs != 0) {
  20017. goto bail1
  20018. }
  20019. /* The FcFreeTypeCharSet() chose the encoding; test it for symbol. */
  20020. 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))
  20021. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_SYMBOL_OBJECT), symbol) != 0) {
  20022. goto bail1
  20023. }
  20024. spacing = _FcFreeTypeSpacing(tls, face)
  20025. /*
  20026. * Skip over PCF fonts that have no encoded characters; they're
  20027. * usually just Unicode fonts transcoded to some legacy encoding
  20028. * FT forces us to approximate whether a font is a PCF font
  20029. * or not by whether it has any BDF properties. Try PIXEL_SIZE;
  20030. * I don't know how to get a list of BDF properties on the font. -PL
  20031. */
  20032. if XFcCharSetCount(tls, cs) == uint32(0) {
  20033. }
  20034. if !(XFcPatternObjectAddCharSet(tls, pat, int32(_FC_CHARSET_OBJECT), cs) != 0) {
  20035. goto bail2
  20036. }
  20037. if !(symbol != 0) {
  20038. if ls_share != 0 && *(*uintptr)(unsafe.Pointer(ls_share)) != 0 {
  20039. ls = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(ls_share)))
  20040. } else {
  20041. ls = XFcFreeTypeLangSet(tls, cs, exclusiveLang)
  20042. if ls_share != 0 {
  20043. *(*uintptr)(unsafe.Pointer(ls_share)) = XFcLangSetCopy(tls, ls)
  20044. }
  20045. }
  20046. if !(ls != 0) {
  20047. goto bail2
  20048. }
  20049. } else {
  20050. /* Symbol fonts don't cover any language, even though they
  20051. * claim to support Latin1 range. */
  20052. ls = XFcLangSetCreate(tls)
  20053. }
  20054. if !(XFcPatternObjectAddLangSet(tls, pat, int32(_FC_LANG_OBJECT), ls) != 0) {
  20055. XFcLangSetDestroy(tls, ls)
  20056. goto bail2
  20057. }
  20058. XFcLangSetDestroy(tls, ls)
  20059. if spacing != m_FC_PROPORTIONAL {
  20060. if !(XFcPatternObjectAddInteger(tls, pat, int32(_FC_SPACING_OBJECT), spacing) != 0) {
  20061. goto bail2
  20062. }
  20063. }
  20064. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0) {
  20065. i7 = 0
  20066. for {
  20067. if !(i7 < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  20068. break
  20069. }
  20070. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_PIXEL_SIZE_OBJECT), _FcGetPixelSize(tls, face, i7)) != 0) {
  20071. goto bail2
  20072. }
  20073. goto _42
  20074. _42:
  20075. ;
  20076. i7++
  20077. }
  20078. if !(XFcPatternObjectAddBool(tls, pat, int32(_FC_ANTIALIAS_OBJECT), m_FcFalse) != 0) {
  20079. goto bail2
  20080. }
  20081. }
  20082. /*
  20083. * Drop our reference to the charset
  20084. */
  20085. XFcCharSetDestroy(tls, cs)
  20086. if foundry_ != 0 {
  20087. libc.Xfree(tls, foundry_)
  20088. }
  20089. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20090. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  20091. }
  20092. return pat
  20093. goto bail2
  20094. bail2:
  20095. ;
  20096. XFcCharSetDestroy(tls, cs)
  20097. goto bail1
  20098. bail1:
  20099. ;
  20100. XFcPatternDestroy(tls, pat)
  20101. if *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  20102. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp)))
  20103. }
  20104. if !(nm_share != 0) && name_mapping != 0 {
  20105. libc.Xfree(tls, name_mapping)
  20106. }
  20107. if foundry_ != 0 {
  20108. libc.Xfree(tls, foundry_)
  20109. }
  20110. goto bail0
  20111. bail0:
  20112. ;
  20113. return libc.UintptrFromInt32(0)
  20114. return r2
  20115. }
  20116. /* those characters are not allowed to be the literal name in PostScript */
  20117. var _exclusive_chars = [16]int8{4, '(', ')', '/', '<', '>', '[', ']', '{', '}', 9, 12, 13, 10, ' '}
  20118. func XFcFreeTypeQueryFace(tls *libc.TLS, face TFT_Face, file uintptr, id uint32, blanks uintptr) (r uintptr) {
  20119. return _FcFreeTypeQueryFaceInternal(tls, face, file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20120. }
  20121. func XFcFreeTypeQuery(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr) (r uintptr) {
  20122. bp := tls.Alloc(16)
  20123. defer tls.Free(16)
  20124. var pat uintptr
  20125. var _ /* face at bp+0 */ TFT_Face
  20126. var _ /* ftLibrary at bp+8 */ TFT_Library
  20127. _ = pat
  20128. pat = libc.UintptrFromInt32(0)
  20129. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  20130. return libc.UintptrFromInt32(0)
  20131. }
  20132. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, int64(id&uint32(0x7FFFFFFF)), bp) != 0 {
  20133. goto bail
  20134. }
  20135. if count != 0 {
  20136. *(*int32)(unsafe.Pointer(count)) = int32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  20137. }
  20138. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0))
  20139. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20140. goto bail
  20141. bail:
  20142. ;
  20143. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  20144. return pat
  20145. }
  20146. func XFcFreeTypeQueryAll(tls *libc.TLS, file uintptr, id uint32, blanks uintptr, count uintptr, set uintptr) (r uint32) {
  20147. bp := tls.Alloc(48)
  20148. defer tls.Free(48)
  20149. var coords, instance, pat uintptr
  20150. var err int32
  20151. var face_num, i, instance_num, num_faces, num_instances, ret, set_face_num, set_instance_num, v1, v2 uint32
  20152. var index_set, nonzero TFcBool
  20153. var _ /* cs at bp+16 */ uintptr
  20154. var _ /* face at bp+0 */ TFT_Face
  20155. var _ /* ftLibrary at bp+8 */ TFT_Library
  20156. var _ /* ls at bp+24 */ uintptr
  20157. var _ /* mm_var at bp+40 */ uintptr
  20158. var _ /* nm at bp+32 */ uintptr
  20159. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = 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
  20160. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  20161. *(*TFT_Library)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  20162. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  20163. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  20164. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  20165. *(*uintptr)(unsafe.Pointer(bp + 40)) = libc.UintptrFromInt32(0)
  20166. index_set = libc.BoolInt32(id != uint32(-libc.Int32FromInt32(1)))
  20167. if index_set != 0 {
  20168. v1 = id & uint32(0xFFFF)
  20169. } else {
  20170. v1 = uint32(0)
  20171. }
  20172. set_face_num = v1
  20173. if index_set != 0 {
  20174. v2 = id >> int32(16)
  20175. } else {
  20176. v2 = uint32(0)
  20177. }
  20178. set_instance_num = v2
  20179. face_num = set_face_num
  20180. instance_num = set_instance_num
  20181. num_faces = uint32(0)
  20182. num_instances = uint32(0)
  20183. ret = uint32(0)
  20184. err = 0
  20185. if count != 0 {
  20186. *(*int32)(unsafe.Pointer(count)) = 0
  20187. }
  20188. if libfreetype.XFT_Init_FreeType(tls, bp+8) != 0 {
  20189. return uint32(0)
  20190. }
  20191. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, int64(face_num), bp) != 0 {
  20192. goto bail
  20193. }
  20194. num_faces = uint32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fnum_faces)
  20195. num_instances = uint32((*TFT_FaceRec_)(unsafe.Pointer(*(*TFT_Face)(unsafe.Pointer(bp)))).Fstyle_flags >> int32(16))
  20196. if num_instances != 0 && (!(index_set != 0) || instance_num != 0) {
  20197. libfreetype.XFT_Get_MM_Var(tls, *(*TFT_Face)(unsafe.Pointer(bp)), bp+40)
  20198. if !(*(*uintptr)(unsafe.Pointer(bp + 40)) != 0) {
  20199. num_instances = uint32(0)
  20200. }
  20201. }
  20202. if count != 0 {
  20203. *(*int32)(unsafe.Pointer(count)) = int32(num_faces)
  20204. }
  20205. for cond := true; cond; cond = !(err != 0) && (!(index_set != 0) || face_num == set_face_num) && face_num < num_faces {
  20206. pat = libc.UintptrFromInt32(0)
  20207. if instance_num == uint32(0x8000) || instance_num > num_instances {
  20208. libfreetype.XFT_Set_Var_Design_Coordinates(tls, *(*TFT_Face)(unsafe.Pointer(bp)), uint32(0), libc.UintptrFromInt32(0))
  20209. } else {
  20210. if instance_num != 0 {
  20211. instance = (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnamedstyle + uintptr(instance_num-uint32(1))*16
  20212. coords = (*TFT_Var_Named_Style)(unsafe.Pointer(instance)).Fcoords
  20213. /* Skip named-instance that coincides with base instance. */
  20214. nonzero = m_FcFalse
  20215. i = uint32(0)
  20216. for {
  20217. if !(i < (*TFT_MM_Var)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 40)))).Fnum_axis) {
  20218. break
  20219. }
  20220. 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 {
  20221. nonzero = int32(m_FcTrue)
  20222. break
  20223. }
  20224. goto _3
  20225. _3:
  20226. ;
  20227. i++
  20228. }
  20229. if !(nonzero != 0) {
  20230. goto skip
  20231. }
  20232. 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)
  20233. }
  20234. }
  20235. id = instance_num<<int32(16) + face_num
  20236. pat = _FcFreeTypeQueryFaceInternal(tls, *(*TFT_Face)(unsafe.Pointer(bp)), file, id, bp+16, bp+24, bp+32)
  20237. if pat != 0 {
  20238. ret++
  20239. if !(set != 0) || !(XFcFontSetAdd(tls, set, pat) != 0) {
  20240. XFcPatternDestroy(tls, pat)
  20241. }
  20242. } else {
  20243. if instance_num != uint32(0x8000) {
  20244. err = int32(1)
  20245. }
  20246. }
  20247. goto skip
  20248. skip:
  20249. ;
  20250. if !(index_set != 0) && instance_num < num_instances {
  20251. instance_num++
  20252. } else {
  20253. if !(index_set != 0) && instance_num == num_instances {
  20254. instance_num = uint32(0x8000)
  20255. } else {
  20256. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  20257. *(*uintptr)(unsafe.Pointer(bp + 32)) = libc.UintptrFromInt32(0)
  20258. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  20259. *(*uintptr)(unsafe.Pointer(bp + 24)) = libc.UintptrFromInt32(0)
  20260. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  20261. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  20262. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20263. *(*TFT_Face)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  20264. face_num++
  20265. instance_num = set_instance_num
  20266. if libfreetype.XFT_New_Face(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)), file, int64(face_num), bp) != 0 {
  20267. break
  20268. }
  20269. }
  20270. }
  20271. }
  20272. goto bail
  20273. bail:
  20274. ;
  20275. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 40)))
  20276. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 24)))
  20277. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  20278. if *(*TFT_Face)(unsafe.Pointer(bp)) != 0 {
  20279. libfreetype.XFT_Done_Face(tls, *(*TFT_Face)(unsafe.Pointer(bp)))
  20280. }
  20281. libfreetype.XFT_Done_FreeType(tls, *(*TFT_Library)(unsafe.Pointer(bp + 8)))
  20282. if *(*uintptr)(unsafe.Pointer(bp + 32)) != 0 {
  20283. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 32)))
  20284. }
  20285. return ret
  20286. }
  20287. var _fcFontEncodings = [2]TFT_Encoding{
  20288. 0: int32(_FT_ENCODING_UNICODE),
  20289. 1: int32(_FT_ENCODING_MS_SYMBOL),
  20290. }
  20291. /*
  20292. * Map a UCS4 glyph to a glyph index. Use all available encoding
  20293. * tables to try and find one that works. This information is expected
  20294. * to be cached by higher levels, so performance isn't critical
  20295. */
  20296. func XFcFreeTypeCharIndex(tls *libc.TLS, face TFT_Face, ucs4 TFcChar32) (r TFT_UInt) {
  20297. var decode, initial, offset int32
  20298. var glyphindex TFT_UInt
  20299. _, _, _, _ = decode, glyphindex, initial, offset
  20300. initial = 0
  20301. if !(face != 0) {
  20302. return uint32(0)
  20303. }
  20304. /*
  20305. * Find the current encoding
  20306. */
  20307. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0 {
  20308. for {
  20309. if !(initial < int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20310. break
  20311. }
  20312. if _fcFontEncodings[initial] == (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding {
  20313. break
  20314. }
  20315. goto _1
  20316. _1:
  20317. ;
  20318. initial++
  20319. }
  20320. if initial == int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4)) {
  20321. initial = 0
  20322. }
  20323. }
  20324. /*
  20325. * Check each encoding for the glyph, starting with the current one
  20326. */
  20327. offset = 0
  20328. for {
  20329. if !(offset < int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20330. break
  20331. }
  20332. decode = (initial + offset) % int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))
  20333. if !((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap != 0) || (*TFT_CharMapRec_)(unsafe.Pointer((*TFT_FaceRec_)(unsafe.Pointer(face)).Fcharmap)).Fencoding != _fcFontEncodings[decode] {
  20334. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[decode]) != 0 {
  20335. goto _2
  20336. }
  20337. }
  20338. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4))
  20339. if glyphindex != 0 {
  20340. return glyphindex
  20341. }
  20342. 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) {
  20343. /* For symbol-encoded OpenType fonts, we duplicate the
  20344. * U+F000..F0FF range at U+0000..U+00FF. That's what
  20345. * Windows seems to do, and that's hinted about at:
  20346. * http://www.microsoft.com/typography/otspec/recom.htm
  20347. * under "Non-Standard (Symbol) Fonts".
  20348. *
  20349. * See thread with subject "Webdings and other MS symbol
  20350. * fonts don't display" on mailing list from May 2015.
  20351. */
  20352. glyphindex = libfreetype.XFT_Get_Char_Index(tls, face, uint64(ucs4)+uint64(0xF000))
  20353. if glyphindex != 0 {
  20354. return glyphindex
  20355. }
  20356. }
  20357. goto _2
  20358. _2:
  20359. ;
  20360. offset++
  20361. }
  20362. return uint32(0)
  20363. }
  20364. func _fc_min(tls *libc.TLS, a int32, b int32) (r int32) {
  20365. var v1 int32
  20366. _ = v1
  20367. if a <= b {
  20368. v1 = a
  20369. } else {
  20370. v1 = b
  20371. }
  20372. return v1
  20373. }
  20374. func _fc_max(tls *libc.TLS, a int32, b int32) (r int32) {
  20375. var v1 int32
  20376. _ = v1
  20377. if a >= b {
  20378. v1 = a
  20379. } else {
  20380. v1 = b
  20381. }
  20382. return v1
  20383. }
  20384. func _fc_approximately_equal(tls *libc.TLS, x int32, y int32) (r TFcBool) {
  20385. return libc.BoolInt32(libc.Xabs(tls, x-y)*int32(33) <= _fc_max(tls, libc.Xabs(tls, x), libc.Xabs(tls, y)))
  20386. }
  20387. func _FcFreeTypeSpacing(tls *libc.TLS, face TFT_Face) (r int32) {
  20388. bp := tls.Alloc(16)
  20389. defer tls.Free(16)
  20390. var advances [3]TFT_Pos
  20391. var i, load_flags, strike_index TFT_Int
  20392. var j, num_advances, v4 uint32
  20393. var o int32
  20394. var ucs4 TFcChar32
  20395. var _ /* advance at bp+8 */ TFT_Pos
  20396. var _ /* glyph at bp+0 */ TFT_UInt
  20397. _, _, _, _, _, _, _, _, _ = advances, i, j, load_flags, num_advances, o, strike_index, ucs4, v4
  20398. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  20399. advances = [3]TFT_Pos{}
  20400. num_advances = uint32(0)
  20401. /* When using scalable fonts, only report those glyphs
  20402. * which can be scaled; otherwise those fonts will
  20403. * only be available at some sizes, and never when
  20404. * transformed. Avoid this by simply reporting bitmap-only
  20405. * glyphs as missing
  20406. */
  20407. if (*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(0)) != 0 {
  20408. load_flags = TFT_Int(int64(load_flags) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(3))
  20409. }
  20410. 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 {
  20411. strike_index = 0
  20412. /* Select the face closest to 16 pixels tall */
  20413. i = int32(1)
  20414. for {
  20415. if !(i < (*TFT_FaceRec_)(unsafe.Pointer(face)).Fnum_fixed_sizes) {
  20416. break
  20417. }
  20418. 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)) {
  20419. strike_index = i
  20420. }
  20421. goto _1
  20422. _1:
  20423. ;
  20424. i++
  20425. }
  20426. libfreetype.XFT_Select_Size(tls, face, strike_index)
  20427. }
  20428. o = 0
  20429. for {
  20430. if !(o < int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20431. break
  20432. }
  20433. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  20434. goto _2
  20435. }
  20436. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  20437. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) && num_advances < uint32(3) {
  20438. *(*TFT_Pos)(unsafe.Pointer(bp + 8)) = 0
  20439. if !(libfreetype.XFT_Get_Advance(tls, face, *(*TFT_UInt)(unsafe.Pointer(bp)), load_flags, bp+8) != 0) && *(*TFT_Pos)(unsafe.Pointer(bp + 8)) != 0 {
  20440. j = uint32(0)
  20441. for {
  20442. if !(j < num_advances) {
  20443. break
  20444. }
  20445. if _fc_approximately_equal(tls, int32(*(*TFT_Pos)(unsafe.Pointer(bp + 8))), int32(advances[j])) != 0 {
  20446. break
  20447. }
  20448. goto _3
  20449. _3:
  20450. ;
  20451. j++
  20452. }
  20453. if j == num_advances {
  20454. v4 = num_advances
  20455. num_advances++
  20456. advances[v4] = *(*TFT_Pos)(unsafe.Pointer(bp + 8))
  20457. }
  20458. }
  20459. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  20460. }
  20461. break
  20462. goto _2
  20463. _2:
  20464. ;
  20465. o++
  20466. }
  20467. if num_advances <= uint32(1) {
  20468. return int32(m_FC_MONO)
  20469. } else {
  20470. 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 {
  20471. return int32(m_FC_DUAL)
  20472. } else {
  20473. return m_FC_PROPORTIONAL
  20474. }
  20475. }
  20476. return r
  20477. }
  20478. func XFcFreeTypeCharSet(tls *libc.TLS, face TFT_Face, blanks uintptr) (r uintptr) {
  20479. bp := tls.Alloc(16)
  20480. defer tls.Free(16)
  20481. var fcs, leaf uintptr
  20482. var good TFcBool
  20483. var load_flags TFT_Int
  20484. var o int32
  20485. var off, page, ucs4 TFcChar32
  20486. var _ /* glyph at bp+0 */ TFT_UInt
  20487. _, _, _, _, _, _, _, _ = fcs, good, leaf, load_flags, o, off, page, ucs4
  20488. load_flags = int32(libc.Int64FromInt64(1)<<libc.Int32FromInt32(9) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(0) | libc.Int64FromInt64(1)<<libc.Int32FromInt32(1))
  20489. fcs = XFcCharSetCreate(tls)
  20490. if !(fcs != 0) {
  20491. goto bail
  20492. }
  20493. o = 0
  20494. for {
  20495. if !(o < int32(libc.Uint64FromInt64(8)/libc.Uint64FromInt64(4))) {
  20496. break
  20497. }
  20498. if libfreetype.XFT_Select_Charmap(tls, face, _fcFontEncodings[o]) != 0 {
  20499. goto _1
  20500. }
  20501. page = uint32(^libc.Int32FromInt32(0))
  20502. leaf = libc.UintptrFromInt32(0)
  20503. ucs4 = uint32(libfreetype.XFT_Get_First_Char(tls, face, bp))
  20504. for *(*TFT_UInt)(unsafe.Pointer(bp)) != uint32(0) {
  20505. good = int32(m_FcTrue)
  20506. /* CID fonts built by Adobe used to make ASCII control chars to cid1
  20507. * (space glyph). As such, always check contour for those characters. */
  20508. if ucs4 <= uint32(0x001F) {
  20509. 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 {
  20510. good = m_FcFalse
  20511. }
  20512. }
  20513. if good != 0 {
  20514. XFcCharSetAddChar(tls, fcs, ucs4)
  20515. if ucs4>>libc.Int32FromInt32(8) != page {
  20516. page = ucs4 >> int32(8)
  20517. leaf = XFcCharSetFindLeafCreate(tls, fcs, ucs4)
  20518. if !(leaf != 0) {
  20519. goto bail
  20520. }
  20521. }
  20522. off = ucs4 & uint32(0xff)
  20523. *(*TFcChar32)(unsafe.Pointer(leaf + uintptr(off>>int32(5))*4)) |= uint32(1) << (off & uint32(0x1f))
  20524. }
  20525. ucs4 = uint32(libfreetype.XFT_Get_Next_Char(tls, face, uint64(ucs4), bp))
  20526. }
  20527. if _fcFontEncodings[o] == int32(_FT_ENCODING_MS_SYMBOL) {
  20528. /* For symbol-encoded OpenType fonts, we duplicate the
  20529. * U+F000..F0FF range at U+0000..U+00FF. That's what
  20530. * Windows seems to do, and that's hinted about at:
  20531. * http://www.microsoft.com/typography/otspec/recom.htm
  20532. * under "Non-Standard (Symbol) Fonts".
  20533. *
  20534. * See thread with subject "Webdings and other MS symbol
  20535. * fonts don't display" on mailing list from May 2015.
  20536. */
  20537. ucs4 = uint32(0xF000)
  20538. for {
  20539. if !(ucs4 < uint32(0xF100)) {
  20540. break
  20541. }
  20542. if XFcCharSetHasChar(tls, fcs, ucs4) != 0 {
  20543. XFcCharSetAddChar(tls, fcs, ucs4-uint32(0xF000))
  20544. }
  20545. goto _2
  20546. _2:
  20547. ;
  20548. ucs4++
  20549. }
  20550. }
  20551. break
  20552. goto _1
  20553. _1:
  20554. ;
  20555. o++
  20556. }
  20557. return fcs
  20558. goto bail
  20559. bail:
  20560. ;
  20561. XFcCharSetDestroy(tls, fcs)
  20562. return uintptr(0)
  20563. }
  20564. func XFcFreeTypeCharSetAndSpacing(tls *libc.TLS, face TFT_Face, blanks uintptr, spacing uintptr) (r uintptr) {
  20565. if spacing != 0 {
  20566. *(*int32)(unsafe.Pointer(spacing)) = _FcFreeTypeSpacing(tls, face)
  20567. }
  20568. return XFcFreeTypeCharSet(tls, face, blanks)
  20569. }
  20570. /* space + head + id */
  20571. /*
  20572. * This is a bit generous; the registry has only lower case and space
  20573. * except for 'DFLT'.
  20574. */
  20575. func _addtag(tls *libc.TLS, complex_ uintptr, tag TFT_ULong) {
  20576. bp := tls.Alloc(16)
  20577. defer tls.Free(16)
  20578. var _ /* tagstring at bp+0 */ [5]TFcChar8
  20579. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0] = uint8(tag >> libc.Int32FromInt32(24))
  20580. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)] = uint8(tag >> libc.Int32FromInt32(16))
  20581. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)] = uint8(tag >> libc.Int32FromInt32(8))
  20582. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)] = uint8(tag)
  20583. (*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(4)] = uint8('\000')
  20584. /* skip tags which aren't alphanumeric, under the assumption that
  20585. * they're probably broken
  20586. */
  20587. if !(int32(0141) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0172) || int32(0101) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32(0132) || int32('0') <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0]) <= int32('9') || int32(040) == int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[0])) || !(int32(0141) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0172) || int32(0101) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32(0132) || int32('0') <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)]) <= int32('9') || int32(040) == int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(1)])) || !(int32(0141) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0172) || int32(0101) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32(0132) || int32('0') <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)]) <= int32('9') || int32(040) == int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(2)])) || !(int32(0141) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0172) || int32(0101) <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32(0132) || int32('0') <= int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) && int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)]) <= int32('9') || int32(040) == int32((*(*[5]TFcChar8)(unsafe.Pointer(bp)))[int32(3)])) {
  20588. return
  20589. }
  20590. if int32(*(*TFcChar8)(unsafe.Pointer(complex_))) != int32('\000') {
  20591. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+1952, libc.X__builtin_object_size(tls, complex_, int32(1)))
  20592. }
  20593. libc.X__builtin___strcat_chk(tls, complex_, __ccgo_ts+4715, libc.X__builtin_object_size(tls, complex_, int32(1)))
  20594. libc.X__builtin___strcat_chk(tls, complex_, bp, libc.X__builtin_object_size(tls, complex_, int32(1)))
  20595. }
  20596. func _compareulong(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  20597. var ua, ub uintptr
  20598. _, _ = ua, ub
  20599. ua = a
  20600. ub = b
  20601. return int32(*(*TFT_ULong)(unsafe.Pointer(ua)) - *(*TFT_ULong)(unsafe.Pointer(ub)))
  20602. }
  20603. func _FindTable(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong) (r TFcBool) {
  20604. var error1, v1 TFT_Error
  20605. var stream TFT_Stream
  20606. _, _, _ = error1, stream, v1
  20607. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  20608. if !(stream != 0) {
  20609. return m_FcFalse
  20610. }
  20611. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  20612. error1 = v1
  20613. if v1 != 0 {
  20614. return m_FcFalse
  20615. }
  20616. return int32(m_FcTrue)
  20617. }
  20618. func _GetScriptTags(tls *libc.TLS, face TFT_Face, tabletag TFT_ULong, stags uintptr) (r int32) {
  20619. var base_offset, cur_offset, new_offset TFT_ULong
  20620. var error1, v1 TFT_Error
  20621. var n, p TFT_UShort
  20622. var script_count int32
  20623. var stream TFT_Stream
  20624. _, _, _, _, _, _, _, _, _ = base_offset, cur_offset, error1, n, new_offset, p, script_count, stream, v1
  20625. stream = (*TFT_FaceRec_)(unsafe.Pointer(face)).Fstream
  20626. if !(stream != 0) {
  20627. return 0
  20628. }
  20629. v1 = Xftglue_face_goto_table(tls, face, tabletag, stream)
  20630. error1 = v1
  20631. if v1 != 0 {
  20632. return 0
  20633. }
  20634. base_offset = uint64(Xftglue_stream_pos(tls, stream))
  20635. /* skip version */
  20636. if Xftglue_stream_seek(tls, stream, int64(base_offset+uint64(4))) != 0 || Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  20637. return 0
  20638. }
  20639. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  20640. new_offset = uint64(uint16(int16(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
  20641. Xftglue_stream_frame_exit(tls, stream)
  20642. cur_offset = uint64(Xftglue_stream_pos(tls, stream))
  20643. if Xftglue_stream_seek(tls, stream, int64(new_offset)) != int32(_FT_Err_Ok) {
  20644. return 0
  20645. }
  20646. base_offset = uint64(Xftglue_stream_pos(tls, stream))
  20647. if Xftglue_stream_frame_enter(tls, stream, uint64(2)) != 0 {
  20648. return 0
  20649. }
  20650. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  20651. script_count = int32(uint16(int16(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)))))))
  20652. Xftglue_stream_frame_exit(tls, stream)
  20653. *(*uintptr)(unsafe.Pointer(stags)) = libc.Xmalloc(tls, uint64(script_count)*uint64(8))
  20654. if !(*(*uintptr)(unsafe.Pointer(stags)) != 0) {
  20655. return 0
  20656. }
  20657. p = uint16(0)
  20658. n = uint16(0)
  20659. for {
  20660. if !(int32(n) < script_count) {
  20661. break
  20662. }
  20663. if Xftglue_stream_frame_enter(tls, stream, uint64(6)) != 0 {
  20664. goto Fail
  20665. }
  20666. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  20667. *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(stags)) + uintptr(p)*8)) = uint64(int64(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))))))
  20668. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  20669. new_offset = uint64(uint16(int16(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
  20670. Xftglue_stream_frame_exit(tls, stream)
  20671. cur_offset = uint64(Xftglue_stream_pos(tls, stream))
  20672. error1 = Xftglue_stream_seek(tls, stream, int64(new_offset))
  20673. if error1 == int32(_FT_Err_Ok) {
  20674. p++
  20675. }
  20676. Xftglue_stream_seek(tls, stream, int64(cur_offset))
  20677. goto _2
  20678. _2:
  20679. ;
  20680. n++
  20681. }
  20682. if !(p != 0) {
  20683. goto Fail
  20684. }
  20685. /* sort the tag list before returning it */
  20686. libc.Xqsort(tls, *(*uintptr)(unsafe.Pointer(stags)), uint64(script_count), uint64(8), __ccgo_fp(_compareulong))
  20687. return script_count
  20688. goto Fail
  20689. Fail:
  20690. ;
  20691. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(stags)))
  20692. *(*uintptr)(unsafe.Pointer(stags)) = libc.UintptrFromInt32(0)
  20693. return 0
  20694. }
  20695. func _FcFontCapabilities(tls *libc.TLS, face TFT_Face) (r uintptr) {
  20696. bp := tls.Alloc(48)
  20697. defer tls.Free(48)
  20698. var complex_ uintptr
  20699. var err TFT_Error
  20700. var gpos_count, gsub_count TFT_UShort
  20701. var indx1, indx2, v1 int32
  20702. var issilgraphitefont TFcBool
  20703. var maxsize TFT_ULong
  20704. var _ /* gpostags at bp+16 */ uintptr
  20705. var _ /* gsubtags at bp+8 */ uintptr
  20706. var _ /* len at bp+0 */ TFT_ULong
  20707. _, _, _, _, _, _, _, _, _ = complex_, err, gpos_count, gsub_count, indx1, indx2, issilgraphitefont, maxsize, v1
  20708. issilgraphitefont = 0
  20709. *(*TFT_ULong)(unsafe.Pointer(bp)) = uint64(0)
  20710. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.UintptrFromInt32(0)
  20711. *(*uintptr)(unsafe.Pointer(bp + 16)) = libc.UintptrFromInt32(0)
  20712. gsub_count = uint16(0)
  20713. gpos_count = uint16(0)
  20714. complex_ = libc.UintptrFromInt32(0)
  20715. indx1 = 0
  20716. indx2 = 0
  20717. 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)
  20718. issilgraphitefont = libc.BoolInt32(err == int32(_FT_Err_Ok))
  20719. gpos_count = uint16(_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))
  20720. gsub_count = uint16(_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))
  20721. if !(issilgraphitefont != 0) && !(gsub_count != 0) && !(gpos_count != 0) {
  20722. goto bail
  20723. }
  20724. if issilgraphitefont != 0 {
  20725. v1 = int32(13)
  20726. } else {
  20727. v1 = 0
  20728. }
  20729. maxsize = (uint64(gpos_count)+uint64(gsub_count))*uint64(libc.Int32FromInt32(1)+libc.Int32FromInt32(m_OTLAYOUT_HEAD_LEN)+libc.Int32FromInt32(m_OTLAYOUT_ID_LEN)) + uint64(v1)
  20730. complex_ = libc.Xmalloc(tls, uint64(1)*maxsize)
  20731. if !(complex_ != 0) {
  20732. goto bail
  20733. }
  20734. *(*TFcChar8)(unsafe.Pointer(complex_)) = uint8('\000')
  20735. if issilgraphitefont != 0 {
  20736. libc.X__builtin___strcpy_chk(tls, complex_, __ccgo_ts+4725, libc.X__builtin_object_size(tls, complex_, int32(1)))
  20737. }
  20738. for indx1 < int32(gsub_count) || indx2 < int32(gpos_count) {
  20739. if indx1 == int32(gsub_count) {
  20740. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  20741. indx2++
  20742. } else {
  20743. if indx2 == int32(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)) {
  20744. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  20745. indx1++
  20746. } else {
  20747. 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)) {
  20748. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(indx1)*8)))
  20749. indx1++
  20750. indx2++
  20751. } else {
  20752. _addtag(tls, complex_, *(*TFT_ULong)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16)) + uintptr(indx2)*8)))
  20753. indx2++
  20754. }
  20755. }
  20756. }
  20757. }
  20758. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  20759. libc.Xprintf(tls, __ccgo_ts+4738, libc.VaList(bp+32, complex_))
  20760. }
  20761. goto bail
  20762. bail:
  20763. ;
  20764. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  20765. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 16)))
  20766. return complex_
  20767. }
  20768. func _FcFontHasHint(tls *libc.TLS, face TFT_Face) (r TFcBool) {
  20769. return _FindTable(tls, face, uint64(uint32(libc.Uint64FromUint8('p')<<libc.Int32FromInt32(24)|libc.Uint64FromUint8('r')<<libc.Int32FromInt32(16)|libc.Uint64FromUint8('e')<<libc.Int32FromInt32(8)|libc.Uint64FromUint8('p'))))
  20770. }
  20771. /*
  20772. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  20773. *
  20774. * @APPLE_LICENSE_HEADER_START@
  20775. *
  20776. * This file contains Original Code and/or Modifications of Original Code
  20777. * as defined in and that are subject to the Apple Public Source License
  20778. * Version 2.0 (the 'License'). You may not use this file except in
  20779. * compliance with the License. Please obtain a copy of the License at
  20780. * http://www.opensource.apple.com/apsl/ and read it before using this
  20781. * file.
  20782. *
  20783. * The Original Code and all software distributed under the License are
  20784. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  20785. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  20786. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  20787. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  20788. * Please see the License for the specific language governing rights and
  20789. * limitations under the License.
  20790. *
  20791. * @APPLE_LICENSE_HEADER_END@
  20792. */
  20793. /*-
  20794. * Copyright (c) 1990, 1993
  20795. * The Regents of the University of California. All rights reserved.
  20796. *
  20797. * Redistribution and use in source and binary forms, with or without
  20798. * modification, are permitted provided that the following conditions
  20799. * are met:
  20800. * 1. Redistributions of source code must retain the above copyright
  20801. * notice, this list of conditions and the following disclaimer.
  20802. * 2. Redistributions in binary form must reproduce the above copyright
  20803. * notice, this list of conditions and the following disclaimer in the
  20804. * documentation and/or other materials provided with the distribution.
  20805. * 3. All advertising materials mentioning features or use of this software
  20806. * must display the following acknowledgement:
  20807. * This product includes software developed by the University of
  20808. * California, Berkeley and its contributors.
  20809. * 4. Neither the name of the University nor the names of its contributors
  20810. * may be used to endorse or promote products derived from this software
  20811. * without specific prior written permission.
  20812. *
  20813. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  20814. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  20815. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  20816. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  20817. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  20818. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  20819. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  20820. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  20821. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  20822. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  20823. * SUCH DAMAGE.
  20824. *
  20825. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  20826. */
  20827. func XFcFontSetCreate(tls *libc.TLS) (r uintptr) {
  20828. var s uintptr
  20829. _ = s
  20830. s = libc.Xmalloc(tls, uint64(16))
  20831. if !(s != 0) {
  20832. return uintptr(0)
  20833. }
  20834. (*TFcFontSet)(unsafe.Pointer(s)).Fnfont = 0
  20835. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = 0
  20836. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = uintptr(0)
  20837. return s
  20838. }
  20839. func XFcFontSetDestroy(tls *libc.TLS, s uintptr) {
  20840. var i int32
  20841. _ = i
  20842. i = 0
  20843. for {
  20844. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  20845. break
  20846. }
  20847. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  20848. goto _1
  20849. _1:
  20850. ;
  20851. i++
  20852. }
  20853. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  20854. libc.Xfree(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  20855. }
  20856. libc.Xfree(tls, s)
  20857. }
  20858. func XFcFontSetAdd(tls *libc.TLS, s uintptr, font uintptr) (r TFcBool) {
  20859. var f, v2 uintptr
  20860. var sfont, v1 int32
  20861. _, _, _, _ = f, sfont, v1, v2
  20862. if (*TFcFontSet)(unsafe.Pointer(s)).Fnfont == (*TFcFontSet)(unsafe.Pointer(s)).Fsfont {
  20863. sfont = (*TFcFontSet)(unsafe.Pointer(s)).Fsfont + int32(32)
  20864. if (*TFcFontSet)(unsafe.Pointer(s)).Ffonts != 0 {
  20865. f = libc.Xrealloc(tls, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, uint64(sfont)*uint64(8))
  20866. } else {
  20867. f = libc.Xmalloc(tls, uint64(sfont)*uint64(8))
  20868. }
  20869. if !(f != 0) {
  20870. return m_FcFalse
  20871. }
  20872. (*TFcFontSet)(unsafe.Pointer(s)).Fsfont = sfont
  20873. (*TFcFontSet)(unsafe.Pointer(s)).Ffonts = f
  20874. }
  20875. v2 = s
  20876. v1 = *(*int32)(unsafe.Pointer(v2))
  20877. *(*int32)(unsafe.Pointer(v2))++
  20878. *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(v1)*8)) = font
  20879. return int32(m_FcTrue)
  20880. }
  20881. func XFcFontSetSerializeAlloc(tls *libc.TLS, serialize uintptr, s uintptr) (r TFcBool) {
  20882. var i int32
  20883. _ = i
  20884. if !(XFcSerializeAlloc(tls, serialize, s, int32(16)) != 0) {
  20885. return m_FcFalse
  20886. }
  20887. if !(XFcSerializeAlloc(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts, int32(uint64((*TFcFontSet)(unsafe.Pointer(s)).Fnfont)*uint64(8))) != 0) {
  20888. return m_FcFalse
  20889. }
  20890. i = 0
  20891. for {
  20892. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  20893. break
  20894. }
  20895. if !(XFcPatternSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8))) != 0) {
  20896. return m_FcFalse
  20897. }
  20898. goto _1
  20899. _1:
  20900. ;
  20901. i++
  20902. }
  20903. return int32(m_FcTrue)
  20904. }
  20905. func XFcFontSetSerialize(tls *libc.TLS, serialize uintptr, s uintptr) (r uintptr) {
  20906. var fonts_serialize, p_serialize, s_serialize uintptr
  20907. var i int32
  20908. _, _, _, _ = fonts_serialize, i, p_serialize, s_serialize
  20909. s_serialize = XFcSerializePtr(tls, serialize, s)
  20910. if !(s_serialize != 0) {
  20911. return libc.UintptrFromInt32(0)
  20912. }
  20913. *(*TFcFontSet)(unsafe.Pointer(s_serialize)) = *(*TFcFontSet)(unsafe.Pointer(s))
  20914. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fsfont = (*TFcFontSet)(unsafe.Pointer(s_serialize)).Fnfont
  20915. fonts_serialize = XFcSerializePtr(tls, serialize, (*TFcFontSet)(unsafe.Pointer(s)).Ffonts)
  20916. if !(fonts_serialize != 0) {
  20917. return libc.UintptrFromInt32(0)
  20918. }
  20919. (*TFcFontSet)(unsafe.Pointer(s_serialize)).Ffonts = uintptr(int64(fonts_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  20920. i = 0
  20921. for {
  20922. if !(i < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  20923. break
  20924. }
  20925. p_serialize = XFcPatternSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(i)*8)))
  20926. if !(p_serialize != 0) {
  20927. return libc.UintptrFromInt32(0)
  20928. }
  20929. *(*uintptr)(unsafe.Pointer(fonts_serialize + uintptr(i)*8)) = uintptr(int64(p_serialize) - int64(s_serialize) | libc.Int64FromInt32(1))
  20930. goto _1
  20931. _1:
  20932. ;
  20933. i++
  20934. }
  20935. return s_serialize
  20936. }
  20937. func XFcFontSetDeserialize(tls *libc.TLS, set uintptr) (r uintptr) {
  20938. var i int32
  20939. var new1, v2, v3 uintptr
  20940. _, _, _, _ = i, new1, v2, v3
  20941. new1 = XFcFontSetCreate(tls)
  20942. if !(new1 != 0) {
  20943. return libc.UintptrFromInt32(0)
  20944. }
  20945. i = 0
  20946. for {
  20947. if !(i < (*TFcFontSet)(unsafe.Pointer(set)).Fnfont) {
  20948. break
  20949. }
  20950. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  20951. if int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(1) != 0 {
  20952. v3 = uintptr(int64(set) + int64((*TFcFontSet)(unsafe.Pointer(set)).Ffonts)&int64(^libc.Int32FromInt32(1)))
  20953. } else {
  20954. v3 = (*TFcFontSet)(unsafe.Pointer(set)).Ffonts
  20955. }
  20956. v2 = uintptr(int64(set) + int64(*(*uintptr)(unsafe.Pointer(v3 + uintptr(i)*8)))&int64(^libc.Int32FromInt32(1)))
  20957. } else {
  20958. v2 = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(set)).Ffonts + uintptr(i)*8))
  20959. }
  20960. if !(XFcFontSetAdd(tls, new1, XFcPatternDuplicate(tls, v2)) != 0) {
  20961. goto bail
  20962. }
  20963. goto _1
  20964. _1:
  20965. ;
  20966. i++
  20967. }
  20968. return new1
  20969. goto bail
  20970. bail:
  20971. ;
  20972. XFcFontSetDestroy(tls, new1)
  20973. return libc.UintptrFromInt32(0)
  20974. }
  20975. type TFcPtrList = struct {
  20976. Fdestroy_func TFcDestroyFunc
  20977. Flist uintptr
  20978. }
  20979. type T_FcPtrList = TFcPtrList
  20980. type TFcPtrListEntry = struct {
  20981. Fnext uintptr
  20982. Fdata uintptr
  20983. }
  20984. type T_FcPtrListEntry = TFcPtrListEntry
  20985. type TFcPtrListIterPrivate = struct {
  20986. Flist uintptr
  20987. Fentry uintptr
  20988. Fprev uintptr
  20989. }
  20990. type T_FcPtrListIterPrivate = TFcPtrListIterPrivate
  20991. func XFcPtrListCreate(tls *libc.TLS, func1 TFcDestroyFunc) (r uintptr) {
  20992. var ret uintptr
  20993. _ = ret
  20994. ret = libc.Xmalloc(tls, uint64(16))
  20995. if ret != 0 {
  20996. (*TFcPtrList)(unsafe.Pointer(ret)).Fdestroy_func = func1
  20997. (*TFcPtrList)(unsafe.Pointer(ret)).Flist = libc.UintptrFromInt32(0)
  20998. }
  20999. return ret
  21000. }
  21001. func XFcPtrListDestroy(tls *libc.TLS, list uintptr) {
  21002. bp := tls.Alloc(32)
  21003. defer tls.Free(32)
  21004. var _ /* iter at bp+0 */ TFcPtrListIter
  21005. XFcPtrListIterInit(tls, list, bp)
  21006. for cond := true; cond; cond = XFcPtrListIterIsValid(tls, list, bp) != 0 {
  21007. if XFcPtrListIterGetValue(tls, list, bp) != 0 {
  21008. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcPtrList)(unsafe.Pointer(list)).Fdestroy_func})))(tls, XFcPtrListIterGetValue(tls, list, bp))
  21009. }
  21010. XFcPtrListIterRemove(tls, list, bp)
  21011. }
  21012. libc.Xfree(tls, list)
  21013. }
  21014. func XFcPtrListIterInit(tls *libc.TLS, list uintptr, iter uintptr) {
  21015. var priv uintptr
  21016. _ = priv
  21017. priv = iter
  21018. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21019. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrList)(unsafe.Pointer(list)).Flist
  21020. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = libc.UintptrFromInt32(0)
  21021. }
  21022. func XFcPtrListIterInitAtLast(tls *libc.TLS, list uintptr, iter uintptr) {
  21023. var e, p, priv uintptr
  21024. _, _, _ = e, p, priv
  21025. priv = iter
  21026. e = list + 8
  21027. p = e
  21028. for {
  21029. if !(*(*uintptr)(unsafe.Pointer(e)) != 0) {
  21030. break
  21031. }
  21032. goto _1
  21033. _1:
  21034. ;
  21035. p = e
  21036. e = *(*uintptr)(unsafe.Pointer(e))
  21037. }
  21038. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist = list
  21039. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = *(*uintptr)(unsafe.Pointer(e))
  21040. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = *(*uintptr)(unsafe.Pointer(p))
  21041. }
  21042. func XFcPtrListIterNext(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21043. var priv uintptr
  21044. _ = priv
  21045. priv = iter
  21046. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21047. return m_FcFalse
  21048. }
  21049. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  21050. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21051. return libc.BoolInt32((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != libc.UintptrFromInt32(0))
  21052. }
  21053. func XFcPtrListIterIsValid(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21054. var priv uintptr
  21055. _ = priv
  21056. priv = iter
  21057. return libc.BoolInt32(list == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist && (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0)
  21058. }
  21059. func XFcPtrListIterGetValue(tls *libc.TLS, list uintptr, iter uintptr) (r uintptr) {
  21060. var priv uintptr
  21061. _ = priv
  21062. priv = iter
  21063. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist || !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21064. return libc.UintptrFromInt32(0)
  21065. }
  21066. return (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fdata
  21067. }
  21068. func XFcPtrListIterAdd(tls *libc.TLS, list uintptr, iter uintptr, data uintptr) (r TFcBool) {
  21069. var e, priv uintptr
  21070. _, _ = e, priv
  21071. priv = iter
  21072. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21073. return m_FcFalse
  21074. }
  21075. e = libc.Xmalloc(tls, uint64(16))
  21076. if !(e != 0) {
  21077. return m_FcFalse
  21078. }
  21079. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fdata = data
  21080. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0 {
  21081. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21082. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext = e
  21083. } else {
  21084. (*TFcPtrListEntry)(unsafe.Pointer(e)).Fnext = libc.UintptrFromInt32(0)
  21085. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  21086. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = e
  21087. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev
  21088. } else {
  21089. (*TFcPtrList)(unsafe.Pointer(list)).Flist = e
  21090. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = e
  21091. return int32(m_FcTrue)
  21092. }
  21093. }
  21094. return XFcPtrListIterNext(tls, list, iter)
  21095. }
  21096. func XFcPtrListIterRemove(tls *libc.TLS, list uintptr, iter uintptr) (r TFcBool) {
  21097. var e, priv uintptr
  21098. _, _ = e, priv
  21099. priv = iter
  21100. if list != (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Flist {
  21101. return m_FcFalse
  21102. }
  21103. if !((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry != 0) {
  21104. return int32(m_FcTrue)
  21105. }
  21106. if (*TFcPtrList)(unsafe.Pointer(list)).Flist == (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry {
  21107. (*TFcPtrList)(unsafe.Pointer(list)).Flist = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrList)(unsafe.Pointer(list)).Flist)).Fnext
  21108. }
  21109. e = (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry
  21110. if (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev != 0 {
  21111. (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fprev)).Fnext = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21112. }
  21113. (*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry = (*TFcPtrListEntry)(unsafe.Pointer((*TFcPtrListIterPrivate)(unsafe.Pointer(priv)).Fentry)).Fnext
  21114. libc.Xfree(tls, e)
  21115. return int32(m_FcTrue)
  21116. }
  21117. const m_FC_HASH_SIZE = 227
  21118. type TFcHashTable = struct {
  21119. Fbuckets [227]uintptr
  21120. Fhash_func TFcHashFunc
  21121. Fcompare_func TFcCompareFunc
  21122. Fkey_copy_func TFcCopyFunc
  21123. Fvalue_copy_func TFcCopyFunc
  21124. Fkey_destroy_func TFcDestroyFunc
  21125. Fvalue_destroy_func TFcDestroyFunc
  21126. }
  21127. type T_FcHashTable = TFcHashTable
  21128. type TFcHashBucket = struct {
  21129. Fnext uintptr
  21130. Fkey uintptr
  21131. Fvalue uintptr
  21132. }
  21133. type T_FcHashBucket = TFcHashBucket
  21134. func XFcHashStrCopy(tls *libc.TLS, src uintptr, dest uintptr) (r TFcBool) {
  21135. *(*uintptr)(unsafe.Pointer(dest)) = libc.Xstrdup(tls, src)
  21136. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(dest)) != libc.UintptrFromInt32(0))
  21137. }
  21138. 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) {
  21139. var ret uintptr
  21140. _ = ret
  21141. ret = libc.Xmalloc(tls, uint64(1864))
  21142. if ret != 0 {
  21143. libc.X__builtin___memset_chk(tls, ret, 0, libc.Uint64FromInt64(8)*libc.Uint64FromInt32(m_FC_HASH_SIZE), uint64(libc.X__builtin_object_size(tls, ret, 0)))
  21144. (*TFcHashTable)(unsafe.Pointer(ret)).Fhash_func = hash_func
  21145. (*TFcHashTable)(unsafe.Pointer(ret)).Fcompare_func = compare_func
  21146. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_copy_func = key_copy_func
  21147. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_copy_func = value_copy_func
  21148. (*TFcHashTable)(unsafe.Pointer(ret)).Fkey_destroy_func = key_destroy_func
  21149. (*TFcHashTable)(unsafe.Pointer(ret)).Fvalue_destroy_func = value_destroy_func
  21150. }
  21151. return ret
  21152. }
  21153. func XFcHashTableDestroy(tls *libc.TLS, table uintptr) {
  21154. var bucket, prev uintptr
  21155. var i int32
  21156. _, _, _ = bucket, i, prev
  21157. i = 0
  21158. for {
  21159. if !(i < int32(m_FC_HASH_SIZE)) {
  21160. break
  21161. }
  21162. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8))
  21163. for bucket != 0 {
  21164. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21165. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21166. }
  21167. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21168. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21169. }
  21170. prev = bucket
  21171. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21172. libc.Xfree(tls, prev)
  21173. }
  21174. *(*uintptr)(unsafe.Pointer(table + uintptr(i)*8)) = libc.UintptrFromInt32(0)
  21175. goto _1
  21176. _1:
  21177. ;
  21178. i++
  21179. }
  21180. libc.Xfree(tls, table)
  21181. }
  21182. func XFcHashTableFind(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21183. var bucket uintptr
  21184. var hash TFcChar32
  21185. _, _ = bucket, hash
  21186. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21187. bucket = *(*uintptr)(unsafe.Pointer(table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8))
  21188. for {
  21189. if !(bucket != 0) {
  21190. break
  21191. }
  21192. 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) {
  21193. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  21194. 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) {
  21195. return m_FcFalse
  21196. }
  21197. } else {
  21198. *(*uintptr)(unsafe.Pointer(value)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue
  21199. }
  21200. return int32(m_FcTrue)
  21201. }
  21202. goto _1
  21203. _1:
  21204. ;
  21205. bucket = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21206. }
  21207. return m_FcFalse
  21208. }
  21209. func _FcHashTableAddInternal(tls *libc.TLS, table uintptr, key uintptr, value uintptr, replace TFcBool) (r TFcBool) {
  21210. var b, bucket, prev, v3 uintptr
  21211. var hash TFcChar32
  21212. var ret TFcBool
  21213. var v4, v5 int32
  21214. _, _, _, _, _, _, _, _ = b, bucket, hash, prev, ret, v3, v4, v5
  21215. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21216. ret = m_FcFalse
  21217. bucket = libc.Xmalloc(tls, uint64(24))
  21218. if !(bucket != 0) {
  21219. return m_FcFalse
  21220. }
  21221. libc.X__builtin___memset_chk(tls, bucket, 0, uint64(24), uint64(libc.X__builtin_object_size(tls, bucket, 0)))
  21222. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_copy_func != 0 {
  21223. 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))
  21224. } else {
  21225. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey = key
  21226. }
  21227. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_copy_func != 0 {
  21228. 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))
  21229. } else {
  21230. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue = value
  21231. }
  21232. if !(ret != 0) {
  21233. goto _1
  21234. }
  21235. goto destroy
  21236. destroy:
  21237. ;
  21238. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21239. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21240. }
  21241. if (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue != 0 && (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21242. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21243. }
  21244. libc.Xfree(tls, bucket)
  21245. return libc.BoolInt32(!(ret != 0))
  21246. _1:
  21247. ;
  21248. goto retry
  21249. retry:
  21250. ;
  21251. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  21252. for {
  21253. v3 = *(*uintptr)(unsafe.Pointer(prev))
  21254. b = v3
  21255. if !(v3 != 0) {
  21256. break
  21257. }
  21258. 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) {
  21259. if replace != 0 {
  21260. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = (*TFcHashBucket)(unsafe.Pointer(b)).Fnext
  21261. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  21262. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  21263. v4 = libc.Int32FromInt32(m_FcTrue)
  21264. } else {
  21265. v4 = m_FcFalse
  21266. }
  21267. if !(v4 != 0) {
  21268. goto retry
  21269. }
  21270. bucket = b
  21271. } else {
  21272. ret = int32(m_FcTrue)
  21273. }
  21274. goto destroy
  21275. }
  21276. goto _2
  21277. _2:
  21278. ;
  21279. prev = b
  21280. }
  21281. (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext = libc.UintptrFromInt32(0)
  21282. if *(*uintptr)(unsafe.Pointer(prev)) == b {
  21283. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  21284. v5 = libc.Int32FromInt32(m_FcTrue)
  21285. } else {
  21286. v5 = m_FcFalse
  21287. }
  21288. if !(v5 != 0) {
  21289. goto retry
  21290. }
  21291. return int32(m_FcTrue)
  21292. }
  21293. func XFcHashTableAdd(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21294. return _FcHashTableAddInternal(tls, table, key, value, m_FcFalse)
  21295. }
  21296. func XFcHashTableReplace(tls *libc.TLS, table uintptr, key uintptr, value uintptr) (r TFcBool) {
  21297. return _FcHashTableAddInternal(tls, table, key, value, int32(m_FcTrue))
  21298. }
  21299. func XFcHashTableRemove(tls *libc.TLS, table uintptr, key uintptr) (r TFcBool) {
  21300. var bucket, prev, v2 uintptr
  21301. var hash TFcChar32
  21302. var ret TFcBool
  21303. var v3 int32
  21304. _, _, _, _, _, _ = bucket, hash, prev, ret, v2, v3
  21305. hash = (*(*func(*libc.TLS, uintptr) TFcChar32)(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fhash_func})))(tls, key)
  21306. ret = m_FcFalse
  21307. goto retry
  21308. retry:
  21309. ;
  21310. prev = table + uintptr(hash%uint32(m_FC_HASH_SIZE))*8
  21311. for {
  21312. v2 = *(*uintptr)(unsafe.Pointer(prev))
  21313. bucket = v2
  21314. if !(v2 != 0) {
  21315. break
  21316. }
  21317. 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) {
  21318. if *(*uintptr)(unsafe.Pointer(prev)) == bucket {
  21319. *(*uintptr)(unsafe.Pointer(prev)) = (*TFcHashBucket)(unsafe.Pointer(bucket)).Fnext
  21320. v3 = libc.Int32FromInt32(m_FcTrue)
  21321. } else {
  21322. v3 = m_FcFalse
  21323. }
  21324. if !(v3 != 0) {
  21325. goto retry
  21326. }
  21327. if (*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func != 0 {
  21328. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fkey_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fkey)
  21329. }
  21330. if (*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func != 0 {
  21331. (*(*func(*libc.TLS, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFcHashTable)(unsafe.Pointer(table)).Fvalue_destroy_func})))(tls, (*TFcHashBucket)(unsafe.Pointer(bucket)).Fvalue)
  21332. }
  21333. libc.Xfree(tls, bucket)
  21334. ret = int32(m_FcTrue)
  21335. break
  21336. }
  21337. goto _1
  21338. _1:
  21339. ;
  21340. prev = bucket
  21341. }
  21342. return ret
  21343. }
  21344. const m_FC_DIR_SEPARATOR_S3 = "/fontconfig"
  21345. /*
  21346. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  21347. *
  21348. * @APPLE_LICENSE_HEADER_START@
  21349. *
  21350. * This file contains Original Code and/or Modifications of Original Code
  21351. * as defined in and that are subject to the Apple Public Source License
  21352. * Version 2.0 (the 'License'). You may not use this file except in
  21353. * compliance with the License. Please obtain a copy of the License at
  21354. * http://www.opensource.apple.com/apsl/ and read it before using this
  21355. * file.
  21356. *
  21357. * The Original Code and all software distributed under the License are
  21358. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  21359. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  21360. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  21361. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  21362. * Please see the License for the specific language governing rights and
  21363. * limitations under the License.
  21364. *
  21365. * @APPLE_LICENSE_HEADER_END@
  21366. */
  21367. /*-
  21368. * Copyright (c) 1990, 1993
  21369. * The Regents of the University of California. All rights reserved.
  21370. *
  21371. * Redistribution and use in source and binary forms, with or without
  21372. * modification, are permitted provided that the following conditions
  21373. * are met:
  21374. * 1. Redistributions of source code must retain the above copyright
  21375. * notice, this list of conditions and the following disclaimer.
  21376. * 2. Redistributions in binary form must reproduce the above copyright
  21377. * notice, this list of conditions and the following disclaimer in the
  21378. * documentation and/or other materials provided with the distribution.
  21379. * 3. All advertising materials mentioning features or use of this software
  21380. * must display the following acknowledgement:
  21381. * This product includes software developed by the University of
  21382. * California, Berkeley and its contributors.
  21383. * 4. Neither the name of the University nor the names of its contributors
  21384. * may be used to endorse or promote products derived from this software
  21385. * without specific prior written permission.
  21386. *
  21387. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  21388. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  21389. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  21390. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  21391. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  21392. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  21393. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  21394. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21395. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  21396. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  21397. * SUCH DAMAGE.
  21398. *
  21399. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  21400. */
  21401. func _FcInitFallbackConfig(tls *libc.TLS, sysroot uintptr) (r uintptr) {
  21402. var config, fallback uintptr
  21403. _, _ = config, fallback
  21404. fallback = __ccgo_ts + 4774
  21405. config = XFcConfigCreate(tls)
  21406. if !(config != 0) {
  21407. goto bail0
  21408. }
  21409. XFcConfigSetSysRoot(tls, config, sysroot)
  21410. if !(XFcConfigParseAndLoadFromMemory(tls, config, fallback, m_FcFalse) != 0) {
  21411. goto bail1
  21412. }
  21413. return config
  21414. goto bail1
  21415. bail1:
  21416. ;
  21417. XFcConfigDestroy(tls, config)
  21418. goto bail0
  21419. bail0:
  21420. ;
  21421. return uintptr(0)
  21422. return r
  21423. }
  21424. func XFcGetVersion(tls *libc.TLS) (r int32) {
  21425. return libc.Int32FromInt32(m_FC_MAJOR)*libc.Int32FromInt32(10000) + libc.Int32FromInt32(m_FC_MINOR)*libc.Int32FromInt32(100) + libc.Int32FromInt32(m_FC_REVISION)
  21426. }
  21427. // C documentation
  21428. //
  21429. // /*
  21430. // * Load the configuration files
  21431. // */
  21432. func XFcInitLoadOwnConfig(tls *libc.TLS, config uintptr) (r uintptr) {
  21433. bp := tls.Alloc(16)
  21434. defer tls.Free(16)
  21435. var env_file, env_path, fallback, fallback1, p, prefix, sysroot, sysroot1 uintptr
  21436. var have_own TFcBool
  21437. var plen Tsize_t
  21438. _, _, _, _, _, _, _, _, _, _ = env_file, env_path, fallback, fallback1, have_own, p, plen, prefix, sysroot, sysroot1
  21439. if !(config != 0) {
  21440. config = XFcConfigCreate(tls)
  21441. if !(config != 0) {
  21442. return libc.UintptrFromInt32(0)
  21443. }
  21444. }
  21445. XFcInitDebug(tls)
  21446. if !(XFcConfigParseAndLoad(tls, config, uintptr(0), int32(m_FcTrue)) != 0) {
  21447. sysroot = XFcConfigGetSysRoot(tls, config)
  21448. fallback = _FcInitFallbackConfig(tls, sysroot)
  21449. XFcConfigDestroy(tls, config)
  21450. return fallback
  21451. }
  21452. XFcConfigParseOnly(tls, config, __ccgo_ts+5341, m_FcFalse)
  21453. if !((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs != 0 && (*TFcStrSet)(unsafe.Pointer((*TFcConfig)(unsafe.Pointer(config)).FcacheDirs)).Fnum == 0) {
  21454. goto _1
  21455. }
  21456. have_own = m_FcFalse
  21457. env_file = libc.Xgetenv(tls, __ccgo_ts+1637)
  21458. env_path = libc.Xgetenv(tls, __ccgo_ts+1487)
  21459. if env_file != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_file))) != 0 || env_path != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(env_path))) != 0 {
  21460. have_own = int32(m_FcTrue)
  21461. }
  21462. if !(have_own != 0) {
  21463. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5374, 0)
  21464. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5446, libc.VaList(bp+8, __ccgo_ts+5498))
  21465. }
  21466. prefix = XFcConfigXdgCacheHome(tls)
  21467. if !(prefix != 0) {
  21468. goto bail
  21469. }
  21470. plen = libc.Xstrlen(tls, prefix)
  21471. p = libc.Xrealloc(tls, prefix, plen+uint64(12))
  21472. if !(p != 0) {
  21473. goto bail
  21474. }
  21475. prefix = p
  21476. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen), __ccgo_ts+5524, uint64(11), uint64(libc.X__builtin_object_size(tls, prefix+uintptr(plen), 0)))
  21477. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(11)))) = uint8(0)
  21478. if !(have_own != 0) {
  21479. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5536, 0)
  21480. }
  21481. if !(!(XFcConfigAddCacheDir(tls, config, __ccgo_ts+5498) != 0) || !(XFcConfigAddCacheDir(tls, config, prefix) != 0)) {
  21482. goto _2
  21483. }
  21484. goto bail
  21485. bail:
  21486. ;
  21487. sysroot1 = XFcConfigGetSysRoot(tls, config)
  21488. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5609, 0)
  21489. if prefix != 0 {
  21490. XFcStrFree(tls, prefix)
  21491. }
  21492. fallback1 = _FcInitFallbackConfig(tls, sysroot1)
  21493. XFcConfigDestroy(tls, config)
  21494. return fallback1
  21495. _2:
  21496. ;
  21497. XFcStrFree(tls, prefix)
  21498. _1:
  21499. ;
  21500. return config
  21501. }
  21502. func XFcInitLoadConfig(tls *libc.TLS) (r uintptr) {
  21503. return XFcInitLoadOwnConfig(tls, libc.UintptrFromInt32(0))
  21504. }
  21505. // C documentation
  21506. //
  21507. // /*
  21508. // * Load the configuration files and scan for available fonts
  21509. // */
  21510. func XFcInitLoadOwnConfigAndFonts(tls *libc.TLS, config uintptr) (r uintptr) {
  21511. config = XFcInitLoadOwnConfig(tls, config)
  21512. if !(config != 0) {
  21513. return uintptr(0)
  21514. }
  21515. if !(XFcConfigBuildFonts(tls, config) != 0) {
  21516. XFcConfigDestroy(tls, config)
  21517. return uintptr(0)
  21518. }
  21519. return config
  21520. }
  21521. func XFcInitLoadConfigAndFonts(tls *libc.TLS) (r uintptr) {
  21522. return XFcInitLoadOwnConfigAndFonts(tls, libc.UintptrFromInt32(0))
  21523. }
  21524. // C documentation
  21525. //
  21526. // /*
  21527. // * Initialize the default library configuration
  21528. // */
  21529. func XFcInit(tls *libc.TLS) (r TFcBool) {
  21530. return XFcConfigInit(tls)
  21531. }
  21532. // C documentation
  21533. //
  21534. // /*
  21535. // * Free all library-allocated data structures.
  21536. // */
  21537. func XFcFini(tls *libc.TLS) {
  21538. XFcConfigFini(tls)
  21539. XFcConfigPathFini(tls)
  21540. XFcDefaultFini(tls)
  21541. XFcObjectFini(tls)
  21542. XFcCacheFini(tls)
  21543. }
  21544. // C documentation
  21545. //
  21546. // /*
  21547. // * Reread the configuration and available font lists
  21548. // */
  21549. func XFcInitReinitialize(tls *libc.TLS) (r TFcBool) {
  21550. var config uintptr
  21551. var ret TFcBool
  21552. _, _ = config, ret
  21553. config = XFcInitLoadConfigAndFonts(tls)
  21554. if !(config != 0) {
  21555. return m_FcFalse
  21556. }
  21557. ret = XFcConfigSetCurrent(tls, config)
  21558. /* FcConfigSetCurrent() increases the refcount.
  21559. * decrease it here to avoid the memory leak.
  21560. */
  21561. XFcConfigDestroy(tls, config)
  21562. return ret
  21563. }
  21564. func XFcInitBringUptoDate(tls *libc.TLS) (r TFcBool) {
  21565. var config uintptr
  21566. var now Ttime_t
  21567. var ret TFcBool
  21568. _, _, _ = config, now, ret
  21569. config = XFcConfigReference(tls, libc.UintptrFromInt32(0))
  21570. ret = int32(m_FcTrue)
  21571. if !(config != 0) {
  21572. return m_FcFalse
  21573. }
  21574. /*
  21575. * rescanInterval == 0 disables automatic up to date
  21576. */
  21577. if (*TFcConfig)(unsafe.Pointer(config)).FrescanInterval == 0 {
  21578. goto bail
  21579. }
  21580. /*
  21581. * Check no more often than rescanInterval seconds
  21582. */
  21583. now = libc.Xtime(tls, uintptr(0))
  21584. if (*TFcConfig)(unsafe.Pointer(config)).FrescanTime+int64((*TFcConfig)(unsafe.Pointer(config)).FrescanInterval)-now > 0 {
  21585. goto bail
  21586. }
  21587. /*
  21588. * If up to date, don't reload configuration
  21589. */
  21590. if XFcConfigUptoDate(tls, uintptr(0)) != 0 {
  21591. goto bail
  21592. }
  21593. ret = XFcInitReinitialize(tls)
  21594. goto bail
  21595. bail:
  21596. ;
  21597. XFcConfigDestroy(tls, config)
  21598. return ret
  21599. }
  21600. const m_FC_DIR_SEPARATOR_S4 = "/"
  21601. const m_NUM_COUNTRY_SET = 10
  21602. const m_NUM_LANG_CHAR_SET = 246
  21603. const m_NUM_LANG_SET_MAP = 8
  21604. type TFcLangSet = struct {
  21605. Fextra uintptr
  21606. Fmap_size TFcChar32
  21607. Fmap1 [8]TFcChar32
  21608. }
  21609. type T_FcLangSet = TFcLangSet
  21610. /* Objects MT-safe for readonly access. */
  21611. type TFcLangCharSet = struct {
  21612. Flang [16]TFcChar8
  21613. Fcharset TFcCharSet
  21614. }
  21615. type TFcLangCharSetRange = struct {
  21616. Fbegin int32
  21617. Fend int32
  21618. }
  21619. var _fcLangData = struct {
  21620. FlangCharSets [246]TFcLangCharSet
  21621. Fleaves [725]TFcCharLeaf
  21622. Fleaf_offsets [780]Tuintptr_t
  21623. Fnumbers [780]TFcChar16
  21624. FlangIndices [246]TFcChar8
  21625. FlangIndicesInv [246]TFcChar8
  21626. }{
  21627. FlangCharSets: [246]TFcLangCharSet{
  21628. 0: {
  21629. Flang: [16]TFcChar8{'a', 'a'},
  21630. Fcharset: TFcCharSet{
  21631. Fref: TFcRef{
  21632. Fcount: -libc.Int32FromInt32(1),
  21633. },
  21634. Fnum: int32(1),
  21635. Fleaves_offset: int64(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))),
  21636. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(0)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(0)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21637. },
  21638. },
  21639. 1: {
  21640. Flang: [16]TFcChar8{'a', 'b'},
  21641. Fcharset: TFcCharSet{
  21642. Fref: TFcRef{
  21643. Fcount: -libc.Int32FromInt32(1),
  21644. },
  21645. Fnum: int32(1),
  21646. Fleaves_offset: int64(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))),
  21647. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(1)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(1)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21648. },
  21649. },
  21650. 2: {
  21651. Flang: [16]TFcChar8{'a', 'f'},
  21652. Fcharset: TFcCharSet{
  21653. Fref: TFcRef{
  21654. Fcount: -libc.Int32FromInt32(1),
  21655. },
  21656. Fnum: int32(2),
  21657. Fleaves_offset: int64(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))),
  21658. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(2)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(2)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21659. },
  21660. },
  21661. 3: {
  21662. Flang: [16]TFcChar8{'a', 'k'},
  21663. Fcharset: TFcCharSet{
  21664. Fref: TFcRef{
  21665. Fcount: -libc.Int32FromInt32(1),
  21666. },
  21667. Fnum: int32(5),
  21668. Fleaves_offset: int64(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))),
  21669. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(3)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21670. },
  21671. },
  21672. 4: {
  21673. Flang: [16]TFcChar8{'a', 'm'},
  21674. Fcharset: TFcCharSet{
  21675. Fref: TFcRef{
  21676. Fcount: -libc.Int32FromInt32(1),
  21677. },
  21678. Fnum: int32(2),
  21679. Fleaves_offset: int64(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))),
  21680. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(9)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(4)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21681. },
  21682. },
  21683. 5: {
  21684. Flang: [16]TFcChar8{'a', 'n'},
  21685. Fcharset: TFcCharSet{
  21686. Fref: TFcRef{
  21687. Fcount: -libc.Int32FromInt32(1),
  21688. },
  21689. Fnum: int32(1),
  21690. Fleaves_offset: int64(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))),
  21691. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(5)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21692. },
  21693. },
  21694. 6: {
  21695. Flang: [16]TFcChar8{'a', 'r'},
  21696. Fcharset: TFcCharSet{
  21697. Fref: TFcRef{
  21698. Fcount: -libc.Int32FromInt32(1),
  21699. },
  21700. Fnum: int32(1),
  21701. Fleaves_offset: int64(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))),
  21702. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(12)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(6)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21703. },
  21704. },
  21705. 7: {
  21706. Flang: [16]TFcChar8{'a', 's'},
  21707. Fcharset: TFcCharSet{
  21708. Fref: TFcRef{
  21709. Fcount: -libc.Int32FromInt32(1),
  21710. },
  21711. Fnum: int32(1),
  21712. Fleaves_offset: int64(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))),
  21713. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(13)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(7)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21714. },
  21715. },
  21716. 8: {
  21717. Flang: [16]TFcChar8{'a', 's', 't'},
  21718. Fcharset: TFcCharSet{
  21719. Fref: TFcRef{
  21720. Fcount: -libc.Int32FromInt32(1),
  21721. },
  21722. Fnum: int32(2),
  21723. Fleaves_offset: int64(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))),
  21724. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(14)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(8)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21725. },
  21726. },
  21727. 9: {
  21728. Flang: [16]TFcChar8{'a', 'v'},
  21729. Fcharset: TFcCharSet{
  21730. Fref: TFcRef{
  21731. Fcount: -libc.Int32FromInt32(1),
  21732. },
  21733. Fnum: int32(1),
  21734. Fleaves_offset: int64(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))),
  21735. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(9)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21736. },
  21737. },
  21738. 10: {
  21739. Flang: [16]TFcChar8{'a', 'y'},
  21740. Fcharset: TFcCharSet{
  21741. Fref: TFcRef{
  21742. Fcount: -libc.Int32FromInt32(1),
  21743. },
  21744. Fnum: int32(1),
  21745. Fleaves_offset: int64(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))),
  21746. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(17)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(10)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21747. },
  21748. },
  21749. 11: {
  21750. Flang: [16]TFcChar8{'a', 'z', '-', 'a', 'z'},
  21751. Fcharset: TFcCharSet{
  21752. Fref: TFcRef{
  21753. Fcount: -libc.Int32FromInt32(1),
  21754. },
  21755. Fnum: int32(3),
  21756. Fleaves_offset: int64(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))),
  21757. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(18)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(11)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21758. },
  21759. },
  21760. 12: {
  21761. Flang: [16]TFcChar8{'a', 'z', '-', 'i', 'r'},
  21762. Fcharset: TFcCharSet{
  21763. Fref: TFcRef{
  21764. Fcount: -libc.Int32FromInt32(1),
  21765. },
  21766. Fnum: int32(1),
  21767. Fleaves_offset: int64(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))),
  21768. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(12)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21769. },
  21770. },
  21771. 13: {
  21772. Flang: [16]TFcChar8{'b', 'a'},
  21773. Fcharset: TFcCharSet{
  21774. Fref: TFcRef{
  21775. Fcount: -libc.Int32FromInt32(1),
  21776. },
  21777. Fnum: int32(1),
  21778. Fleaves_offset: int64(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))),
  21779. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(22)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(13)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21780. },
  21781. },
  21782. 14: {
  21783. Flang: [16]TFcChar8{'b', 'e'},
  21784. Fcharset: TFcCharSet{
  21785. Fref: TFcRef{
  21786. Fcount: -libc.Int32FromInt32(1),
  21787. },
  21788. Fnum: int32(1),
  21789. Fleaves_offset: int64(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))),
  21790. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(14)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21791. },
  21792. },
  21793. 15: {
  21794. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'd', 'z'},
  21795. Fcharset: TFcCharSet{
  21796. Fref: TFcRef{
  21797. Fcount: -libc.Int32FromInt32(1),
  21798. },
  21799. Fnum: int32(4),
  21800. Fleaves_offset: int64(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))),
  21801. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(15)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21802. },
  21803. },
  21804. 16: {
  21805. Flang: [16]TFcChar8{'b', 'e', 'r', '-', 'm', 'a'},
  21806. Fcharset: TFcCharSet{
  21807. Fref: TFcRef{
  21808. Fcount: -libc.Int32FromInt32(1),
  21809. },
  21810. Fnum: int32(1),
  21811. Fleaves_offset: int64(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))),
  21812. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(28)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(16)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21813. },
  21814. },
  21815. 17: {
  21816. Flang: [16]TFcChar8{'b', 'g'},
  21817. Fcharset: TFcCharSet{
  21818. Fref: TFcRef{
  21819. Fcount: -libc.Int32FromInt32(1),
  21820. },
  21821. Fnum: int32(1),
  21822. Fleaves_offset: int64(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))),
  21823. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(29)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(17)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21824. },
  21825. },
  21826. 18: {
  21827. Flang: [16]TFcChar8{'b', 'h'},
  21828. Fcharset: TFcCharSet{
  21829. Fref: TFcRef{
  21830. Fcount: -libc.Int32FromInt32(1),
  21831. },
  21832. Fnum: int32(1),
  21833. Fleaves_offset: int64(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))),
  21834. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(18)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21835. },
  21836. },
  21837. 19: {
  21838. Flang: [16]TFcChar8{'b', 'h', 'o'},
  21839. Fcharset: TFcCharSet{
  21840. Fref: TFcRef{
  21841. Fcount: -libc.Int32FromInt32(1),
  21842. },
  21843. Fnum: int32(1),
  21844. Fleaves_offset: int64(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))),
  21845. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(19)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21846. },
  21847. },
  21848. 20: {
  21849. Flang: [16]TFcChar8{'b', 'i'},
  21850. Fcharset: TFcCharSet{
  21851. Fref: TFcRef{
  21852. Fcount: -libc.Int32FromInt32(1),
  21853. },
  21854. Fnum: int32(1),
  21855. Fleaves_offset: int64(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))),
  21856. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(31)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(20)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21857. },
  21858. },
  21859. 21: {
  21860. Flang: [16]TFcChar8{'b', 'i', 'n'},
  21861. Fcharset: TFcCharSet{
  21862. Fref: TFcRef{
  21863. Fcount: -libc.Int32FromInt32(1),
  21864. },
  21865. Fnum: int32(3),
  21866. Fleaves_offset: int64(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))),
  21867. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(32)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(21)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21868. },
  21869. },
  21870. 22: {
  21871. Flang: [16]TFcChar8{'b', 'm'},
  21872. Fcharset: TFcCharSet{
  21873. Fref: TFcRef{
  21874. Fcount: -libc.Int32FromInt32(1),
  21875. },
  21876. Fnum: int32(3),
  21877. Fleaves_offset: int64(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))),
  21878. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(35)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(22)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21879. },
  21880. },
  21881. 23: {
  21882. Flang: [16]TFcChar8{'b', 'n'},
  21883. Fcharset: TFcCharSet{
  21884. Fref: TFcRef{
  21885. Fcount: -libc.Int32FromInt32(1),
  21886. },
  21887. Fnum: int32(1),
  21888. Fleaves_offset: int64(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))),
  21889. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(38)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(23)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21890. },
  21891. },
  21892. 24: {
  21893. Flang: [16]TFcChar8{'b', 'o'},
  21894. Fcharset: TFcCharSet{
  21895. Fref: TFcRef{
  21896. Fcount: -libc.Int32FromInt32(1),
  21897. },
  21898. Fnum: int32(1),
  21899. Fleaves_offset: int64(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))),
  21900. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(24)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21901. },
  21902. },
  21903. 25: {
  21904. Flang: [16]TFcChar8{'b', 'r'},
  21905. Fcharset: TFcCharSet{
  21906. Fref: TFcRef{
  21907. Fcount: -libc.Int32FromInt32(1),
  21908. },
  21909. Fnum: int32(1),
  21910. Fleaves_offset: int64(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))),
  21911. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(25)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21912. },
  21913. },
  21914. 26: {
  21915. Flang: [16]TFcChar8{'b', 'r', 'x'},
  21916. Fcharset: TFcCharSet{
  21917. Fref: TFcRef{
  21918. Fcount: -libc.Int32FromInt32(1),
  21919. },
  21920. Fnum: int32(1),
  21921. Fleaves_offset: int64(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))),
  21922. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(41)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(26)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21923. },
  21924. },
  21925. 27: {
  21926. Flang: [16]TFcChar8{'b', 's'},
  21927. Fcharset: TFcCharSet{
  21928. Fref: TFcRef{
  21929. Fcount: -libc.Int32FromInt32(1),
  21930. },
  21931. Fnum: int32(2),
  21932. Fleaves_offset: int64(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))),
  21933. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(27)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21934. },
  21935. },
  21936. 28: {
  21937. Flang: [16]TFcChar8{'b', 'u', 'a'},
  21938. Fcharset: TFcCharSet{
  21939. Fref: TFcRef{
  21940. Fcount: -libc.Int32FromInt32(1),
  21941. },
  21942. Fnum: int32(1),
  21943. Fleaves_offset: int64(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))),
  21944. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(44)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(28)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21945. },
  21946. },
  21947. 29: {
  21948. Flang: [16]TFcChar8{'b', 'y', 'n'},
  21949. Fcharset: TFcCharSet{
  21950. Fref: TFcRef{
  21951. Fcount: -libc.Int32FromInt32(1),
  21952. },
  21953. Fnum: int32(2),
  21954. Fleaves_offset: int64(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))),
  21955. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(29)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21956. },
  21957. },
  21958. 30: {
  21959. Flang: [16]TFcChar8{'c', 'a'},
  21960. Fcharset: TFcCharSet{
  21961. Fref: TFcRef{
  21962. Fcount: -libc.Int32FromInt32(1),
  21963. },
  21964. Fnum: int32(2),
  21965. Fleaves_offset: int64(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))),
  21966. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(47)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(30)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21967. },
  21968. },
  21969. 31: {
  21970. Flang: [16]TFcChar8{'c', 'e'},
  21971. Fcharset: TFcCharSet{
  21972. Fref: TFcRef{
  21973. Fcount: -libc.Int32FromInt32(1),
  21974. },
  21975. Fnum: int32(1),
  21976. Fleaves_offset: int64(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))),
  21977. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(31)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21978. },
  21979. },
  21980. 32: {
  21981. Flang: [16]TFcChar8{'c', 'h'},
  21982. Fcharset: TFcCharSet{
  21983. Fref: TFcRef{
  21984. Fcount: -libc.Int32FromInt32(1),
  21985. },
  21986. Fnum: int32(1),
  21987. Fleaves_offset: int64(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))),
  21988. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(49)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(32)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  21989. },
  21990. },
  21991. 33: {
  21992. Flang: [16]TFcChar8{'c', 'h', 'm'},
  21993. Fcharset: TFcCharSet{
  21994. Fref: TFcRef{
  21995. Fcount: -libc.Int32FromInt32(1),
  21996. },
  21997. Fnum: int32(1),
  21998. Fleaves_offset: int64(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))),
  21999. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(50)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(33)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22000. },
  22001. },
  22002. 34: {
  22003. Flang: [16]TFcChar8{'c', 'h', 'r'},
  22004. Fcharset: TFcCharSet{
  22005. Fref: TFcRef{
  22006. Fcount: -libc.Int32FromInt32(1),
  22007. },
  22008. Fnum: int32(1),
  22009. Fleaves_offset: int64(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))),
  22010. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(51)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(34)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22011. },
  22012. },
  22013. 35: {
  22014. Flang: [16]TFcChar8{'c', 'o'},
  22015. Fcharset: TFcCharSet{
  22016. Fref: TFcRef{
  22017. Fcount: -libc.Int32FromInt32(1),
  22018. },
  22019. Fnum: int32(2),
  22020. Fleaves_offset: int64(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))),
  22021. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(35)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22022. },
  22023. },
  22024. 36: {
  22025. Flang: [16]TFcChar8{'c', 'r', 'h'},
  22026. Fcharset: TFcCharSet{
  22027. Fref: TFcRef{
  22028. Fcount: -libc.Int32FromInt32(1),
  22029. },
  22030. Fnum: int32(2),
  22031. Fleaves_offset: int64(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))),
  22032. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(54)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(36)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22033. },
  22034. },
  22035. 37: {
  22036. Flang: [16]TFcChar8{'c', 's'},
  22037. Fcharset: TFcCharSet{
  22038. Fref: TFcRef{
  22039. Fcount: -libc.Int32FromInt32(1),
  22040. },
  22041. Fnum: int32(2),
  22042. Fleaves_offset: int64(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))),
  22043. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(56)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(37)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22044. },
  22045. },
  22046. 38: {
  22047. Flang: [16]TFcChar8{'c', 's', 'b'},
  22048. Fcharset: TFcCharSet{
  22049. Fref: TFcRef{
  22050. Fcount: -libc.Int32FromInt32(1),
  22051. },
  22052. Fnum: int32(2),
  22053. Fleaves_offset: int64(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))),
  22054. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(38)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22055. },
  22056. },
  22057. 39: {
  22058. Flang: [16]TFcChar8{'c', 'u'},
  22059. Fcharset: TFcCharSet{
  22060. Fref: TFcRef{
  22061. Fcount: -libc.Int32FromInt32(1),
  22062. },
  22063. Fnum: int32(1),
  22064. Fleaves_offset: int64(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))),
  22065. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(60)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(39)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22066. },
  22067. },
  22068. 40: {
  22069. Flang: [16]TFcChar8{'c', 'v'},
  22070. Fcharset: TFcCharSet{
  22071. Fref: TFcRef{
  22072. Fcount: -libc.Int32FromInt32(1),
  22073. },
  22074. Fnum: int32(2),
  22075. Fleaves_offset: int64(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))),
  22076. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(61)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(40)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22077. },
  22078. },
  22079. 41: {
  22080. Flang: [16]TFcChar8{'c', 'y'},
  22081. Fcharset: TFcCharSet{
  22082. Fref: TFcRef{
  22083. Fcount: -libc.Int32FromInt32(1),
  22084. },
  22085. Fnum: int32(3),
  22086. Fleaves_offset: int64(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))),
  22087. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(63)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(41)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22088. },
  22089. },
  22090. 42: {
  22091. Flang: [16]TFcChar8{'d', 'a'},
  22092. Fcharset: TFcCharSet{
  22093. Fref: TFcRef{
  22094. Fcount: -libc.Int32FromInt32(1),
  22095. },
  22096. Fnum: int32(1),
  22097. Fleaves_offset: int64(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))),
  22098. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(66)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(42)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22099. },
  22100. },
  22101. 43: {
  22102. Flang: [16]TFcChar8{'d', 'e'},
  22103. Fcharset: TFcCharSet{
  22104. Fref: TFcRef{
  22105. Fcount: -libc.Int32FromInt32(1),
  22106. },
  22107. Fnum: int32(1),
  22108. Fleaves_offset: int64(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))),
  22109. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(43)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22110. },
  22111. },
  22112. 44: {
  22113. Flang: [16]TFcChar8{'d', 'o', 'i'},
  22114. Fcharset: TFcCharSet{
  22115. Fref: TFcRef{
  22116. Fcount: -libc.Int32FromInt32(1),
  22117. },
  22118. Fnum: int32(1),
  22119. Fleaves_offset: int64(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))),
  22120. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(68)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(44)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22121. },
  22122. },
  22123. 45: {
  22124. Flang: [16]TFcChar8{'d', 'v'},
  22125. Fcharset: TFcCharSet{
  22126. Fref: TFcRef{
  22127. Fcount: -libc.Int32FromInt32(1),
  22128. },
  22129. Fnum: int32(1),
  22130. Fleaves_offset: int64(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))),
  22131. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(69)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(45)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22132. },
  22133. },
  22134. 46: {
  22135. Flang: [16]TFcChar8{'d', 'z'},
  22136. Fcharset: TFcCharSet{
  22137. Fref: TFcRef{
  22138. Fcount: -libc.Int32FromInt32(1),
  22139. },
  22140. Fnum: int32(1),
  22141. Fleaves_offset: int64(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))),
  22142. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(39)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(46)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22143. },
  22144. },
  22145. 47: {
  22146. Flang: [16]TFcChar8{'e', 'e'},
  22147. Fcharset: TFcCharSet{
  22148. Fref: TFcRef{
  22149. Fcount: -libc.Int32FromInt32(1),
  22150. },
  22151. Fnum: int32(4),
  22152. Fleaves_offset: int64(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))),
  22153. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(70)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(47)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22154. },
  22155. },
  22156. 48: {
  22157. Flang: [16]TFcChar8{'e', 'l'},
  22158. Fcharset: TFcCharSet{
  22159. Fref: TFcRef{
  22160. Fcount: -libc.Int32FromInt32(1),
  22161. },
  22162. Fnum: int32(1),
  22163. Fleaves_offset: int64(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))),
  22164. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(48)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22165. },
  22166. },
  22167. 49: {
  22168. Flang: [16]TFcChar8{'e', 'n'},
  22169. Fcharset: TFcCharSet{
  22170. Fref: TFcRef{
  22171. Fcount: -libc.Int32FromInt32(1),
  22172. },
  22173. Fnum: int32(1),
  22174. Fleaves_offset: int64(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))),
  22175. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(75)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(49)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22176. },
  22177. },
  22178. 50: {
  22179. Flang: [16]TFcChar8{'e', 'o'},
  22180. Fcharset: TFcCharSet{
  22181. Fref: TFcRef{
  22182. Fcount: -libc.Int32FromInt32(1),
  22183. },
  22184. Fnum: int32(2),
  22185. Fleaves_offset: int64(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))),
  22186. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(76)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(50)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22187. },
  22188. },
  22189. 51: {
  22190. Flang: [16]TFcChar8{'e', 's'},
  22191. Fcharset: TFcCharSet{
  22192. Fref: TFcRef{
  22193. Fcount: -libc.Int32FromInt32(1),
  22194. },
  22195. Fnum: int32(1),
  22196. Fleaves_offset: int64(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))),
  22197. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(51)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22198. },
  22199. },
  22200. 52: {
  22201. Flang: [16]TFcChar8{'e', 't'},
  22202. Fcharset: TFcCharSet{
  22203. Fref: TFcRef{
  22204. Fcount: -libc.Int32FromInt32(1),
  22205. },
  22206. Fnum: int32(2),
  22207. Fleaves_offset: int64(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))),
  22208. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(78)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(52)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22209. },
  22210. },
  22211. 53: {
  22212. Flang: [16]TFcChar8{'e', 'u'},
  22213. Fcharset: TFcCharSet{
  22214. Fref: TFcRef{
  22215. Fcount: -libc.Int32FromInt32(1),
  22216. },
  22217. Fnum: int32(1),
  22218. Fleaves_offset: int64(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))),
  22219. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(80)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(53)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22220. },
  22221. },
  22222. 54: {
  22223. Flang: [16]TFcChar8{'f', 'a'},
  22224. Fcharset: TFcCharSet{
  22225. Fref: TFcRef{
  22226. Fcount: -libc.Int32FromInt32(1),
  22227. },
  22228. Fnum: int32(1),
  22229. Fleaves_offset: int64(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))),
  22230. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(21)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(54)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22231. },
  22232. },
  22233. 55: {
  22234. Flang: [16]TFcChar8{'f', 'a', 't'},
  22235. Fcharset: TFcCharSet{
  22236. Fref: TFcRef{
  22237. Fcount: -libc.Int32FromInt32(1),
  22238. },
  22239. Fnum: int32(5),
  22240. Fleaves_offset: int64(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))),
  22241. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(55)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22242. },
  22243. },
  22244. 56: {
  22245. Flang: [16]TFcChar8{'f', 'f'},
  22246. Fcharset: TFcCharSet{
  22247. Fref: TFcRef{
  22248. Fcount: -libc.Int32FromInt32(1),
  22249. },
  22250. Fnum: int32(3),
  22251. Fleaves_offset: int64(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))),
  22252. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(81)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(56)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22253. },
  22254. },
  22255. 57: {
  22256. Flang: [16]TFcChar8{'f', 'i'},
  22257. Fcharset: TFcCharSet{
  22258. Fref: TFcRef{
  22259. Fcount: -libc.Int32FromInt32(1),
  22260. },
  22261. Fnum: int32(2),
  22262. Fleaves_offset: int64(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))),
  22263. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(84)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(57)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22264. },
  22265. },
  22266. 58: {
  22267. Flang: [16]TFcChar8{'f', 'i', 'l'},
  22268. Fcharset: TFcCharSet{
  22269. Fref: TFcRef{
  22270. Fcount: -libc.Int32FromInt32(1),
  22271. },
  22272. Fnum: int32(1),
  22273. Fleaves_offset: int64(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))),
  22274. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(58)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22275. },
  22276. },
  22277. 59: {
  22278. Flang: [16]TFcChar8{'f', 'j'},
  22279. Fcharset: TFcCharSet{
  22280. Fref: TFcRef{
  22281. Fcount: -libc.Int32FromInt32(1),
  22282. },
  22283. Fnum: int32(1),
  22284. Fleaves_offset: int64(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))),
  22285. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(59)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22286. },
  22287. },
  22288. 60: {
  22289. Flang: [16]TFcChar8{'f', 'o'},
  22290. Fcharset: TFcCharSet{
  22291. Fref: TFcRef{
  22292. Fcount: -libc.Int32FromInt32(1),
  22293. },
  22294. Fnum: int32(1),
  22295. Fleaves_offset: int64(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))),
  22296. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(88)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(60)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22297. },
  22298. },
  22299. 61: {
  22300. Flang: [16]TFcChar8{'f', 'r'},
  22301. Fcharset: TFcCharSet{
  22302. Fref: TFcRef{
  22303. Fcount: -libc.Int32FromInt32(1),
  22304. },
  22305. Fnum: int32(2),
  22306. Fleaves_offset: int64(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))),
  22307. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(61)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22308. },
  22309. },
  22310. 62: {
  22311. Flang: [16]TFcChar8{'f', 'u', 'r'},
  22312. Fcharset: TFcCharSet{
  22313. Fref: TFcRef{
  22314. Fcount: -libc.Int32FromInt32(1),
  22315. },
  22316. Fnum: int32(1),
  22317. Fleaves_offset: int64(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))),
  22318. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(89)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(62)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22319. },
  22320. },
  22321. 63: {
  22322. Flang: [16]TFcChar8{'f', 'y'},
  22323. Fcharset: TFcCharSet{
  22324. Fref: TFcRef{
  22325. Fcount: -libc.Int32FromInt32(1),
  22326. },
  22327. Fnum: int32(1),
  22328. Fleaves_offset: int64(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))),
  22329. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(90)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(63)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22330. },
  22331. },
  22332. 64: {
  22333. Flang: [16]TFcChar8{'g', 'a'},
  22334. Fcharset: TFcCharSet{
  22335. Fref: TFcRef{
  22336. Fcount: -libc.Int32FromInt32(1),
  22337. },
  22338. Fnum: int32(3),
  22339. Fleaves_offset: int64(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))),
  22340. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(91)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(64)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22341. },
  22342. },
  22343. 65: {
  22344. Flang: [16]TFcChar8{'g', 'd'},
  22345. Fcharset: TFcCharSet{
  22346. Fref: TFcRef{
  22347. Fcount: -libc.Int32FromInt32(1),
  22348. },
  22349. Fnum: int32(1),
  22350. Fleaves_offset: int64(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))),
  22351. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(94)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(65)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22352. },
  22353. },
  22354. 66: {
  22355. Flang: [16]TFcChar8{'g', 'e', 'z'},
  22356. Fcharset: TFcCharSet{
  22357. Fref: TFcRef{
  22358. Fcount: -libc.Int32FromInt32(1),
  22359. },
  22360. Fnum: int32(2),
  22361. Fleaves_offset: int64(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))),
  22362. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(95)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(66)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22363. },
  22364. },
  22365. 67: {
  22366. Flang: [16]TFcChar8{'g', 'l'},
  22367. Fcharset: TFcCharSet{
  22368. Fref: TFcRef{
  22369. Fcount: -libc.Int32FromInt32(1),
  22370. },
  22371. Fnum: int32(1),
  22372. Fleaves_offset: int64(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))),
  22373. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(11)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(67)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22374. },
  22375. },
  22376. 68: {
  22377. Flang: [16]TFcChar8{'g', 'n'},
  22378. Fcharset: TFcCharSet{
  22379. Fref: TFcRef{
  22380. Fcount: -libc.Int32FromInt32(1),
  22381. },
  22382. Fnum: int32(3),
  22383. Fleaves_offset: int64(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))),
  22384. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(68)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22385. },
  22386. },
  22387. 69: {
  22388. Flang: [16]TFcChar8{'g', 'u'},
  22389. Fcharset: TFcCharSet{
  22390. Fref: TFcRef{
  22391. Fcount: -libc.Int32FromInt32(1),
  22392. },
  22393. Fnum: int32(1),
  22394. Fleaves_offset: int64(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))),
  22395. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(100)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(69)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22396. },
  22397. },
  22398. 70: {
  22399. Flang: [16]TFcChar8{'g', 'v'},
  22400. Fcharset: TFcCharSet{
  22401. Fref: TFcRef{
  22402. Fcount: -libc.Int32FromInt32(1),
  22403. },
  22404. Fnum: int32(1),
  22405. Fleaves_offset: int64(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))),
  22406. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(101)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(70)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22407. },
  22408. },
  22409. 71: {
  22410. Flang: [16]TFcChar8{'h', 'a'},
  22411. Fcharset: TFcCharSet{
  22412. Fref: TFcRef{
  22413. Fcount: -libc.Int32FromInt32(1),
  22414. },
  22415. Fnum: int32(3),
  22416. Fleaves_offset: int64(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))),
  22417. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(102)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(71)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22418. },
  22419. },
  22420. 72: {
  22421. Flang: [16]TFcChar8{'h', 'a', 'w'},
  22422. Fcharset: TFcCharSet{
  22423. Fref: TFcRef{
  22424. Fcount: -libc.Int32FromInt32(1),
  22425. },
  22426. Fnum: int32(3),
  22427. Fleaves_offset: int64(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))),
  22428. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(105)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(72)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22429. },
  22430. },
  22431. 73: {
  22432. Flang: [16]TFcChar8{'h', 'e'},
  22433. Fcharset: TFcCharSet{
  22434. Fref: TFcRef{
  22435. Fcount: -libc.Int32FromInt32(1),
  22436. },
  22437. Fnum: int32(1),
  22438. Fleaves_offset: int64(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))),
  22439. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(73)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22440. },
  22441. },
  22442. 74: {
  22443. Flang: [16]TFcChar8{'h', 'i'},
  22444. Fcharset: TFcCharSet{
  22445. Fref: TFcRef{
  22446. Fcount: -libc.Int32FromInt32(1),
  22447. },
  22448. Fnum: int32(1),
  22449. Fleaves_offset: int64(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))),
  22450. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(74)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22451. },
  22452. },
  22453. 75: {
  22454. Flang: [16]TFcChar8{'h', 'n', 'e'},
  22455. Fcharset: TFcCharSet{
  22456. Fref: TFcRef{
  22457. Fcount: -libc.Int32FromInt32(1),
  22458. },
  22459. Fnum: int32(1),
  22460. Fleaves_offset: int64(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))),
  22461. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(75)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22462. },
  22463. },
  22464. 76: {
  22465. Flang: [16]TFcChar8{'h', 'o'},
  22466. Fcharset: TFcCharSet{
  22467. Fref: TFcRef{
  22468. Fcount: -libc.Int32FromInt32(1),
  22469. },
  22470. Fnum: int32(1),
  22471. Fleaves_offset: int64(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))),
  22472. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(76)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22473. },
  22474. },
  22475. 77: {
  22476. Flang: [16]TFcChar8{'h', 'r'},
  22477. Fcharset: TFcCharSet{
  22478. Fref: TFcRef{
  22479. Fcount: -libc.Int32FromInt32(1),
  22480. },
  22481. Fnum: int32(2),
  22482. Fleaves_offset: int64(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))),
  22483. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(77)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22484. },
  22485. },
  22486. 78: {
  22487. Flang: [16]TFcChar8{'h', 's', 'b'},
  22488. Fcharset: TFcCharSet{
  22489. Fref: TFcRef{
  22490. Fcount: -libc.Int32FromInt32(1),
  22491. },
  22492. Fnum: int32(2),
  22493. Fleaves_offset: int64(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))),
  22494. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(78)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22495. },
  22496. },
  22497. 79: {
  22498. Flang: [16]TFcChar8{'h', 't'},
  22499. Fcharset: TFcCharSet{
  22500. Fref: TFcRef{
  22501. Fcount: -libc.Int32FromInt32(1),
  22502. },
  22503. Fnum: int32(1),
  22504. Fleaves_offset: int64(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))),
  22505. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(79)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22506. },
  22507. },
  22508. 80: {
  22509. Flang: [16]TFcChar8{'h', 'u'},
  22510. Fcharset: TFcCharSet{
  22511. Fref: TFcRef{
  22512. Fcount: -libc.Int32FromInt32(1),
  22513. },
  22514. Fnum: int32(2),
  22515. Fleaves_offset: int64(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))),
  22516. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(80)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22517. },
  22518. },
  22519. 81: {
  22520. Flang: [16]TFcChar8{'h', 'y'},
  22521. Fcharset: TFcCharSet{
  22522. Fref: TFcRef{
  22523. Fcount: -libc.Int32FromInt32(1),
  22524. },
  22525. Fnum: int32(1),
  22526. Fleaves_offset: int64(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))),
  22527. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(81)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22528. },
  22529. },
  22530. 82: {
  22531. Flang: [16]TFcChar8{'h', 'z'},
  22532. Fcharset: TFcCharSet{
  22533. Fref: TFcRef{
  22534. Fcount: -libc.Int32FromInt32(1),
  22535. },
  22536. Fnum: int32(3),
  22537. Fleaves_offset: int64(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))),
  22538. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(82)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22539. },
  22540. },
  22541. 83: {
  22542. Flang: [16]TFcChar8{'i', 'a'},
  22543. Fcharset: TFcCharSet{
  22544. Fref: TFcRef{
  22545. Fcount: -libc.Int32FromInt32(1),
  22546. },
  22547. Fnum: int32(1),
  22548. Fleaves_offset: int64(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))),
  22549. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(83)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22550. },
  22551. },
  22552. 84: {
  22553. Flang: [16]TFcChar8{'i', 'd'},
  22554. Fcharset: TFcCharSet{
  22555. Fref: TFcRef{
  22556. Fcount: -libc.Int32FromInt32(1),
  22557. },
  22558. Fnum: int32(1),
  22559. Fleaves_offset: int64(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))),
  22560. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(84)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22561. },
  22562. },
  22563. 85: {
  22564. Flang: [16]TFcChar8{'i', 'e'},
  22565. Fcharset: TFcCharSet{
  22566. Fref: TFcRef{
  22567. Fcount: -libc.Int32FromInt32(1),
  22568. },
  22569. Fnum: int32(1),
  22570. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22571. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(85)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22572. },
  22573. },
  22574. 86: {
  22575. Flang: [16]TFcChar8{'i', 'g'},
  22576. Fcharset: TFcCharSet{
  22577. Fref: TFcRef{
  22578. Fcount: -libc.Int32FromInt32(1),
  22579. },
  22580. Fnum: int32(2),
  22581. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22582. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(86)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22583. },
  22584. },
  22585. 87: {
  22586. Flang: [16]TFcChar8{'i', 'i'},
  22587. Fcharset: TFcCharSet{
  22588. Fref: TFcRef{
  22589. Fcount: -libc.Int32FromInt32(1),
  22590. },
  22591. Fnum: int32(5),
  22592. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22593. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(87)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22594. },
  22595. },
  22596. 88: {
  22597. Flang: [16]TFcChar8{'i', 'k'},
  22598. Fcharset: TFcCharSet{
  22599. Fref: TFcRef{
  22600. Fcount: -libc.Int32FromInt32(1),
  22601. },
  22602. Fnum: int32(1),
  22603. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22604. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(88)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22605. },
  22606. },
  22607. 89: {
  22608. Flang: [16]TFcChar8{'i', 'o'},
  22609. Fcharset: TFcCharSet{
  22610. Fref: TFcRef{
  22611. Fcount: -libc.Int32FromInt32(1),
  22612. },
  22613. Fnum: int32(1),
  22614. Fleaves_offset: int64(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))),
  22615. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(89)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22616. },
  22617. },
  22618. 90: {
  22619. Flang: [16]TFcChar8{'i', 's'},
  22620. Fcharset: TFcCharSet{
  22621. Fref: TFcRef{
  22622. Fcount: -libc.Int32FromInt32(1),
  22623. },
  22624. Fnum: int32(1),
  22625. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22626. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(90)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22627. },
  22628. },
  22629. 91: {
  22630. Flang: [16]TFcChar8{'i', 't'},
  22631. Fcharset: TFcCharSet{
  22632. Fref: TFcRef{
  22633. Fcount: -libc.Int32FromInt32(1),
  22634. },
  22635. Fnum: int32(1),
  22636. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22637. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(91)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22638. },
  22639. },
  22640. 92: {
  22641. Flang: [16]TFcChar8{'i', 'u'},
  22642. Fcharset: TFcCharSet{
  22643. Fref: TFcRef{
  22644. Fcount: -libc.Int32FromInt32(1),
  22645. },
  22646. Fnum: int32(3),
  22647. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22648. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(92)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22649. },
  22650. },
  22651. 93: {
  22652. Flang: [16]TFcChar8{'j', 'a'},
  22653. Fcharset: TFcCharSet{
  22654. Fref: TFcRef{
  22655. Fcount: -libc.Int32FromInt32(1),
  22656. },
  22657. Fnum: int32(83),
  22658. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22659. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(93)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22660. },
  22661. },
  22662. 94: {
  22663. Flang: [16]TFcChar8{'j', 'v'},
  22664. Fcharset: TFcCharSet{
  22665. Fref: TFcRef{
  22666. Fcount: -libc.Int32FromInt32(1),
  22667. },
  22668. Fnum: int32(1),
  22669. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22670. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(94)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22671. },
  22672. },
  22673. 95: {
  22674. Flang: [16]TFcChar8{'k', 'a'},
  22675. Fcharset: TFcCharSet{
  22676. Fref: TFcRef{
  22677. Fcount: -libc.Int32FromInt32(1),
  22678. },
  22679. Fnum: int32(1),
  22680. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22681. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(95)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22682. },
  22683. },
  22684. 96: {
  22685. Flang: [16]TFcChar8{'k', 'a', 'a'},
  22686. Fcharset: TFcCharSet{
  22687. Fref: TFcRef{
  22688. Fcount: -libc.Int32FromInt32(1),
  22689. },
  22690. Fnum: int32(1),
  22691. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22692. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(96)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22693. },
  22694. },
  22695. 97: {
  22696. Flang: [16]TFcChar8{'k', 'a', 'b'},
  22697. Fcharset: TFcCharSet{
  22698. Fref: TFcRef{
  22699. Fcount: -libc.Int32FromInt32(1),
  22700. },
  22701. Fnum: int32(4),
  22702. Fleaves_offset: int64(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))),
  22703. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(24)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(97)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22704. },
  22705. },
  22706. 98: {
  22707. Flang: [16]TFcChar8{'k', 'i'},
  22708. Fcharset: TFcCharSet{
  22709. Fref: TFcRef{
  22710. Fcount: -libc.Int32FromInt32(1),
  22711. },
  22712. Fnum: int32(2),
  22713. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22714. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(98)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22715. },
  22716. },
  22717. 99: {
  22718. Flang: [16]TFcChar8{'k', 'j'},
  22719. Fcharset: TFcCharSet{
  22720. Fref: TFcRef{
  22721. Fcount: -libc.Int32FromInt32(1),
  22722. },
  22723. Fnum: int32(1),
  22724. Fleaves_offset: int64(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))),
  22725. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(99)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22726. },
  22727. },
  22728. 100: {
  22729. Flang: [16]TFcChar8{'k', 'k'},
  22730. Fcharset: TFcCharSet{
  22731. Fref: TFcRef{
  22732. Fcount: -libc.Int32FromInt32(1),
  22733. },
  22734. Fnum: int32(1),
  22735. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22736. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(100)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22737. },
  22738. },
  22739. 101: {
  22740. Flang: [16]TFcChar8{'k', 'l'},
  22741. Fcharset: TFcCharSet{
  22742. Fref: TFcRef{
  22743. Fcount: -libc.Int32FromInt32(1),
  22744. },
  22745. Fnum: int32(2),
  22746. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22747. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(101)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22748. },
  22749. },
  22750. 102: {
  22751. Flang: [16]TFcChar8{'k', 'm'},
  22752. Fcharset: TFcCharSet{
  22753. Fref: TFcRef{
  22754. Fcount: -libc.Int32FromInt32(1),
  22755. },
  22756. Fnum: int32(1),
  22757. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22758. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(102)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22759. },
  22760. },
  22761. 103: {
  22762. Flang: [16]TFcChar8{'k', 'n'},
  22763. Fcharset: TFcCharSet{
  22764. Fref: TFcRef{
  22765. Fcount: -libc.Int32FromInt32(1),
  22766. },
  22767. Fnum: int32(1),
  22768. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22769. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(103)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22770. },
  22771. },
  22772. 104: {
  22773. Flang: [16]TFcChar8{'k', 'o'},
  22774. Fcharset: TFcCharSet{
  22775. Fref: TFcRef{
  22776. Fcount: -libc.Int32FromInt32(1),
  22777. },
  22778. Fnum: int32(45),
  22779. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22780. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(104)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22781. },
  22782. },
  22783. 105: {
  22784. Flang: [16]TFcChar8{'k', 'o', 'k'},
  22785. Fcharset: TFcCharSet{
  22786. Fref: TFcRef{
  22787. Fcount: -libc.Int32FromInt32(1),
  22788. },
  22789. Fnum: int32(1),
  22790. Fleaves_offset: int64(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))),
  22791. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(105)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22792. },
  22793. },
  22794. 106: {
  22795. Flang: [16]TFcChar8{'k', 'r'},
  22796. Fcharset: TFcCharSet{
  22797. Fref: TFcRef{
  22798. Fcount: -libc.Int32FromInt32(1),
  22799. },
  22800. Fnum: int32(3),
  22801. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22802. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(106)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22803. },
  22804. },
  22805. 107: {
  22806. Flang: [16]TFcChar8{'k', 's'},
  22807. Fcharset: TFcCharSet{
  22808. Fref: TFcRef{
  22809. Fcount: -libc.Int32FromInt32(1),
  22810. },
  22811. Fnum: int32(1),
  22812. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22813. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(107)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22814. },
  22815. },
  22816. 108: {
  22817. Flang: [16]TFcChar8{'k', 'u', '-', 'a', 'm'},
  22818. Fcharset: TFcCharSet{
  22819. Fref: TFcRef{
  22820. Fcount: -libc.Int32FromInt32(1),
  22821. },
  22822. Fnum: int32(2),
  22823. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22824. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(108)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22825. },
  22826. },
  22827. 109: {
  22828. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'q'},
  22829. Fcharset: TFcCharSet{
  22830. Fref: TFcRef{
  22831. Fcount: -libc.Int32FromInt32(1),
  22832. },
  22833. Fnum: int32(1),
  22834. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22835. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(109)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22836. },
  22837. },
  22838. 110: {
  22839. Flang: [16]TFcChar8{'k', 'u', '-', 'i', 'r'},
  22840. Fcharset: TFcCharSet{
  22841. Fref: TFcRef{
  22842. Fcount: -libc.Int32FromInt32(1),
  22843. },
  22844. Fnum: int32(1),
  22845. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22846. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(110)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22847. },
  22848. },
  22849. 111: {
  22850. Flang: [16]TFcChar8{'k', 'u', '-', 't', 'r'},
  22851. Fcharset: TFcCharSet{
  22852. Fref: TFcRef{
  22853. Fcount: -libc.Int32FromInt32(1),
  22854. },
  22855. Fnum: int32(2),
  22856. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22857. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(111)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22858. },
  22859. },
  22860. 112: {
  22861. Flang: [16]TFcChar8{'k', 'u', 'm'},
  22862. Fcharset: TFcCharSet{
  22863. Fref: TFcRef{
  22864. Fcount: -libc.Int32FromInt32(1),
  22865. },
  22866. Fnum: int32(1),
  22867. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22868. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(112)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22869. },
  22870. },
  22871. 113: {
  22872. Flang: [16]TFcChar8{'k', 'v'},
  22873. Fcharset: TFcCharSet{
  22874. Fref: TFcRef{
  22875. Fcount: -libc.Int32FromInt32(1),
  22876. },
  22877. Fnum: int32(1),
  22878. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22879. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(113)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22880. },
  22881. },
  22882. 114: {
  22883. Flang: [16]TFcChar8{'k', 'w'},
  22884. Fcharset: TFcCharSet{
  22885. Fref: TFcRef{
  22886. Fcount: -libc.Int32FromInt32(1),
  22887. },
  22888. Fnum: int32(3),
  22889. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22890. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(114)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22891. },
  22892. },
  22893. 115: {
  22894. Flang: [16]TFcChar8{'k', 'w', 'm'},
  22895. Fcharset: TFcCharSet{
  22896. Fref: TFcRef{
  22897. Fcount: -libc.Int32FromInt32(1),
  22898. },
  22899. Fnum: int32(1),
  22900. Fleaves_offset: int64(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))),
  22901. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(115)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22902. },
  22903. },
  22904. 116: {
  22905. Flang: [16]TFcChar8{'k', 'y'},
  22906. Fcharset: TFcCharSet{
  22907. Fref: TFcRef{
  22908. Fcount: -libc.Int32FromInt32(1),
  22909. },
  22910. Fnum: int32(1),
  22911. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22912. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(116)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22913. },
  22914. },
  22915. 117: {
  22916. Flang: [16]TFcChar8{'l', 'a'},
  22917. Fcharset: TFcCharSet{
  22918. Fref: TFcRef{
  22919. Fcount: -libc.Int32FromInt32(1),
  22920. },
  22921. Fnum: int32(2),
  22922. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22923. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(117)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22924. },
  22925. },
  22926. 118: {
  22927. Flang: [16]TFcChar8{'l', 'a', 'h'},
  22928. Fcharset: TFcCharSet{
  22929. Fref: TFcRef{
  22930. Fcount: -libc.Int32FromInt32(1),
  22931. },
  22932. Fnum: int32(1),
  22933. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22934. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(118)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22935. },
  22936. },
  22937. 119: {
  22938. Flang: [16]TFcChar8{'l', 'b'},
  22939. Fcharset: TFcCharSet{
  22940. Fref: TFcRef{
  22941. Fcount: -libc.Int32FromInt32(1),
  22942. },
  22943. Fnum: int32(1),
  22944. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22945. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(119)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22946. },
  22947. },
  22948. 120: {
  22949. Flang: [16]TFcChar8{'l', 'e', 'z'},
  22950. Fcharset: TFcCharSet{
  22951. Fref: TFcRef{
  22952. Fcount: -libc.Int32FromInt32(1),
  22953. },
  22954. Fnum: int32(1),
  22955. Fleaves_offset: int64(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))),
  22956. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(16)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(120)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22957. },
  22958. },
  22959. 121: {
  22960. Flang: [16]TFcChar8{'l', 'g'},
  22961. Fcharset: TFcCharSet{
  22962. Fref: TFcRef{
  22963. Fcount: -libc.Int32FromInt32(1),
  22964. },
  22965. Fnum: int32(2),
  22966. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22967. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(121)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22968. },
  22969. },
  22970. 122: {
  22971. Flang: [16]TFcChar8{'l', 'i'},
  22972. Fcharset: TFcCharSet{
  22973. Fref: TFcRef{
  22974. Fcount: -libc.Int32FromInt32(1),
  22975. },
  22976. Fnum: int32(1),
  22977. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22978. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(122)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22979. },
  22980. },
  22981. 123: {
  22982. Flang: [16]TFcChar8{'l', 'n'},
  22983. Fcharset: TFcCharSet{
  22984. Fref: TFcRef{
  22985. Fcount: -libc.Int32FromInt32(1),
  22986. },
  22987. Fnum: int32(4),
  22988. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22989. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(123)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  22990. },
  22991. },
  22992. 124: {
  22993. Flang: [16]TFcChar8{'l', 'o'},
  22994. Fcharset: TFcCharSet{
  22995. Fref: TFcRef{
  22996. Fcount: -libc.Int32FromInt32(1),
  22997. },
  22998. Fnum: int32(1),
  22999. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23000. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(124)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23001. },
  23002. },
  23003. 125: {
  23004. Flang: [16]TFcChar8{'l', 't'},
  23005. Fcharset: TFcCharSet{
  23006. Fref: TFcRef{
  23007. Fcount: -libc.Int32FromInt32(1),
  23008. },
  23009. Fnum: int32(2),
  23010. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23011. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(125)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23012. },
  23013. },
  23014. 126: {
  23015. Flang: [16]TFcChar8{'l', 'v'},
  23016. Fcharset: TFcCharSet{
  23017. Fref: TFcRef{
  23018. Fcount: -libc.Int32FromInt32(1),
  23019. },
  23020. Fnum: int32(2),
  23021. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23022. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(126)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23023. },
  23024. },
  23025. 127: {
  23026. Flang: [16]TFcChar8{'m', 'a', 'i'},
  23027. Fcharset: TFcCharSet{
  23028. Fref: TFcRef{
  23029. Fcount: -libc.Int32FromInt32(1),
  23030. },
  23031. Fnum: int32(1),
  23032. Fleaves_offset: int64(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))),
  23033. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(127)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23034. },
  23035. },
  23036. 128: {
  23037. Flang: [16]TFcChar8{'m', 'g'},
  23038. Fcharset: TFcCharSet{
  23039. Fref: TFcRef{
  23040. Fcount: -libc.Int32FromInt32(1),
  23041. },
  23042. Fnum: int32(1),
  23043. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23044. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(128)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23045. },
  23046. },
  23047. 129: {
  23048. Flang: [16]TFcChar8{'m', 'h'},
  23049. Fcharset: TFcCharSet{
  23050. Fref: TFcRef{
  23051. Fcount: -libc.Int32FromInt32(1),
  23052. },
  23053. Fnum: int32(2),
  23054. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23055. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(129)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23056. },
  23057. },
  23058. 130: {
  23059. Flang: [16]TFcChar8{'m', 'i'},
  23060. Fcharset: TFcCharSet{
  23061. Fref: TFcRef{
  23062. Fcount: -libc.Int32FromInt32(1),
  23063. },
  23064. Fnum: int32(3),
  23065. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23066. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(130)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23067. },
  23068. },
  23069. 131: {
  23070. Flang: [16]TFcChar8{'m', 'k'},
  23071. Fcharset: TFcCharSet{
  23072. Fref: TFcRef{
  23073. Fcount: -libc.Int32FromInt32(1),
  23074. },
  23075. Fnum: int32(1),
  23076. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23077. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(131)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23078. },
  23079. },
  23080. 132: {
  23081. Flang: [16]TFcChar8{'m', 'l'},
  23082. Fcharset: TFcCharSet{
  23083. Fref: TFcRef{
  23084. Fcount: -libc.Int32FromInt32(1),
  23085. },
  23086. Fnum: int32(1),
  23087. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23088. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(132)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23089. },
  23090. },
  23091. 133: {
  23092. Flang: [16]TFcChar8{'m', 'n', '-', 'c', 'n'},
  23093. Fcharset: TFcCharSet{
  23094. Fref: TFcRef{
  23095. Fcount: -libc.Int32FromInt32(1),
  23096. },
  23097. Fnum: int32(1),
  23098. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23099. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(133)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23100. },
  23101. },
  23102. 134: {
  23103. Flang: [16]TFcChar8{'m', 'n', '-', 'm', 'n'},
  23104. Fcharset: TFcCharSet{
  23105. Fref: TFcRef{
  23106. Fcount: -libc.Int32FromInt32(1),
  23107. },
  23108. Fnum: int32(1),
  23109. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23110. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(134)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23111. },
  23112. },
  23113. 135: {
  23114. Flang: [16]TFcChar8{'m', 'n', 'i'},
  23115. Fcharset: TFcCharSet{
  23116. Fref: TFcRef{
  23117. Fcount: -libc.Int32FromInt32(1),
  23118. },
  23119. Fnum: int32(1),
  23120. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23121. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(135)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23122. },
  23123. },
  23124. 136: {
  23125. Flang: [16]TFcChar8{'m', 'o'},
  23126. Fcharset: TFcCharSet{
  23127. Fref: TFcRef{
  23128. Fcount: -libc.Int32FromInt32(1),
  23129. },
  23130. Fnum: int32(4),
  23131. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23132. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(136)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23133. },
  23134. },
  23135. 137: {
  23136. Flang: [16]TFcChar8{'m', 'r'},
  23137. Fcharset: TFcCharSet{
  23138. Fref: TFcRef{
  23139. Fcount: -libc.Int32FromInt32(1),
  23140. },
  23141. Fnum: int32(1),
  23142. Fleaves_offset: int64(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))),
  23143. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(137)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23144. },
  23145. },
  23146. 138: {
  23147. Flang: [16]TFcChar8{'m', 's'},
  23148. Fcharset: TFcCharSet{
  23149. Fref: TFcRef{
  23150. Fcount: -libc.Int32FromInt32(1),
  23151. },
  23152. Fnum: int32(1),
  23153. Fleaves_offset: int64(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))),
  23154. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(138)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23155. },
  23156. },
  23157. 139: {
  23158. Flang: [16]TFcChar8{'m', 't'},
  23159. Fcharset: TFcCharSet{
  23160. Fref: TFcRef{
  23161. Fcount: -libc.Int32FromInt32(1),
  23162. },
  23163. Fnum: int32(2),
  23164. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23165. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(139)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23166. },
  23167. },
  23168. 140: {
  23169. Flang: [16]TFcChar8{'m', 'y'},
  23170. Fcharset: TFcCharSet{
  23171. Fref: TFcRef{
  23172. Fcount: -libc.Int32FromInt32(1),
  23173. },
  23174. Fnum: int32(1),
  23175. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23176. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(140)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23177. },
  23178. },
  23179. 141: {
  23180. Flang: [16]TFcChar8{'n', 'a'},
  23181. Fcharset: TFcCharSet{
  23182. Fref: TFcRef{
  23183. Fcount: -libc.Int32FromInt32(1),
  23184. },
  23185. Fnum: int32(2),
  23186. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23187. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(141)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23188. },
  23189. },
  23190. 142: {
  23191. Flang: [16]TFcChar8{'n', 'b'},
  23192. Fcharset: TFcCharSet{
  23193. Fref: TFcRef{
  23194. Fcount: -libc.Int32FromInt32(1),
  23195. },
  23196. Fnum: int32(1),
  23197. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23198. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(142)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23199. },
  23200. },
  23201. 143: {
  23202. Flang: [16]TFcChar8{'n', 'd', 's'},
  23203. Fcharset: TFcCharSet{
  23204. Fref: TFcRef{
  23205. Fcount: -libc.Int32FromInt32(1),
  23206. },
  23207. Fnum: int32(1),
  23208. Fleaves_offset: int64(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))),
  23209. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(67)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(143)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23210. },
  23211. },
  23212. 144: {
  23213. Flang: [16]TFcChar8{'n', 'e'},
  23214. Fcharset: TFcCharSet{
  23215. Fref: TFcRef{
  23216. Fcount: -libc.Int32FromInt32(1),
  23217. },
  23218. Fnum: int32(1),
  23219. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23220. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(144)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23221. },
  23222. },
  23223. 145: {
  23224. Flang: [16]TFcChar8{'n', 'g'},
  23225. Fcharset: TFcCharSet{
  23226. Fref: TFcRef{
  23227. Fcount: -libc.Int32FromInt32(1),
  23228. },
  23229. Fnum: int32(1),
  23230. Fleaves_offset: int64(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))),
  23231. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(145)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23232. },
  23233. },
  23234. 146: {
  23235. Flang: [16]TFcChar8{'n', 'l'},
  23236. Fcharset: TFcCharSet{
  23237. Fref: TFcRef{
  23238. Fcount: -libc.Int32FromInt32(1),
  23239. },
  23240. Fnum: int32(1),
  23241. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23242. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(146)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23243. },
  23244. },
  23245. 147: {
  23246. Flang: [16]TFcChar8{'n', 'n'},
  23247. Fcharset: TFcCharSet{
  23248. Fref: TFcRef{
  23249. Fcount: -libc.Int32FromInt32(1),
  23250. },
  23251. Fnum: int32(1),
  23252. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23253. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(147)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23254. },
  23255. },
  23256. 148: {
  23257. Flang: [16]TFcChar8{'n', 'o'},
  23258. Fcharset: TFcCharSet{
  23259. Fref: TFcRef{
  23260. Fcount: -libc.Int32FromInt32(1),
  23261. },
  23262. Fnum: int32(1),
  23263. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23264. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(148)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23265. },
  23266. },
  23267. 149: {
  23268. Flang: [16]TFcChar8{'n', 'q', 'o'},
  23269. Fcharset: TFcCharSet{
  23270. Fref: TFcRef{
  23271. Fcount: -libc.Int32FromInt32(1),
  23272. },
  23273. Fnum: int32(1),
  23274. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23275. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(149)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23276. },
  23277. },
  23278. 150: {
  23279. Flang: [16]TFcChar8{'n', 'r'},
  23280. Fcharset: TFcCharSet{
  23281. Fref: TFcRef{
  23282. Fcount: -libc.Int32FromInt32(1),
  23283. },
  23284. Fnum: int32(1),
  23285. Fleaves_offset: int64(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))),
  23286. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(150)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23287. },
  23288. },
  23289. 151: {
  23290. Flang: [16]TFcChar8{'n', 's', 'o'},
  23291. Fcharset: TFcCharSet{
  23292. Fref: TFcRef{
  23293. Fcount: -libc.Int32FromInt32(1),
  23294. },
  23295. Fnum: int32(2),
  23296. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23297. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(151)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23298. },
  23299. },
  23300. 152: {
  23301. Flang: [16]TFcChar8{'n', 'v'},
  23302. Fcharset: TFcCharSet{
  23303. Fref: TFcRef{
  23304. Fcount: -libc.Int32FromInt32(1),
  23305. },
  23306. Fnum: int32(4),
  23307. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23308. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(152)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23309. },
  23310. },
  23311. 153: {
  23312. Flang: [16]TFcChar8{'n', 'y'},
  23313. Fcharset: TFcCharSet{
  23314. Fref: TFcRef{
  23315. Fcount: -libc.Int32FromInt32(1),
  23316. },
  23317. Fnum: int32(2),
  23318. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23319. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(153)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23320. },
  23321. },
  23322. 154: {
  23323. Flang: [16]TFcChar8{'o', 'c'},
  23324. Fcharset: TFcCharSet{
  23325. Fref: TFcRef{
  23326. Fcount: -libc.Int32FromInt32(1),
  23327. },
  23328. Fnum: int32(1),
  23329. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23330. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(154)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23331. },
  23332. },
  23333. 155: {
  23334. Flang: [16]TFcChar8{'o', 'm'},
  23335. Fcharset: TFcCharSet{
  23336. Fref: TFcRef{
  23337. Fcount: -libc.Int32FromInt32(1),
  23338. },
  23339. Fnum: int32(1),
  23340. Fleaves_offset: int64(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))),
  23341. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(155)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23342. },
  23343. },
  23344. 156: {
  23345. Flang: [16]TFcChar8{'o', 'r'},
  23346. Fcharset: TFcCharSet{
  23347. Fref: TFcRef{
  23348. Fcount: -libc.Int32FromInt32(1),
  23349. },
  23350. Fnum: int32(1),
  23351. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23352. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(156)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23353. },
  23354. },
  23355. 157: {
  23356. Flang: [16]TFcChar8{'o', 's'},
  23357. Fcharset: TFcCharSet{
  23358. Fref: TFcRef{
  23359. Fcount: -libc.Int32FromInt32(1),
  23360. },
  23361. Fnum: int32(1),
  23362. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23363. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(157)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23364. },
  23365. },
  23366. 158: {
  23367. Flang: [16]TFcChar8{'o', 't', 'a'},
  23368. Fcharset: TFcCharSet{
  23369. Fref: TFcRef{
  23370. Fcount: -libc.Int32FromInt32(1),
  23371. },
  23372. Fnum: int32(1),
  23373. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23374. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(158)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23375. },
  23376. },
  23377. 159: {
  23378. Flang: [16]TFcChar8{'p', 'a'},
  23379. Fcharset: TFcCharSet{
  23380. Fref: TFcRef{
  23381. Fcount: -libc.Int32FromInt32(1),
  23382. },
  23383. Fnum: int32(1),
  23384. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23385. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(159)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23386. },
  23387. },
  23388. 160: {
  23389. Flang: [16]TFcChar8{'p', 'a', '-', 'p', 'k'},
  23390. Fcharset: TFcCharSet{
  23391. Fref: TFcRef{
  23392. Fcount: -libc.Int32FromInt32(1),
  23393. },
  23394. Fnum: int32(1),
  23395. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23396. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(160)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23397. },
  23398. },
  23399. 161: {
  23400. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'n'},
  23401. Fcharset: TFcCharSet{
  23402. Fref: TFcRef{
  23403. Fcount: -libc.Int32FromInt32(1),
  23404. },
  23405. Fnum: int32(1),
  23406. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23407. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(161)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23408. },
  23409. },
  23410. 162: {
  23411. Flang: [16]TFcChar8{'p', 'a', 'p', '-', 'a', 'w'},
  23412. Fcharset: TFcCharSet{
  23413. Fref: TFcRef{
  23414. Fcount: -libc.Int32FromInt32(1),
  23415. },
  23416. Fnum: int32(1),
  23417. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23418. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(162)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23419. },
  23420. },
  23421. 163: {
  23422. Flang: [16]TFcChar8{'p', 'l'},
  23423. Fcharset: TFcCharSet{
  23424. Fref: TFcRef{
  23425. Fcount: -libc.Int32FromInt32(1),
  23426. },
  23427. Fnum: int32(2),
  23428. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23429. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(163)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23430. },
  23431. },
  23432. 164: {
  23433. Flang: [16]TFcChar8{'p', 's', '-', 'a', 'f'},
  23434. Fcharset: TFcCharSet{
  23435. Fref: TFcRef{
  23436. Fcount: -libc.Int32FromInt32(1),
  23437. },
  23438. Fnum: int32(1),
  23439. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23440. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(164)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23441. },
  23442. },
  23443. 165: {
  23444. Flang: [16]TFcChar8{'p', 's', '-', 'p', 'k'},
  23445. Fcharset: TFcCharSet{
  23446. Fref: TFcRef{
  23447. Fcount: -libc.Int32FromInt32(1),
  23448. },
  23449. Fnum: int32(1),
  23450. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23451. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(165)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23452. },
  23453. },
  23454. 166: {
  23455. Flang: [16]TFcChar8{'p', 't'},
  23456. Fcharset: TFcCharSet{
  23457. Fref: TFcRef{
  23458. Fcount: -libc.Int32FromInt32(1),
  23459. },
  23460. Fnum: int32(1),
  23461. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23462. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(166)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23463. },
  23464. },
  23465. 167: {
  23466. Flang: [16]TFcChar8{'q', 'u'},
  23467. Fcharset: TFcCharSet{
  23468. Fref: TFcRef{
  23469. Fcount: -libc.Int32FromInt32(1),
  23470. },
  23471. Fnum: int32(2),
  23472. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23473. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(167)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23474. },
  23475. },
  23476. 168: {
  23477. Flang: [16]TFcChar8{'q', 'u', 'z'},
  23478. Fcharset: TFcCharSet{
  23479. Fref: TFcRef{
  23480. Fcount: -libc.Int32FromInt32(1),
  23481. },
  23482. Fnum: int32(2),
  23483. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23484. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(168)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23485. },
  23486. },
  23487. 169: {
  23488. Flang: [16]TFcChar8{'r', 'm'},
  23489. Fcharset: TFcCharSet{
  23490. Fref: TFcRef{
  23491. Fcount: -libc.Int32FromInt32(1),
  23492. },
  23493. Fnum: int32(1),
  23494. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23495. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(169)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23496. },
  23497. },
  23498. 170: {
  23499. Flang: [16]TFcChar8{'r', 'n'},
  23500. Fcharset: TFcCharSet{
  23501. Fref: TFcRef{
  23502. Fcount: -libc.Int32FromInt32(1),
  23503. },
  23504. Fnum: int32(1),
  23505. Fleaves_offset: int64(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))),
  23506. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(170)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23507. },
  23508. },
  23509. 171: {
  23510. Flang: [16]TFcChar8{'r', 'o'},
  23511. Fcharset: TFcCharSet{
  23512. Fref: TFcRef{
  23513. Fcount: -libc.Int32FromInt32(1),
  23514. },
  23515. Fnum: int32(3),
  23516. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23517. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(171)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23518. },
  23519. },
  23520. 172: {
  23521. Flang: [16]TFcChar8{'r', 'u'},
  23522. Fcharset: TFcCharSet{
  23523. Fref: TFcRef{
  23524. Fcount: -libc.Int32FromInt32(1),
  23525. },
  23526. Fnum: int32(1),
  23527. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23528. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(172)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23529. },
  23530. },
  23531. 173: {
  23532. Flang: [16]TFcChar8{'r', 'w'},
  23533. Fcharset: TFcCharSet{
  23534. Fref: TFcRef{
  23535. Fcount: -libc.Int32FromInt32(1),
  23536. },
  23537. Fnum: int32(1),
  23538. Fleaves_offset: int64(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))),
  23539. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(173)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23540. },
  23541. },
  23542. 174: {
  23543. Flang: [16]TFcChar8{'s', 'a'},
  23544. Fcharset: TFcCharSet{
  23545. Fref: TFcRef{
  23546. Fcount: -libc.Int32FromInt32(1),
  23547. },
  23548. Fnum: int32(1),
  23549. Fleaves_offset: int64(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))),
  23550. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(30)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(174)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23551. },
  23552. },
  23553. 175: {
  23554. Flang: [16]TFcChar8{'s', 'a', 'h'},
  23555. Fcharset: TFcCharSet{
  23556. Fref: TFcRef{
  23557. Fcount: -libc.Int32FromInt32(1),
  23558. },
  23559. Fnum: int32(1),
  23560. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23561. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(175)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23562. },
  23563. },
  23564. 176: {
  23565. Flang: [16]TFcChar8{'s', 'a', 't'},
  23566. Fcharset: TFcCharSet{
  23567. Fref: TFcRef{
  23568. Fcount: -libc.Int32FromInt32(1),
  23569. },
  23570. Fnum: int32(1),
  23571. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23572. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(176)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23573. },
  23574. },
  23575. 177: {
  23576. Flang: [16]TFcChar8{'s', 'c'},
  23577. Fcharset: TFcCharSet{
  23578. Fref: TFcRef{
  23579. Fcount: -libc.Int32FromInt32(1),
  23580. },
  23581. Fnum: int32(1),
  23582. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23583. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(177)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23584. },
  23585. },
  23586. 178: {
  23587. Flang: [16]TFcChar8{'s', 'c', 'o'},
  23588. Fcharset: TFcCharSet{
  23589. Fref: TFcRef{
  23590. Fcount: -libc.Int32FromInt32(1),
  23591. },
  23592. Fnum: int32(3),
  23593. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23594. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(178)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23595. },
  23596. },
  23597. 179: {
  23598. Flang: [16]TFcChar8{'s', 'd'},
  23599. Fcharset: TFcCharSet{
  23600. Fref: TFcRef{
  23601. Fcount: -libc.Int32FromInt32(1),
  23602. },
  23603. Fnum: int32(1),
  23604. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23605. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(179)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23606. },
  23607. },
  23608. 180: {
  23609. Flang: [16]TFcChar8{'s', 'e'},
  23610. Fcharset: TFcCharSet{
  23611. Fref: TFcRef{
  23612. Fcount: -libc.Int32FromInt32(1),
  23613. },
  23614. Fnum: int32(2),
  23615. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23616. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(180)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23617. },
  23618. },
  23619. 181: {
  23620. Flang: [16]TFcChar8{'s', 'e', 'l'},
  23621. Fcharset: TFcCharSet{
  23622. Fref: TFcRef{
  23623. Fcount: -libc.Int32FromInt32(1),
  23624. },
  23625. Fnum: int32(1),
  23626. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23627. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(181)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23628. },
  23629. },
  23630. 182: {
  23631. Flang: [16]TFcChar8{'s', 'g'},
  23632. Fcharset: TFcCharSet{
  23633. Fref: TFcRef{
  23634. Fcount: -libc.Int32FromInt32(1),
  23635. },
  23636. Fnum: int32(1),
  23637. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23638. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(182)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23639. },
  23640. },
  23641. 183: {
  23642. Flang: [16]TFcChar8{'s', 'h'},
  23643. Fcharset: TFcCharSet{
  23644. Fref: TFcRef{
  23645. Fcount: -libc.Int32FromInt32(1),
  23646. },
  23647. Fnum: int32(3),
  23648. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23649. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(183)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23650. },
  23651. },
  23652. 184: {
  23653. Flang: [16]TFcChar8{'s', 'h', 's'},
  23654. Fcharset: TFcCharSet{
  23655. Fref: TFcRef{
  23656. Fcount: -libc.Int32FromInt32(1),
  23657. },
  23658. Fnum: int32(2),
  23659. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23660. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(184)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23661. },
  23662. },
  23663. 185: {
  23664. Flang: [16]TFcChar8{'s', 'i'},
  23665. Fcharset: TFcCharSet{
  23666. Fref: TFcRef{
  23667. Fcount: -libc.Int32FromInt32(1),
  23668. },
  23669. Fnum: int32(1),
  23670. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23671. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(185)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23672. },
  23673. },
  23674. 186: {
  23675. Flang: [16]TFcChar8{'s', 'i', 'd'},
  23676. Fcharset: TFcCharSet{
  23677. Fref: TFcRef{
  23678. Fcount: -libc.Int32FromInt32(1),
  23679. },
  23680. Fnum: int32(2),
  23681. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23682. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(186)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23683. },
  23684. },
  23685. 187: {
  23686. Flang: [16]TFcChar8{'s', 'k'},
  23687. Fcharset: TFcCharSet{
  23688. Fref: TFcRef{
  23689. Fcount: -libc.Int32FromInt32(1),
  23690. },
  23691. Fnum: int32(2),
  23692. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23693. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(187)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23694. },
  23695. },
  23696. 188: {
  23697. Flang: [16]TFcChar8{'s', 'l'},
  23698. Fcharset: TFcCharSet{
  23699. Fref: TFcRef{
  23700. Fcount: -libc.Int32FromInt32(1),
  23701. },
  23702. Fnum: int32(2),
  23703. Fleaves_offset: int64(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))),
  23704. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(42)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(188)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23705. },
  23706. },
  23707. 189: {
  23708. Flang: [16]TFcChar8{'s', 'm'},
  23709. Fcharset: TFcCharSet{
  23710. Fref: TFcRef{
  23711. Fcount: -libc.Int32FromInt32(1),
  23712. },
  23713. Fnum: int32(2),
  23714. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23715. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(189)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23716. },
  23717. },
  23718. 190: {
  23719. Flang: [16]TFcChar8{'s', 'm', 'a'},
  23720. Fcharset: TFcCharSet{
  23721. Fref: TFcRef{
  23722. Fcount: -libc.Int32FromInt32(1),
  23723. },
  23724. Fnum: int32(1),
  23725. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23726. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(190)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23727. },
  23728. },
  23729. 191: {
  23730. Flang: [16]TFcChar8{'s', 'm', 'j'},
  23731. Fcharset: TFcCharSet{
  23732. Fref: TFcRef{
  23733. Fcount: -libc.Int32FromInt32(1),
  23734. },
  23735. Fnum: int32(1),
  23736. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23737. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(191)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23738. },
  23739. },
  23740. 192: {
  23741. Flang: [16]TFcChar8{'s', 'm', 'n'},
  23742. Fcharset: TFcCharSet{
  23743. Fref: TFcRef{
  23744. Fcount: -libc.Int32FromInt32(1),
  23745. },
  23746. Fnum: int32(2),
  23747. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23748. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(192)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23749. },
  23750. },
  23751. 193: {
  23752. Flang: [16]TFcChar8{'s', 'm', 's'},
  23753. Fcharset: TFcCharSet{
  23754. Fref: TFcRef{
  23755. Fcount: -libc.Int32FromInt32(1),
  23756. },
  23757. Fnum: int32(3),
  23758. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23759. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(193)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23760. },
  23761. },
  23762. 194: {
  23763. Flang: [16]TFcChar8{'s', 'n'},
  23764. Fcharset: TFcCharSet{
  23765. Fref: TFcRef{
  23766. Fcount: -libc.Int32FromInt32(1),
  23767. },
  23768. Fnum: int32(1),
  23769. Fleaves_offset: int64(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))),
  23770. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(194)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23771. },
  23772. },
  23773. 195: {
  23774. Flang: [16]TFcChar8{'s', 'o'},
  23775. Fcharset: TFcCharSet{
  23776. Fref: TFcRef{
  23777. Fcount: -libc.Int32FromInt32(1),
  23778. },
  23779. Fnum: int32(1),
  23780. Fleaves_offset: int64(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))),
  23781. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(195)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23782. },
  23783. },
  23784. 196: {
  23785. Flang: [16]TFcChar8{'s', 'q'},
  23786. Fcharset: TFcCharSet{
  23787. Fref: TFcRef{
  23788. Fcount: -libc.Int32FromInt32(1),
  23789. },
  23790. Fnum: int32(1),
  23791. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23792. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(196)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23793. },
  23794. },
  23795. 197: {
  23796. Flang: [16]TFcChar8{'s', 'r'},
  23797. Fcharset: TFcCharSet{
  23798. Fref: TFcRef{
  23799. Fcount: -libc.Int32FromInt32(1),
  23800. },
  23801. Fnum: int32(1),
  23802. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23803. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(197)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23804. },
  23805. },
  23806. 198: {
  23807. Flang: [16]TFcChar8{'s', 's'},
  23808. Fcharset: TFcCharSet{
  23809. Fref: TFcRef{
  23810. Fcount: -libc.Int32FromInt32(1),
  23811. },
  23812. Fnum: int32(1),
  23813. Fleaves_offset: int64(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))),
  23814. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(198)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23815. },
  23816. },
  23817. 199: {
  23818. Flang: [16]TFcChar8{'s', 't'},
  23819. Fcharset: TFcCharSet{
  23820. Fref: TFcRef{
  23821. Fcount: -libc.Int32FromInt32(1),
  23822. },
  23823. Fnum: int32(1),
  23824. Fleaves_offset: int64(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))),
  23825. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(199)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23826. },
  23827. },
  23828. 200: {
  23829. Flang: [16]TFcChar8{'s', 'u'},
  23830. Fcharset: TFcCharSet{
  23831. Fref: TFcRef{
  23832. Fcount: -libc.Int32FromInt32(1),
  23833. },
  23834. Fnum: int32(1),
  23835. Fleaves_offset: int64(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))),
  23836. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(200)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23837. },
  23838. },
  23839. 201: {
  23840. Flang: [16]TFcChar8{'s', 'v'},
  23841. Fcharset: TFcCharSet{
  23842. Fref: TFcRef{
  23843. Fcount: -libc.Int32FromInt32(1),
  23844. },
  23845. Fnum: int32(1),
  23846. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23847. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(201)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23848. },
  23849. },
  23850. 202: {
  23851. Flang: [16]TFcChar8{'s', 'w'},
  23852. Fcharset: TFcCharSet{
  23853. Fref: TFcRef{
  23854. Fcount: -libc.Int32FromInt32(1),
  23855. },
  23856. Fnum: int32(1),
  23857. Fleaves_offset: int64(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))),
  23858. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(202)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23859. },
  23860. },
  23861. 203: {
  23862. Flang: [16]TFcChar8{'s', 'y', 'r'},
  23863. Fcharset: TFcCharSet{
  23864. Fref: TFcRef{
  23865. Fcount: -libc.Int32FromInt32(1),
  23866. },
  23867. Fnum: int32(1),
  23868. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23869. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(203)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23870. },
  23871. },
  23872. 204: {
  23873. Flang: [16]TFcChar8{'t', 'a'},
  23874. Fcharset: TFcCharSet{
  23875. Fref: TFcRef{
  23876. Fcount: -libc.Int32FromInt32(1),
  23877. },
  23878. Fnum: int32(1),
  23879. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23880. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(204)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23881. },
  23882. },
  23883. 205: {
  23884. Flang: [16]TFcChar8{'t', 'e'},
  23885. Fcharset: TFcCharSet{
  23886. Fref: TFcRef{
  23887. Fcount: -libc.Int32FromInt32(1),
  23888. },
  23889. Fnum: int32(1),
  23890. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23891. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(205)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23892. },
  23893. },
  23894. 206: {
  23895. Flang: [16]TFcChar8{'t', 'g'},
  23896. Fcharset: TFcCharSet{
  23897. Fref: TFcRef{
  23898. Fcount: -libc.Int32FromInt32(1),
  23899. },
  23900. Fnum: int32(1),
  23901. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23902. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(206)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23903. },
  23904. },
  23905. 207: {
  23906. Flang: [16]TFcChar8{'t', 'h'},
  23907. Fcharset: TFcCharSet{
  23908. Fref: TFcRef{
  23909. Fcount: -libc.Int32FromInt32(1),
  23910. },
  23911. Fnum: int32(1),
  23912. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23913. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(207)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23914. },
  23915. },
  23916. 208: {
  23917. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 'r'},
  23918. Fcharset: TFcCharSet{
  23919. Fref: TFcRef{
  23920. Fcount: -libc.Int32FromInt32(1),
  23921. },
  23922. Fnum: int32(2),
  23923. Fleaves_offset: int64(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))),
  23924. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(45)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(208)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23925. },
  23926. },
  23927. 209: {
  23928. Flang: [16]TFcChar8{'t', 'i', '-', 'e', 't'},
  23929. Fcharset: TFcCharSet{
  23930. Fref: TFcRef{
  23931. Fcount: -libc.Int32FromInt32(1),
  23932. },
  23933. Fnum: int32(2),
  23934. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23935. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(209)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23936. },
  23937. },
  23938. 210: {
  23939. Flang: [16]TFcChar8{'t', 'i', 'g'},
  23940. Fcharset: TFcCharSet{
  23941. Fref: TFcRef{
  23942. Fcount: -libc.Int32FromInt32(1),
  23943. },
  23944. Fnum: int32(2),
  23945. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23946. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(210)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23947. },
  23948. },
  23949. 211: {
  23950. Flang: [16]TFcChar8{'t', 'k'},
  23951. Fcharset: TFcCharSet{
  23952. Fref: TFcRef{
  23953. Fcount: -libc.Int32FromInt32(1),
  23954. },
  23955. Fnum: int32(2),
  23956. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23957. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(211)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23958. },
  23959. },
  23960. 212: {
  23961. Flang: [16]TFcChar8{'t', 'l'},
  23962. Fcharset: TFcCharSet{
  23963. Fref: TFcRef{
  23964. Fcount: -libc.Int32FromInt32(1),
  23965. },
  23966. Fnum: int32(1),
  23967. Fleaves_offset: int64(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))),
  23968. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(86)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(212)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23969. },
  23970. },
  23971. 213: {
  23972. Flang: [16]TFcChar8{'t', 'n'},
  23973. Fcharset: TFcCharSet{
  23974. Fref: TFcRef{
  23975. Fcount: -libc.Int32FromInt32(1),
  23976. },
  23977. Fnum: int32(2),
  23978. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23979. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(213)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23980. },
  23981. },
  23982. 214: {
  23983. Flang: [16]TFcChar8{'t', 'o'},
  23984. Fcharset: TFcCharSet{
  23985. Fref: TFcRef{
  23986. Fcount: -libc.Int32FromInt32(1),
  23987. },
  23988. Fnum: int32(2),
  23989. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23990. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(214)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  23991. },
  23992. },
  23993. 215: {
  23994. Flang: [16]TFcChar8{'t', 'r'},
  23995. Fcharset: TFcCharSet{
  23996. Fref: TFcRef{
  23997. Fcount: -libc.Int32FromInt32(1),
  23998. },
  23999. Fnum: int32(2),
  24000. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24001. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(215)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24002. },
  24003. },
  24004. 216: {
  24005. Flang: [16]TFcChar8{'t', 's'},
  24006. Fcharset: TFcCharSet{
  24007. Fref: TFcRef{
  24008. Fcount: -libc.Int32FromInt32(1),
  24009. },
  24010. Fnum: int32(1),
  24011. Fleaves_offset: int64(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))),
  24012. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(216)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24013. },
  24014. },
  24015. 217: {
  24016. Flang: [16]TFcChar8{'t', 't'},
  24017. Fcharset: TFcCharSet{
  24018. Fref: TFcRef{
  24019. Fcount: -libc.Int32FromInt32(1),
  24020. },
  24021. Fnum: int32(1),
  24022. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24023. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(217)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24024. },
  24025. },
  24026. 218: {
  24027. Flang: [16]TFcChar8{'t', 'w'},
  24028. Fcharset: TFcCharSet{
  24029. Fref: TFcRef{
  24030. Fcount: -libc.Int32FromInt32(1),
  24031. },
  24032. Fnum: int32(5),
  24033. Fleaves_offset: int64(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))),
  24034. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(218)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24035. },
  24036. },
  24037. 219: {
  24038. Flang: [16]TFcChar8{'t', 'y'},
  24039. Fcharset: TFcCharSet{
  24040. Fref: TFcRef{
  24041. Fcount: -libc.Int32FromInt32(1),
  24042. },
  24043. Fnum: int32(3),
  24044. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24045. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(219)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24046. },
  24047. },
  24048. 220: {
  24049. Flang: [16]TFcChar8{'t', 'y', 'v'},
  24050. Fcharset: TFcCharSet{
  24051. Fref: TFcRef{
  24052. Fcount: -libc.Int32FromInt32(1),
  24053. },
  24054. Fnum: int32(1),
  24055. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24056. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(220)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24057. },
  24058. },
  24059. 221: {
  24060. Flang: [16]TFcChar8{'u', 'g'},
  24061. Fcharset: TFcCharSet{
  24062. Fref: TFcRef{
  24063. Fcount: -libc.Int32FromInt32(1),
  24064. },
  24065. Fnum: int32(1),
  24066. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24067. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(221)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24068. },
  24069. },
  24070. 222: {
  24071. Flang: [16]TFcChar8{'u', 'k'},
  24072. Fcharset: TFcCharSet{
  24073. Fref: TFcRef{
  24074. Fcount: -libc.Int32FromInt32(1),
  24075. },
  24076. Fnum: int32(1),
  24077. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24078. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(222)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24079. },
  24080. },
  24081. 223: {
  24082. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 'm', 't', 'h'},
  24083. Fcharset: TFcCharSet{
  24084. Fref: TFcRef{
  24085. Fcount: -libc.Int32FromInt32(1),
  24086. },
  24087. Fnum: int32(12),
  24088. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24089. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(223)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24090. },
  24091. },
  24092. 224: {
  24093. Flang: [16]TFcChar8{'u', 'n', 'd', '-', 'z', 's', 'y', 'e'},
  24094. Fcharset: TFcCharSet{
  24095. Fref: TFcRef{
  24096. Fcount: -libc.Int32FromInt32(1),
  24097. },
  24098. Fnum: int32(12),
  24099. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24100. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(224)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24101. },
  24102. },
  24103. 225: {
  24104. Flang: [16]TFcChar8{'u', 'r'},
  24105. Fcharset: TFcCharSet{
  24106. Fref: TFcRef{
  24107. Fcount: -libc.Int32FromInt32(1),
  24108. },
  24109. Fnum: int32(1),
  24110. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24111. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(225)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24112. },
  24113. },
  24114. 226: {
  24115. Flang: [16]TFcChar8{'u', 'z'},
  24116. Fcharset: TFcCharSet{
  24117. Fref: TFcRef{
  24118. Fcount: -libc.Int32FromInt32(1),
  24119. },
  24120. Fnum: int32(1),
  24121. Fleaves_offset: int64(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))),
  24122. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(226)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24123. },
  24124. },
  24125. 227: {
  24126. Flang: [16]TFcChar8{'v', 'e'},
  24127. Fcharset: TFcCharSet{
  24128. Fref: TFcRef{
  24129. Fcount: -libc.Int32FromInt32(1),
  24130. },
  24131. Fnum: int32(2),
  24132. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24133. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(227)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24134. },
  24135. },
  24136. 228: {
  24137. Flang: [16]TFcChar8{'v', 'i'},
  24138. Fcharset: TFcCharSet{
  24139. Fref: TFcRef{
  24140. Fcount: -libc.Int32FromInt32(1),
  24141. },
  24142. Fnum: int32(4),
  24143. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24144. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(228)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24145. },
  24146. },
  24147. 229: {
  24148. Flang: [16]TFcChar8{'v', 'o'},
  24149. Fcharset: TFcCharSet{
  24150. Fref: TFcRef{
  24151. Fcount: -libc.Int32FromInt32(1),
  24152. },
  24153. Fnum: int32(1),
  24154. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24155. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(229)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24156. },
  24157. },
  24158. 230: {
  24159. Flang: [16]TFcChar8{'v', 'o', 't'},
  24160. Fcharset: TFcCharSet{
  24161. Fref: TFcRef{
  24162. Fcount: -libc.Int32FromInt32(1),
  24163. },
  24164. Fnum: int32(2),
  24165. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24166. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(230)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24167. },
  24168. },
  24169. 231: {
  24170. Flang: [16]TFcChar8{'w', 'a'},
  24171. Fcharset: TFcCharSet{
  24172. Fref: TFcRef{
  24173. Fcount: -libc.Int32FromInt32(1),
  24174. },
  24175. Fnum: int32(1),
  24176. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24177. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(231)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24178. },
  24179. },
  24180. 232: {
  24181. Flang: [16]TFcChar8{'w', 'a', 'l'},
  24182. Fcharset: TFcCharSet{
  24183. Fref: TFcRef{
  24184. Fcount: -libc.Int32FromInt32(1),
  24185. },
  24186. Fnum: int32(2),
  24187. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24188. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(232)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24189. },
  24190. },
  24191. 233: {
  24192. Flang: [16]TFcChar8{'w', 'e', 'n'},
  24193. Fcharset: TFcCharSet{
  24194. Fref: TFcRef{
  24195. Fcount: -libc.Int32FromInt32(1),
  24196. },
  24197. Fnum: int32(2),
  24198. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24199. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(233)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24200. },
  24201. },
  24202. 234: {
  24203. Flang: [16]TFcChar8{'w', 'o'},
  24204. Fcharset: TFcCharSet{
  24205. Fref: TFcRef{
  24206. Fcount: -libc.Int32FromInt32(1),
  24207. },
  24208. Fnum: int32(2),
  24209. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24210. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(234)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24211. },
  24212. },
  24213. 235: {
  24214. Flang: [16]TFcChar8{'x', 'h'},
  24215. Fcharset: TFcCharSet{
  24216. Fref: TFcRef{
  24217. Fcount: -libc.Int32FromInt32(1),
  24218. },
  24219. Fnum: int32(1),
  24220. Fleaves_offset: int64(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))),
  24221. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(235)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24222. },
  24223. },
  24224. 236: {
  24225. Flang: [16]TFcChar8{'y', 'a', 'p'},
  24226. Fcharset: TFcCharSet{
  24227. Fref: TFcRef{
  24228. Fcount: -libc.Int32FromInt32(1),
  24229. },
  24230. Fnum: int32(1),
  24231. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24232. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(236)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24233. },
  24234. },
  24235. 237: {
  24236. Flang: [16]TFcChar8{'y', 'i'},
  24237. Fcharset: TFcCharSet{
  24238. Fref: TFcRef{
  24239. Fcount: -libc.Int32FromInt32(1),
  24240. },
  24241. Fnum: int32(1),
  24242. Fleaves_offset: int64(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))),
  24243. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(237)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24244. },
  24245. },
  24246. 238: {
  24247. Flang: [16]TFcChar8{'y', 'o'},
  24248. Fcharset: TFcCharSet{
  24249. Fref: TFcRef{
  24250. Fcount: -libc.Int32FromInt32(1),
  24251. },
  24252. Fnum: int32(4),
  24253. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24254. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(238)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24255. },
  24256. },
  24257. 239: {
  24258. Flang: [16]TFcChar8{'z', 'a'},
  24259. Fcharset: TFcCharSet{
  24260. Fref: TFcRef{
  24261. Fcount: -libc.Int32FromInt32(1),
  24262. },
  24263. Fnum: int32(1),
  24264. Fleaves_offset: int64(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))),
  24265. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(239)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24266. },
  24267. },
  24268. 240: {
  24269. Flang: [16]TFcChar8{'z', 'h', '-', 'c', 'n'},
  24270. Fcharset: TFcCharSet{
  24271. Fref: TFcRef{
  24272. Fcount: -libc.Int32FromInt32(1),
  24273. },
  24274. Fnum: int32(82),
  24275. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24276. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(240)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24277. },
  24278. },
  24279. 241: {
  24280. Flang: [16]TFcChar8{'z', 'h', '-', 'h', 'k'},
  24281. Fcharset: TFcCharSet{
  24282. Fref: TFcRef{
  24283. Fcount: -libc.Int32FromInt32(1),
  24284. },
  24285. Fnum: int32(171),
  24286. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24287. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(241)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24288. },
  24289. },
  24290. 242: {
  24291. Flang: [16]TFcChar8{'z', 'h', '-', 'm', 'o'},
  24292. Fcharset: TFcCharSet{
  24293. Fref: TFcRef{
  24294. Fcount: -libc.Int32FromInt32(1),
  24295. },
  24296. Fnum: int32(171),
  24297. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24298. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(242)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24299. },
  24300. },
  24301. 243: {
  24302. Flang: [16]TFcChar8{'z', 'h', '-', 's', 'g'},
  24303. Fcharset: TFcCharSet{
  24304. Fref: TFcRef{
  24305. Fcount: -libc.Int32FromInt32(1),
  24306. },
  24307. Fnum: int32(82),
  24308. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24309. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(243)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24310. },
  24311. },
  24312. 244: {
  24313. Flang: [16]TFcChar8{'z', 'h', '-', 't', 'w'},
  24314. Fcharset: TFcCharSet{
  24315. Fref: TFcRef{
  24316. Fcount: -libc.Int32FromInt32(1),
  24317. },
  24318. Fnum: int32(83),
  24319. Fleaves_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24320. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(244)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24321. },
  24322. },
  24323. 245: {
  24324. Flang: [16]TFcChar8{'z', 'u'},
  24325. Fcharset: TFcCharSet{
  24326. Fref: TFcRef{
  24327. Fcount: -libc.Int32FromInt32(1),
  24328. },
  24329. Fnum: int32(1),
  24330. Fleaves_offset: int64(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))),
  24331. Fnumbers_offset: int64(libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(780)*libc.Uint64FromInt64(8) + libc.Uint64FromInt32(87)*libc.Uint64FromInt64(2) - (libc.Uint64FromInt32(245)*libc.Uint64FromInt64(40) + uint64(libc.UintptrFromInt32(0)+16))),
  24332. },
  24333. },
  24334. },
  24335. Fleaves: [725]TFcCharLeaf{
  24336. 0: {
  24337. Fmap1: [8]TFcChar32{
  24338. 2: uint32(0x07fffffe),
  24339. 3: uint32(0x07fffffe),
  24340. 6: uint32(0x08104404),
  24341. 7: uint32(0x08104404),
  24342. },
  24343. },
  24344. 1: {
  24345. Fmap1: [8]TFcChar32{
  24346. 0: uint32(0xffff8002),
  24347. 1: uint32(0xffffffff),
  24348. 2: uint32(0x8002ffff),
  24349. 4: uint32(0xc0000000),
  24350. 5: uint32(0xf0fc33c0),
  24351. 6: uint32(0x03000000),
  24352. 7: uint32(0x00000003),
  24353. },
  24354. },
  24355. 2: {
  24356. Fmap1: [8]TFcChar32{
  24357. 2: uint32(0x07fffffe),
  24358. 3: uint32(0x07fffffe),
  24359. 6: uint32(0x0810cf00),
  24360. 7: uint32(0x0810cf00),
  24361. },
  24362. },
  24363. 3: {
  24364. Fmap1: [8]TFcChar32{
  24365. 2: uint32(0x00000200),
  24366. },
  24367. },
  24368. 4: {
  24369. Fmap1: [8]TFcChar32{
  24370. 2: uint32(0x07fffffe),
  24371. 3: uint32(0x07fffffe),
  24372. 6: uint32(0x00220008),
  24373. 7: uint32(0x00220008),
  24374. },
  24375. },
  24376. 5: {
  24377. Fmap1: [8]TFcChar32{
  24378. 1: uint32(0x00000300),
  24379. 3: uint32(0x00000300),
  24380. 4: uint32(0x00010040),
  24381. },
  24382. },
  24383. 6: {
  24384. Fmap1: [8]TFcChar32{
  24385. 2: uint32(0x08100000),
  24386. },
  24387. },
  24388. 7: {
  24389. Fmap1: [8]TFcChar32{
  24390. 0: uint32(0x00000048),
  24391. 1: uint32(0x00000200),
  24392. },
  24393. },
  24394. 8: {
  24395. Fmap1: [8]TFcChar32{
  24396. 5: uint32(0x30000000),
  24397. 7: uint32(0x03000000),
  24398. },
  24399. },
  24400. 9: {
  24401. Fmap1: [8]TFcChar32{
  24402. 0: uint32(0xff7fff7f),
  24403. 1: uint32(0xff01ff7f),
  24404. 2: uint32(0x00003d7f),
  24405. 3: uint32(0xffff7fff),
  24406. 4: uint32(0xffff3d7f),
  24407. 5: uint32(0x003d7fff),
  24408. 6: uint32(0xff7f7f00),
  24409. 7: uint32(0x00ff7fff),
  24410. },
  24411. },
  24412. 10: {
  24413. Fmap1: [8]TFcChar32{
  24414. 0: uint32(0x003d7fff),
  24415. 1: uint32(0xffffffff),
  24416. 2: uint32(0x007fff7f),
  24417. },
  24418. },
  24419. 11: {
  24420. Fmap1: [8]TFcChar32{
  24421. 2: uint32(0x07fffffe),
  24422. 3: uint32(0x07fffffe),
  24423. 6: uint32(0x140a2202),
  24424. 7: uint32(0x140a2202),
  24425. },
  24426. },
  24427. 12: {
  24428. Fmap1: [8]TFcChar32{
  24429. 1: uint32(0x07fffffe),
  24430. 2: uint32(0x000007fe),
  24431. },
  24432. },
  24433. 13: {
  24434. Fmap1: [8]TFcChar32{
  24435. 4: uint32(0xfff99fee),
  24436. 5: uint32(0xd3c4fdff),
  24437. 6: uint32(0xb000399f),
  24438. 7: uint32(0x00030000),
  24439. },
  24440. },
  24441. 14: {
  24442. Fmap1: [8]TFcChar32{
  24443. 1: uint32(0x00c00030),
  24444. },
  24445. },
  24446. 15: {
  24447. Fmap1: [8]TFcChar32{
  24448. 0: uint32(0xffff0042),
  24449. 1: uint32(0xffffffff),
  24450. 2: uint32(0x0002ffff),
  24451. },
  24452. },
  24453. 16: {
  24454. Fmap1: [8]TFcChar32{
  24455. 2: uint32(0x07fffffe),
  24456. 3: uint32(0x07fffffe),
  24457. 6: uint32(0x10028010),
  24458. 7: uint32(0x10028010),
  24459. },
  24460. },
  24461. 17: {
  24462. Fmap1: [8]TFcChar32{
  24463. 2: uint32(0x07fffffe),
  24464. 3: uint32(0x07fffffe),
  24465. 6: uint32(0x10400080),
  24466. 7: uint32(0x10400080),
  24467. },
  24468. },
  24469. 18: {
  24470. Fmap1: [8]TFcChar32{
  24471. 0: uint32(0xc0000000),
  24472. 1: uint32(0x00030000),
  24473. 2: uint32(0xc0000000),
  24474. 4: uint32(0x00008000),
  24475. },
  24476. },
  24477. 19: {
  24478. Fmap1: [8]TFcChar32{
  24479. 2: uint32(0x02000000),
  24480. },
  24481. },
  24482. 20: {
  24483. Fmap1: [8]TFcChar32{
  24484. 1: uint32(0x07ffffde),
  24485. 2: uint32(0x001009f6),
  24486. 3: uint32(0x40000000),
  24487. 4: uint32(0x01000040),
  24488. 5: uint32(0x00008200),
  24489. 6: uint32(0x00001000),
  24490. },
  24491. },
  24492. 21: {
  24493. Fmap1: [8]TFcChar32{
  24494. 0: uint32(0xffff0000),
  24495. 1: uint32(0xffffffff),
  24496. 2: uint32(0x0000ffff),
  24497. 4: uint32(0x030c0000),
  24498. 5: uint32(0x0c00cc0f),
  24499. 6: uint32(0x03000000),
  24500. 7: uint32(0x00000300),
  24501. },
  24502. },
  24503. 22: {
  24504. Fmap1: [8]TFcChar32{
  24505. 0: uint32(0xffff4040),
  24506. 1: uint32(0xffffffff),
  24507. 2: uint32(0x4040ffff),
  24508. },
  24509. },
  24510. 23: {
  24511. Fmap1: [8]TFcChar32{
  24512. 2: uint32(0x07fffffe),
  24513. 3: uint32(0x07fffffe),
  24514. },
  24515. },
  24516. 24: {
  24517. Fmap1: [8]TFcChar32{
  24518. 0: uint32(0x00003000),
  24519. 4: uint32(0x00110000),
  24520. 7: uint32(0x000000c0),
  24521. },
  24522. },
  24523. 25: {
  24524. Fmap1: [8]TFcChar32{
  24525. 2: uint32(0x08000000),
  24526. 3: uint32(0x00000008),
  24527. },
  24528. },
  24529. 26: {
  24530. Fmap1: [8]TFcChar32{
  24531. 0: uint32(0x00003000),
  24532. 1: uint32(0x00000030),
  24533. 3: uint32(0x0000300c),
  24534. 4: uint32(0x000c0000),
  24535. },
  24536. },
  24537. 27: {
  24538. Fmap1: [8]TFcChar32{
  24539. 1: uint32(0x3a8b0000),
  24540. 2: uint32(0x9e78e6b9),
  24541. 3: uint32(0x0000802e),
  24542. },
  24543. },
  24544. 28: {
  24545. Fmap1: [8]TFcChar32{
  24546. 0: uint32(0xffff0000),
  24547. 1: uint32(0xffffd7ff),
  24548. 2: uint32(0x0000d7ff),
  24549. },
  24550. },
  24551. 29: {
  24552. Fmap1: [8]TFcChar32{
  24553. 0: uint32(0xffffffe0),
  24554. 1: uint32(0x83ffffff),
  24555. 2: uint32(0x00003fff),
  24556. },
  24557. },
  24558. 30: {
  24559. Fmap1: [8]TFcChar32{
  24560. 2: uint32(0x07fffffe),
  24561. 3: uint32(0x07fffffe),
  24562. 6: uint32(0x10008200),
  24563. 7: uint32(0x10008200),
  24564. },
  24565. },
  24566. 31: {
  24567. Fmap1: [8]TFcChar32{
  24568. 2: uint32(0x07fffffe),
  24569. 3: uint32(0x07fffffe),
  24570. 6: uint32(0x060c3303),
  24571. 7: uint32(0x060c3303),
  24572. },
  24573. },
  24574. 32: {
  24575. Fmap1: [8]TFcChar32{
  24576. 0: uint32(0x00000003),
  24577. },
  24578. },
  24579. 33: {
  24580. Fmap1: [8]TFcChar32{
  24581. 5: uint32(0x03000000),
  24582. 6: uint32(0x00003000),
  24583. },
  24584. },
  24585. 34: {
  24586. Fmap1: [8]TFcChar32{
  24587. 2: uint32(0x00000c00),
  24588. 4: uint32(0x20010040),
  24589. },
  24590. },
  24591. 35: {
  24592. Fmap1: [8]TFcChar32{
  24593. 2: uint32(0x08100000),
  24594. 3: uint32(0x00040000),
  24595. },
  24596. },
  24597. 36: {
  24598. Fmap1: [8]TFcChar32{
  24599. 4: uint32(0xfff99fee),
  24600. 5: uint32(0xd3c5fdff),
  24601. 6: uint32(0xb000399f),
  24602. },
  24603. },
  24604. 37: {
  24605. Fmap1: [8]TFcChar32{
  24606. 2: uint32(0xfffffeff),
  24607. 3: uint32(0x3d7e03ff),
  24608. 4: uint32(0xfeff0003),
  24609. 5: uint32(0x03ffffff),
  24610. },
  24611. },
  24612. 38: {
  24613. Fmap1: [8]TFcChar32{
  24614. 2: uint32(0x07fffffe),
  24615. 3: uint32(0x07fffffe),
  24616. 6: uint32(0x12120404),
  24617. 7: uint32(0x12120404),
  24618. },
  24619. },
  24620. 39: {
  24621. Fmap1: [8]TFcChar32{
  24622. 0: uint32(0xfff99fee),
  24623. 1: uint32(0xf3e5fdff),
  24624. 2: uint32(0x0007399f),
  24625. 3: uint32(0x0001ffff),
  24626. },
  24627. },
  24628. 40: {
  24629. Fmap1: [8]TFcChar32{
  24630. 0: uint32(0x000330c0),
  24631. 3: uint32(0x60000003),
  24632. },
  24633. },
  24634. 41: {
  24635. Fmap1: [8]TFcChar32{
  24636. 0: uint32(0xffff0002),
  24637. 1: uint32(0xffffffff),
  24638. 2: uint32(0x0002ffff),
  24639. 5: uint32(0x0c00c000),
  24640. },
  24641. },
  24642. 42: {
  24643. Fmap1: [8]TFcChar32{
  24644. 0: uint32(0xff7fff7f),
  24645. 1: uint32(0xff01ff00),
  24646. 2: uint32(0x3d7f3d7f),
  24647. 3: uint32(0xffff7fff),
  24648. 4: uint32(0xffff0000),
  24649. 5: uint32(0x003d7fff),
  24650. 6: uint32(0xff7f7f3d),
  24651. 7: uint32(0x00ff7fff),
  24652. },
  24653. },
  24654. 43: {
  24655. Fmap1: [8]TFcChar32{
  24656. 0: uint32(0x003d7fff),
  24657. 1: uint32(0xffffffff),
  24658. 2: uint32(0x007fff00),
  24659. },
  24660. },
  24661. 44: {
  24662. Fmap1: [8]TFcChar32{
  24663. 2: uint32(0x07fffffe),
  24664. 3: uint32(0x07fffffe),
  24665. 6: uint32(0x140ca381),
  24666. 7: uint32(0x140ca381),
  24667. },
  24668. },
  24669. 45: {
  24670. Fmap1: [8]TFcChar32{
  24671. 1: uint32(0x80000000),
  24672. 2: uint32(0x00000001),
  24673. },
  24674. },
  24675. 46: {
  24676. Fmap1: [8]TFcChar32{
  24677. 2: uint32(0x07fffffe),
  24678. 3: uint32(0x07fffffe),
  24679. 6: uint32(0x10020004),
  24680. 7: uint32(0x10020004),
  24681. },
  24682. },
  24683. 47: {
  24684. Fmap1: [8]TFcChar32{
  24685. 0: uint32(0xffff0002),
  24686. 1: uint32(0xffffffff),
  24687. 2: uint32(0x0002ffff),
  24688. 5: uint32(0x00000030),
  24689. 6: uint32(0x000c0000),
  24690. 7: uint32(0x030300c0),
  24691. },
  24692. },
  24693. 48: {
  24694. Fmap1: [8]TFcChar32{
  24695. 5: uint32(0xffffffff),
  24696. 6: uint32(0xffffffff),
  24697. 7: uint32(0x001fffff),
  24698. },
  24699. },
  24700. 49: {
  24701. Fmap1: [8]TFcChar32{
  24702. 2: uint32(0x07fffffe),
  24703. 3: uint32(0x07fffffe),
  24704. 6: uint32(0x1a10cfc5),
  24705. 7: uint32(0x9a10cfc5),
  24706. },
  24707. },
  24708. 50: {
  24709. Fmap1: [8]TFcChar32{
  24710. 2: uint32(0x000c0000),
  24711. 3: uint32(0x01000000),
  24712. },
  24713. },
  24714. 51: {
  24715. Fmap1: [8]TFcChar32{
  24716. 2: uint32(0x07fffffe),
  24717. 3: uint32(0x07fffffe),
  24718. 6: uint32(0x10420084),
  24719. 7: uint32(0x10420084),
  24720. },
  24721. },
  24722. 52: {
  24723. Fmap1: [8]TFcChar32{
  24724. 0: uint32(0xc0000000),
  24725. 1: uint32(0x00030000),
  24726. 2: uint32(0xc0000000),
  24727. },
  24728. },
  24729. 53: {
  24730. Fmap1: [8]TFcChar32{
  24731. 2: uint32(0x07fffffe),
  24732. 3: uint32(0x07fffffe),
  24733. 6: uint32(0x24082202),
  24734. 7: uint32(0x24082202),
  24735. },
  24736. },
  24737. 54: {
  24738. Fmap1: [8]TFcChar32{
  24739. 0: uint32(0x0c00f000),
  24740. 2: uint32(0x03000180),
  24741. 3: uint32(0x6000c033),
  24742. },
  24743. },
  24744. 55: {
  24745. Fmap1: [8]TFcChar32{
  24746. 2: uint32(0x07fffffe),
  24747. 3: uint32(0x07fffffe),
  24748. 6: uint32(0x021c0a08),
  24749. 7: uint32(0x021c0a08),
  24750. },
  24751. },
  24752. 56: {
  24753. Fmap1: [8]TFcChar32{
  24754. 0: uint32(0x00000030),
  24755. 2: uint32(0x0000001e),
  24756. 3: uint32(0x18000000),
  24757. },
  24758. },
  24759. 57: {
  24760. Fmap1: [8]TFcChar32{
  24761. 0: uint32(0xfdffa966),
  24762. 1: uint32(0xffffdfff),
  24763. 2: uint32(0xa965dfff),
  24764. 3: uint32(0x03ffffff),
  24765. },
  24766. },
  24767. 58: {
  24768. Fmap1: [8]TFcChar32{
  24769. 0: uint32(0x0000000c),
  24770. },
  24771. },
  24772. 59: {
  24773. Fmap1: [8]TFcChar32{
  24774. 0: uint32(0xffff0002),
  24775. 1: uint32(0xffffffff),
  24776. 2: uint32(0x0002ffff),
  24777. 5: uint32(0x00000c00),
  24778. 6: uint32(0x00c00000),
  24779. 7: uint32(0x000c0000),
  24780. },
  24781. },
  24782. 60: {
  24783. Fmap1: [8]TFcChar32{
  24784. 2: uint32(0x07fffffe),
  24785. 3: uint32(0x07fffffe),
  24786. 6: uint32(0x0010c604),
  24787. 7: uint32(0x8010c604),
  24788. },
  24789. },
  24790. 61: {
  24791. Fmap1: [8]TFcChar32{
  24792. 3: uint32(0x01f00000),
  24793. },
  24794. },
  24795. 62: {
  24796. Fmap1: [8]TFcChar32{
  24797. 4: uint32(0x0000003f),
  24798. 7: uint32(0x000c0000),
  24799. },
  24800. },
  24801. 63: {
  24802. Fmap1: [8]TFcChar32{
  24803. 2: uint32(0x07fffffe),
  24804. 3: uint32(0x07fffffe),
  24805. 6: uint32(0x25082262),
  24806. 7: uint32(0x25082262),
  24807. },
  24808. },
  24809. 64: {
  24810. Fmap1: [8]TFcChar32{
  24811. 2: uint32(0x07fffffe),
  24812. 3: uint32(0x07fffffe),
  24813. 6: uint32(0x90400010),
  24814. 7: uint32(0x10400010),
  24815. },
  24816. },
  24817. 65: {
  24818. Fmap1: [8]TFcChar32{
  24819. 0: uint32(0xfff99fec),
  24820. 1: uint32(0xf3e5fdff),
  24821. 2: uint32(0xf807399f),
  24822. 3: uint32(0x0000ffff),
  24823. },
  24824. },
  24825. 66: {
  24826. Fmap1: [8]TFcChar32{
  24827. 4: uint32(0xffffffff),
  24828. 5: uint32(0x0001ffff),
  24829. },
  24830. },
  24831. 67: {
  24832. Fmap1: [8]TFcChar32{
  24833. 0: uint32(0x0c000000),
  24834. 2: uint32(0x00000c00),
  24835. 4: uint32(0x00170240),
  24836. 5: uint32(0x00040000),
  24837. 6: uint32(0x001fe000),
  24838. },
  24839. },
  24840. 68: {
  24841. Fmap1: [8]TFcChar32{
  24842. 2: uint32(0x08500000),
  24843. 3: uint32(0x00000008),
  24844. 4: uint32(0x00000800),
  24845. },
  24846. },
  24847. 69: {
  24848. Fmap1: [8]TFcChar32{
  24849. 0: uint32(0x00001003),
  24850. },
  24851. },
  24852. 70: {
  24853. Fmap1: [8]TFcChar32{
  24854. 4: uint32(0xffffd740),
  24855. 5: uint32(0xfffffffb),
  24856. 6: uint32(0x00007fff),
  24857. },
  24858. },
  24859. 71: {
  24860. Fmap1: [8]TFcChar32{
  24861. 2: uint32(0x07fffffe),
  24862. 3: uint32(0x07fffffe),
  24863. 6: uint32(0x00528f81),
  24864. 7: uint32(0x00528f81),
  24865. },
  24866. },
  24867. 72: {
  24868. Fmap1: [8]TFcChar32{
  24869. 0: uint32(0x30000300),
  24870. 1: uint32(0x00300030),
  24871. 2: uint32(0x30000000),
  24872. 3: uint32(0x00003000),
  24873. },
  24874. },
  24875. 73: {
  24876. Fmap1: [8]TFcChar32{
  24877. 2: uint32(0x07fffffe),
  24878. 3: uint32(0x07fffffe),
  24879. 6: uint32(0x10600010),
  24880. 7: uint32(0x10600010),
  24881. },
  24882. },
  24883. 74: {
  24884. Fmap1: [8]TFcChar32{
  24885. 3: uint32(0x60000003),
  24886. },
  24887. },
  24888. 75: {
  24889. Fmap1: [8]TFcChar32{
  24890. 2: uint32(0x07fffffe),
  24891. 3: uint32(0x07fffffe),
  24892. 6: uint32(0x10020000),
  24893. 7: uint32(0x10020000),
  24894. },
  24895. },
  24896. 76: {
  24897. Fmap1: [8]TFcChar32{
  24898. 2: uint32(0x00000c00),
  24899. 4: uint32(0x20000402),
  24900. 5: uint32(0x00180000),
  24901. },
  24902. },
  24903. 77: {
  24904. Fmap1: [8]TFcChar32{
  24905. 2: uint32(0x00880000),
  24906. 3: uint32(0x00040000),
  24907. },
  24908. },
  24909. 78: {
  24910. Fmap1: [8]TFcChar32{
  24911. 2: uint32(0x07fffffe),
  24912. 3: uint32(0x07fffffe),
  24913. 6: uint32(0x00400030),
  24914. 7: uint32(0x00400030),
  24915. },
  24916. },
  24917. 79: {
  24918. Fmap1: [8]TFcChar32{
  24919. 2: uint32(0x07fffffe),
  24920. 3: uint32(0x07fffffe),
  24921. 6: uint32(0x0e1e7707),
  24922. 7: uint32(0x0e1e7707),
  24923. },
  24924. },
  24925. 80: {
  24926. Fmap1: [8]TFcChar32{
  24927. 2: uint32(0x07fffffe),
  24928. 3: uint32(0x07fffffe),
  24929. 6: uint32(0x25092042),
  24930. 7: uint32(0x25092042),
  24931. },
  24932. },
  24933. 81: {
  24934. Fmap1: [8]TFcChar32{
  24935. 2: uint32(0x07fffffe),
  24936. 3: uint32(0x07fffffe),
  24937. 6: uint32(0x02041107),
  24938. 7: uint32(0x02041107),
  24939. },
  24940. },
  24941. 82: {
  24942. Fmap1: [8]TFcChar32{
  24943. 2: uint32(0x07fffffe),
  24944. 3: uint32(0x07fffffe),
  24945. 6: uint32(0x9c508e14),
  24946. 7: uint32(0x1c508e14),
  24947. },
  24948. },
  24949. 83: {
  24950. Fmap1: [8]TFcChar32{
  24951. 2: uint32(0x07fffffe),
  24952. 3: uint32(0x07fffffe),
  24953. 6: uint32(0x04082202),
  24954. 7: uint32(0x04082202),
  24955. },
  24956. },
  24957. 84: {
  24958. Fmap1: [8]TFcChar32{
  24959. 0: uint32(0x00000c00),
  24960. 1: uint32(0x00000003),
  24961. },
  24962. },
  24963. 85: {
  24964. Fmap1: [8]TFcChar32{
  24965. 0: uint32(0xc0000c0c),
  24966. 2: uint32(0x00c00003),
  24967. 3: uint32(0x00000c03),
  24968. },
  24969. },
  24970. 86: {
  24971. Fmap1: [8]TFcChar32{
  24972. 2: uint32(0x07fffffe),
  24973. 3: uint32(0x07fffffe),
  24974. 6: uint32(0x020c1383),
  24975. 7: uint32(0x020c1383),
  24976. },
  24977. },
  24978. 87: {
  24979. Fmap1: [8]TFcChar32{
  24980. 0: uint32(0xff7fff7f),
  24981. 1: uint32(0xff01ff7f),
  24982. 2: uint32(0x00003d7f),
  24983. 3: uint32(0x00ff00ff),
  24984. 4: uint32(0x00ff3d7f),
  24985. 5: uint32(0x003d7fff),
  24986. 6: uint32(0xff7f7f00),
  24987. 7: uint32(0x00ff7f00),
  24988. },
  24989. },
  24990. 88: {
  24991. Fmap1: [8]TFcChar32{
  24992. 0: uint32(0x003d7f00),
  24993. 1: uint32(0xffff01ff),
  24994. 2: uint32(0x007fff7f),
  24995. },
  24996. },
  24997. 89: {
  24998. Fmap1: [8]TFcChar32{
  24999. 2: uint32(0x07fffffe),
  25000. 3: uint32(0x07fffffe),
  25001. 6: uint32(0x040a2202),
  25002. 7: uint32(0x042a220a),
  25003. },
  25004. },
  25005. 90: {
  25006. Fmap1: [8]TFcChar32{
  25007. 1: uint32(0x00000200),
  25008. 3: uint32(0x00000200),
  25009. },
  25010. },
  25011. 91: {
  25012. Fmap1: [8]TFcChar32{
  25013. 5: uint32(0x20000000),
  25014. 7: uint32(0x02000000),
  25015. },
  25016. },
  25017. 92: {
  25018. Fmap1: [8]TFcChar32{
  25019. 4: uint32(0xfffbafee),
  25020. 5: uint32(0xf3edfdff),
  25021. 6: uint32(0x00013bbf),
  25022. 7: uint32(0x00000001),
  25023. },
  25024. },
  25025. 93: {
  25026. Fmap1: [8]TFcChar32{
  25027. 2: uint32(0x07fffffe),
  25028. 3: uint32(0x07fffffe),
  25029. 6: uint32(0x00000080),
  25030. 7: uint32(0x00000080),
  25031. },
  25032. },
  25033. 94: {
  25034. Fmap1: [8]TFcChar32{
  25035. 4: uint32(0x03000402),
  25036. 5: uint32(0x00180000),
  25037. },
  25038. },
  25039. 95: {
  25040. Fmap1: [8]TFcChar32{
  25041. 2: uint32(0x00880000),
  25042. },
  25043. },
  25044. 96: {
  25045. Fmap1: [8]TFcChar32{
  25046. 0: uint32(0x000c0003),
  25047. 1: uint32(0x00000c00),
  25048. 2: uint32(0x00003000),
  25049. 3: uint32(0x00000c00),
  25050. },
  25051. },
  25052. 97: {
  25053. Fmap1: [8]TFcChar32{
  25054. 5: uint32(0x08000000),
  25055. },
  25056. },
  25057. 98: {
  25058. Fmap1: [8]TFcChar32{
  25059. 6: uint32(0xffff0000),
  25060. 7: uint32(0x000007ff),
  25061. },
  25062. },
  25063. 99: {
  25064. Fmap1: [8]TFcChar32{
  25065. 2: uint32(0x07fffffe),
  25066. 3: uint32(0x07fffffe),
  25067. 6: uint32(0x00080000),
  25068. 7: uint32(0x00080000),
  25069. },
  25070. },
  25071. 100: {
  25072. Fmap1: [8]TFcChar32{
  25073. 0: uint32(0x0c0030c0),
  25074. 2: uint32(0x0300001e),
  25075. 3: uint32(0x66000003),
  25076. },
  25077. },
  25078. 101: {
  25079. Fmap1: [8]TFcChar32{
  25080. 2: uint32(0x07fffffe),
  25081. 3: uint32(0x07fffffe),
  25082. 6: uint32(0x00040100),
  25083. 7: uint32(0x00040100),
  25084. },
  25085. },
  25086. 102: {
  25087. Fmap1: [8]TFcChar32{
  25088. 2: uint32(0x07fffffe),
  25089. 3: uint32(0x07fffffe),
  25090. 6: uint32(0x14482202),
  25091. 7: uint32(0x14482202),
  25092. },
  25093. },
  25094. 103: {
  25095. Fmap1: [8]TFcChar32{
  25096. 2: uint32(0x00030000),
  25097. 3: uint32(0x00030000),
  25098. },
  25099. },
  25100. 104: {
  25101. Fmap1: [8]TFcChar32{
  25102. 1: uint32(0xfffe0000),
  25103. 2: uint32(0x007fffff),
  25104. 3: uint32(0xfffffffe),
  25105. 4: uint32(0x000000ff),
  25106. },
  25107. },
  25108. 105: {
  25109. Fmap1: [8]TFcChar32{
  25110. 1: uint32(0x00008000),
  25111. },
  25112. },
  25113. 106: {
  25114. Fmap1: [8]TFcChar32{
  25115. 0: uint32(0x000c0000),
  25116. 2: uint32(0x00000c00),
  25117. },
  25118. },
  25119. 107: {
  25120. Fmap1: [8]TFcChar32{
  25121. 2: uint32(0x07fffffe),
  25122. 3: uint32(0x07fffffe),
  25123. 6: uint32(0x00000200),
  25124. 7: uint32(0x00000200),
  25125. },
  25126. },
  25127. 108: {
  25128. Fmap1: [8]TFcChar32{
  25129. 6: uint32(0x00003c00),
  25130. 7: uint32(0x00000030),
  25131. },
  25132. },
  25133. 109: {
  25134. Fmap1: [8]TFcChar32{
  25135. 0: uint32(0xffffffff),
  25136. 1: uint32(0xffffffff),
  25137. 2: uint32(0xffffffff),
  25138. 3: uint32(0xffffffff),
  25139. 4: uint32(0xffffffff),
  25140. 5: uint32(0xffffffff),
  25141. 6: uint32(0xffffffff),
  25142. 7: uint32(0xffffffff),
  25143. },
  25144. },
  25145. 110: {
  25146. Fmap1: [8]TFcChar32{
  25147. 0: uint32(0xffffffff),
  25148. 1: uint32(0xffffffff),
  25149. 2: uint32(0xffffffff),
  25150. 3: uint32(0xffffffff),
  25151. 4: uint32(0x00001fff),
  25152. },
  25153. },
  25154. 111: {
  25155. Fmap1: [8]TFcChar32{
  25156. 0: uint32(0xffff4002),
  25157. 1: uint32(0xffffffff),
  25158. 2: uint32(0x4002ffff),
  25159. },
  25160. },
  25161. 112: {
  25162. Fmap1: [8]TFcChar32{
  25163. 2: uint32(0x07fffffe),
  25164. 3: uint32(0x07fffffe),
  25165. 6: uint32(0x64092242),
  25166. 7: uint32(0x64092242),
  25167. },
  25168. },
  25169. 113: {
  25170. Fmap1: [8]TFcChar32{
  25171. 2: uint32(0x07fffffe),
  25172. 3: uint32(0x07fffffe),
  25173. 6: uint32(0x060cb301),
  25174. 7: uint32(0x060cb301),
  25175. },
  25176. },
  25177. 114: {
  25178. Fmap1: [8]TFcChar32{
  25179. 0: uint32(0x00000c7e),
  25180. 1: uint32(0x031f8000),
  25181. 2: uint32(0x0063f200),
  25182. 3: uint32(0x000df840),
  25183. 4: uint32(0x00037e08),
  25184. 5: uint32(0x08000dfa),
  25185. 6: uint32(0x0df901bf),
  25186. 7: uint32(0x5437e400),
  25187. },
  25188. },
  25189. 115: {
  25190. Fmap1: [8]TFcChar32{
  25191. 0: uint32(0x00000025),
  25192. 1: uint32(0x40006fc0),
  25193. 2: uint32(0x27f91be4),
  25194. 3: uint32(0xdee00000),
  25195. 4: uint32(0x007ff83f),
  25196. 5: uint32(0x00007f7f),
  25197. },
  25198. },
  25199. 116: {
  25200. Fmap1: [8]TFcChar32{
  25201. 3: uint32(0x007f8000),
  25202. },
  25203. },
  25204. 117: {
  25205. Fmap1: [8]TFcChar32{
  25206. 0: uint32(0x000000a7),
  25207. 2: uint32(0xfffffffe),
  25208. 3: uint32(0xffffffff),
  25209. 4: uint32(0x780fffff),
  25210. 5: uint32(0xfffffffe),
  25211. 6: uint32(0xffffffff),
  25212. 7: uint32(0x787fffff),
  25213. },
  25214. },
  25215. 118: {
  25216. Fmap1: [8]TFcChar32{
  25217. 0: uint32(0x03506f8b),
  25218. 1: uint32(0x1b042042),
  25219. 2: uint32(0x62808020),
  25220. 3: uint32(0x400a0000),
  25221. 4: uint32(0x10341b41),
  25222. 5: uint32(0x04003812),
  25223. 6: uint32(0x03608c02),
  25224. 7: uint32(0x08454038),
  25225. },
  25226. },
  25227. 119: {
  25228. Fmap1: [8]TFcChar32{
  25229. 0: uint32(0x2403c002),
  25230. 1: uint32(0x15108000),
  25231. 2: uint32(0x1229e040),
  25232. 3: uint32(0x80280000),
  25233. 4: uint32(0x28002800),
  25234. 5: uint32(0x8060c002),
  25235. 6: uint32(0x2080040c),
  25236. 7: uint32(0x05284002),
  25237. },
  25238. },
  25239. 120: {
  25240. Fmap1: [8]TFcChar32{
  25241. 0: uint32(0x82042a00),
  25242. 1: uint32(0x02000818),
  25243. 2: uint32(0x10008200),
  25244. 3: uint32(0x20700020),
  25245. 4: uint32(0x03022000),
  25246. 5: uint32(0x40a41000),
  25247. 6: uint32(0x0420a020),
  25248. 7: uint32(0x00000080),
  25249. },
  25250. },
  25251. 121: {
  25252. Fmap1: [8]TFcChar32{
  25253. 0: uint32(0x80040011),
  25254. 1: uint32(0x00000400),
  25255. 2: uint32(0x04012b78),
  25256. 3: uint32(0x11a23920),
  25257. 4: uint32(0x02842460),
  25258. 5: uint32(0x00c01021),
  25259. 6: uint32(0x20002050),
  25260. 7: uint32(0x07400042),
  25261. },
  25262. },
  25263. 122: {
  25264. Fmap1: [8]TFcChar32{
  25265. 0: uint32(0x208205c9),
  25266. 1: uint32(0x0fc10230),
  25267. 2: uint32(0x08402480),
  25268. 3: uint32(0x00258018),
  25269. 4: uint32(0x88000080),
  25270. 5: uint32(0x42120609),
  25271. 6: uint32(0xa32002a8),
  25272. 7: uint32(0x40040094),
  25273. },
  25274. },
  25275. 123: {
  25276. Fmap1: [8]TFcChar32{
  25277. 0: uint32(0x00c00024),
  25278. 1: uint32(0x8e000001),
  25279. 2: uint32(0x059e058a),
  25280. 3: uint32(0x013b0001),
  25281. 4: uint32(0x85000010),
  25282. 5: uint32(0x08080000),
  25283. 6: uint32(0x02d07d04),
  25284. 7: uint32(0x018d9838),
  25285. },
  25286. },
  25287. 124: {
  25288. Fmap1: [8]TFcChar32{
  25289. 0: uint32(0x8803f310),
  25290. 1: uint32(0x03000840),
  25291. 2: uint32(0x00000704),
  25292. 3: uint32(0x30080500),
  25293. 4: uint32(0x00001000),
  25294. 5: uint32(0x20040000),
  25295. 6: uint32(0x00000003),
  25296. 7: uint32(0x04040002),
  25297. },
  25298. },
  25299. 125: {
  25300. Fmap1: [8]TFcChar32{
  25301. 0: uint32(0x000100d0),
  25302. 1: uint32(0x40028000),
  25303. 2: uint32(0x00088040),
  25304. 4: uint32(0x34000210),
  25305. 5: uint32(0x00400e00),
  25306. 6: uint32(0x00000020),
  25307. 7: uint32(0x00000008),
  25308. },
  25309. },
  25310. 126: {
  25311. Fmap1: [8]TFcChar32{
  25312. 0: uint32(0x00000040),
  25313. 1: uint32(0x00060000),
  25314. 3: uint32(0x00100100),
  25315. 4: uint32(0x00000080),
  25316. 6: uint32(0x4c000000),
  25317. 7: uint32(0x240d0009),
  25318. },
  25319. },
  25320. 127: {
  25321. Fmap1: [8]TFcChar32{
  25322. 0: uint32(0x80048000),
  25323. 1: uint32(0x00010180),
  25324. 2: uint32(0x00020484),
  25325. 3: uint32(0x00000400),
  25326. 4: uint32(0x00000804),
  25327. 5: uint32(0x00000008),
  25328. 6: uint32(0x80004800),
  25329. 7: uint32(0x16800000),
  25330. },
  25331. },
  25332. 128: {
  25333. Fmap1: [8]TFcChar32{
  25334. 0: uint32(0x00200065),
  25335. 1: uint32(0x00120410),
  25336. 2: uint32(0x44920403),
  25337. 3: uint32(0x40000200),
  25338. 4: uint32(0x10880008),
  25339. 5: uint32(0x40080100),
  25340. 6: uint32(0x00001482),
  25341. 7: uint32(0x00074800),
  25342. },
  25343. },
  25344. 129: {
  25345. Fmap1: [8]TFcChar32{
  25346. 0: uint32(0x14608200),
  25347. 1: uint32(0x00024e84),
  25348. 2: uint32(0x00128380),
  25349. 3: uint32(0x20184520),
  25350. 4: uint32(0x0240041c),
  25351. 5: uint32(0x0a001120),
  25352. 6: uint32(0x00180a00),
  25353. 7: uint32(0x88000800),
  25354. },
  25355. },
  25356. 130: {
  25357. Fmap1: [8]TFcChar32{
  25358. 0: uint32(0x01000002),
  25359. 1: uint32(0x00008001),
  25360. 2: uint32(0x04000040),
  25361. 3: uint32(0x80000040),
  25362. 4: uint32(0x08040000),
  25363. 6: uint32(0x00001202),
  25364. 7: uint32(0x00000002),
  25365. },
  25366. },
  25367. 131: {
  25368. Fmap1: [8]TFcChar32{
  25369. 1: uint32(0x00000004),
  25370. 2: uint32(0x21910000),
  25371. 3: uint32(0x00000858),
  25372. 4: uint32(0xbf8013a0),
  25373. 5: uint32(0x8279401c),
  25374. 6: uint32(0xa8041054),
  25375. 7: uint32(0xc5004282),
  25376. },
  25377. },
  25378. 132: {
  25379. Fmap1: [8]TFcChar32{
  25380. 0: uint32(0x0402ce56),
  25381. 1: uint32(0xfc020000),
  25382. 2: uint32(0x40200d21),
  25383. 3: uint32(0x00028030),
  25384. 4: uint32(0x00010000),
  25385. 5: uint32(0x01081202),
  25386. 7: uint32(0x00410003),
  25387. },
  25388. },
  25389. 133: {
  25390. Fmap1: [8]TFcChar32{
  25391. 0: uint32(0x00404080),
  25392. 1: uint32(0x00000200),
  25393. 2: uint32(0x00010000),
  25394. 6: uint32(0x60000000),
  25395. 7: uint32(0x480241ea),
  25396. },
  25397. },
  25398. 134: {
  25399. Fmap1: [8]TFcChar32{
  25400. 0: uint32(0x2000104c),
  25401. 1: uint32(0x2109a820),
  25402. 2: uint32(0x00200020),
  25403. 3: uint32(0x7b1c0008),
  25404. 4: uint32(0x10a0840a),
  25405. 5: uint32(0x01c028c0),
  25406. 6: uint32(0x00000608),
  25407. 7: uint32(0x04c00000),
  25408. },
  25409. },
  25410. 135: {
  25411. Fmap1: [8]TFcChar32{
  25412. 0: uint32(0x80398412),
  25413. 1: uint32(0x40a200e0),
  25414. 2: uint32(0x02080000),
  25415. 3: uint32(0x12030a04),
  25416. 4: uint32(0x008d1833),
  25417. 5: uint32(0x02184602),
  25418. 6: uint32(0x13803028),
  25419. 7: uint32(0x00200801),
  25420. },
  25421. },
  25422. 136: {
  25423. Fmap1: [8]TFcChar32{
  25424. 0: uint32(0x20440000),
  25425. 1: uint32(0x000005a1),
  25426. 2: uint32(0x00050800),
  25427. 3: uint32(0x0020a328),
  25428. 4: uint32(0x80100000),
  25429. 5: uint32(0x10040649),
  25430. 6: uint32(0x10020020),
  25431. 7: uint32(0x00090180),
  25432. },
  25433. },
  25434. 137: {
  25435. Fmap1: [8]TFcChar32{
  25436. 0: uint32(0x8c008202),
  25437. 2: uint32(0x00205910),
  25438. 3: uint32(0x0041410c),
  25439. 4: uint32(0x00004004),
  25440. 5: uint32(0x40441290),
  25441. 6: uint32(0x00010080),
  25442. 7: uint32(0x01040000),
  25443. },
  25444. },
  25445. 138: {
  25446. Fmap1: [8]TFcChar32{
  25447. 0: uint32(0x04070000),
  25448. 1: uint32(0x89108040),
  25449. 2: uint32(0x00282a81),
  25450. 3: uint32(0x82420000),
  25451. 4: uint32(0x51a20411),
  25452. 5: uint32(0x32220800),
  25453. 6: uint32(0x2b0d2220),
  25454. 7: uint32(0x40c83003),
  25455. },
  25456. },
  25457. 139: {
  25458. Fmap1: [8]TFcChar32{
  25459. 0: uint32(0x82020082),
  25460. 1: uint32(0x80008900),
  25461. 2: uint32(0x10a00200),
  25462. 3: uint32(0x08004100),
  25463. 4: uint32(0x09041108),
  25464. 5: uint32(0x000405a6),
  25465. 6: uint32(0x0c018000),
  25466. 7: uint32(0x04104002),
  25467. },
  25468. },
  25469. 140: {
  25470. Fmap1: [8]TFcChar32{
  25471. 0: uint32(0x00002000),
  25472. 1: uint32(0x44003000),
  25473. 2: uint32(0x01000004),
  25474. 3: uint32(0x00008200),
  25475. 4: uint32(0x00000008),
  25476. 5: uint32(0x00044010),
  25477. 6: uint32(0x00002002),
  25478. 7: uint32(0x00001040),
  25479. },
  25480. },
  25481. 141: {
  25482. Fmap1: [8]TFcChar32{
  25483. 1: uint32(0xca008000),
  25484. 2: uint32(0x02828020),
  25485. 3: uint32(0x00b1100c),
  25486. 4: uint32(0x12824280),
  25487. 5: uint32(0x22013030),
  25488. 6: uint32(0x00808820),
  25489. 7: uint32(0x040013e4),
  25490. },
  25491. },
  25492. 142: {
  25493. Fmap1: [8]TFcChar32{
  25494. 0: uint32(0x801840c0),
  25495. 1: uint32(0x1000a1a1),
  25496. 2: uint32(0x00000004),
  25497. 3: uint32(0x0050c200),
  25498. 4: uint32(0x00c20082),
  25499. 5: uint32(0x00104840),
  25500. 6: uint32(0x10400080),
  25501. 7: uint32(0xa3140000),
  25502. },
  25503. },
  25504. 143: {
  25505. Fmap1: [8]TFcChar32{
  25506. 0: uint32(0xa8a02301),
  25507. 1: uint32(0x24123d00),
  25508. 2: uint32(0x80030200),
  25509. 3: uint32(0xc0028022),
  25510. 4: uint32(0x34a10000),
  25511. 5: uint32(0x00408005),
  25512. 6: uint32(0x00190010),
  25513. 7: uint32(0x882a0000),
  25514. },
  25515. },
  25516. 144: {
  25517. Fmap1: [8]TFcChar32{
  25518. 0: uint32(0x00080018),
  25519. 1: uint32(0x33000402),
  25520. 2: uint32(0x9002010a),
  25521. 4: uint32(0x00800020),
  25522. 5: uint32(0x00010100),
  25523. 6: uint32(0x84040810),
  25524. 7: uint32(0x04004000),
  25525. },
  25526. },
  25527. 145: {
  25528. Fmap1: [8]TFcChar32{
  25529. 0: uint32(0x10006020),
  25530. 3: uint32(0x30a02000),
  25531. 4: uint32(0x00000004),
  25532. 6: uint32(0x01000800),
  25533. 7: uint32(0x20000000),
  25534. },
  25535. },
  25536. 146: {
  25537. Fmap1: [8]TFcChar32{
  25538. 0: uint32(0x02000000),
  25539. 1: uint32(0x02000602),
  25540. 2: uint32(0x80000800),
  25541. },
  25542. },
  25543. 147: {
  25544. Fmap1: [8]TFcChar32{
  25545. 0: uint32(0x00000010),
  25546. 1: uint32(0x44040083),
  25547. 2: uint32(0x00081000),
  25548. 3: uint32(0x0818824c),
  25549. 4: uint32(0x00400e00),
  25550. 5: uint32(0x8c300000),
  25551. 6: uint32(0x08146001),
  25552. },
  25553. },
  25554. 148: {
  25555. Fmap1: [8]TFcChar32{
  25556. 0: uint32(0x00828000),
  25557. 1: uint32(0x41900000),
  25558. 2: uint32(0x84804006),
  25559. 3: uint32(0x24010001),
  25560. 4: uint32(0x02400108),
  25561. 5: uint32(0x9b080006),
  25562. 6: uint32(0x00201602),
  25563. 7: uint32(0x0009012e),
  25564. },
  25565. },
  25566. 149: {
  25567. Fmap1: [8]TFcChar32{
  25568. 0: uint32(0x40800800),
  25569. 1: uint32(0x48000420),
  25570. 2: uint32(0x10000032),
  25571. 3: uint32(0x01904440),
  25572. 4: uint32(0x02000100),
  25573. 5: uint32(0x10048000),
  25574. 6: uint32(0x00020000),
  25575. 7: uint32(0x08820802),
  25576. },
  25577. },
  25578. 150: {
  25579. Fmap1: [8]TFcChar32{
  25580. 0: uint32(0x08080ba0),
  25581. 1: uint32(0x00009242),
  25582. 2: uint32(0x00400000),
  25583. 3: uint32(0xc0008080),
  25584. 4: uint32(0x20410001),
  25585. 5: uint32(0x04400000),
  25586. 6: uint32(0x60020820),
  25587. 7: uint32(0x00100000),
  25588. },
  25589. },
  25590. 151: {
  25591. Fmap1: [8]TFcChar32{
  25592. 0: uint32(0x00108046),
  25593. 1: uint32(0x01001805),
  25594. 2: uint32(0x90100000),
  25595. 3: uint32(0x00014010),
  25596. 4: uint32(0x00000010),
  25597. 6: uint32(0x0000000b),
  25598. 7: uint32(0x00008800),
  25599. },
  25600. },
  25601. 152: {
  25602. Fmap1: [8]TFcChar32{
  25603. 1: uint32(0x00001000),
  25604. 3: uint32(0x20018800),
  25605. 4: uint32(0x00004600),
  25606. 5: uint32(0x06002000),
  25607. 6: uint32(0x00000100),
  25608. },
  25609. },
  25610. 153: {
  25611. Fmap1: [8]TFcChar32{
  25612. 1: uint32(0x10400042),
  25613. 2: uint32(0x02004000),
  25614. 3: uint32(0x00004280),
  25615. 4: uint32(0x80000400),
  25616. 5: uint32(0x00020000),
  25617. 6: uint32(0x00000008),
  25618. 7: uint32(0x00000020),
  25619. },
  25620. },
  25621. 154: {
  25622. Fmap1: [8]TFcChar32{
  25623. 0: uint32(0x00000040),
  25624. 1: uint32(0x20600400),
  25625. 2: uint32(0x0a000180),
  25626. 3: uint32(0x02040280),
  25627. 5: uint32(0x00409001),
  25628. 6: uint32(0x02000004),
  25629. 7: uint32(0x00003200),
  25630. },
  25631. },
  25632. 155: {
  25633. Fmap1: [8]TFcChar32{
  25634. 0: uint32(0x88000000),
  25635. 1: uint32(0x80404800),
  25636. 2: uint32(0x00000010),
  25637. 3: uint32(0x00040008),
  25638. 4: uint32(0x00000a90),
  25639. 5: uint32(0x00000200),
  25640. 6: uint32(0x00002000),
  25641. 7: uint32(0x40002001),
  25642. },
  25643. },
  25644. 156: {
  25645. Fmap1: [8]TFcChar32{
  25646. 0: uint32(0x00000048),
  25647. 1: uint32(0x00100000),
  25648. 3: uint32(0x00000001),
  25649. 4: uint32(0x00000008),
  25650. 5: uint32(0x20010080),
  25651. 7: uint32(0x00400040),
  25652. },
  25653. },
  25654. 157: {
  25655. Fmap1: [8]TFcChar32{
  25656. 0: uint32(0x85000000),
  25657. 1: uint32(0x0c8f0108),
  25658. 2: uint32(0x32129000),
  25659. 3: uint32(0x80090420),
  25660. 4: uint32(0x00024000),
  25661. 5: uint32(0x40040800),
  25662. 6: uint32(0x092000a0),
  25663. 7: uint32(0x00100204),
  25664. },
  25665. },
  25666. 158: {
  25667. Fmap1: [8]TFcChar32{
  25668. 0: uint32(0x00002000),
  25669. 2: uint32(0x00440004),
  25670. 3: uint32(0x6c000000),
  25671. 4: uint32(0x000000d0),
  25672. 5: uint32(0x80004000),
  25673. 6: uint32(0x88800440),
  25674. 7: uint32(0x41144018),
  25675. },
  25676. },
  25677. 159: {
  25678. Fmap1: [8]TFcChar32{
  25679. 0: uint32(0x80001a02),
  25680. 1: uint32(0x14000001),
  25681. 2: uint32(0x00000001),
  25682. 3: uint32(0x0000004a),
  25683. 5: uint32(0x00083000),
  25684. 6: uint32(0x08000000),
  25685. 7: uint32(0x0008a024),
  25686. },
  25687. },
  25688. 160: {
  25689. Fmap1: [8]TFcChar32{
  25690. 0: uint32(0x00300004),
  25691. 1: uint32(0x00140000),
  25692. 2: uint32(0x20000000),
  25693. 3: uint32(0x00001800),
  25694. 4: uint32(0x00020002),
  25695. 5: uint32(0x04000000),
  25696. 6: uint32(0x00000002),
  25697. 7: uint32(0x00000100),
  25698. },
  25699. },
  25700. 161: {
  25701. Fmap1: [8]TFcChar32{
  25702. 0: uint32(0x00004002),
  25703. 1: uint32(0x54000000),
  25704. 2: uint32(0x60400300),
  25705. 3: uint32(0x00002120),
  25706. 4: uint32(0x0000a022),
  25707. 6: uint32(0x81060803),
  25708. 7: uint32(0x08010200),
  25709. },
  25710. },
  25711. 162: {
  25712. Fmap1: [8]TFcChar32{
  25713. 0: uint32(0x04004800),
  25714. 1: uint32(0xb0044000),
  25715. 2: uint32(0x0000a005),
  25716. 3: uint32(0x04500800),
  25717. 4: uint32(0x800c000a),
  25718. 5: uint32(0x0000c000),
  25719. 6: uint32(0x10000800),
  25720. 7: uint32(0x02408021),
  25721. },
  25722. },
  25723. 163: {
  25724. Fmap1: [8]TFcChar32{
  25725. 0: uint32(0x08020000),
  25726. 1: uint32(0x00001040),
  25727. 2: uint32(0x00540a40),
  25728. 4: uint32(0x00800880),
  25729. 5: uint32(0x01020002),
  25730. 6: uint32(0x00000211),
  25731. 7: uint32(0x00000010),
  25732. },
  25733. },
  25734. 164: {
  25735. Fmap1: [8]TFcChar32{
  25736. 1: uint32(0x80000002),
  25737. 2: uint32(0x00002000),
  25738. 3: uint32(0x00080001),
  25739. 4: uint32(0x09840a00),
  25740. 5: uint32(0x40000080),
  25741. 6: uint32(0x00400000),
  25742. 7: uint32(0x49000080),
  25743. },
  25744. },
  25745. 165: {
  25746. Fmap1: [8]TFcChar32{
  25747. 0: uint32(0x0e102831),
  25748. 1: uint32(0x06098807),
  25749. 2: uint32(0x40011014),
  25750. 3: uint32(0x02620042),
  25751. 4: uint32(0x06000000),
  25752. 5: uint32(0x88062000),
  25753. 6: uint32(0x04068400),
  25754. 7: uint32(0x08108301),
  25755. },
  25756. },
  25757. 166: {
  25758. Fmap1: [8]TFcChar32{
  25759. 0: uint32(0x08000012),
  25760. 1: uint32(0x40004840),
  25761. 2: uint32(0x00300402),
  25762. 3: uint32(0x00012000),
  25763. },
  25764. },
  25765. 167: {
  25766. Fmap1: [8]TFcChar32{
  25767. 1: uint32(0x00400000),
  25768. 3: uint32(0x00a54400),
  25769. 4: uint32(0x40004420),
  25770. 5: uint32(0x20000310),
  25771. 6: uint32(0x00041002),
  25772. 7: uint32(0x18000000),
  25773. },
  25774. },
  25775. 168: {
  25776. Fmap1: [8]TFcChar32{
  25777. 0: uint32(0x00a1002a),
  25778. 1: uint32(0x00080000),
  25779. 2: uint32(0x40400000),
  25780. 3: uint32(0x00900000),
  25781. 4: uint32(0x21401200),
  25782. 5: uint32(0x04048626),
  25783. 6: uint32(0x40005048),
  25784. 7: uint32(0x21100000),
  25785. },
  25786. },
  25787. 169: {
  25788. Fmap1: [8]TFcChar32{
  25789. 0: uint32(0x040005a4),
  25790. 1: uint32(0x000a0000),
  25791. 2: uint32(0x00214000),
  25792. 3: uint32(0x07010800),
  25793. 4: uint32(0x34000000),
  25794. 5: uint32(0x00080100),
  25795. 6: uint32(0x00080040),
  25796. 7: uint32(0x10182508),
  25797. },
  25798. },
  25799. 170: {
  25800. Fmap1: [8]TFcChar32{
  25801. 0: uint32(0xc0805100),
  25802. 1: uint32(0x02c01400),
  25803. 2: uint32(0x00000080),
  25804. 3: uint32(0x00448040),
  25805. 4: uint32(0x20000800),
  25806. 5: uint32(0x210a8000),
  25807. 6: uint32(0x08800000),
  25808. 7: uint32(0x00020060),
  25809. },
  25810. },
  25811. 171: {
  25812. Fmap1: [8]TFcChar32{
  25813. 0: uint32(0x00004004),
  25814. 1: uint32(0x00400100),
  25815. 2: uint32(0x01040200),
  25816. 3: uint32(0x00800000),
  25817. 6: uint32(0x10081400),
  25818. 7: uint32(0x00008000),
  25819. },
  25820. },
  25821. 172: {
  25822. Fmap1: [8]TFcChar32{
  25823. 0: uint32(0x00004000),
  25824. 1: uint32(0x20000000),
  25825. 2: uint32(0x08800200),
  25826. 3: uint32(0x00001000),
  25827. 5: uint32(0x01000000),
  25828. 6: uint32(0x00000810),
  25829. },
  25830. },
  25831. 173: {
  25832. Fmap1: [8]TFcChar32{
  25833. 0: uint32(0x00020000),
  25834. 1: uint32(0x20200000),
  25835. 4: uint32(0x00000010),
  25836. 5: uint32(0x00001c40),
  25837. 6: uint32(0x00002000),
  25838. 7: uint32(0x08000210),
  25839. },
  25840. },
  25841. 174: {
  25842. Fmap1: [8]TFcChar32{
  25843. 2: uint32(0x54014000),
  25844. 3: uint32(0x02000800),
  25845. 4: uint32(0x00200400),
  25846. 6: uint32(0x00002080),
  25847. 7: uint32(0x00004000),
  25848. },
  25849. },
  25850. 175: {
  25851. Fmap1: [8]TFcChar32{
  25852. 0: uint32(0x10000004),
  25853. 4: uint32(0x00002000),
  25854. },
  25855. },
  25856. 176: {
  25857. Fmap1: [8]TFcChar32{
  25858. 2: uint32(0x28881041),
  25859. 3: uint32(0x0081010a),
  25860. 4: uint32(0x00400800),
  25861. 5: uint32(0x00000800),
  25862. 6: uint32(0x10208026),
  25863. 7: uint32(0x61000000),
  25864. },
  25865. },
  25866. 177: {
  25867. Fmap1: [8]TFcChar32{
  25868. 0: uint32(0x00050080),
  25869. 2: uint32(0x80000000),
  25870. 3: uint32(0x80040000),
  25871. 4: uint32(0x044088c2),
  25872. 5: uint32(0x00080480),
  25873. 6: uint32(0x00040000),
  25874. 7: uint32(0x00000048),
  25875. },
  25876. },
  25877. 178: {
  25878. Fmap1: [8]TFcChar32{
  25879. 0: uint32(0x8188410d),
  25880. 1: uint32(0x141a2400),
  25881. 2: uint32(0x40310000),
  25882. 3: uint32(0x000f4249),
  25883. 4: uint32(0x41283280),
  25884. 5: uint32(0x80053011),
  25885. 6: uint32(0x00400880),
  25886. 7: uint32(0x410060c0),
  25887. },
  25888. },
  25889. 179: {
  25890. Fmap1: [8]TFcChar32{
  25891. 0: uint32(0x2a004013),
  25892. 1: uint32(0x02000002),
  25893. 2: uint32(0x11000000),
  25894. 3: uint32(0x00850040),
  25895. },
  25896. },
  25897. 180: {
  25898. Fmap1: [8]TFcChar32{
  25899. 1: uint32(0x00800000),
  25900. 2: uint32(0x04000440),
  25901. 3: uint32(0x00000402),
  25902. 4: uint32(0x60001000),
  25903. 5: uint32(0x99909f87),
  25904. 6: uint32(0x5808049d),
  25905. 7: uint32(0x10002445),
  25906. },
  25907. },
  25908. 181: {
  25909. Fmap1: [8]TFcChar32{
  25910. 0: uint32(0x00000100),
  25911. 3: uint32(0x00910050),
  25912. 4: uint32(0x00000420),
  25913. 5: uint32(0x00080008),
  25914. 6: uint32(0x20000000),
  25915. 7: uint32(0x00288002),
  25916. },
  25917. },
  25918. 182: {
  25919. Fmap1: [8]TFcChar32{
  25920. 0: uint32(0x00008400),
  25921. 1: uint32(0x00000400),
  25922. 3: uint32(0x00100000),
  25923. 4: uint32(0x00002000),
  25924. 5: uint32(0x00000800),
  25925. 6: uint32(0x80043400),
  25926. 7: uint32(0x21000004),
  25927. },
  25928. },
  25929. 183: {
  25930. Fmap1: [8]TFcChar32{
  25931. 0: uint32(0x20000208),
  25932. 1: uint32(0x01000600),
  25933. 2: uint32(0x00000010),
  25934. 4: uint32(0x48000000),
  25935. 5: uint32(0x14060008),
  25936. 6: uint32(0x00124020),
  25937. 7: uint32(0x20812800),
  25938. },
  25939. },
  25940. 184: {
  25941. Fmap1: [8]TFcChar32{
  25942. 0: uint32(0xa419804b),
  25943. 1: uint32(0x01064009),
  25944. 2: uint32(0x10386ca4),
  25945. 3: uint32(0x85a0620b),
  25946. 4: uint32(0x00000010),
  25947. 5: uint32(0x01000448),
  25948. 6: uint32(0x00004400),
  25949. 7: uint32(0x20a02102),
  25950. },
  25951. },
  25952. 185: {
  25953. Fmap1: [8]TFcChar32{
  25954. 2: uint32(0x00147000),
  25955. 3: uint32(0x01a01404),
  25956. 4: uint32(0x10040000),
  25957. 5: uint32(0x01000000),
  25958. 6: uint32(0x3002f180),
  25959. 7: uint32(0x00000008),
  25960. },
  25961. },
  25962. 186: {
  25963. Fmap1: [8]TFcChar32{
  25964. 0: uint32(0x00002000),
  25965. 1: uint32(0x00100000),
  25966. 2: uint32(0x08000010),
  25967. 3: uint32(0x00020004),
  25968. 4: uint32(0x01000029),
  25969. 5: uint32(0x00002000),
  25970. 7: uint32(0x10082000),
  25971. },
  25972. },
  25973. 187: {
  25974. Fmap1: [8]TFcChar32{
  25975. 1: uint32(0x0004d041),
  25976. 2: uint32(0x08000800),
  25977. 3: uint32(0x00200000),
  25978. 4: uint32(0x00401000),
  25979. 5: uint32(0x00004000),
  25980. 7: uint32(0x00000002),
  25981. },
  25982. },
  25983. 188: {
  25984. Fmap1: [8]TFcChar32{
  25985. 0: uint32(0x01000000),
  25986. 2: uint32(0x00020000),
  25987. },
  25988. },
  25989. 189: {
  25990. Fmap1: [8]TFcChar32{
  25991. 3: uint32(0x00800000),
  25992. 4: uint32(0x000a0a01),
  25993. 5: uint32(0x0004002c),
  25994. 6: uint32(0x01000080),
  25995. },
  25996. },
  25997. 190: {
  25998. Fmap1: [8]TFcChar32{
  25999. 0: uint32(0x10000000),
  26000. 1: uint32(0x08040400),
  26001. 2: uint32(0x08012010),
  26002. 3: uint32(0x2569043c),
  26003. 4: uint32(0x1a10c460),
  26004. 5: uint32(0x08800009),
  26005. 6: uint32(0x000210f0),
  26006. 7: uint32(0x08c5050c),
  26007. },
  26008. },
  26009. 191: {
  26010. Fmap1: [8]TFcChar32{
  26011. 0: uint32(0x10000481),
  26012. 1: uint32(0x00040080),
  26013. 2: uint32(0x42040000),
  26014. 3: uint32(0x00100204),
  26015. 6: uint32(0x00080000),
  26016. 7: uint32(0x88080000),
  26017. },
  26018. },
  26019. 192: {
  26020. Fmap1: [8]TFcChar32{
  26021. 0: uint32(0x010f016c),
  26022. 1: uint32(0x18002000),
  26023. 2: uint32(0x41307000),
  26024. 3: uint32(0x00000080),
  26025. 5: uint32(0x00000100),
  26026. 6: uint32(0x88000000),
  26027. 7: uint32(0x70048004),
  26028. },
  26029. },
  26030. 193: {
  26031. Fmap1: [8]TFcChar32{
  26032. 0: uint32(0x00081420),
  26033. 1: uint32(0x00000100),
  26034. 4: uint32(0x02400000),
  26035. 5: uint32(0x00001000),
  26036. 6: uint32(0x00050070),
  26037. },
  26038. },
  26039. 194: {
  26040. Fmap1: [8]TFcChar32{
  26041. 0: uint32(0x000c4000),
  26042. 1: uint32(0x00010000),
  26043. 2: uint32(0x04000000),
  26044. 5: uint32(0x01000100),
  26045. 6: uint32(0x01000010),
  26046. 7: uint32(0x00000400),
  26047. },
  26048. },
  26049. 195: {
  26050. Fmap1: [8]TFcChar32{
  26051. 1: uint32(0x10020000),
  26052. 2: uint32(0x04100024),
  26053. 5: uint32(0x00004000),
  26054. 7: uint32(0x00000100),
  26055. },
  26056. },
  26057. 196: {
  26058. Fmap1: [8]TFcChar32{
  26059. 7: uint32(0x00100020),
  26060. },
  26061. },
  26062. 197: {
  26063. Fmap1: [8]TFcChar32{
  26064. 4: uint32(0x00008000),
  26065. 5: uint32(0x00100000),
  26066. },
  26067. },
  26068. 198: {
  26069. Fmap1: [8]TFcChar32{
  26070. 3: uint32(0x80000000),
  26071. 4: uint32(0x00880000),
  26072. 5: uint32(0x0c000040),
  26073. 6: uint32(0x02040010),
  26074. },
  26075. },
  26076. 199: {
  26077. Fmap1: [8]TFcChar32{
  26078. 0: uint32(0x00080000),
  26079. 1: uint32(0x08000000),
  26080. 3: uint32(0x00000004),
  26081. },
  26082. },
  26083. 200: {
  26084. Fmap1: [8]TFcChar32{
  26085. 2: uint32(0x07fffffe),
  26086. 3: uint32(0x07fffffe),
  26087. 6: uint32(0x00000300),
  26088. 7: uint32(0x00000300),
  26089. },
  26090. },
  26091. 201: {
  26092. Fmap1: [8]TFcChar32{
  26093. 6: uint32(0xffff0000),
  26094. 7: uint32(0x0001ffff),
  26095. },
  26096. },
  26097. 202: {
  26098. Fmap1: [8]TFcChar32{
  26099. 0: uint32(0xffff0002),
  26100. 1: uint32(0xffffffff),
  26101. 2: uint32(0x0002ffff),
  26102. 4: uint32(0x0c0c0000),
  26103. 5: uint32(0x000cc00c),
  26104. 6: uint32(0x03000000),
  26105. },
  26106. },
  26107. 203: {
  26108. Fmap1: [8]TFcChar32{
  26109. 1: uint32(0x00000300),
  26110. 3: uint32(0x00000300),
  26111. },
  26112. },
  26113. 204: {
  26114. Fmap1: [8]TFcChar32{
  26115. 0: uint32(0xffff0000),
  26116. 1: uint32(0xffffffff),
  26117. 2: uint32(0x0040ffff),
  26118. 4: uint32(0x0c0c0000),
  26119. 5: uint32(0x0c00000c),
  26120. 6: uint32(0x03000000),
  26121. 7: uint32(0x00000300),
  26122. },
  26123. },
  26124. 205: {
  26125. Fmap1: [8]TFcChar32{
  26126. 2: uint32(0x07fffffe),
  26127. 3: uint32(0x07fffffe),
  26128. 6: uint32(0x0d10646e),
  26129. 7: uint32(0x0d10646e),
  26130. },
  26131. },
  26132. 206: {
  26133. Fmap1: [8]TFcChar32{
  26134. 1: uint32(0x01000300),
  26135. 3: uint32(0x00000300),
  26136. },
  26137. },
  26138. 207: {
  26139. Fmap1: [8]TFcChar32{
  26140. 4: uint32(0x9fffffff),
  26141. 5: uint32(0xffcffee7),
  26142. 6: uint32(0x0000003f),
  26143. },
  26144. },
  26145. 208: {
  26146. Fmap1: [8]TFcChar32{
  26147. 4: uint32(0xfffddfec),
  26148. 5: uint32(0xc3effdff),
  26149. 6: uint32(0x40603ddf),
  26150. 7: uint32(0x00000003),
  26151. },
  26152. },
  26153. 209: {
  26154. Fmap1: [8]TFcChar32{
  26155. 1: uint32(0xfffe0000),
  26156. 2: uint32(0xffffffff),
  26157. 3: uint32(0xffffffef),
  26158. 4: uint32(0x00007fff),
  26159. },
  26160. },
  26161. 210: {
  26162. Fmap1: [8]TFcChar32{
  26163. 0: uint32(0x3eff0793),
  26164. 1: uint32(0x1303b011),
  26165. 2: uint32(0x11102801),
  26166. 3: uint32(0x05930000),
  26167. 4: uint32(0xb0111e7b),
  26168. 5: uint32(0x3b019703),
  26169. 6: uint32(0x00a01112),
  26170. 7: uint32(0x306b9593),
  26171. },
  26172. },
  26173. 211: {
  26174. Fmap1: [8]TFcChar32{
  26175. 0: uint32(0x1102b051),
  26176. 1: uint32(0x11303201),
  26177. 2: uint32(0x011102b0),
  26178. 3: uint32(0xb879300a),
  26179. 4: uint32(0x30011306),
  26180. 5: uint32(0x00800010),
  26181. 6: uint32(0x100b0113),
  26182. 7: uint32(0x93000011),
  26183. },
  26184. },
  26185. 212: {
  26186. Fmap1: [8]TFcChar32{
  26187. 0: uint32(0x00102b03),
  26188. 1: uint32(0x05930000),
  26189. 2: uint32(0xb051746b),
  26190. 3: uint32(0x3b011323),
  26191. 4: uint32(0x00001030),
  26192. 5: uint32(0x70000000),
  26193. 6: uint32(0x1303b011),
  26194. 7: uint32(0x11102900),
  26195. },
  26196. },
  26197. 213: {
  26198. Fmap1: [8]TFcChar32{
  26199. 0: uint32(0x00012180),
  26200. 1: uint32(0xb0153000),
  26201. 2: uint32(0x3001030e),
  26202. 3: uint32(0x02000030),
  26203. 4: uint32(0x10230111),
  26204. 5: uint32(0x13000000),
  26205. 6: uint32(0x10106b81),
  26206. 7: uint32(0x01130300),
  26207. },
  26208. },
  26209. 214: {
  26210. Fmap1: [8]TFcChar32{
  26211. 0: uint32(0x30111013),
  26212. 1: uint32(0x00000100),
  26213. 2: uint32(0x22b85530),
  26214. 3: uint32(0x30000000),
  26215. 4: uint32(0x9702b011),
  26216. 5: uint32(0x113afb07),
  26217. 6: uint32(0x011303b0),
  26218. 7: uint32(0x00000021),
  26219. },
  26220. },
  26221. 215: {
  26222. Fmap1: [8]TFcChar32{
  26223. 0: uint32(0x3b0d1b00),
  26224. 1: uint32(0x03b01138),
  26225. 2: uint32(0x11330113),
  26226. 3: uint32(0x13000001),
  26227. 4: uint32(0x111c2b05),
  26228. 5: uint32(0x00000100),
  26229. 6: uint32(0xb0111000),
  26230. 7: uint32(0x2a011300),
  26231. },
  26232. },
  26233. 216: {
  26234. Fmap1: [8]TFcChar32{
  26235. 0: uint32(0x02b01930),
  26236. 1: uint32(0x10100001),
  26237. 2: uint32(0x11000000),
  26238. 3: uint32(0x10300301),
  26239. 4: uint32(0x07130230),
  26240. 5: uint32(0x0011146b),
  26241. 6: uint32(0x2b051300),
  26242. 7: uint32(0x8fb8f974),
  26243. },
  26244. },
  26245. 217: {
  26246. Fmap1: [8]TFcChar32{
  26247. 0: uint32(0x103b0113),
  26248. 2: uint32(0xd9700000),
  26249. 3: uint32(0x01134ab0),
  26250. 4: uint32(0x0011103b),
  26251. 5: uint32(0x00001103),
  26252. 6: uint32(0x2ab15930),
  26253. 7: uint32(0x10000111),
  26254. },
  26255. },
  26256. 218: {
  26257. Fmap1: [8]TFcChar32{
  26258. 0: uint32(0x11010000),
  26259. 1: uint32(0x00100b01),
  26260. 2: uint32(0x01130000),
  26261. 3: uint32(0x0000102b),
  26262. 4: uint32(0x20000101),
  26263. 5: uint32(0x02a01110),
  26264. 6: uint32(0x30210111),
  26265. 7: uint32(0x0102b059),
  26266. },
  26267. },
  26268. 219: {
  26269. Fmap1: [8]TFcChar32{
  26270. 0: uint32(0x19300000),
  26271. 1: uint32(0x011307b0),
  26272. 2: uint32(0xb011383b),
  26273. 3: uint32(0x00000003),
  26274. 5: uint32(0x383b0d13),
  26275. 6: uint32(0x0103b011),
  26276. 7: uint32(0x00001000),
  26277. },
  26278. },
  26279. 220: {
  26280. Fmap1: [8]TFcChar32{
  26281. 0: uint32(0x01130000),
  26282. 1: uint32(0x00101020),
  26283. 2: uint32(0x00000100),
  26284. 3: uint32(0x00000110),
  26285. 4: uint32(0x30000000),
  26286. 5: uint32(0x00021811),
  26287. 6: uint32(0x00100000),
  26288. 7: uint32(0x01110000),
  26289. },
  26290. },
  26291. 221: {
  26292. Fmap1: [8]TFcChar32{
  26293. 0: uint32(0x00000023),
  26294. 1: uint32(0x0b019300),
  26295. 2: uint32(0x00301110),
  26296. 3: uint32(0x302b0111),
  26297. 4: uint32(0x13c7b011),
  26298. 5: uint32(0x01303b01),
  26299. 6: uint32(0x00000280),
  26300. 7: uint32(0xb0113000),
  26301. },
  26302. },
  26303. 222: {
  26304. Fmap1: [8]TFcChar32{
  26305. 0: uint32(0x2b011383),
  26306. 1: uint32(0x03b01130),
  26307. 2: uint32(0x300a0011),
  26308. 3: uint32(0x1102b011),
  26309. 4: uint32(0x00002000),
  26310. 5: uint32(0x01110100),
  26311. 6: uint32(0xa011102b),
  26312. 7: uint32(0x2b011302),
  26313. },
  26314. },
  26315. 223: {
  26316. Fmap1: [8]TFcChar32{
  26317. 0: uint32(0x01000010),
  26318. 1: uint32(0x30000001),
  26319. 2: uint32(0x13029011),
  26320. 3: uint32(0x11302b01),
  26321. 4: uint32(0x000066b0),
  26322. 5: uint32(0xb0113000),
  26323. 6: uint32(0x6b07d302),
  26324. 7: uint32(0x07b0113a),
  26325. },
  26326. },
  26327. 224: {
  26328. Fmap1: [8]TFcChar32{
  26329. 0: uint32(0x00200103),
  26330. 1: uint32(0x13000000),
  26331. 2: uint32(0x11386b05),
  26332. 3: uint32(0x011303b0),
  26333. 4: uint32(0x000010b8),
  26334. 5: uint32(0x2b051b00),
  26335. 6: uint32(0x03000110),
  26336. 7: uint32(0x10000000),
  26337. },
  26338. },
  26339. 225: {
  26340. Fmap1: [8]TFcChar32{
  26341. 0: uint32(0x1102a011),
  26342. 1: uint32(0x79700a01),
  26343. 2: uint32(0x0111a2b0),
  26344. 3: uint32(0x0000100a),
  26345. 4: uint32(0x00011100),
  26346. 5: uint32(0x00901110),
  26347. 6: uint32(0x00090111),
  26348. 7: uint32(0x93000000),
  26349. },
  26350. },
  26351. 226: {
  26352. Fmap1: [8]TFcChar32{
  26353. 0: uint32(0xf9f2bb05),
  26354. 1: uint32(0x011322b0),
  26355. 2: uint32(0x2001323b),
  26356. 4: uint32(0x06b05930),
  26357. 5: uint32(0x303b0193),
  26358. 6: uint32(0x1123a011),
  26359. 7: uint32(0x11700000),
  26360. },
  26361. },
  26362. 227: {
  26363. Fmap1: [8]TFcChar32{
  26364. 0: uint32(0x001102b0),
  26365. 1: uint32(0x00001010),
  26366. 2: uint32(0x03011301),
  26367. 3: uint32(0x00000110),
  26368. 4: uint32(0x162b0793),
  26369. 5: uint32(0x01010010),
  26370. 6: uint32(0x11300000),
  26371. 7: uint32(0x01110200),
  26372. },
  26373. },
  26374. 228: {
  26375. Fmap1: [8]TFcChar32{
  26376. 0: uint32(0xb0113029),
  26377. 2: uint32(0x0eb05130),
  26378. 3: uint32(0x383b0513),
  26379. 4: uint32(0x0303b011),
  26380. 5: uint32(0x00000100),
  26381. 6: uint32(0x01930000),
  26382. 7: uint32(0x00001039),
  26383. },
  26384. },
  26385. 229: {
  26386. Fmap1: [8]TFcChar32{
  26387. 0: uint32(0x3b000302),
  26388. 2: uint32(0x00230113),
  26389. 4: uint32(0x00100000),
  26390. 5: uint32(0x00010000),
  26391. 6: uint32(0x90113020),
  26392. 7: uint32(0x00000002),
  26393. },
  26394. },
  26395. 230: {
  26396. Fmap1: [8]TFcChar32{
  26397. 1: uint32(0x10000000),
  26398. 2: uint32(0x11020000),
  26399. 3: uint32(0x00000301),
  26400. 4: uint32(0x01130000),
  26401. 5: uint32(0xb079b02b),
  26402. 6: uint32(0x3b011323),
  26403. 7: uint32(0x02b01130),
  26404. },
  26405. },
  26406. 231: {
  26407. Fmap1: [8]TFcChar32{
  26408. 0: uint32(0xf0210111),
  26409. 1: uint32(0x1343b0d9),
  26410. 2: uint32(0x11303b01),
  26411. 3: uint32(0x011103b0),
  26412. 4: uint32(0xb0517020),
  26413. 5: uint32(0x20011322),
  26414. 6: uint32(0x01901110),
  26415. 7: uint32(0x300b0111),
  26416. },
  26417. },
  26418. 232: {
  26419. Fmap1: [8]TFcChar32{
  26420. 0: uint32(0x9302b011),
  26421. 1: uint32(0x0016ab01),
  26422. 2: uint32(0x01130100),
  26423. 3: uint32(0xb0113021),
  26424. 4: uint32(0x29010302),
  26425. 5: uint32(0x02b03130),
  26426. 6: uint32(0x30000000),
  26427. 7: uint32(0x1b42b819),
  26428. },
  26429. },
  26430. 233: {
  26431. Fmap1: [8]TFcChar32{
  26432. 0: uint32(0x11383301),
  26433. 1: uint32(0x00000330),
  26434. 2: uint32(0x00000020),
  26435. 3: uint32(0x33051300),
  26436. 4: uint32(0x00001110),
  26437. 6: uint32(0x93000000),
  26438. 7: uint32(0x01302305),
  26439. },
  26440. },
  26441. 234: {
  26442. Fmap1: [8]TFcChar32{
  26443. 0: uint32(0x00010100),
  26444. 1: uint32(0x30111010),
  26445. 2: uint32(0x00000100),
  26446. 3: uint32(0x02301130),
  26447. 4: uint32(0x10100001),
  26448. 5: uint32(0x11000000),
  26449. 7: uint32(0x85130200),
  26450. },
  26451. },
  26452. 235: {
  26453. Fmap1: [8]TFcChar32{
  26454. 0: uint32(0x10111003),
  26455. 1: uint32(0x2b011300),
  26456. 2: uint32(0x63b87730),
  26457. 3: uint32(0x303b0113),
  26458. 4: uint32(0x11a2b091),
  26459. 5: uint32(0x7b300201),
  26460. 6: uint32(0x011357f0),
  26461. 7: uint32(0xf0d1702b),
  26462. },
  26463. },
  26464. 236: {
  26465. Fmap1: [8]TFcChar32{
  26466. 0: uint32(0x1b0111e3),
  26467. 1: uint32(0x0ab97130),
  26468. 2: uint32(0x303b0113),
  26469. 3: uint32(0x13029001),
  26470. 4: uint32(0x11302b01),
  26471. 5: uint32(0x071302b0),
  26472. 6: uint32(0x3011302b),
  26473. 7: uint32(0x23011303),
  26474. },
  26475. },
  26476. 237: {
  26477. Fmap1: [8]TFcChar32{
  26478. 0: uint32(0x02b01130),
  26479. 1: uint32(0x30ab0113),
  26480. 2: uint32(0x11feb411),
  26481. 3: uint32(0x71300901),
  26482. 4: uint32(0x05d347b8),
  26483. 5: uint32(0xb011307b),
  26484. 6: uint32(0x21015303),
  26485. 7: uint32(0x00001110),
  26486. },
  26487. },
  26488. 238: {
  26489. Fmap1: [8]TFcChar32{
  26490. 0: uint32(0x306b0513),
  26491. 1: uint32(0x1102b011),
  26492. 2: uint32(0x00103301),
  26493. 3: uint32(0x05130000),
  26494. 4: uint32(0xa01038eb),
  26495. 5: uint32(0x30000102),
  26496. 6: uint32(0x02b01110),
  26497. 7: uint32(0x30200013),
  26498. },
  26499. },
  26500. 239: {
  26501. Fmap1: [8]TFcChar32{
  26502. 0: uint32(0x0102b071),
  26503. 1: uint32(0x00101000),
  26504. 2: uint32(0x01130000),
  26505. 3: uint32(0x1011100b),
  26506. 4: uint32(0x2b011300),
  26507. 6: uint32(0x366b0593),
  26508. 7: uint32(0x1303b095),
  26509. },
  26510. },
  26511. 240: {
  26512. Fmap1: [8]TFcChar32{
  26513. 0: uint32(0x01103b01),
  26514. 1: uint32(0x00000200),
  26515. 2: uint32(0xb0113000),
  26516. 3: uint32(0x20000103),
  26517. 4: uint32(0x01000010),
  26518. 5: uint32(0x30000000),
  26519. 6: uint32(0x030ab011),
  26520. 7: uint32(0x00101001),
  26521. },
  26522. },
  26523. 241: {
  26524. Fmap1: [8]TFcChar32{
  26525. 0: uint32(0x01110100),
  26526. 1: uint32(0x00000003),
  26527. 2: uint32(0x23011302),
  26528. 3: uint32(0x03000010),
  26529. 4: uint32(0x10000000),
  26530. 5: uint32(0x01000000),
  26531. 6: uint32(0x00100000),
  26532. 7: uint32(0x00000290),
  26533. },
  26534. },
  26535. 242: {
  26536. Fmap1: [8]TFcChar32{
  26537. 0: uint32(0x30113000),
  26538. 1: uint32(0x7b015386),
  26539. 2: uint32(0x03b01130),
  26540. 3: uint32(0x00210151),
  26541. 4: uint32(0x13000000),
  26542. 5: uint32(0x11303b01),
  26543. 6: uint32(0x001102b0),
  26544. 7: uint32(0x00011010),
  26545. },
  26546. },
  26547. 243: {
  26548. Fmap1: [8]TFcChar32{
  26549. 0: uint32(0x2b011302),
  26550. 1: uint32(0x02001110),
  26551. 2: uint32(0x10000000),
  26552. 3: uint32(0x0102b011),
  26553. 4: uint32(0x11300100),
  26554. 5: uint32(0x000102b0),
  26555. 6: uint32(0x00011010),
  26556. 7: uint32(0x2b011100),
  26557. },
  26558. },
  26559. 244: {
  26560. Fmap1: [8]TFcChar32{
  26561. 0: uint32(0x02101110),
  26562. 1: uint32(0x002b0113),
  26563. 2: uint32(0x93000000),
  26564. 3: uint32(0x11302b03),
  26565. 4: uint32(0x011302b0),
  26566. 5: uint32(0x0000303b),
  26567. 6: uint32(0x00000002),
  26568. 7: uint32(0x03b01930),
  26569. },
  26570. },
  26571. 245: {
  26572. Fmap1: [8]TFcChar32{
  26573. 0: uint32(0x102b0113),
  26574. 1: uint32(0x0103b011),
  26575. 2: uint32(0x11300000),
  26576. 3: uint32(0x011302b0),
  26577. 4: uint32(0x00001021),
  26578. 5: uint32(0x00010102),
  26579. 6: uint32(0x00000010),
  26580. 7: uint32(0x102b0113),
  26581. },
  26582. },
  26583. 246: {
  26584. Fmap1: [8]TFcChar32{
  26585. 0: uint32(0x01020011),
  26586. 1: uint32(0x11302000),
  26587. 2: uint32(0x011102b0),
  26588. 3: uint32(0x30113001),
  26589. 4: uint32(0x00000002),
  26590. 5: uint32(0x02b01130),
  26591. 6: uint32(0x303b0313),
  26592. 7: uint32(0x0103b011),
  26593. },
  26594. },
  26595. 247: {
  26596. Fmap1: [8]TFcChar32{
  26597. 0: uint32(0x00002000),
  26598. 1: uint32(0x05130000),
  26599. 2: uint32(0xb011303b),
  26600. 3: uint32(0x10001102),
  26601. 4: uint32(0x00000110),
  26602. 5: uint32(0x142b0113),
  26603. 6: uint32(0x01000001),
  26604. 7: uint32(0x01100000),
  26605. },
  26606. },
  26607. 248: {
  26608. Fmap1: [8]TFcChar32{
  26609. 0: uint32(0x00010280),
  26610. 1: uint32(0xb0113000),
  26611. 2: uint32(0x10000102),
  26612. 3: uint32(0x00000010),
  26613. 4: uint32(0x10230113),
  26614. 5: uint32(0x93021011),
  26615. 6: uint32(0x11100b05),
  26616. 7: uint32(0x01130030),
  26617. },
  26618. },
  26619. 249: {
  26620. Fmap1: [8]TFcChar32{
  26621. 0: uint32(0xb051702b),
  26622. 1: uint32(0x3b011323),
  26623. 2: uint32(0x00000030),
  26624. 3: uint32(0x30000000),
  26625. 4: uint32(0x1303b011),
  26626. 5: uint32(0x11102b01),
  26627. 6: uint32(0x01010330),
  26628. 7: uint32(0xb011300a),
  26629. },
  26630. },
  26631. 250: {
  26632. Fmap1: [8]TFcChar32{
  26633. 0: uint32(0x20000102),
  26634. 2: uint32(0x10000011),
  26635. 3: uint32(0x9300a011),
  26636. 4: uint32(0x00102b05),
  26637. 5: uint32(0x00000200),
  26638. 6: uint32(0x90111000),
  26639. 7: uint32(0x29011100),
  26640. },
  26641. },
  26642. 251: {
  26643. Fmap1: [8]TFcChar32{
  26644. 0: uint32(0x00b01110),
  26645. 1: uint32(0x30000000),
  26646. 2: uint32(0x1302b011),
  26647. 3: uint32(0x11302b21),
  26648. 4: uint32(0x000103b0),
  26649. 5: uint32(0x00000020),
  26650. 6: uint32(0x2b051300),
  26651. 7: uint32(0x02b01130),
  26652. },
  26653. },
  26654. 252: {
  26655. Fmap1: [8]TFcChar32{
  26656. 0: uint32(0x103b0113),
  26657. 1: uint32(0x13002011),
  26658. 2: uint32(0x11322b21),
  26659. 3: uint32(0x00130280),
  26660. 4: uint32(0xa0113028),
  26661. 5: uint32(0x0a011102),
  26662. 6: uint32(0x02921130),
  26663. 7: uint32(0x30210111),
  26664. },
  26665. },
  26666. 253: {
  26667. Fmap1: [8]TFcChar32{
  26668. 0: uint32(0x13020011),
  26669. 1: uint32(0x11302b01),
  26670. 2: uint32(0x03d30290),
  26671. 3: uint32(0x3011122b),
  26672. 4: uint32(0x2b011302),
  26673. },
  26674. },
  26675. 254: {
  26676. Fmap1: [8]TFcChar32{
  26677. 4: uint32(0x00004000),
  26678. 6: uint32(0x20000000),
  26679. },
  26680. },
  26681. 255: {
  26682. Fmap1: [8]TFcChar32{
  26683. 2: uint32(0x00003000),
  26684. },
  26685. },
  26686. 256: {
  26687. Fmap1: [8]TFcChar32{
  26688. 1: uint32(0x040001df),
  26689. 2: uint32(0x80800176),
  26690. 3: uint32(0x420c0000),
  26691. 4: uint32(0x01020140),
  26692. 5: uint32(0x44008200),
  26693. 6: uint32(0x00041018),
  26694. },
  26695. },
  26696. 257: {
  26697. Fmap1: [8]TFcChar32{
  26698. 0: uint32(0xffff0000),
  26699. 1: uint32(0xffff27bf),
  26700. 2: uint32(0x000027bf),
  26701. 5: uint32(0x0c000000),
  26702. 6: uint32(0x03000000),
  26703. 7: uint32(0x000000c0),
  26704. },
  26705. },
  26706. 258: {
  26707. Fmap1: [8]TFcChar32{
  26708. 0: uint32(0x3c000000),
  26709. },
  26710. },
  26711. 259: {
  26712. Fmap1: [8]TFcChar32{
  26713. 1: uint32(0x061ef5c0),
  26714. 2: uint32(0x000001f6),
  26715. 3: uint32(0x40000000),
  26716. 4: uint32(0x01040040),
  26717. 5: uint32(0x00208210),
  26718. 6: uint32(0x00005040),
  26719. },
  26720. },
  26721. 260: {
  26722. Fmap1: [8]TFcChar32{
  26723. 2: uint32(0x07fffffe),
  26724. 3: uint32(0x07fffffe),
  26725. 6: uint32(0x08004480),
  26726. 7: uint32(0x08004480),
  26727. },
  26728. },
  26729. 261: {
  26730. Fmap1: [8]TFcChar32{
  26731. 2: uint32(0xc0000000),
  26732. },
  26733. },
  26734. 262: {
  26735. Fmap1: [8]TFcChar32{
  26736. 0: uint32(0xffff0002),
  26737. 1: uint32(0xffffffff),
  26738. 2: uint32(0x0002ffff),
  26739. },
  26740. },
  26741. 263: {
  26742. Fmap1: [8]TFcChar32{
  26743. 0: uint32(0xffff0042),
  26744. 1: uint32(0xffffffff),
  26745. 2: uint32(0x0042ffff),
  26746. 7: uint32(0x000000c0),
  26747. },
  26748. },
  26749. 264: {
  26750. Fmap1: [8]TFcChar32{
  26751. 1: uint32(0x000c0000),
  26752. },
  26753. },
  26754. 265: {
  26755. Fmap1: [8]TFcChar32{
  26756. 0: uint32(0xffff0002),
  26757. 1: uint32(0xffffffff),
  26758. 2: uint32(0x0002ffff),
  26759. 5: uint32(0x0000c00c),
  26760. },
  26761. },
  26762. 266: {
  26763. Fmap1: [8]TFcChar32{
  26764. 0: uint32(0x000c0003),
  26765. 1: uint32(0x00003c00),
  26766. 2: uint32(0x0000f000),
  26767. 3: uint32(0x00003c00),
  26768. },
  26769. },
  26770. 267: {
  26771. Fmap1: [8]TFcChar32{
  26772. 1: uint32(0x040001de),
  26773. 2: uint32(0x00000176),
  26774. 3: uint32(0x42000000),
  26775. 4: uint32(0x01020140),
  26776. 5: uint32(0x44008200),
  26777. 6: uint32(0x00041008),
  26778. },
  26779. },
  26780. 268: {
  26781. Fmap1: [8]TFcChar32{
  26782. 2: uint32(0x07fffffe),
  26783. 3: uint32(0x07fffffe),
  26784. 6: uint32(0x98504f14),
  26785. 7: uint32(0x18504f14),
  26786. },
  26787. },
  26788. 269: {
  26789. Fmap1: [8]TFcChar32{
  26790. 2: uint32(0x00000c00),
  26791. },
  26792. },
  26793. 270: {
  26794. Fmap1: [8]TFcChar32{
  26795. 2: uint32(0x07fffffe),
  26796. 3: uint32(0x07fffffe),
  26797. 6: uint32(0x00480910),
  26798. 7: uint32(0x00480910),
  26799. },
  26800. },
  26801. 271: {
  26802. Fmap1: [8]TFcChar32{
  26803. 2: uint32(0x07fffffe),
  26804. 3: uint32(0x07fffffe),
  26805. 6: uint32(0x0c186606),
  26806. 7: uint32(0x0c186606),
  26807. },
  26808. },
  26809. 272: {
  26810. Fmap1: [8]TFcChar32{
  26811. 0: uint32(0x0c000000),
  26812. 4: uint32(0x00010040),
  26813. },
  26814. },
  26815. 273: {
  26816. Fmap1: [8]TFcChar32{
  26817. 0: uint32(0x00001006),
  26818. },
  26819. },
  26820. 274: {
  26821. Fmap1: [8]TFcChar32{
  26822. 4: uint32(0xfef02596),
  26823. 5: uint32(0x3bffecae),
  26824. 6: uint32(0x30003f5f),
  26825. },
  26826. },
  26827. 275: {
  26828. Fmap1: [8]TFcChar32{
  26829. 0: uint32(0x03c03030),
  26830. 1: uint32(0x0000c000),
  26831. 3: uint32(0x600c0c03),
  26832. },
  26833. },
  26834. 276: {
  26835. Fmap1: [8]TFcChar32{
  26836. 0: uint32(0x000c3003),
  26837. 1: uint32(0x18c00c0c),
  26838. 2: uint32(0x00c03060),
  26839. 3: uint32(0x60000c03),
  26840. },
  26841. },
  26842. 277: {
  26843. Fmap1: [8]TFcChar32{
  26844. 2: uint32(0x07fffffe),
  26845. 3: uint32(0x07fffffe),
  26846. 6: uint32(0x00100002),
  26847. 7: uint32(0x00100002),
  26848. },
  26849. },
  26850. 278: {
  26851. Fmap1: [8]TFcChar32{
  26852. 0: uint32(0x00000003),
  26853. 1: uint32(0x18000000),
  26854. 2: uint32(0x00003060),
  26855. 3: uint32(0x00000c00),
  26856. },
  26857. },
  26858. 279: {
  26859. Fmap1: [8]TFcChar32{
  26860. 1: uint32(0x00300000),
  26861. },
  26862. },
  26863. 280: {
  26864. Fmap1: [8]TFcChar32{
  26865. 0: uint32(0xfdffb729),
  26866. 1: uint32(0x000001ff),
  26867. 2: uint32(0xb7290000),
  26868. },
  26869. },
  26870. 281: {
  26871. Fmap1: [8]TFcChar32{
  26872. 0: uint32(0xfffddfec),
  26873. 1: uint32(0xc3fffdff),
  26874. 2: uint32(0x00803dcf),
  26875. 3: uint32(0x00000003),
  26876. },
  26877. },
  26878. 282: {
  26879. Fmap1: [8]TFcChar32{
  26880. 1: uint32(0xffffffff),
  26881. 2: uint32(0xffffffff),
  26882. 3: uint32(0x00ffffff),
  26883. 4: uint32(0xffffffff),
  26884. 5: uint32(0x000003ff),
  26885. },
  26886. },
  26887. 283: {
  26888. Fmap1: [8]TFcChar32{
  26889. 0: uint32(0xffff0002),
  26890. 1: uint32(0xffffffff),
  26891. 2: uint32(0x0002ffff),
  26892. 5: uint32(0x0000c000),
  26893. 7: uint32(0x00000300),
  26894. },
  26895. },
  26896. 284: {
  26897. Fmap1: [8]TFcChar32{
  26898. 3: uint32(0x00000010),
  26899. 4: uint32(0xfff99fee),
  26900. 5: uint32(0xf3c5fdff),
  26901. 6: uint32(0xb000798f),
  26902. 7: uint32(0x0002ffc0),
  26903. },
  26904. },
  26905. 285: {
  26906. Fmap1: [8]TFcChar32{
  26907. 2: uint32(0x07fffffe),
  26908. 3: uint32(0x07fffffe),
  26909. 6: uint32(0x00004004),
  26910. 7: uint32(0x00004004),
  26911. },
  26912. },
  26913. 286: {
  26914. Fmap1: [8]TFcChar32{
  26915. 0: uint32(0x0f000000),
  26916. },
  26917. },
  26918. 287: {
  26919. Fmap1: [8]TFcChar32{
  26920. 2: uint32(0x07fffffe),
  26921. 3: uint32(0x07fffffe),
  26922. 6: uint32(0x02045101),
  26923. 7: uint32(0x02045101),
  26924. },
  26925. },
  26926. 288: {
  26927. Fmap1: [8]TFcChar32{
  26928. 0: uint32(0x00000c00),
  26929. 1: uint32(0x000000c3),
  26930. 3: uint32(0x18000000),
  26931. },
  26932. },
  26933. 289: {
  26934. Fmap1: [8]TFcChar32{
  26935. 0: uint32(0xffffffff),
  26936. 1: uint32(0x0007f6fb),
  26937. },
  26938. },
  26939. 290: {
  26940. Fmap1: [8]TFcChar32{
  26941. 3: uint32(0x00000300),
  26942. },
  26943. },
  26944. 291: {
  26945. Fmap1: [8]TFcChar32{
  26946. 2: uint32(0x07fffffe),
  26947. 3: uint32(0x07fffffe),
  26948. 6: uint32(0x011c0661),
  26949. 7: uint32(0x011c0661),
  26950. },
  26951. },
  26952. 292: {
  26953. Fmap1: [8]TFcChar32{
  26954. 0: uint32(0xfff98fee),
  26955. 1: uint32(0xc3e5fdff),
  26956. 2: uint32(0x0001398f),
  26957. 3: uint32(0x0001fff0),
  26958. },
  26959. },
  26960. 293: {
  26961. Fmap1: [8]TFcChar32{
  26962. 2: uint32(0x07fffffe),
  26963. 3: uint32(0x07fffffe),
  26964. 6: uint32(0x1c58af16),
  26965. 7: uint32(0x1c58af16),
  26966. },
  26967. },
  26968. 294: {
  26969. Fmap1: [8]TFcChar32{
  26970. 2: uint32(0x07fffffe),
  26971. 3: uint32(0x07fffffe),
  26972. 6: uint32(0x115c0671),
  26973. 7: uint32(0x115c0671),
  26974. },
  26975. },
  26976. 295: {
  26977. Fmap1: [8]TFcChar32{
  26978. 6: uint32(0xffffffff),
  26979. 7: uint32(0x07ffffff),
  26980. },
  26981. },
  26982. 296: {
  26983. Fmap1: [8]TFcChar32{
  26984. 2: uint32(0x07fffffe),
  26985. 3: uint32(0x07fffffe),
  26986. 6: uint32(0x00100400),
  26987. 7: uint32(0x00100400),
  26988. },
  26989. },
  26990. 297: {
  26991. Fmap1: [8]TFcChar32{
  26992. 3: uint32(0x00000003),
  26993. },
  26994. },
  26995. 298: {
  26996. Fmap1: [8]TFcChar32{
  26997. 2: uint32(0x07fffffe),
  26998. 3: uint32(0x07fffffe),
  26999. 6: uint32(0x00082202),
  27000. 7: uint32(0x00082202),
  27001. },
  27002. },
  27003. 299: {
  27004. Fmap1: [8]TFcChar32{
  27005. 0: uint32(0x03000030),
  27006. 1: uint32(0x0000c000),
  27007. 2: uint32(0x00000006),
  27008. 7: uint32(0x00000c00),
  27009. },
  27010. },
  27011. 300: {
  27012. Fmap1: [8]TFcChar32{
  27013. 5: uint32(0x10000000),
  27014. },
  27015. },
  27016. 301: {
  27017. Fmap1: [8]TFcChar32{
  27018. 0: uint32(0x00000002),
  27019. },
  27020. },
  27021. 302: {
  27022. Fmap1: [8]TFcChar32{
  27023. 3: uint32(0x00300000),
  27024. },
  27025. },
  27026. 303: {
  27027. Fmap1: [8]TFcChar32{
  27028. 2: uint32(0x07fffffe),
  27029. 3: uint32(0x07fffffe),
  27030. 6: uint32(0x040c2383),
  27031. 7: uint32(0x040c2383),
  27032. },
  27033. },
  27034. 304: {
  27035. Fmap1: [8]TFcChar32{
  27036. 0: uint32(0xfff99fee),
  27037. 1: uint32(0xf3cdfdff),
  27038. 2: uint32(0xb0c0398f),
  27039. 3: uint32(0x00000003),
  27040. },
  27041. },
  27042. 305: {
  27043. Fmap1: [8]TFcChar32{
  27044. 1: uint32(0x07ffffc6),
  27045. 2: uint32(0x000001fe),
  27046. 3: uint32(0x40000000),
  27047. 4: uint32(0x01000040),
  27048. 5: uint32(0x0000a000),
  27049. 6: uint32(0x00001000),
  27050. },
  27051. },
  27052. 306: {
  27053. Fmap1: [8]TFcChar32{
  27054. 0: uint32(0xfff987e0),
  27055. 1: uint32(0xd36dfdff),
  27056. 2: uint32(0x1e003987),
  27057. 3: uint32(0x001f0000),
  27058. },
  27059. },
  27060. 307: {
  27061. Fmap1: [8]TFcChar32{
  27062. 2: uint32(0x07fffffe),
  27063. 3: uint32(0x07fffffe),
  27064. 6: uint32(0x160e2302),
  27065. 7: uint32(0x160e2302),
  27066. },
  27067. },
  27068. 308: {
  27069. Fmap1: [8]TFcChar32{
  27070. 2: uint32(0x07fffffe),
  27071. 3: uint32(0x07fffffe),
  27072. 6: uint32(0x00020000),
  27073. 7: uint32(0x00020000),
  27074. },
  27075. },
  27076. 309: {
  27077. Fmap1: [8]TFcChar32{
  27078. 0: uint32(0x030000f0),
  27079. 2: uint32(0x0c00001e),
  27080. 3: uint32(0x1e000000),
  27081. },
  27082. },
  27083. 310: {
  27084. Fmap1: [8]TFcChar32{
  27085. 1: uint32(0x07ffffde),
  27086. 2: uint32(0x000005f6),
  27087. 3: uint32(0x50000000),
  27088. 4: uint32(0x05480262),
  27089. 5: uint32(0x10000a00),
  27090. 6: uint32(0x00013000),
  27091. },
  27092. },
  27093. 311: {
  27094. Fmap1: [8]TFcChar32{
  27095. 1: uint32(0x07ffffde),
  27096. 2: uint32(0x000005f6),
  27097. 3: uint32(0x50000000),
  27098. 4: uint32(0x05480262),
  27099. 5: uint32(0x10000a00),
  27100. 6: uint32(0x00052000),
  27101. },
  27102. },
  27103. 312: {
  27104. Fmap1: [8]TFcChar32{
  27105. 2: uint32(0x07fffffe),
  27106. 3: uint32(0x07fffffe),
  27107. 6: uint32(0x143c278f),
  27108. 7: uint32(0x143c278f),
  27109. },
  27110. },
  27111. 313: {
  27112. Fmap1: [8]TFcChar32{
  27113. 6: uint32(0x00000100),
  27114. },
  27115. },
  27116. 314: {
  27117. Fmap1: [8]TFcChar32{
  27118. 2: uint32(0x07fffffe),
  27119. 3: uint32(0x07fffffe),
  27120. 6: uint32(0x02045301),
  27121. 7: uint32(0x02045301),
  27122. },
  27123. },
  27124. 315: {
  27125. Fmap1: [8]TFcChar32{
  27126. 0: uint32(0xffff0002),
  27127. 1: uint32(0xffffffff),
  27128. 2: uint32(0x0002ffff),
  27129. 4: uint32(0x00300000),
  27130. 5: uint32(0x0c00c030),
  27131. 6: uint32(0x03000000),
  27132. },
  27133. },
  27134. 316: {
  27135. Fmap1: [8]TFcChar32{
  27136. 0: uint32(0xfff987ee),
  27137. 1: uint32(0xf325fdff),
  27138. 2: uint32(0x00013987),
  27139. 3: uint32(0x0001fff0),
  27140. },
  27141. },
  27142. 317: {
  27143. Fmap1: [8]TFcChar32{
  27144. 2: uint32(0x07fffffe),
  27145. 3: uint32(0x07fffffe),
  27146. 6: uint32(0x02041101),
  27147. 7: uint32(0x02041101),
  27148. },
  27149. },
  27150. 318: {
  27151. Fmap1: [8]TFcChar32{
  27152. 5: uint32(0x00800000),
  27153. },
  27154. },
  27155. 319: {
  27156. Fmap1: [8]TFcChar32{
  27157. 0: uint32(0x30000000),
  27158. 4: uint32(0x00040000),
  27159. },
  27160. },
  27161. 320: {
  27162. Fmap1: [8]TFcChar32{
  27163. 1: uint32(0x07fffdd6),
  27164. 2: uint32(0x000005f6),
  27165. 3: uint32(0xec000000),
  27166. 4: uint32(0x0200b4d9),
  27167. 5: uint32(0x480a8640),
  27168. },
  27169. },
  27170. 321: {
  27171. Fmap1: [8]TFcChar32{
  27172. 2: uint32(0x07fffffe),
  27173. 3: uint32(0x07fffffe),
  27174. 6: uint32(0x00000002),
  27175. 7: uint32(0x00000002),
  27176. },
  27177. },
  27178. 322: {
  27179. Fmap1: [8]TFcChar32{
  27180. 0: uint32(0x00033000),
  27181. 2: uint32(0x00000c00),
  27182. 3: uint32(0x600000c3),
  27183. },
  27184. },
  27185. 323: {
  27186. Fmap1: [8]TFcChar32{
  27187. 2: uint32(0x07fffffe),
  27188. 3: uint32(0x07fffffe),
  27189. 6: uint32(0x1850cc14),
  27190. 7: uint32(0x1850cc14),
  27191. },
  27192. },
  27193. 324: {
  27194. Fmap1: [8]TFcChar32{
  27195. 0: uint32(0xffff8f04),
  27196. 1: uint32(0xffffffff),
  27197. 2: uint32(0x8f04ffff),
  27198. 4: uint32(0x030c0000),
  27199. 5: uint32(0x0c00cc0f),
  27200. 6: uint32(0x03000000),
  27201. 7: uint32(0x00000300),
  27202. },
  27203. },
  27204. 325: {
  27205. Fmap1: [8]TFcChar32{
  27206. 1: uint32(0x00800000),
  27207. 2: uint32(0x03bffbaa),
  27208. 3: uint32(0x03bffbaa),
  27209. 6: uint32(0x00002202),
  27210. 7: uint32(0x00002202),
  27211. },
  27212. },
  27213. 326: {
  27214. Fmap1: [8]TFcChar32{
  27215. 0: uint32(0x00080000),
  27216. },
  27217. },
  27218. 327: {
  27219. Fmap1: [8]TFcChar32{
  27220. 4: uint32(0xfc7e3fec),
  27221. 5: uint32(0x2ffbffbf),
  27222. 6: uint32(0x7f5f847f),
  27223. 7: uint32(0x00040000),
  27224. },
  27225. },
  27226. 328: {
  27227. Fmap1: [8]TFcChar32{
  27228. 0: uint32(0xff7fff7f),
  27229. 1: uint32(0xff01ff7f),
  27230. 2: uint32(0x3d7f3d7f),
  27231. 3: uint32(0xffff7fff),
  27232. 4: uint32(0xffff3d7f),
  27233. 5: uint32(0x003d7fff),
  27234. 6: uint32(0xff7f7f3d),
  27235. 7: uint32(0x00ff7fff),
  27236. },
  27237. },
  27238. 329: {
  27239. Fmap1: [8]TFcChar32{
  27240. 2: uint32(0x07fffffe),
  27241. 3: uint32(0x07fffffe),
  27242. 6: uint32(0x24182212),
  27243. 7: uint32(0x24182212),
  27244. },
  27245. },
  27246. 330: {
  27247. Fmap1: [8]TFcChar32{
  27248. 0: uint32(0x0000f000),
  27249. 1: uint32(0x66000000),
  27250. 2: uint32(0x00300180),
  27251. 3: uint32(0x60000033),
  27252. },
  27253. },
  27254. 331: {
  27255. Fmap1: [8]TFcChar32{
  27256. 2: uint32(0x07fffffe),
  27257. 3: uint32(0x07fffffe),
  27258. 6: uint32(0x00408030),
  27259. 7: uint32(0x00408030),
  27260. },
  27261. },
  27262. 332: {
  27263. Fmap1: [8]TFcChar32{
  27264. 2: uint32(0x07fffffe),
  27265. 3: uint32(0x07fffffe),
  27266. 6: uint32(0x00020032),
  27267. 7: uint32(0x00020032),
  27268. },
  27269. },
  27270. 333: {
  27271. Fmap1: [8]TFcChar32{
  27272. 2: uint32(0x07fffffe),
  27273. 3: uint32(0x07fffffe),
  27274. 6: uint32(0x00000016),
  27275. 7: uint32(0x00000016),
  27276. },
  27277. },
  27278. 334: {
  27279. Fmap1: [8]TFcChar32{
  27280. 0: uint32(0x00033000),
  27281. 2: uint32(0x00000c00),
  27282. 3: uint32(0x60000003),
  27283. },
  27284. },
  27285. 335: {
  27286. Fmap1: [8]TFcChar32{
  27287. 2: uint32(0x07fffffe),
  27288. 3: uint32(0x07fffffe),
  27289. 6: uint32(0x00200034),
  27290. 7: uint32(0x00200034),
  27291. },
  27292. },
  27293. 336: {
  27294. Fmap1: [8]TFcChar32{
  27295. 0: uint32(0x00033000),
  27296. 2: uint32(0x00000c00),
  27297. 3: uint32(0x60000003),
  27298. 5: uint32(0x00800000),
  27299. 7: uint32(0x0000c3f0),
  27300. },
  27301. },
  27302. 337: {
  27303. Fmap1: [8]TFcChar32{
  27304. 4: uint32(0x00040000),
  27305. },
  27306. },
  27307. 338: {
  27308. Fmap1: [8]TFcChar32{
  27309. 2: uint32(0x07fffffe),
  27310. 3: uint32(0x07fffffe),
  27311. 6: uint32(0x00000880),
  27312. 7: uint32(0x00000880),
  27313. },
  27314. },
  27315. 339: {
  27316. Fmap1: [8]TFcChar32{
  27317. 0: uint32(0xfdff8f04),
  27318. 1: uint32(0xfdff01ff),
  27319. 2: uint32(0x8f0401ff),
  27320. },
  27321. },
  27322. 340: {
  27323. Fmap1: [8]TFcChar32{
  27324. 2: uint32(0x07fffffe),
  27325. 3: uint32(0x07fffffe),
  27326. 6: uint32(0x10400a33),
  27327. 7: uint32(0x10400a33),
  27328. },
  27329. },
  27330. 341: {
  27331. Fmap1: [8]TFcChar32{
  27332. 0: uint32(0xffff0000),
  27333. 1: uint32(0xffff1fff),
  27334. },
  27335. },
  27336. 342: {
  27337. Fmap1: [8]TFcChar32{
  27338. 4: uint32(0xd63dc7e8),
  27339. 5: uint32(0xc3bfc718),
  27340. 6: uint32(0x00803dc7),
  27341. },
  27342. },
  27343. 343: {
  27344. Fmap1: [8]TFcChar32{
  27345. 0: uint32(0xfffddfee),
  27346. 1: uint32(0xc3effdff),
  27347. 2: uint32(0x00603ddf),
  27348. 3: uint32(0x00000003),
  27349. },
  27350. },
  27351. 344: {
  27352. Fmap1: [8]TFcChar32{
  27353. 0: uint32(0xffff0002),
  27354. 1: uint32(0xffffffff),
  27355. 2: uint32(0x0002ffff),
  27356. 4: uint32(0x0c0c0000),
  27357. 5: uint32(0x00cc0000),
  27358. 7: uint32(0x0000c00c),
  27359. },
  27360. },
  27361. 345: {
  27362. Fmap1: [8]TFcChar32{
  27363. 0: uint32(0xfffffffe),
  27364. 1: uint32(0x87ffffff),
  27365. 2: uint32(0x00007fff),
  27366. },
  27367. },
  27368. 346: {
  27369. Fmap1: [8]TFcChar32{
  27370. 0: uint32(0xff7fff7f),
  27371. 1: uint32(0xff01ff00),
  27372. 2: uint32(0x00003d7f),
  27373. 3: uint32(0xffff7fff),
  27374. 4: uint32(0x00ff0000),
  27375. 5: uint32(0x003d7f7f),
  27376. 6: uint32(0xff7f7f00),
  27377. 7: uint32(0x00ff7f00),
  27378. },
  27379. },
  27380. 347: {
  27381. Fmap1: [8]TFcChar32{
  27382. 2: uint32(0x07fffffe),
  27383. 3: uint32(0x07fffffe),
  27384. 6: uint32(0x30400090),
  27385. 7: uint32(0x30400090),
  27386. },
  27387. },
  27388. 348: {
  27389. Fmap1: [8]TFcChar32{
  27390. 2: uint32(0xc0000180),
  27391. 3: uint32(0x60000000),
  27392. },
  27393. },
  27394. 349: {
  27395. Fmap1: [8]TFcChar32{
  27396. 2: uint32(0x07fffffe),
  27397. 3: uint32(0x07fffffe),
  27398. 6: uint32(0x18404084),
  27399. 7: uint32(0x18404084),
  27400. },
  27401. },
  27402. 350: {
  27403. Fmap1: [8]TFcChar32{
  27404. 0: uint32(0xffff0002),
  27405. 1: uint32(0xffffffff),
  27406. 2: uint32(0x0002ffff),
  27407. 4: uint32(0x00c00000),
  27408. 5: uint32(0x0c00c00c),
  27409. 6: uint32(0x03000000),
  27410. },
  27411. },
  27412. 351: {
  27413. Fmap1: [8]TFcChar32{
  27414. 2: uint32(0x07fffffe),
  27415. 3: uint32(0x07fffffe),
  27416. 6: uint32(0x00008000),
  27417. 7: uint32(0x00008000),
  27418. },
  27419. },
  27420. 352: {
  27421. Fmap1: [8]TFcChar32{
  27422. 1: uint32(0x041ed5c0),
  27423. 2: uint32(0x0000077e),
  27424. 3: uint32(0x40000000),
  27425. 4: uint32(0x01000040),
  27426. 5: uint32(0x4000a000),
  27427. 6: uint32(0x002109c0),
  27428. },
  27429. },
  27430. 353: {
  27431. Fmap1: [8]TFcChar32{
  27432. 0: uint32(0xffff00d0),
  27433. 1: uint32(0xffffffff),
  27434. 2: uint32(0x00d0ffff),
  27435. 4: uint32(0x00030000),
  27436. },
  27437. },
  27438. 354: {
  27439. Fmap1: [8]TFcChar32{
  27440. 1: uint32(0xffffff7b),
  27441. 2: uint32(0x7fffffff),
  27442. 3: uint32(0x7ffffffe),
  27443. 5: uint32(0x80e310fe),
  27444. 6: uint32(0x00800000),
  27445. 7: uint32(0x00800000),
  27446. },
  27447. },
  27448. 355: {
  27449. Fmap1: [8]TFcChar32{
  27450. 1: uint32(0x00020000),
  27451. },
  27452. },
  27453. 356: {
  27454. Fmap1: [8]TFcChar32{
  27455. 0: uint32(0x00001500),
  27456. 1: uint32(0x01000000),
  27457. 4: uint32(0xfffe0000),
  27458. 5: uint32(0xfffe03db),
  27459. 6: uint32(0x006003fb),
  27460. 7: uint32(0x00030000),
  27461. },
  27462. },
  27463. 357: {
  27464. Fmap1: [8]TFcChar32{
  27465. 0: uint32(0x00400000),
  27466. 1: uint32(0x00000047),
  27467. 2: uint32(0x00800010),
  27468. 7: uint32(0x00000002),
  27469. },
  27470. },
  27471. 358: {
  27472. Fmap1: [8]TFcChar32{
  27473. 0: uint32(0x3f2fc004),
  27474. 1: uint32(0x00000010),
  27475. },
  27476. },
  27477. 359: {
  27478. Fmap1: [8]TFcChar32{
  27479. 0: uint32(0xe3ffbfff),
  27480. 1: uint32(0xfff007ff),
  27481. 2: uint32(0x00000001),
  27482. 4: uint32(0xfffff000),
  27483. 5: uint32(0x0000003f),
  27484. 6: uint32(0x0000e10f),
  27485. },
  27486. },
  27487. 360: {
  27488. Fmap1: [8]TFcChar32{
  27489. 0: uint32(0x00000f00),
  27490. 1: uint32(0x0000000c),
  27491. },
  27492. },
  27493. 361: {
  27494. Fmap1: [8]TFcChar32{
  27495. 5: uint32(0x00000003),
  27496. },
  27497. },
  27498. 362: {
  27499. Fmap1: [8]TFcChar32{
  27500. 7: uint32(0x000003c0),
  27501. },
  27502. },
  27503. 363: {
  27504. Fmap1: [8]TFcChar32{
  27505. 0: uint32(0xffffffff),
  27506. 1: uint32(0xffffffff),
  27507. 2: uint32(0xffdfffff),
  27508. 3: uint32(0xffffffff),
  27509. 4: uint32(0xdfffffff),
  27510. 5: uint32(0x00001e64),
  27511. },
  27512. },
  27513. 364: {
  27514. Fmap1: [8]TFcChar32{
  27515. 1: uint32(0x78000000),
  27516. 2: uint32(0x0001fc5f),
  27517. },
  27518. },
  27519. 365: {
  27520. Fmap1: [8]TFcChar32{
  27521. 5: uint32(0x00000030),
  27522. },
  27523. },
  27524. 366: {
  27525. Fmap1: [8]TFcChar32{
  27526. 0: uint32(0x0c000000),
  27527. 7: uint32(0x00091e00),
  27528. },
  27529. },
  27530. 367: {
  27531. Fmap1: [8]TFcChar32{
  27532. 7: uint32(0x60000000),
  27533. },
  27534. },
  27535. 368: {
  27536. Fmap1: [8]TFcChar32{
  27537. 0: uint32(0x00300000),
  27538. 2: uint32(0x000fff00),
  27539. 3: uint32(0x80000000),
  27540. 4: uint32(0x00080000),
  27541. 5: uint32(0x60000c02),
  27542. 6: uint32(0x00104030),
  27543. 7: uint32(0x242c0400),
  27544. },
  27545. },
  27546. 369: {
  27547. Fmap1: [8]TFcChar32{
  27548. 0: uint32(0x00000c20),
  27549. 1: uint32(0x00000100),
  27550. 2: uint32(0x00b85000),
  27551. 4: uint32(0x00e00000),
  27552. 5: uint32(0x80010000),
  27553. },
  27554. },
  27555. 370: {
  27556. Fmap1: [8]TFcChar32{
  27557. 0: uint32(0x18000000),
  27558. 2: uint32(0x00210000),
  27559. },
  27560. },
  27561. 371: {
  27562. Fmap1: [8]TFcChar32{
  27563. 0: uint32(0x00000010),
  27564. 6: uint32(0x00008000),
  27565. },
  27566. },
  27567. 372: {
  27568. Fmap1: [8]TFcChar32{
  27569. 4: uint32(0x07fe4000),
  27570. 7: uint32(0xffffffc0),
  27571. },
  27572. },
  27573. 373: {
  27574. Fmap1: [8]TFcChar32{
  27575. 0: uint32(0x04000002),
  27576. 1: uint32(0x077c8000),
  27577. 2: uint32(0x00030000),
  27578. },
  27579. },
  27580. 374: {
  27581. Fmap1: [8]TFcChar32{
  27582. 0: uint32(0xffffffff),
  27583. 1: uint32(0xffbf0001),
  27584. 2: uint32(0xffffffff),
  27585. 3: uint32(0x1fffffff),
  27586. 4: uint32(0x000fffff),
  27587. 5: uint32(0xffffffff),
  27588. 6: uint32(0x000007df),
  27589. 7: uint32(0x0001ffff),
  27590. },
  27591. },
  27592. 375: {
  27593. Fmap1: [8]TFcChar32{
  27594. 2: uint32(0xfffffffd),
  27595. 3: uint32(0xffffffff),
  27596. 4: uint32(0xffffffff),
  27597. 5: uint32(0xffffffff),
  27598. 6: uint32(0xffffffff),
  27599. 7: uint32(0x1effffff),
  27600. },
  27601. },
  27602. 376: {
  27603. Fmap1: [8]TFcChar32{
  27604. 0: uint32(0xffffffff),
  27605. 1: uint32(0x3fffffff),
  27606. 2: uint32(0xffff0000),
  27607. 3: uint32(0x000000ff),
  27608. 7: uint32(0xf8000000),
  27609. },
  27610. },
  27611. 377: {
  27612. Fmap1: [8]TFcChar32{
  27613. 0: uint32(0x755dfffe),
  27614. 1: uint32(0xffef2f3f),
  27615. 2: uint32(0x0000ffe1),
  27616. },
  27617. },
  27618. 378: {
  27619. Fmap1: [8]TFcChar32{
  27620. 0: uint32(0x000c0000),
  27621. 1: uint32(0x30000000),
  27622. 2: uint32(0x00000c30),
  27623. 3: uint32(0x00030000),
  27624. },
  27625. },
  27626. 379: {
  27627. Fmap1: [8]TFcChar32{
  27628. 2: uint32(0x07fffffe),
  27629. 3: uint32(0x07fffffe),
  27630. 6: uint32(0x263c370f),
  27631. 7: uint32(0x263c370f),
  27632. },
  27633. },
  27634. 380: {
  27635. Fmap1: [8]TFcChar32{
  27636. 0: uint32(0x0003000c),
  27637. 1: uint32(0x00000300),
  27638. 3: uint32(0x00000300),
  27639. 5: uint32(0x00018003),
  27640. },
  27641. },
  27642. 381: {
  27643. Fmap1: [8]TFcChar32{
  27644. 0: uint32(0x0800024f),
  27645. 1: uint32(0x00000008),
  27646. },
  27647. },
  27648. 382: {
  27649. Fmap1: [8]TFcChar32{
  27650. 5: uint32(0xffffffff),
  27651. 6: uint32(0xffffffff),
  27652. 7: uint32(0x03ffffff),
  27653. },
  27654. },
  27655. 383: {
  27656. Fmap1: [8]TFcChar32{
  27657. 2: uint32(0x077dfffe),
  27658. 3: uint32(0x077dfffe),
  27659. 6: uint32(0x10400010),
  27660. 7: uint32(0x10400010),
  27661. },
  27662. },
  27663. 384: {
  27664. Fmap1: [8]TFcChar32{
  27665. 2: uint32(0x07fffffe),
  27666. 3: uint32(0x07fffffe),
  27667. 6: uint32(0x10400010),
  27668. 7: uint32(0x10400010),
  27669. },
  27670. },
  27671. 385: {
  27672. Fmap1: [8]TFcChar32{
  27673. 2: uint32(0x07fffffe),
  27674. 3: uint32(0x07fffffe),
  27675. 6: uint32(0x081047a4),
  27676. 7: uint32(0x081047a4),
  27677. },
  27678. },
  27679. 386: {
  27680. Fmap1: [8]TFcChar32{
  27681. 0: uint32(0x0c0030c0),
  27682. 2: uint32(0x0f30001e),
  27683. 3: uint32(0x66000003),
  27684. },
  27685. },
  27686. 387: {
  27687. Fmap1: [8]TFcChar32{
  27688. 2: uint32(0x07fffffe),
  27689. 3: uint32(0x07fffffe),
  27690. 6: uint32(0x000a0a09),
  27691. 7: uint32(0x000a0a09),
  27692. },
  27693. },
  27694. 388: {
  27695. Fmap1: [8]TFcChar32{
  27696. 2: uint32(0x07fffffe),
  27697. 3: uint32(0x07fffffe),
  27698. 6: uint32(0x00400810),
  27699. 7: uint32(0x00400810),
  27700. },
  27701. },
  27702. 389: {
  27703. Fmap1: [8]TFcChar32{
  27704. 2: uint32(0x07fffffe),
  27705. 3: uint32(0x07fffffe),
  27706. 6: uint32(0x0e3c770f),
  27707. 7: uint32(0x0e3c770f),
  27708. },
  27709. },
  27710. 390: {
  27711. Fmap1: [8]TFcChar32{
  27712. 0: uint32(0x0c000000),
  27713. 1: uint32(0x00000300),
  27714. 2: uint32(0x00000018),
  27715. 3: uint32(0x00000300),
  27716. 6: uint32(0x001fe000),
  27717. 7: uint32(0x03000000),
  27718. },
  27719. },
  27720. 391: {
  27721. Fmap1: [8]TFcChar32{
  27722. 0: uint32(0x0000100f),
  27723. },
  27724. },
  27725. 392: {
  27726. Fmap1: [8]TFcChar32{
  27727. 1: uint32(0xc0000000),
  27728. 3: uint32(0x0000000c),
  27729. 5: uint32(0x33000000),
  27730. 6: uint32(0x00003000),
  27731. },
  27732. },
  27733. 393: {
  27734. Fmap1: [8]TFcChar32{
  27735. 6: uint32(0x00000280),
  27736. },
  27737. },
  27738. 394: {
  27739. Fmap1: [8]TFcChar32{
  27740. 0: uint32(0x7f7b7f8b),
  27741. 1: uint32(0xef553db4),
  27742. 2: uint32(0xf35dfba8),
  27743. 3: uint32(0x400b0243),
  27744. 4: uint32(0x8d3efb40),
  27745. 5: uint32(0x8c2c7bf7),
  27746. 6: uint32(0xe3fa6eff),
  27747. 7: uint32(0xa8ed1d3a),
  27748. },
  27749. },
  27750. 395: {
  27751. Fmap1: [8]TFcChar32{
  27752. 0: uint32(0xcf83e602),
  27753. 1: uint32(0x35558cf5),
  27754. 2: uint32(0xffabe048),
  27755. 3: uint32(0xd85992b9),
  27756. 4: uint32(0x2892ab18),
  27757. 5: uint32(0x8020d7e9),
  27758. 6: uint32(0xf583c438),
  27759. 7: uint32(0x450ae74a),
  27760. },
  27761. },
  27762. 396: {
  27763. Fmap1: [8]TFcChar32{
  27764. 0: uint32(0x9714b000),
  27765. 1: uint32(0x54007762),
  27766. 2: uint32(0x1420d188),
  27767. 3: uint32(0xc8c01020),
  27768. 4: uint32(0x00002121),
  27769. 5: uint32(0x0c0413a8),
  27770. 6: uint32(0x04408000),
  27771. 7: uint32(0x082870c0),
  27772. },
  27773. },
  27774. 397: {
  27775. Fmap1: [8]TFcChar32{
  27776. 0: uint32(0x000408c0),
  27777. 1: uint32(0x80000002),
  27778. 2: uint32(0x14722b7b),
  27779. 3: uint32(0x3bfb7924),
  27780. 4: uint32(0x1ae43327),
  27781. 5: uint32(0x38ef9835),
  27782. 6: uint32(0x28029ad1),
  27783. 7: uint32(0xbf69a813),
  27784. },
  27785. },
  27786. 398: {
  27787. Fmap1: [8]TFcChar32{
  27788. 0: uint32(0x2fc665cf),
  27789. 1: uint32(0xafc96b11),
  27790. 2: uint32(0x5053340f),
  27791. 3: uint32(0xa00486a2),
  27792. 4: uint32(0xe8090106),
  27793. 5: uint32(0xc00e3f0f),
  27794. 6: uint32(0x81450a88),
  27795. 7: uint32(0xc6010010),
  27796. },
  27797. },
  27798. 399: {
  27799. Fmap1: [8]TFcChar32{
  27800. 0: uint32(0x26e1a161),
  27801. 1: uint32(0xce00444b),
  27802. 2: uint32(0xd4eec7aa),
  27803. 3: uint32(0x85bbcadf),
  27804. 4: uint32(0xa5203a74),
  27805. 5: uint32(0x8840436c),
  27806. 6: uint32(0x8bd23f06),
  27807. 7: uint32(0x3befff79),
  27808. },
  27809. },
  27810. 400: {
  27811. Fmap1: [8]TFcChar32{
  27812. 0: uint32(0xe8eff75a),
  27813. 1: uint32(0x5b36fbcb),
  27814. 2: uint32(0x1bfd0d49),
  27815. 3: uint32(0x39ee0154),
  27816. 4: uint32(0x2e75d855),
  27817. 5: uint32(0xa91abfd8),
  27818. 6: uint32(0xf6bff3d7),
  27819. 7: uint32(0xb40c67e0),
  27820. },
  27821. },
  27822. 401: {
  27823. Fmap1: [8]TFcChar32{
  27824. 0: uint32(0x081382c2),
  27825. 1: uint32(0xd08bd49d),
  27826. 2: uint32(0x1061065a),
  27827. 3: uint32(0x59e074f2),
  27828. 4: uint32(0xb3128f9f),
  27829. 5: uint32(0x6aaa0080),
  27830. 6: uint32(0xb05e3230),
  27831. 7: uint32(0x60ac9d7a),
  27832. },
  27833. },
  27834. 402: {
  27835. Fmap1: [8]TFcChar32{
  27836. 0: uint32(0xc900d303),
  27837. 1: uint32(0x8a563098),
  27838. 2: uint32(0x13907000),
  27839. 3: uint32(0x18421f14),
  27840. 4: uint32(0x0008c060),
  27841. 5: uint32(0x10808008),
  27842. 6: uint32(0xec900400),
  27843. 7: uint32(0xe6332817),
  27844. },
  27845. },
  27846. 403: {
  27847. Fmap1: [8]TFcChar32{
  27848. 0: uint32(0x90000758),
  27849. 1: uint32(0x4e09f708),
  27850. 2: uint32(0xfc83f485),
  27851. 3: uint32(0x18c8af53),
  27852. 4: uint32(0x080c187c),
  27853. 5: uint32(0x01146adf),
  27854. 6: uint32(0xa734c80c),
  27855. 7: uint32(0x2710a011),
  27856. },
  27857. },
  27858. 404: {
  27859. Fmap1: [8]TFcChar32{
  27860. 0: uint32(0x422228c5),
  27861. 1: uint32(0x00210413),
  27862. 2: uint32(0x41123010),
  27863. 3: uint32(0x40001820),
  27864. 4: uint32(0xc60c022b),
  27865. 5: uint32(0x10000300),
  27866. 6: uint32(0x00220022),
  27867. 7: uint32(0x02495810),
  27868. },
  27869. },
  27870. 405: {
  27871. Fmap1: [8]TFcChar32{
  27872. 0: uint32(0x9670a094),
  27873. 1: uint32(0x1792eeb0),
  27874. 2: uint32(0x05f2cb96),
  27875. 3: uint32(0x23580025),
  27876. 4: uint32(0x42cc25de),
  27877. 5: uint32(0x4a04cf38),
  27878. 6: uint32(0x359f0c40),
  27879. 7: uint32(0x8a001128),
  27880. },
  27881. },
  27882. 406: {
  27883. Fmap1: [8]TFcChar32{
  27884. 0: uint32(0x910a13fa),
  27885. 1: uint32(0x10560229),
  27886. 2: uint32(0x04200641),
  27887. 3: uint32(0x84f00484),
  27888. 4: uint32(0x0c040000),
  27889. 5: uint32(0x412c0400),
  27890. 6: uint32(0x11541206),
  27891. 7: uint32(0x00020a4b),
  27892. },
  27893. },
  27894. 407: {
  27895. Fmap1: [8]TFcChar32{
  27896. 0: uint32(0x00c00200),
  27897. 1: uint32(0x00940000),
  27898. 2: uint32(0xbfbb0001),
  27899. 3: uint32(0x242b167c),
  27900. 4: uint32(0x7fa89bbb),
  27901. 5: uint32(0xe3790c7f),
  27902. 6: uint32(0xe00d10f4),
  27903. 7: uint32(0x9f014132),
  27904. },
  27905. },
  27906. 408: {
  27907. Fmap1: [8]TFcChar32{
  27908. 0: uint32(0x35728652),
  27909. 1: uint32(0xff1210b4),
  27910. 2: uint32(0x4223cf27),
  27911. 3: uint32(0x8602c06b),
  27912. 4: uint32(0x1fd33106),
  27913. 5: uint32(0xa1aa3a0c),
  27914. 6: uint32(0x02040812),
  27915. 7: uint32(0x08012572),
  27916. },
  27917. },
  27918. 409: {
  27919. Fmap1: [8]TFcChar32{
  27920. 0: uint32(0x485040cc),
  27921. 1: uint32(0x601062d0),
  27922. 2: uint32(0x29001c80),
  27923. 3: uint32(0x00109a00),
  27924. 4: uint32(0x22000004),
  27925. 5: uint32(0x00800000),
  27926. 6: uint32(0x68002020),
  27927. 7: uint32(0x609ecbe6),
  27928. },
  27929. },
  27930. 410: {
  27931. Fmap1: [8]TFcChar32{
  27932. 0: uint32(0x3f73916e),
  27933. 1: uint32(0x398260c0),
  27934. 2: uint32(0x48301034),
  27935. 3: uint32(0xbd5c0006),
  27936. 4: uint32(0xd6fb8cd1),
  27937. 5: uint32(0x43e820e1),
  27938. 6: uint32(0x084e0600),
  27939. 7: uint32(0xc4d00500),
  27940. },
  27941. },
  27942. 411: {
  27943. Fmap1: [8]TFcChar32{
  27944. 0: uint32(0x89aa8d1f),
  27945. 1: uint32(0x1602a6e1),
  27946. 2: uint32(0x21ed0001),
  27947. 3: uint32(0x1a8b3656),
  27948. 4: uint32(0x13a51fb7),
  27949. 5: uint32(0x30a06502),
  27950. 6: uint32(0x23c7b278),
  27951. 7: uint32(0xe9226c93),
  27952. },
  27953. },
  27954. 412: {
  27955. Fmap1: [8]TFcChar32{
  27956. 0: uint32(0x3a74e47f),
  27957. 1: uint32(0x98208fe3),
  27958. 2: uint32(0x2625280e),
  27959. 3: uint32(0xbf49bf9c),
  27960. 4: uint32(0xac543218),
  27961. 5: uint32(0x1916b949),
  27962. 6: uint32(0xb5220c60),
  27963. 7: uint32(0x0659fbc1),
  27964. },
  27965. },
  27966. 413: {
  27967. Fmap1: [8]TFcChar32{
  27968. 0: uint32(0x8420e343),
  27969. 1: uint32(0x800008d9),
  27970. 2: uint32(0x20225500),
  27971. 3: uint32(0x00a10184),
  27972. 4: uint32(0x20104800),
  27973. 5: uint32(0x40801380),
  27974. 6: uint32(0x00160d04),
  27975. 7: uint32(0x80200040),
  27976. },
  27977. },
  27978. 414: {
  27979. Fmap1: [8]TFcChar32{
  27980. 0: uint32(0x8de7fd40),
  27981. 1: uint32(0xe0985436),
  27982. 2: uint32(0x091e7b8b),
  27983. 3: uint32(0xd249fec8),
  27984. 4: uint32(0x8dee0611),
  27985. 5: uint32(0xba221937),
  27986. 6: uint32(0x9fdd77f4),
  27987. 7: uint32(0xf0daf3ec),
  27988. },
  27989. },
  27990. 415: {
  27991. Fmap1: [8]TFcChar32{
  27992. 0: uint32(0xec424386),
  27993. 1: uint32(0x26048d3f),
  27994. 2: uint32(0xc021fa6c),
  27995. 3: uint32(0x0cc2628e),
  27996. 4: uint32(0x0145d785),
  27997. 5: uint32(0x559977ad),
  27998. 6: uint32(0x4045e250),
  27999. 7: uint32(0xa154260b),
  28000. },
  28001. },
  28002. 416: {
  28003. Fmap1: [8]TFcChar32{
  28004. 0: uint32(0x58199827),
  28005. 1: uint32(0xa4103443),
  28006. 2: uint32(0x411405f2),
  28007. 3: uint32(0x07002280),
  28008. 4: uint32(0x426600b4),
  28009. 5: uint32(0x15a17210),
  28010. 6: uint32(0x41856025),
  28011. 7: uint32(0x00000054),
  28012. },
  28013. },
  28014. 417: {
  28015. Fmap1: [8]TFcChar32{
  28016. 0: uint32(0x01040201),
  28017. 1: uint32(0xcb70c820),
  28018. 2: uint32(0x6a629320),
  28019. 3: uint32(0x0095184c),
  28020. 4: uint32(0x9a8b1880),
  28021. 5: uint32(0x3201aab2),
  28022. 6: uint32(0x00c4d87a),
  28023. 7: uint32(0x04c3f3e5),
  28024. },
  28025. },
  28026. 418: {
  28027. Fmap1: [8]TFcChar32{
  28028. 0: uint32(0xa238d44d),
  28029. 1: uint32(0x5072a1a1),
  28030. 2: uint32(0x84fc980a),
  28031. 3: uint32(0x44d1c152),
  28032. 4: uint32(0x20c21094),
  28033. 5: uint32(0x42104180),
  28034. 6: uint32(0x3a000000),
  28035. 7: uint32(0xd29d0240),
  28036. },
  28037. },
  28038. 419: {
  28039. Fmap1: [8]TFcChar32{
  28040. 0: uint32(0xa8b12f01),
  28041. 1: uint32(0x2432bd40),
  28042. 2: uint32(0xd04bd34d),
  28043. 3: uint32(0xd0ada723),
  28044. 4: uint32(0x75a10a92),
  28045. 5: uint32(0x01e9adac),
  28046. 6: uint32(0x771f801a),
  28047. 7: uint32(0xa01b9225),
  28048. },
  28049. },
  28050. 420: {
  28051. Fmap1: [8]TFcChar32{
  28052. 0: uint32(0x20cadfa1),
  28053. 1: uint32(0x738c0602),
  28054. 2: uint32(0x003b577f),
  28055. 3: uint32(0x00d00bff),
  28056. 4: uint32(0x0088806a),
  28057. 5: uint32(0x0029a1c4),
  28058. 6: uint32(0x05242a05),
  28059. 7: uint32(0x16234009),
  28060. },
  28061. },
  28062. 421: {
  28063. Fmap1: [8]TFcChar32{
  28064. 0: uint32(0x80056822),
  28065. 1: uint32(0xa2112011),
  28066. 2: uint32(0x64900004),
  28067. 3: uint32(0x13824849),
  28068. 4: uint32(0x193023d5),
  28069. 5: uint32(0x08922980),
  28070. 6: uint32(0x88115402),
  28071. 7: uint32(0xa0042001),
  28072. },
  28073. },
  28074. 422: {
  28075. Fmap1: [8]TFcChar32{
  28076. 0: uint32(0x81800400),
  28077. 1: uint32(0x60228502),
  28078. 2: uint32(0x0b010090),
  28079. 3: uint32(0x12020022),
  28080. 4: uint32(0x00834011),
  28081. 5: uint32(0x00001a01),
  28082. },
  28083. },
  28084. 423: {
  28085. Fmap1: [8]TFcChar32{
  28086. 1: uint32(0x4684009f),
  28087. 2: uint32(0x020012c8),
  28088. 3: uint32(0x1a0004fc),
  28089. 4: uint32(0x0c4c2ede),
  28090. 5: uint32(0x80b80402),
  28091. 6: uint32(0x0afca826),
  28092. 7: uint32(0x22288c02),
  28093. },
  28094. },
  28095. 424: {
  28096. Fmap1: [8]TFcChar32{
  28097. 0: uint32(0x8f7ba0e0),
  28098. 1: uint32(0x2135c7d6),
  28099. 2: uint32(0xf8b106c7),
  28100. 3: uint32(0x62550713),
  28101. 4: uint32(0x8a19936e),
  28102. 5: uint32(0xfb0e6efa),
  28103. 6: uint32(0x48f91630),
  28104. 7: uint32(0x7debcd2f),
  28105. },
  28106. },
  28107. 425: {
  28108. Fmap1: [8]TFcChar32{
  28109. 0: uint32(0x4e845892),
  28110. 1: uint32(0x7a2e4ca0),
  28111. 2: uint32(0x561eedea),
  28112. 3: uint32(0x1190c649),
  28113. 4: uint32(0xe83a5324),
  28114. 5: uint32(0x8124cfdb),
  28115. 6: uint32(0x634218f1),
  28116. 7: uint32(0x1a8a5853),
  28117. },
  28118. },
  28119. 426: {
  28120. Fmap1: [8]TFcChar32{
  28121. 0: uint32(0x24d37420),
  28122. 1: uint32(0x0514aa3b),
  28123. 2: uint32(0x89586018),
  28124. 3: uint32(0xc0004800),
  28125. 4: uint32(0x91018268),
  28126. 5: uint32(0x2cd684a4),
  28127. 6: uint32(0xc4ba8886),
  28128. 7: uint32(0x02100377),
  28129. },
  28130. },
  28131. 427: {
  28132. Fmap1: [8]TFcChar32{
  28133. 0: uint32(0x00388244),
  28134. 1: uint32(0x404aae11),
  28135. 2: uint32(0x510028c0),
  28136. 3: uint32(0x15146044),
  28137. 4: uint32(0x10007310),
  28138. 5: uint32(0x02480082),
  28139. 6: uint32(0x40060205),
  28140. 7: uint32(0x0000c003),
  28141. },
  28142. },
  28143. 428: {
  28144. Fmap1: [8]TFcChar32{
  28145. 0: uint32(0x0c020000),
  28146. 1: uint32(0x02200008),
  28147. 2: uint32(0x40009000),
  28148. 3: uint32(0xd161b800),
  28149. 4: uint32(0x32744621),
  28150. 5: uint32(0x3b8af800),
  28151. 6: uint32(0x8b00050f),
  28152. 7: uint32(0x2280bbd0),
  28153. },
  28154. },
  28155. 429: {
  28156. Fmap1: [8]TFcChar32{
  28157. 0: uint32(0x07690600),
  28158. 1: uint32(0x00438040),
  28159. 2: uint32(0x50005420),
  28160. 3: uint32(0x250c41d0),
  28161. 4: uint32(0x83108410),
  28162. 5: uint32(0x02281101),
  28163. 6: uint32(0x00304008),
  28164. 7: uint32(0x020040a1),
  28165. },
  28166. },
  28167. 430: {
  28168. Fmap1: [8]TFcChar32{
  28169. 0: uint32(0x20000040),
  28170. 1: uint32(0xabe31500),
  28171. 2: uint32(0xaa443180),
  28172. 3: uint32(0xc624c2c6),
  28173. 4: uint32(0x8004ac13),
  28174. 5: uint32(0x03d1b000),
  28175. 6: uint32(0x4285611e),
  28176. 7: uint32(0x1d9ff303),
  28177. },
  28178. },
  28179. 431: {
  28180. Fmap1: [8]TFcChar32{
  28181. 0: uint32(0x78e8440a),
  28182. 1: uint32(0xc3925e26),
  28183. 2: uint32(0x00852000),
  28184. 3: uint32(0x4000b001),
  28185. 4: uint32(0x88424a90),
  28186. 5: uint32(0x0c8dca04),
  28187. 6: uint32(0x4203a705),
  28188. 7: uint32(0x000422a1),
  28189. },
  28190. },
  28191. 432: {
  28192. Fmap1: [8]TFcChar32{
  28193. 0: uint32(0x0c018668),
  28194. 1: uint32(0x10795564),
  28195. 2: uint32(0xdea00002),
  28196. 3: uint32(0x40c12000),
  28197. 4: uint32(0x5001488b),
  28198. 5: uint32(0x04000380),
  28199. 6: uint32(0x50040000),
  28200. 7: uint32(0x80d0c05d),
  28201. },
  28202. },
  28203. 433: {
  28204. Fmap1: [8]TFcChar32{
  28205. 0: uint32(0x970aa010),
  28206. 1: uint32(0x4dafbb20),
  28207. 2: uint32(0x1e10d921),
  28208. 3: uint32(0x83140460),
  28209. 4: uint32(0xa6d68848),
  28210. 5: uint32(0x733fd83b),
  28211. 6: uint32(0x497427bc),
  28212. 7: uint32(0x92130ddc),
  28213. },
  28214. },
  28215. 434: {
  28216. Fmap1: [8]TFcChar32{
  28217. 0: uint32(0x8ba1142b),
  28218. 1: uint32(0xd1392e75),
  28219. 2: uint32(0x50503009),
  28220. 3: uint32(0x69008808),
  28221. 4: uint32(0x024a49d4),
  28222. 5: uint32(0x80164010),
  28223. 6: uint32(0x89d7e564),
  28224. 7: uint32(0x5316c020),
  28225. },
  28226. },
  28227. 435: {
  28228. Fmap1: [8]TFcChar32{
  28229. 0: uint32(0x86002b92),
  28230. 1: uint32(0x15e0a345),
  28231. 2: uint32(0x0c03008b),
  28232. 3: uint32(0xe200196e),
  28233. 4: uint32(0x80067031),
  28234. 5: uint32(0xa82916a5),
  28235. 6: uint32(0x18802000),
  28236. 7: uint32(0xe1487aac),
  28237. },
  28238. },
  28239. 436: {
  28240. Fmap1: [8]TFcChar32{
  28241. 0: uint32(0xb5d63207),
  28242. 1: uint32(0x5f9132e8),
  28243. 2: uint32(0x20e550a1),
  28244. 3: uint32(0x10807c00),
  28245. 4: uint32(0x9d8a7280),
  28246. 5: uint32(0x421f00aa),
  28247. 6: uint32(0x02310e22),
  28248. 7: uint32(0x04941100),
  28249. },
  28250. },
  28251. 437: {
  28252. Fmap1: [8]TFcChar32{
  28253. 0: uint32(0x40080022),
  28254. 1: uint32(0x5c100010),
  28255. 2: uint32(0xfcc80343),
  28256. 3: uint32(0x0580a1a5),
  28257. 4: uint32(0x04008433),
  28258. 5: uint32(0x6e080080),
  28259. 6: uint32(0x81262a4b),
  28260. 7: uint32(0x2901aad8),
  28261. },
  28262. },
  28263. 438: {
  28264. Fmap1: [8]TFcChar32{
  28265. 0: uint32(0x4490684d),
  28266. 1: uint32(0xba880009),
  28267. 2: uint32(0x00820040),
  28268. 3: uint32(0x87d10000),
  28269. 4: uint32(0xb1e6215b),
  28270. 5: uint32(0x80083161),
  28271. 6: uint32(0xc2400800),
  28272. 7: uint32(0xa600a069),
  28273. },
  28274. },
  28275. 439: {
  28276. Fmap1: [8]TFcChar32{
  28277. 0: uint32(0x4a328d58),
  28278. 1: uint32(0x550a5d71),
  28279. 2: uint32(0x2d579aa0),
  28280. 3: uint32(0x4aa64005),
  28281. 4: uint32(0x30b12021),
  28282. 5: uint32(0x01123fc6),
  28283. 6: uint32(0x260a10c2),
  28284. 7: uint32(0x50824462),
  28285. },
  28286. },
  28287. 440: {
  28288. Fmap1: [8]TFcChar32{
  28289. 0: uint32(0x80409880),
  28290. 1: uint32(0x810004c0),
  28291. 2: uint32(0x00002003),
  28292. 3: uint32(0x38180000),
  28293. 4: uint32(0xf1a60200),
  28294. 5: uint32(0x720e4434),
  28295. 6: uint32(0x92e035a2),
  28296. 7: uint32(0x09008101),
  28297. },
  28298. },
  28299. 441: {
  28300. Fmap1: [8]TFcChar32{
  28301. 0: uint32(0x00000400),
  28302. 1: uint32(0x00008885),
  28303. 3: uint32(0x00804000),
  28304. 5: uint32(0x00004040),
  28305. },
  28306. },
  28307. 442: {
  28308. Fmap1: [8]TFcChar32{
  28309. 1: uint32(0x08000000),
  28310. 2: uint32(0x00000082),
  28311. 4: uint32(0x88000004),
  28312. 5: uint32(0xe7efbfff),
  28313. 6: uint32(0xffbfffff),
  28314. 7: uint32(0xfdffefef),
  28315. },
  28316. },
  28317. 443: {
  28318. Fmap1: [8]TFcChar32{
  28319. 0: uint32(0xbffefbff),
  28320. 1: uint32(0x057fffff),
  28321. 2: uint32(0x85b30034),
  28322. 3: uint32(0x42164706),
  28323. 4: uint32(0xe4105402),
  28324. 5: uint32(0xb3058092),
  28325. 6: uint32(0x81305422),
  28326. 7: uint32(0x180b4263),
  28327. },
  28328. },
  28329. 444: {
  28330. Fmap1: [8]TFcChar32{
  28331. 0: uint32(0x13f5387b),
  28332. 1: uint32(0xa9ea07e5),
  28333. 2: uint32(0x05143c4c),
  28334. 3: uint32(0x80020600),
  28335. 4: uint32(0xbd481ad9),
  28336. 5: uint32(0xf496ee37),
  28337. 6: uint32(0x7ec0705f),
  28338. 7: uint32(0x355fbfb2),
  28339. },
  28340. },
  28341. 445: {
  28342. Fmap1: [8]TFcChar32{
  28343. 0: uint32(0x455fe644),
  28344. 1: uint32(0x41469000),
  28345. 2: uint32(0x063b1d40),
  28346. 3: uint32(0xfe1362a1),
  28347. 4: uint32(0x39028505),
  28348. 5: uint32(0x0c080548),
  28349. 6: uint32(0x0000144f),
  28350. 7: uint32(0x58183488),
  28351. },
  28352. },
  28353. 446: {
  28354. Fmap1: [8]TFcChar32{
  28355. 0: uint32(0xd8153077),
  28356. 1: uint32(0x4bfbbd0e),
  28357. 2: uint32(0x85008a90),
  28358. 3: uint32(0xe61dc100),
  28359. 4: uint32(0xb386ed14),
  28360. 5: uint32(0x639bff72),
  28361. 6: uint32(0xd9befd92),
  28362. 7: uint32(0x0a92887b),
  28363. },
  28364. },
  28365. 447: {
  28366. Fmap1: [8]TFcChar32{
  28367. 0: uint32(0x1cb2d3fe),
  28368. 1: uint32(0x177ab980),
  28369. 2: uint32(0xdc1782c9),
  28370. 3: uint32(0x3980fffb),
  28371. 4: uint32(0x590c4260),
  28372. 5: uint32(0x37df0f01),
  28373. 6: uint32(0xb15094a3),
  28374. 7: uint32(0x23070623),
  28375. },
  28376. },
  28377. 448: {
  28378. Fmap1: [8]TFcChar32{
  28379. 0: uint32(0x3102f85a),
  28380. 1: uint32(0x310201f0),
  28381. 2: uint32(0x1e820040),
  28382. 3: uint32(0x056a3a0a),
  28383. 4: uint32(0x12805b84),
  28384. 5: uint32(0xa7148002),
  28385. 6: uint32(0xa04b2612),
  28386. 7: uint32(0x90011069),
  28387. },
  28388. },
  28389. 449: {
  28390. Fmap1: [8]TFcChar32{
  28391. 0: uint32(0x848a1000),
  28392. 1: uint32(0x3f801802),
  28393. 2: uint32(0x42400708),
  28394. 3: uint32(0x4e140110),
  28395. 4: uint32(0x180080b0),
  28396. 5: uint32(0x0281c510),
  28397. 6: uint32(0x10298202),
  28398. 7: uint32(0x88000210),
  28399. },
  28400. },
  28401. 450: {
  28402. Fmap1: [8]TFcChar32{
  28403. 0: uint32(0x00420020),
  28404. 1: uint32(0x11000280),
  28405. 2: uint32(0x4413e000),
  28406. 3: uint32(0xfe025804),
  28407. 4: uint32(0x30283c07),
  28408. 5: uint32(0x04739798),
  28409. 6: uint32(0xcb13ced1),
  28410. 7: uint32(0x431f6210),
  28411. },
  28412. },
  28413. 451: {
  28414. Fmap1: [8]TFcChar32{
  28415. 0: uint32(0x55ac278d),
  28416. 1: uint32(0xc892422e),
  28417. 2: uint32(0x02885380),
  28418. 3: uint32(0x78514039),
  28419. 4: uint32(0x8088292c),
  28420. 5: uint32(0x2428b900),
  28421. 6: uint32(0x080e0c41),
  28422. 7: uint32(0x42004421),
  28423. },
  28424. },
  28425. 452: {
  28426. Fmap1: [8]TFcChar32{
  28427. 0: uint32(0x08680408),
  28428. 1: uint32(0x12040006),
  28429. 2: uint32(0x02903031),
  28430. 3: uint32(0xe0855b3e),
  28431. 4: uint32(0x10442936),
  28432. 5: uint32(0x10822814),
  28433. 6: uint32(0x83344266),
  28434. 7: uint32(0x531b013c),
  28435. },
  28436. },
  28437. 453: {
  28438. Fmap1: [8]TFcChar32{
  28439. 0: uint32(0x0e0d0404),
  28440. 1: uint32(0x00510c22),
  28441. 2: uint32(0xc0000012),
  28442. 3: uint32(0x88000040),
  28443. 4: uint32(0x0000004a),
  28444. 6: uint32(0x5447dff6),
  28445. 7: uint32(0x00088868),
  28446. },
  28447. },
  28448. 454: {
  28449. Fmap1: [8]TFcChar32{
  28450. 0: uint32(0x00000081),
  28451. 1: uint32(0x40000000),
  28452. 2: uint32(0x00000100),
  28453. 3: uint32(0x02000000),
  28454. 4: uint32(0x00080600),
  28455. },
  28456. },
  28457. 455: {
  28458. Fmap1: [8]TFcChar32{
  28459. 0: uint32(0x00000080),
  28460. 1: uint32(0x00000040),
  28461. 3: uint32(0x00001040),
  28462. 5: uint32(0xf7fdefff),
  28463. 6: uint32(0xfffeff7f),
  28464. 7: uint32(0xfffffbff),
  28465. },
  28466. },
  28467. 456: {
  28468. Fmap1: [8]TFcChar32{
  28469. 0: uint32(0xbffffdff),
  28470. 1: uint32(0x00ffffff),
  28471. 2: uint32(0x042012c2),
  28472. 3: uint32(0x07080c06),
  28473. 4: uint32(0x01101624),
  28474. },
  28475. },
  28476. 457: {
  28477. Fmap1: [8]TFcChar32{
  28478. 0: uint32(0xe0000000),
  28479. 1: uint32(0xfffffffe),
  28480. 2: uint32(0x7f79ffff),
  28481. 3: uint32(0x00f928df),
  28482. 4: uint32(0x80120c32),
  28483. 5: uint32(0xd53a0008),
  28484. 6: uint32(0xecc2d858),
  28485. 7: uint32(0x2fa89d18),
  28486. },
  28487. },
  28488. 458: {
  28489. Fmap1: [8]TFcChar32{
  28490. 0: uint32(0xe0109620),
  28491. 1: uint32(0x2622d60c),
  28492. 2: uint32(0x02060f97),
  28493. 3: uint32(0x9055b240),
  28494. 4: uint32(0x501180a2),
  28495. 5: uint32(0x04049800),
  28496. 6: uint32(0x00004000),
  28497. },
  28498. },
  28499. 459: {
  28500. Fmap1: [8]TFcChar32{
  28501. 3: uint32(0xfffffbc0),
  28502. 4: uint32(0xdffbeffe),
  28503. 5: uint32(0x62430b08),
  28504. 6: uint32(0xfb3b41b6),
  28505. 7: uint32(0x23896f74),
  28506. },
  28507. },
  28508. 460: {
  28509. Fmap1: [8]TFcChar32{
  28510. 0: uint32(0xecd7ae7f),
  28511. 1: uint32(0x5960e047),
  28512. 2: uint32(0x098fa096),
  28513. 3: uint32(0xa030612c),
  28514. 4: uint32(0x2aaa090d),
  28515. 5: uint32(0x4f7bd44e),
  28516. 6: uint32(0x388bc4b2),
  28517. 7: uint32(0x6110a9c6),
  28518. },
  28519. },
  28520. 461: {
  28521. Fmap1: [8]TFcChar32{
  28522. 0: uint32(0x42000014),
  28523. 1: uint32(0x0202800c),
  28524. 2: uint32(0x6485fe48),
  28525. 3: uint32(0xe3f7d63e),
  28526. 4: uint32(0x0c073aa0),
  28527. 5: uint32(0x0430e40c),
  28528. 6: uint32(0x1002f680),
  28529. },
  28530. },
  28531. 462: {
  28532. Fmap1: [8]TFcChar32{
  28533. 3: uint32(0x00100000),
  28534. 4: uint32(0x00004000),
  28535. 5: uint32(0x00004000),
  28536. 6: uint32(0x00000100),
  28537. },
  28538. },
  28539. 463: {
  28540. Fmap1: [8]TFcChar32{
  28541. 1: uint32(0x40000000),
  28542. 3: uint32(0x00000400),
  28543. 4: uint32(0x00008000),
  28544. 6: uint32(0x00400400),
  28545. },
  28546. },
  28547. 464: {
  28548. Fmap1: [8]TFcChar32{
  28549. 1: uint32(0x40000000),
  28550. 3: uint32(0x00000800),
  28551. 4: uint32(0xfebdffe0),
  28552. 5: uint32(0xffffffff),
  28553. 6: uint32(0xfbe77f7f),
  28554. 7: uint32(0xf7ffffbf),
  28555. },
  28556. },
  28557. 465: {
  28558. Fmap1: [8]TFcChar32{
  28559. 0: uint32(0xefffffff),
  28560. 1: uint32(0xdff7ff7e),
  28561. 2: uint32(0xfbdff6f7),
  28562. 3: uint32(0x804fbffe),
  28563. 7: uint32(0x7fffef00),
  28564. },
  28565. },
  28566. 466: {
  28567. Fmap1: [8]TFcChar32{
  28568. 0: uint32(0xb6f7ff7f),
  28569. 1: uint32(0xb87e4406),
  28570. 2: uint32(0x88313bf5),
  28571. 3: uint32(0x00f41796),
  28572. 4: uint32(0x1391a960),
  28573. 5: uint32(0x72490080),
  28574. 6: uint32(0x0024f2f3),
  28575. 7: uint32(0x42c88701),
  28576. },
  28577. },
  28578. 467: {
  28579. Fmap1: [8]TFcChar32{
  28580. 0: uint32(0x5048e3d3),
  28581. 1: uint32(0x43052400),
  28582. 2: uint32(0x4a4c0000),
  28583. 3: uint32(0x10580227),
  28584. 4: uint32(0x01162820),
  28585. 5: uint32(0x0014a809),
  28586. 7: uint32(0x00683ec0),
  28587. },
  28588. },
  28589. 468: {
  28590. Fmap1: [8]TFcChar32{
  28591. 3: uint32(0xffe00000),
  28592. 4: uint32(0xfddbb7ff),
  28593. 5: uint32(0x000000f7),
  28594. 6: uint32(0xc72e4000),
  28595. 7: uint32(0x00000180),
  28596. },
  28597. },
  28598. 469: {
  28599. Fmap1: [8]TFcChar32{
  28600. 0: uint32(0x00012000),
  28601. 1: uint32(0x00004000),
  28602. 2: uint32(0x00300000),
  28603. 3: uint32(0xb4f7ffa8),
  28604. 4: uint32(0x03ffadf3),
  28605. 5: uint32(0x00000120),
  28606. },
  28607. },
  28608. 470: {
  28609. Fmap1: [8]TFcChar32{
  28610. 3: uint32(0xfffbf000),
  28611. 4: uint32(0xfdcf9df7),
  28612. 5: uint32(0x15c301bf),
  28613. 6: uint32(0x810a1827),
  28614. 7: uint32(0x0a00a842),
  28615. },
  28616. },
  28617. 471: {
  28618. Fmap1: [8]TFcChar32{
  28619. 0: uint32(0x80088108),
  28620. 1: uint32(0x18048008),
  28621. 2: uint32(0x0012a3be),
  28622. },
  28623. },
  28624. 472: {
  28625. Fmap1: [8]TFcChar32{
  28626. 3: uint32(0x90000000),
  28627. 4: uint32(0xdc3769e6),
  28628. 5: uint32(0x3dff6bff),
  28629. 6: uint32(0xf3f9fcf8),
  28630. 7: uint32(0x00000004),
  28631. },
  28632. },
  28633. 473: {
  28634. Fmap1: [8]TFcChar32{
  28635. 0: uint32(0x80000000),
  28636. 1: uint32(0xe7eebf6f),
  28637. 2: uint32(0x5da2dffe),
  28638. 3: uint32(0xc00b3fd8),
  28639. 4: uint32(0xa00c0984),
  28640. 5: uint32(0x69100040),
  28641. 6: uint32(0xb912e210),
  28642. 7: uint32(0x5a0086a5),
  28643. },
  28644. },
  28645. 474: {
  28646. Fmap1: [8]TFcChar32{
  28647. 0: uint32(0x02896800),
  28648. 1: uint32(0x6a809005),
  28649. 2: uint32(0x00030010),
  28650. 3: uint32(0x80000000),
  28651. 4: uint32(0x8e001ff9),
  28652. 5: uint32(0x00000001),
  28653. },
  28654. },
  28655. 475: {
  28656. Fmap1: [8]TFcChar32{
  28657. 0: uint32(0x00000080),
  28658. },
  28659. },
  28660. 476: {
  28661. Fmap1: [8]TFcChar32{
  28662. 2: uint32(0x00001000),
  28663. 3: uint32(0x64080010),
  28664. 4: uint32(0x00480000),
  28665. 5: uint32(0x10000020),
  28666. 6: uint32(0x80000102),
  28667. 7: uint32(0x08000010),
  28668. },
  28669. },
  28670. 477: {
  28671. Fmap1: [8]TFcChar32{
  28672. 0: uint32(0x00000040),
  28673. 1: uint32(0x40000000),
  28674. 2: uint32(0x00020000),
  28675. 3: uint32(0x01852002),
  28676. 4: uint32(0x00800010),
  28677. 5: uint32(0x80002022),
  28678. 6: uint32(0x084444a2),
  28679. 7: uint32(0x480e0000),
  28680. },
  28681. },
  28682. 478: {
  28683. Fmap1: [8]TFcChar32{
  28684. 0: uint32(0x04000200),
  28685. 1: uint32(0x02202008),
  28686. 2: uint32(0x80004380),
  28687. 3: uint32(0x04000000),
  28688. 4: uint32(0x00000002),
  28689. 5: uint32(0x12231420),
  28690. 6: uint32(0x2058003a),
  28691. 7: uint32(0x00200060),
  28692. },
  28693. },
  28694. 479: {
  28695. Fmap1: [8]TFcChar32{
  28696. 0: uint32(0x10002508),
  28697. 1: uint32(0x040d0028),
  28698. 2: uint32(0x00000009),
  28699. 3: uint32(0x00008004),
  28700. 4: uint32(0x00800000),
  28701. 5: uint32(0x42000001),
  28702. 7: uint32(0x09040000),
  28703. },
  28704. },
  28705. 480: {
  28706. Fmap1: [8]TFcChar32{
  28707. 0: uint32(0x02008000),
  28708. 1: uint32(0x01402001),
  28709. 3: uint32(0x00000008),
  28710. 5: uint32(0x00000001),
  28711. 6: uint32(0x00021008),
  28712. 7: uint32(0x04000000),
  28713. },
  28714. },
  28715. 481: {
  28716. Fmap1: [8]TFcChar32{
  28717. 0: uint32(0x00100100),
  28718. 1: uint32(0x80040080),
  28719. 2: uint32(0x00002000),
  28720. 3: uint32(0x00000008),
  28721. 4: uint32(0x08040601),
  28722. 5: uint32(0x01000012),
  28723. 6: uint32(0x10000000),
  28724. 7: uint32(0x49001024),
  28725. },
  28726. },
  28727. 482: {
  28728. Fmap1: [8]TFcChar32{
  28729. 0: uint32(0x0180004a),
  28730. 1: uint32(0x00100600),
  28731. 2: uint32(0x50840800),
  28732. 3: uint32(0x000000c0),
  28733. 4: uint32(0x00800000),
  28734. 5: uint32(0x20000800),
  28735. 6: uint32(0x40000000),
  28736. 7: uint32(0x08050000),
  28737. },
  28738. },
  28739. 483: {
  28740. Fmap1: [8]TFcChar32{
  28741. 0: uint32(0x02004000),
  28742. 1: uint32(0x02000804),
  28743. 2: uint32(0x01000004),
  28744. 3: uint32(0x18060001),
  28745. 4: uint32(0x02400001),
  28746. 5: uint32(0x40000002),
  28747. 6: uint32(0x20800014),
  28748. 7: uint32(0x000c1000),
  28749. },
  28750. },
  28751. 484: {
  28752. Fmap1: [8]TFcChar32{
  28753. 0: uint32(0x00222000),
  28754. 2: uint32(0x00100000),
  28755. 6: uint32(0x10422800),
  28756. 7: uint32(0x00000800),
  28757. },
  28758. },
  28759. 485: {
  28760. Fmap1: [8]TFcChar32{
  28761. 0: uint32(0x20080000),
  28762. 1: uint32(0x00040000),
  28763. 2: uint32(0x80025040),
  28764. 3: uint32(0x20208604),
  28765. 4: uint32(0x00028020),
  28766. 5: uint32(0x80102020),
  28767. 6: uint32(0x080820c0),
  28768. 7: uint32(0x10880800),
  28769. },
  28770. },
  28771. 486: {
  28772. Fmap1: [8]TFcChar32{
  28773. 2: uint32(0x00200109),
  28774. 3: uint32(0x00100000),
  28775. 5: uint32(0x81022700),
  28776. 6: uint32(0x40c21404),
  28777. 7: uint32(0x84010882),
  28778. },
  28779. },
  28780. 487: {
  28781. Fmap1: [8]TFcChar32{
  28782. 0: uint32(0x00004010),
  28783. 2: uint32(0x03000000),
  28784. 3: uint32(0x00000008),
  28785. 4: uint32(0x00080000),
  28786. 6: uint32(0x10800001),
  28787. 7: uint32(0x06002020),
  28788. },
  28789. },
  28790. 488: {
  28791. Fmap1: [8]TFcChar32{
  28792. 0: uint32(0x00000010),
  28793. 1: uint32(0x02000000),
  28794. 2: uint32(0x00880020),
  28795. 3: uint32(0x00008424),
  28796. 5: uint32(0x88000000),
  28797. 6: uint32(0x81000100),
  28798. 7: uint32(0x04000000),
  28799. },
  28800. },
  28801. 489: {
  28802. Fmap1: [8]TFcChar32{
  28803. 0: uint32(0x00004218),
  28804. 1: uint32(0x00040000),
  28805. 3: uint32(0x80005080),
  28806. 4: uint32(0x00010000),
  28807. 5: uint32(0x00040000),
  28808. 6: uint32(0x08008000),
  28809. 7: uint32(0x02008000),
  28810. },
  28811. },
  28812. 490: {
  28813. Fmap1: [8]TFcChar32{
  28814. 0: uint32(0x00020000),
  28815. 2: uint32(0x00000001),
  28816. 3: uint32(0x04000401),
  28817. 4: uint32(0x00100000),
  28818. 5: uint32(0x12200004),
  28819. 7: uint32(0x18100000),
  28820. },
  28821. },
  28822. 491: {
  28823. Fmap1: [8]TFcChar32{
  28824. 1: uint32(0x00000800),
  28825. 3: uint32(0x00004000),
  28826. 4: uint32(0x00800000),
  28827. 5: uint32(0x04000000),
  28828. 6: uint32(0x82000002),
  28829. 7: uint32(0x00042000),
  28830. },
  28831. },
  28832. 492: {
  28833. Fmap1: [8]TFcChar32{
  28834. 0: uint32(0x00080006),
  28835. 3: uint32(0x04000000),
  28836. 4: uint32(0x80008000),
  28837. 5: uint32(0x00810001),
  28838. 6: uint32(0xa0000000),
  28839. 7: uint32(0x00100410),
  28840. },
  28841. },
  28842. 493: {
  28843. Fmap1: [8]TFcChar32{
  28844. 0: uint32(0x00400218),
  28845. 1: uint32(0x88084080),
  28846. 2: uint32(0x00260008),
  28847. 3: uint32(0x00800404),
  28848. 4: uint32(0x00000020),
  28849. 7: uint32(0x00000200),
  28850. },
  28851. },
  28852. 494: {
  28853. Fmap1: [8]TFcChar32{
  28854. 0: uint32(0x00a08048),
  28855. 2: uint32(0x08000000),
  28856. 3: uint32(0x04000000),
  28857. 6: uint32(0x00018000),
  28858. 7: uint32(0x00200000),
  28859. },
  28860. },
  28861. 495: {
  28862. Fmap1: [8]TFcChar32{
  28863. 0: uint32(0x01000000),
  28864. 3: uint32(0x10000000),
  28865. 6: uint32(0x00200000),
  28866. 7: uint32(0x00102000),
  28867. },
  28868. },
  28869. 496: {
  28870. Fmap1: [8]TFcChar32{
  28871. 0: uint32(0x00000801),
  28872. 3: uint32(0x00020000),
  28873. 4: uint32(0x08000000),
  28874. 5: uint32(0x00002000),
  28875. 6: uint32(0x20010000),
  28876. 7: uint32(0x04002000),
  28877. },
  28878. },
  28879. 497: {
  28880. Fmap1: [8]TFcChar32{
  28881. 0: uint32(0x40000040),
  28882. 1: uint32(0x50202400),
  28883. 2: uint32(0x000a0020),
  28884. 3: uint32(0x00040420),
  28885. 4: uint32(0x00000200),
  28886. 5: uint32(0x00000080),
  28887. 6: uint32(0x80000000),
  28888. 7: uint32(0x00000020),
  28889. },
  28890. },
  28891. 498: {
  28892. Fmap1: [8]TFcChar32{
  28893. 0: uint32(0x20008000),
  28894. 1: uint32(0x00200010),
  28895. 4: uint32(0x00400000),
  28896. 5: uint32(0x01100000),
  28897. 6: uint32(0x00020000),
  28898. 7: uint32(0x80000010),
  28899. },
  28900. },
  28901. 499: {
  28902. Fmap1: [8]TFcChar32{
  28903. 0: uint32(0x02000000),
  28904. 1: uint32(0x00801000),
  28905. 3: uint32(0x48058000),
  28906. 4: uint32(0x20c94000),
  28907. 5: uint32(0x60000000),
  28908. 6: uint32(0x00000001),
  28909. },
  28910. },
  28911. 500: {
  28912. Fmap1: [8]TFcChar32{
  28913. 0: uint32(0x00004090),
  28914. 1: uint32(0x48000000),
  28915. 2: uint32(0x08000000),
  28916. 3: uint32(0x28802000),
  28917. 4: uint32(0x00000002),
  28918. 5: uint32(0x00014000),
  28919. 6: uint32(0x00002000),
  28920. 7: uint32(0x00002002),
  28921. },
  28922. },
  28923. 501: {
  28924. Fmap1: [8]TFcChar32{
  28925. 0: uint32(0x00010200),
  28926. 1: uint32(0x00100000),
  28927. 3: uint32(0x00800000),
  28928. 4: uint32(0x10020000),
  28929. },
  28930. },
  28931. 502: {
  28932. Fmap1: [8]TFcChar32{
  28933. 0: uint32(0x00000010),
  28934. 1: uint32(0x00000402),
  28935. 2: uint32(0x0c000000),
  28936. 3: uint32(0x01000400),
  28937. 4: uint32(0x01000021),
  28938. 6: uint32(0x00004000),
  28939. 7: uint32(0x00004000),
  28940. },
  28941. },
  28942. 503: {
  28943. Fmap1: [8]TFcChar32{
  28944. 1: uint32(0x00800000),
  28945. 7: uint32(0x02000020),
  28946. },
  28947. },
  28948. 504: {
  28949. Fmap1: [8]TFcChar32{
  28950. 0: uint32(0x00000100),
  28951. 1: uint32(0x08000000),
  28952. 6: uint32(0x00002000),
  28953. },
  28954. },
  28955. 505: {
  28956. Fmap1: [8]TFcChar32{
  28957. 0: uint32(0x00006000),
  28958. 3: uint32(0x00000400),
  28959. 4: uint32(0x04000040),
  28960. 5: uint32(0x003c0180),
  28961. 6: uint32(0x00000200),
  28962. 7: uint32(0x00102000),
  28963. },
  28964. },
  28965. 506: {
  28966. Fmap1: [8]TFcChar32{
  28967. 0: uint32(0x00000800),
  28968. 1: uint32(0x101000c0),
  28969. 2: uint32(0x00800000),
  28970. 4: uint32(0x00008000),
  28971. 5: uint32(0x02200000),
  28972. 6: uint32(0x00020020),
  28973. },
  28974. },
  28975. 507: {
  28976. Fmap1: [8]TFcChar32{
  28977. 1: uint32(0x01000000),
  28978. 3: uint32(0x20100000),
  28979. 4: uint32(0x00080000),
  28980. 5: uint32(0x00000141),
  28981. 6: uint32(0x02001002),
  28982. 7: uint32(0x40400001),
  28983. },
  28984. },
  28985. 508: {
  28986. Fmap1: [8]TFcChar32{
  28987. 0: uint32(0x00580000),
  28988. 1: uint32(0x00000002),
  28989. 2: uint32(0x00003000),
  28990. 3: uint32(0x00002400),
  28991. 4: uint32(0x00988000),
  28992. 5: uint32(0x00040010),
  28993. 6: uint32(0x00002800),
  28994. 7: uint32(0x00000008),
  28995. },
  28996. },
  28997. 509: {
  28998. Fmap1: [8]TFcChar32{
  28999. 0: uint32(0x40080004),
  29000. 1: uint32(0x00000020),
  29001. 2: uint32(0x20080000),
  29002. 3: uint32(0x02060a00),
  29003. 4: uint32(0x00010040),
  29004. 5: uint32(0x14010200),
  29005. 6: uint32(0x40800000),
  29006. 7: uint32(0x08031000),
  29007. },
  29008. },
  29009. 510: {
  29010. Fmap1: [8]TFcChar32{
  29011. 0: uint32(0x40020020),
  29012. 1: uint32(0x0000202c),
  29013. 2: uint32(0x2014a008),
  29014. 4: uint32(0x80040200),
  29015. 5: uint32(0x82020012),
  29016. 6: uint32(0x00400000),
  29017. 7: uint32(0x20000000),
  29018. },
  29019. },
  29020. 511: {
  29021. Fmap1: [8]TFcChar32{
  29022. 2: uint32(0x00000004),
  29023. 3: uint32(0x04000000),
  29024. 6: uint32(0x40800100),
  29025. },
  29026. },
  29027. 512: {
  29028. Fmap1: [8]TFcChar32{
  29029. 0: uint32(0x00000008),
  29030. 1: uint32(0x04000040),
  29031. 2: uint32(0x00000001),
  29032. 3: uint32(0x000c0200),
  29033. 5: uint32(0x08000400),
  29034. 7: uint32(0x080c0001),
  29035. },
  29036. },
  29037. 513: {
  29038. Fmap1: [8]TFcChar32{
  29039. 0: uint32(0x00000400),
  29040. 3: uint32(0x00200000),
  29041. 4: uint32(0x80000000),
  29042. 5: uint32(0x00001000),
  29043. 6: uint32(0x00000200),
  29044. 7: uint32(0x01000800),
  29045. },
  29046. },
  29047. 514: {
  29048. Fmap1: [8]TFcChar32{
  29049. 1: uint32(0x00000800),
  29050. 3: uint32(0x40000000),
  29051. 7: uint32(0x04040000),
  29052. },
  29053. },
  29054. 515: {
  29055. Fmap1: [8]TFcChar32{
  29056. 2: uint32(0x00000040),
  29057. 3: uint32(0x00002000),
  29058. 4: uint32(0xa0000000),
  29059. 6: uint32(0x08000008),
  29060. 7: uint32(0x00080000),
  29061. },
  29062. },
  29063. 516: {
  29064. Fmap1: [8]TFcChar32{
  29065. 0: uint32(0x00000020),
  29066. 2: uint32(0x40000400),
  29067. 7: uint32(0x00008000),
  29068. },
  29069. },
  29070. 517: {
  29071. Fmap1: [8]TFcChar32{
  29072. 4: uint32(0x00000800),
  29073. 7: uint32(0x00200000),
  29074. },
  29075. },
  29076. 518: {
  29077. Fmap1: [8]TFcChar32{
  29078. 3: uint32(0x04000000),
  29079. 4: uint32(0x00000008),
  29080. 6: uint32(0x00010000),
  29081. 7: uint32(0x1b000000),
  29082. },
  29083. },
  29084. 519: {
  29085. Fmap1: [8]TFcChar32{
  29086. 0: uint32(0x00007000),
  29087. 2: uint32(0x10000000),
  29088. 5: uint32(0x00000080),
  29089. 6: uint32(0x80000000),
  29090. },
  29091. },
  29092. 520: {
  29093. Fmap1: [8]TFcChar32{
  29094. 1: uint32(0x00020000),
  29095. 3: uint32(0x00200000),
  29096. 4: uint32(0x40000000),
  29097. 5: uint32(0x00000010),
  29098. 6: uint32(0x00800000),
  29099. 7: uint32(0x00000008),
  29100. },
  29101. },
  29102. 521: {
  29103. Fmap1: [8]TFcChar32{
  29104. 2: uint32(0x02000000),
  29105. 3: uint32(0x20000010),
  29106. 4: uint32(0x00000080),
  29107. 6: uint32(0x00010000),
  29108. },
  29109. },
  29110. 522: {
  29111. Fmap1: [8]TFcChar32{
  29112. 1: uint32(0x02000000),
  29113. 4: uint32(0x20000000),
  29114. 5: uint32(0x00000040),
  29115. 6: uint32(0x00200028),
  29116. },
  29117. },
  29118. 523: {
  29119. Fmap1: [8]TFcChar32{
  29120. 1: uint32(0x00020000),
  29121. 3: uint32(0x02000000),
  29122. 5: uint32(0x02000000),
  29123. 6: uint32(0x40020000),
  29124. 7: uint32(0x51000040),
  29125. },
  29126. },
  29127. 524: {
  29128. Fmap1: [8]TFcChar32{
  29129. 0: uint32(0x00000080),
  29130. 1: uint32(0x04040000),
  29131. 3: uint32(0x10000000),
  29132. 4: uint32(0x00022000),
  29133. 5: uint32(0x00100000),
  29134. 6: uint32(0x20000000),
  29135. 7: uint32(0x00000082),
  29136. },
  29137. },
  29138. 525: {
  29139. Fmap1: [8]TFcChar32{
  29140. 0: uint32(0x40000000),
  29141. 1: uint32(0x00010000),
  29142. 2: uint32(0x00002000),
  29143. 4: uint32(0x00000240),
  29144. 7: uint32(0x00000008),
  29145. },
  29146. },
  29147. 526: {
  29148. Fmap1: [8]TFcChar32{
  29149. 1: uint32(0x00010000),
  29150. 2: uint32(0x00000810),
  29151. 3: uint32(0x00080880),
  29152. 4: uint32(0x00004000),
  29153. 7: uint32(0x00020000),
  29154. },
  29155. },
  29156. 527: {
  29157. Fmap1: [8]TFcChar32{
  29158. 1: uint32(0x00400020),
  29159. 3: uint32(0x00000082),
  29160. 5: uint32(0x00020001),
  29161. },
  29162. },
  29163. 528: {
  29164. Fmap1: [8]TFcChar32{
  29165. 0: uint32(0x40000018),
  29166. 1: uint32(0x00000004),
  29167. 4: uint32(0x01000000),
  29168. 5: uint32(0x00400000),
  29169. },
  29170. },
  29171. 529: {
  29172. Fmap1: [8]TFcChar32{
  29173. 0: uint32(0x00000001),
  29174. 1: uint32(0x00400000),
  29175. 3: uint32(0x00080002),
  29176. 4: uint32(0x00000400),
  29177. 5: uint32(0x00040000),
  29178. },
  29179. },
  29180. 530: {
  29181. Fmap1: [8]TFcChar32{
  29182. 0: uint32(0x00000800),
  29183. 1: uint32(0x00000800),
  29184. 6: uint32(0x00000100),
  29185. },
  29186. },
  29187. 531: {
  29188. Fmap1: [8]TFcChar32{
  29189. 1: uint32(0x00200000),
  29190. 3: uint32(0x04108000),
  29191. 7: uint32(0x00000002),
  29192. },
  29193. },
  29194. 532: {
  29195. Fmap1: [8]TFcChar32{
  29196. 1: uint32(0x02800000),
  29197. 2: uint32(0x04000000),
  29198. 5: uint32(0x00000004),
  29199. 7: uint32(0x00000400),
  29200. },
  29201. },
  29202. 533: {
  29203. Fmap1: [8]TFcChar32{
  29204. 2: uint32(0x10000000),
  29205. 3: uint32(0x00040000),
  29206. 4: uint32(0x00400000),
  29207. },
  29208. },
  29209. 534: {
  29210. Fmap1: [8]TFcChar32{
  29211. 0: uint32(0x00200000),
  29212. 1: uint32(0x00000200),
  29213. 3: uint32(0x10000000),
  29214. 6: uint32(0x2a000000),
  29215. },
  29216. },
  29217. 535: {
  29218. Fmap1: [8]TFcChar32{
  29219. 0: uint32(0x00400000),
  29220. 2: uint32(0x00400000),
  29221. 4: uint32(0x00000002),
  29222. 5: uint32(0x40000000),
  29223. 7: uint32(0x00400000),
  29224. },
  29225. },
  29226. 536: {
  29227. Fmap1: [8]TFcChar32{
  29228. 0: uint32(0x40000000),
  29229. 1: uint32(0x00001000),
  29230. 4: uint32(0x00000202),
  29231. 5: uint32(0x02000000),
  29232. 6: uint32(0x80000000),
  29233. 7: uint32(0x00020000),
  29234. },
  29235. },
  29236. 537: {
  29237. Fmap1: [8]TFcChar32{
  29238. 0: uint32(0x00000020),
  29239. 1: uint32(0x00000800),
  29240. 2: uint32(0x00020421),
  29241. 3: uint32(0x00020000),
  29242. 7: uint32(0x00400000),
  29243. },
  29244. },
  29245. 538: {
  29246. Fmap1: [8]TFcChar32{
  29247. 0: uint32(0x00200000),
  29248. 2: uint32(0x00000001),
  29249. 4: uint32(0x00000084),
  29250. },
  29251. },
  29252. 539: {
  29253. Fmap1: [8]TFcChar32{
  29254. 1: uint32(0x00004400),
  29255. 2: uint32(0x00000002),
  29256. 3: uint32(0x00100000),
  29257. 6: uint32(0x00008200),
  29258. },
  29259. },
  29260. 540: {
  29261. Fmap1: [8]TFcChar32{
  29262. 1: uint32(0x12000000),
  29263. 2: uint32(0x00000100),
  29264. 3: uint32(0x00000001),
  29265. },
  29266. },
  29267. 541: {
  29268. Fmap1: [8]TFcChar32{
  29269. 0: uint32(0x00000020),
  29270. 1: uint32(0x08100000),
  29271. 2: uint32(0x000a0400),
  29272. 3: uint32(0x00000081),
  29273. 4: uint32(0x00006000),
  29274. 5: uint32(0x00120000),
  29275. },
  29276. },
  29277. 542: {
  29278. Fmap1: [8]TFcChar32{
  29279. 0: uint32(0x00000004),
  29280. 1: uint32(0x08000000),
  29281. 2: uint32(0x00004000),
  29282. 3: uint32(0x044000c0),
  29283. },
  29284. },
  29285. 543: {
  29286. Fmap1: [8]TFcChar32{
  29287. 0: uint32(0x40001000),
  29288. 2: uint32(0x01000001),
  29289. 3: uint32(0x05000000),
  29290. 4: uint32(0x00080000),
  29291. 5: uint32(0x02000000),
  29292. 6: uint32(0x00000800),
  29293. },
  29294. },
  29295. 544: {
  29296. Fmap1: [8]TFcChar32{
  29297. 0: uint32(0x00000100),
  29298. 4: uint32(0x00002002),
  29299. 5: uint32(0x01020000),
  29300. 6: uint32(0x00800000),
  29301. },
  29302. },
  29303. 545: {
  29304. Fmap1: [8]TFcChar32{
  29305. 0: uint32(0x00000040),
  29306. 1: uint32(0x00004000),
  29307. 2: uint32(0x01000000),
  29308. 3: uint32(0x00000004),
  29309. 4: uint32(0x00020000),
  29310. 6: uint32(0x00000010),
  29311. },
  29312. },
  29313. 546: {
  29314. Fmap1: [8]TFcChar32{
  29315. 4: uint32(0x00080000),
  29316. 5: uint32(0x00010000),
  29317. 6: uint32(0x30000300),
  29318. 7: uint32(0x00000400),
  29319. },
  29320. },
  29321. 547: {
  29322. Fmap1: [8]TFcChar32{
  29323. 0: uint32(0x00000800),
  29324. 1: uint32(0x02000000),
  29325. 3: uint32(0x00008000),
  29326. },
  29327. },
  29328. 548: {
  29329. Fmap1: [8]TFcChar32{
  29330. 0: uint32(0x00200000),
  29331. 5: uint32(0x000040c0),
  29332. 6: uint32(0x00002200),
  29333. 7: uint32(0x12002000),
  29334. },
  29335. },
  29336. 549: {
  29337. Fmap1: [8]TFcChar32{
  29338. 1: uint32(0x00000020),
  29339. 2: uint32(0x20000000),
  29340. 4: uint32(0x00000200),
  29341. 5: uint32(0x00080800),
  29342. 6: uint32(0x1000a000),
  29343. },
  29344. },
  29345. 550: {
  29346. Fmap1: [8]TFcChar32{
  29347. 3: uint32(0x00004000),
  29348. },
  29349. },
  29350. 551: {
  29351. Fmap1: [8]TFcChar32{
  29352. 2: uint32(0x00004280),
  29353. 3: uint32(0x01000000),
  29354. 4: uint32(0x00800000),
  29355. 5: uint32(0x00000008),
  29356. },
  29357. },
  29358. 552: {
  29359. Fmap1: [8]TFcChar32{
  29360. 3: uint32(0x00000002),
  29361. 5: uint32(0x20400000),
  29362. 6: uint32(0x00000040),
  29363. },
  29364. },
  29365. 553: {
  29366. Fmap1: [8]TFcChar32{
  29367. 0: uint32(0x00800080),
  29368. 1: uint32(0x00800000),
  29369. 5: uint32(0x00400020),
  29370. 7: uint32(0x00008000),
  29371. },
  29372. },
  29373. 554: {
  29374. Fmap1: [8]TFcChar32{
  29375. 0: uint32(0x01000000),
  29376. 1: uint32(0x00000040),
  29377. 3: uint32(0x00400000),
  29378. 5: uint32(0x00000440),
  29379. 7: uint32(0x00800000),
  29380. },
  29381. },
  29382. 555: {
  29383. Fmap1: [8]TFcChar32{
  29384. 0: uint32(0x01000000),
  29385. 6: uint32(0x00080000),
  29386. },
  29387. },
  29388. 556: {
  29389. Fmap1: [8]TFcChar32{
  29390. 0: uint32(0x01000000),
  29391. 1: uint32(0x00000001),
  29392. 3: uint32(0x00020000),
  29393. 5: uint32(0x20002000),
  29394. 7: uint32(0x00000004),
  29395. },
  29396. },
  29397. 557: {
  29398. Fmap1: [8]TFcChar32{
  29399. 0: uint32(0x00000008),
  29400. 1: uint32(0x00100000),
  29401. 3: uint32(0x00010000),
  29402. },
  29403. },
  29404. 558: {
  29405. Fmap1: [8]TFcChar32{
  29406. 0: uint32(0x00000004),
  29407. 1: uint32(0x00008000),
  29408. 7: uint32(0x00008000),
  29409. },
  29410. },
  29411. 559: {
  29412. Fmap1: [8]TFcChar32{
  29413. 4: uint32(0x00000040),
  29414. 6: uint32(0x00004000),
  29415. },
  29416. },
  29417. 560: {
  29418. Fmap1: [8]TFcChar32{
  29419. 0: uint32(0x00000010),
  29420. 1: uint32(0x00002000),
  29421. 2: uint32(0x40000040),
  29422. 4: uint32(0x10000000),
  29423. 6: uint32(0x00008080),
  29424. },
  29425. },
  29426. 561: {
  29427. Fmap1: [8]TFcChar32{
  29428. 2: uint32(0x00000080),
  29429. 4: uint32(0x00100080),
  29430. 5: uint32(0x000000a0),
  29431. },
  29432. },
  29433. 562: {
  29434. Fmap1: [8]TFcChar32{
  29435. 4: uint32(0x00100000),
  29436. },
  29437. },
  29438. 563: {
  29439. Fmap1: [8]TFcChar32{
  29440. 2: uint32(0x00001000),
  29441. 4: uint32(0x0001000a),
  29442. },
  29443. },
  29444. 564: {
  29445. Fmap1: [8]TFcChar32{
  29446. 6: uint32(0x08002000),
  29447. },
  29448. },
  29449. 565: {
  29450. Fmap1: [8]TFcChar32{
  29451. 0: uint32(0x00000808),
  29452. },
  29453. },
  29454. 566: {
  29455. Fmap1: [8]TFcChar32{
  29456. 0: uint32(0x00004000),
  29457. 1: uint32(0x00002400),
  29458. 2: uint32(0x00008000),
  29459. 3: uint32(0x40000000),
  29460. 4: uint32(0x00000001),
  29461. 5: uint32(0x00002000),
  29462. 6: uint32(0x04000000),
  29463. 7: uint32(0x00040004),
  29464. },
  29465. },
  29466. 567: {
  29467. Fmap1: [8]TFcChar32{
  29468. 1: uint32(0x00002000),
  29469. 5: uint32(0x1c200000),
  29470. 7: uint32(0x02000000),
  29471. },
  29472. },
  29473. 568: {
  29474. Fmap1: [8]TFcChar32{
  29475. 1: uint32(0x00080000),
  29476. 2: uint32(0x00400000),
  29477. 3: uint32(0x00000002),
  29478. 5: uint32(0x00000100),
  29479. },
  29480. },
  29481. 569: {
  29482. Fmap1: [8]TFcChar32{
  29483. 3: uint32(0x00400000),
  29484. },
  29485. },
  29486. 570: {
  29487. Fmap1: [8]TFcChar32{
  29488. 0: uint32(0x00004100),
  29489. 1: uint32(0x00000400),
  29490. 2: uint32(0x20200010),
  29491. 3: uint32(0x00004004),
  29492. 5: uint32(0x42000000),
  29493. },
  29494. },
  29495. 571: {
  29496. Fmap1: [8]TFcChar32{
  29497. 0: uint32(0x00000080),
  29498. 2: uint32(0x00000121),
  29499. 3: uint32(0x00000200),
  29500. 4: uint32(0x000000b0),
  29501. 5: uint32(0x80002000),
  29502. 7: uint32(0x00010000),
  29503. },
  29504. },
  29505. 572: {
  29506. Fmap1: [8]TFcChar32{
  29507. 0: uint32(0x00000010),
  29508. 1: uint32(0x000000c0),
  29509. 2: uint32(0x08100000),
  29510. 3: uint32(0x00000020),
  29511. },
  29512. },
  29513. 573: {
  29514. Fmap1: [8]TFcChar32{
  29515. 4: uint32(0x02000000),
  29516. 5: uint32(0x00000404),
  29517. },
  29518. },
  29519. 574: {
  29520. Fmap1: [8]TFcChar32{
  29521. 4: uint32(0x00400000),
  29522. 5: uint32(0x00000008),
  29523. },
  29524. },
  29525. 575: {
  29526. Fmap1: [8]TFcChar32{
  29527. 1: uint32(0x00000002),
  29528. 2: uint32(0x00020000),
  29529. 3: uint32(0x00002000),
  29530. 7: uint32(0x00204000),
  29531. },
  29532. },
  29533. 576: {
  29534. Fmap1: [8]TFcChar32{
  29535. 1: uint32(0x00100000),
  29536. 5: uint32(0x00800000),
  29537. 6: uint32(0x00000100),
  29538. 7: uint32(0x00000001),
  29539. },
  29540. },
  29541. 577: {
  29542. Fmap1: [8]TFcChar32{
  29543. 0: uint32(0x10000000),
  29544. 1: uint32(0x01000000),
  29545. 2: uint32(0x00002400),
  29546. 3: uint32(0x00000004),
  29547. 6: uint32(0x00000020),
  29548. 7: uint32(0x00000002),
  29549. },
  29550. },
  29551. 578: {
  29552. Fmap1: [8]TFcChar32{
  29553. 0: uint32(0x00010000),
  29554. },
  29555. },
  29556. 579: {
  29557. Fmap1: [8]TFcChar32{
  29558. 1: uint32(0x00002400),
  29559. 4: uint32(0x00004802),
  29560. 7: uint32(0x80022000),
  29561. },
  29562. },
  29563. 580: {
  29564. Fmap1: [8]TFcChar32{
  29565. 0: uint32(0x00001004),
  29566. 1: uint32(0x04208000),
  29567. 2: uint32(0x20000020),
  29568. 3: uint32(0x00040000),
  29569. },
  29570. },
  29571. 581: {
  29572. Fmap1: [8]TFcChar32{
  29573. 1: uint32(0x00100000),
  29574. 2: uint32(0x40010000),
  29575. 4: uint32(0x00080000),
  29576. 6: uint32(0x00100211),
  29577. },
  29578. },
  29579. 582: {
  29580. Fmap1: [8]TFcChar32{
  29581. 0: uint32(0x00001400),
  29582. 4: uint32(0x00610000),
  29583. 5: uint32(0x80008c00),
  29584. },
  29585. },
  29586. 583: {
  29587. Fmap1: [8]TFcChar32{
  29588. 0: uint32(0x00000100),
  29589. 1: uint32(0x00000040),
  29590. 3: uint32(0x00000004),
  29591. 4: uint32(0x00004000),
  29592. },
  29593. },
  29594. 584: {
  29595. Fmap1: [8]TFcChar32{
  29596. 6: uint32(0x00000400),
  29597. },
  29598. },
  29599. 585: {
  29600. Fmap1: [8]TFcChar32{
  29601. 5: uint32(0x00000210),
  29602. },
  29603. },
  29604. 586: {
  29605. Fmap1: [8]TFcChar32{
  29606. 1: uint32(0x00000020),
  29607. 2: uint32(0x00000002),
  29608. },
  29609. },
  29610. 587: {
  29611. Fmap1: [8]TFcChar32{
  29612. 0: uint32(0x00004000),
  29613. 3: uint32(0x02000000),
  29614. },
  29615. },
  29616. 588: {
  29617. Fmap1: [8]TFcChar32{
  29618. 2: uint32(0x00080002),
  29619. 3: uint32(0x01000020),
  29620. 4: uint32(0x00400000),
  29621. 5: uint32(0x00200000),
  29622. 6: uint32(0x00008000),
  29623. },
  29624. },
  29625. 589: {
  29626. Fmap1: [8]TFcChar32{
  29627. 1: uint32(0x00020000),
  29628. 3: uint32(0xc0020000),
  29629. 4: uint32(0x10000000),
  29630. 5: uint32(0x00000080),
  29631. },
  29632. },
  29633. 590: {
  29634. Fmap1: [8]TFcChar32{
  29635. 0: uint32(0x00000210),
  29636. 2: uint32(0x00001000),
  29637. 3: uint32(0x04480000),
  29638. 4: uint32(0x20000000),
  29639. 5: uint32(0x00000004),
  29640. 6: uint32(0x00800000),
  29641. 7: uint32(0x02000000),
  29642. },
  29643. },
  29644. 591: {
  29645. Fmap1: [8]TFcChar32{
  29646. 1: uint32(0x08006000),
  29647. 2: uint32(0x00001000),
  29648. 5: uint32(0x00100000),
  29649. 7: uint32(0x00000400),
  29650. },
  29651. },
  29652. 592: {
  29653. Fmap1: [8]TFcChar32{
  29654. 0: uint32(0x00100000),
  29655. 2: uint32(0x10000000),
  29656. 3: uint32(0x08608000),
  29657. 6: uint32(0x00080002),
  29658. },
  29659. },
  29660. 593: {
  29661. Fmap1: [8]TFcChar32{
  29662. 1: uint32(0x20000000),
  29663. 2: uint32(0x00008020),
  29664. },
  29665. },
  29666. 594: {
  29667. Fmap1: [8]TFcChar32{
  29668. 3: uint32(0x10000000),
  29669. },
  29670. },
  29671. 595: {
  29672. Fmap1: [8]TFcChar32{
  29673. 1: uint32(0x00100000),
  29674. },
  29675. },
  29676. 596: {
  29677. Fmap1: [8]TFcChar32{
  29678. 1: uint32(0x00000400),
  29679. },
  29680. },
  29681. 597: {
  29682. Fmap1: [8]TFcChar32{
  29683. 7: uint32(0x02000000),
  29684. },
  29685. },
  29686. 598: {
  29687. Fmap1: [8]TFcChar32{
  29688. 6: uint32(0x00000080),
  29689. },
  29690. },
  29691. 599: {
  29692. Fmap1: [8]TFcChar32{
  29693. 5: uint32(0x00000002),
  29694. },
  29695. },
  29696. 600: {
  29697. Fmap1: [8]TFcChar32{
  29698. 6: uint32(0x00008000),
  29699. },
  29700. },
  29701. 601: {
  29702. Fmap1: [8]TFcChar32{
  29703. 2: uint32(0x00000008),
  29704. 6: uint32(0x00000400),
  29705. },
  29706. },
  29707. 602: {
  29708. Fmap1: [8]TFcChar32{
  29709. 2: uint32(0x00220000),
  29710. 3: uint32(0x00000004),
  29711. 5: uint32(0x00040000),
  29712. 6: uint32(0x00000004),
  29713. },
  29714. },
  29715. 603: {
  29716. Fmap1: [8]TFcChar32{
  29717. 2: uint32(0x00001000),
  29718. 3: uint32(0x00000080),
  29719. 4: uint32(0x00002000),
  29720. 7: uint32(0x00004000),
  29721. },
  29722. },
  29723. 604: {
  29724. Fmap1: [8]TFcChar32{
  29725. 3: uint32(0x00100000),
  29726. },
  29727. },
  29728. 605: {
  29729. Fmap1: [8]TFcChar32{
  29730. 4: uint32(0x00200000),
  29731. },
  29732. },
  29733. 606: {
  29734. Fmap1: [8]TFcChar32{
  29735. 5: uint32(0x04000000),
  29736. },
  29737. },
  29738. 607: {
  29739. Fmap1: [8]TFcChar32{
  29740. 4: uint32(0x00000200),
  29741. },
  29742. },
  29743. 608: {
  29744. Fmap1: [8]TFcChar32{
  29745. 4: uint32(0x00000001),
  29746. },
  29747. },
  29748. 609: {
  29749. Fmap1: [8]TFcChar32{
  29750. 6: uint32(0x00080000),
  29751. },
  29752. },
  29753. 610: {
  29754. Fmap1: [8]TFcChar32{
  29755. 5: uint32(0x01000000),
  29756. 7: uint32(0x00000400),
  29757. },
  29758. },
  29759. 611: {
  29760. Fmap1: [8]TFcChar32{
  29761. 5: uint32(0x00000080),
  29762. },
  29763. },
  29764. 612: {
  29765. Fmap1: [8]TFcChar32{
  29766. 1: uint32(0x00000800),
  29767. 2: uint32(0x00000100),
  29768. 3: uint32(0x40000000),
  29769. },
  29770. },
  29771. 613: {
  29772. Fmap1: [8]TFcChar32{
  29773. 1: uint32(0x00200000),
  29774. },
  29775. },
  29776. 614: {
  29777. Fmap1: [8]TFcChar32{
  29778. 2: uint32(0x01000000),
  29779. },
  29780. },
  29781. 615: {
  29782. Fmap1: [8]TFcChar32{
  29783. 6: uint32(0x04000000),
  29784. },
  29785. },
  29786. 616: {
  29787. Fmap1: [8]TFcChar32{
  29788. 6: uint32(0x00001000),
  29789. },
  29790. },
  29791. 617: {
  29792. Fmap1: [8]TFcChar32{
  29793. 4: uint32(0x00000400),
  29794. },
  29795. },
  29796. 618: {
  29797. Fmap1: [8]TFcChar32{
  29798. 7: uint32(0x04040000),
  29799. },
  29800. },
  29801. 619: {
  29802. Fmap1: [8]TFcChar32{
  29803. 4: uint32(0x00000020),
  29804. },
  29805. },
  29806. 620: {
  29807. Fmap1: [8]TFcChar32{
  29808. 2: uint32(0x00800000),
  29809. },
  29810. },
  29811. 621: {
  29812. Fmap1: [8]TFcChar32{
  29813. 1: uint32(0x00200000),
  29814. 2: uint32(0x40000000),
  29815. },
  29816. },
  29817. 622: {
  29818. Fmap1: [8]TFcChar32{
  29819. 4: uint32(0x20000000),
  29820. },
  29821. },
  29822. 623: {
  29823. Fmap1: [8]TFcChar32{
  29824. 3: uint32(0x04000000),
  29825. 5: uint32(0x00000001),
  29826. },
  29827. },
  29828. 624: {
  29829. Fmap1: [8]TFcChar32{
  29830. 1: uint32(0x40000000),
  29831. 2: uint32(0x02000000),
  29832. },
  29833. },
  29834. 625: {
  29835. Fmap1: [8]TFcChar32{
  29836. 3: uint32(0x00080000),
  29837. },
  29838. },
  29839. 626: {
  29840. Fmap1: [8]TFcChar32{
  29841. 1: uint32(0x00000010),
  29842. 5: uint32(0x20000000),
  29843. },
  29844. },
  29845. 627: {
  29846. Fmap1: [8]TFcChar32{
  29847. 2: uint32(0x20000000),
  29848. },
  29849. },
  29850. 628: {
  29851. Fmap1: [8]TFcChar32{
  29852. 0: uint32(0x00000080),
  29853. 7: uint32(0x00000004),
  29854. },
  29855. },
  29856. 629: {
  29857. Fmap1: [8]TFcChar32{
  29858. 3: uint32(0x00002000),
  29859. },
  29860. },
  29861. 630: {
  29862. Fmap1: [8]TFcChar32{
  29863. 6: uint32(0x10000001),
  29864. },
  29865. },
  29866. 631: {
  29867. Fmap1: [8]TFcChar32{
  29868. 0: uint32(0x00008000),
  29869. },
  29870. },
  29871. 632: {
  29872. Fmap1: [8]TFcChar32{
  29873. 2: uint32(0x00004040),
  29874. },
  29875. },
  29876. 633: {
  29877. Fmap1: [8]TFcChar32{
  29878. 6: uint32(0x00042400),
  29879. },
  29880. },
  29881. 634: {
  29882. Fmap1: [8]TFcChar32{
  29883. 4: uint32(0x02000000),
  29884. },
  29885. },
  29886. 635: {
  29887. Fmap1: [8]TFcChar32{
  29888. 7: uint32(0x00000080),
  29889. },
  29890. },
  29891. 636: {
  29892. Fmap1: [8]TFcChar32{
  29893. 7: uint32(0x00000020),
  29894. },
  29895. },
  29896. 637: {
  29897. Fmap1: [8]TFcChar32{
  29898. 1: uint32(0x00000001),
  29899. },
  29900. },
  29901. 638: {
  29902. Fmap1: [8]TFcChar32{
  29903. 6: uint32(0x00020000),
  29904. },
  29905. },
  29906. 639: {
  29907. Fmap1: [8]TFcChar32{
  29908. 2: uint32(0x00002000),
  29909. },
  29910. },
  29911. 640: {
  29912. Fmap1: [8]TFcChar32{
  29913. 4: uint32(0x01000000),
  29914. },
  29915. },
  29916. 641: {
  29917. Fmap1: [8]TFcChar32{
  29918. 1: uint32(0x00040000),
  29919. 2: uint32(0x08000000),
  29920. },
  29921. },
  29922. 642: {
  29923. Fmap1: [8]TFcChar32{
  29924. 0: uint32(0xc373ff8b),
  29925. 1: uint32(0x1b0f6840),
  29926. 2: uint32(0xf34ce9ac),
  29927. 3: uint32(0xc0080200),
  29928. 4: uint32(0xca3e795c),
  29929. 5: uint32(0x06487976),
  29930. 6: uint32(0xf7f02fdf),
  29931. 7: uint32(0xa8ff033a),
  29932. },
  29933. },
  29934. 643: {
  29935. Fmap1: [8]TFcChar32{
  29936. 0: uint32(0x233fef37),
  29937. 1: uint32(0xfd59b004),
  29938. 2: uint32(0xfffff3ca),
  29939. 3: uint32(0xfff9de9f),
  29940. 4: uint32(0x7df7abff),
  29941. 5: uint32(0x8eecc000),
  29942. 6: uint32(0xffdbeebf),
  29943. 7: uint32(0x45fad003),
  29944. },
  29945. },
  29946. 644: {
  29947. Fmap1: [8]TFcChar32{
  29948. 0: uint32(0xdffefae1),
  29949. 1: uint32(0x10abbfef),
  29950. 2: uint32(0xfcaaffeb),
  29951. 3: uint32(0x24fdef3f),
  29952. 4: uint32(0x7f7678ad),
  29953. 5: uint32(0xedfff00c),
  29954. 6: uint32(0x2cfacff6),
  29955. 7: uint32(0xeb6bf7f9),
  29956. },
  29957. },
  29958. 645: {
  29959. Fmap1: [8]TFcChar32{
  29960. 0: uint32(0x95bf1ffd),
  29961. 1: uint32(0xbfbf6677),
  29962. 2: uint32(0xfeb43bfb),
  29963. 3: uint32(0x11e27bae),
  29964. 4: uint32(0x41bea681),
  29965. 5: uint32(0x72c31435),
  29966. 6: uint32(0x71917d70),
  29967. 7: uint32(0x276b0003),
  29968. },
  29969. },
  29970. 646: {
  29971. Fmap1: [8]TFcChar32{
  29972. 0: uint32(0x70cf57cb),
  29973. 1: uint32(0x0def4732),
  29974. 2: uint32(0xfc747eda),
  29975. 3: uint32(0xbdb4fe06),
  29976. 4: uint32(0x8bca3f9f),
  29977. 5: uint32(0x58007e49),
  29978. 6: uint32(0xebec228f),
  29979. 7: uint32(0xddbb8a5c),
  29980. },
  29981. },
  29982. 647: {
  29983. Fmap1: [8]TFcChar32{
  29984. 0: uint32(0xb6e7ef60),
  29985. 1: uint32(0xf293a40f),
  29986. 2: uint32(0x549e37bb),
  29987. 3: uint32(0x9bafd04b),
  29988. 4: uint32(0xf7d4c414),
  29989. 5: uint32(0x0a1430b0),
  29990. 6: uint32(0x88d02f08),
  29991. 7: uint32(0x192fff7e),
  29992. },
  29993. },
  29994. 648: {
  29995. Fmap1: [8]TFcChar32{
  29996. 0: uint32(0xfb07ffda),
  29997. 1: uint32(0x7beb7ff1),
  29998. 2: uint32(0x0010c5ef),
  29999. 3: uint32(0xfdff99ff),
  30000. 4: uint32(0x056779d7),
  30001. 5: uint32(0xfdcbffe7),
  30002. 6: uint32(0x4040c3ff),
  30003. 7: uint32(0xbd8e6ff7),
  30004. },
  30005. },
  30006. 649: {
  30007. Fmap1: [8]TFcChar32{
  30008. 0: uint32(0x0497dffa),
  30009. 1: uint32(0x5bfff4c0),
  30010. 2: uint32(0xd0e7ed7b),
  30011. 3: uint32(0xf8e0047e),
  30012. 4: uint32(0xb73eff9f),
  30013. 5: uint32(0x882e7dfe),
  30014. 6: uint32(0xbe7ffffd),
  30015. 7: uint32(0xf6c483fe),
  30016. },
  30017. },
  30018. 650: {
  30019. Fmap1: [8]TFcChar32{
  30020. 0: uint32(0xb8fdf357),
  30021. 1: uint32(0xef7dd680),
  30022. 2: uint32(0x47885767),
  30023. 3: uint32(0xc3dfff7d),
  30024. 4: uint32(0x37a9f0ff),
  30025. 5: uint32(0x70fc7de0),
  30026. 6: uint32(0xec9a3f6f),
  30027. 7: uint32(0x86814cb3),
  30028. },
  30029. },
  30030. 651: {
  30031. Fmap1: [8]TFcChar32{
  30032. 0: uint32(0xdd5c3f9e),
  30033. 1: uint32(0x4819f70d),
  30034. 2: uint32(0x0007fea3),
  30035. 3: uint32(0x38ffaf56),
  30036. 4: uint32(0xefb8980d),
  30037. 5: uint32(0xb760403d),
  30038. 6: uint32(0x9035d8ce),
  30039. 7: uint32(0x3fff72bf),
  30040. },
  30041. },
  30042. 652: {
  30043. Fmap1: [8]TFcChar32{
  30044. 0: uint32(0x7a117ff7),
  30045. 1: uint32(0xabfff7bb),
  30046. 2: uint32(0x6fbeff00),
  30047. 3: uint32(0xfe72a93c),
  30048. 4: uint32(0xf11bcfef),
  30049. 5: uint32(0xf40adb6b),
  30050. 6: uint32(0xef7ec3e6),
  30051. 7: uint32(0xf6109b9c),
  30052. },
  30053. },
  30054. 653: {
  30055. Fmap1: [8]TFcChar32{
  30056. 0: uint32(0x16f4f048),
  30057. 1: uint32(0x5182feb5),
  30058. 2: uint32(0x15bbc7b1),
  30059. 3: uint32(0xfbdf6e87),
  30060. 4: uint32(0x63cde43f),
  30061. 5: uint32(0x7e7ec1ff),
  30062. 6: uint32(0x7d5ffdeb),
  30063. 7: uint32(0xfcfe777b),
  30064. },
  30065. },
  30066. 654: {
  30067. Fmap1: [8]TFcChar32{
  30068. 0: uint32(0xdbea960b),
  30069. 1: uint32(0x53e86229),
  30070. 2: uint32(0xfdef37df),
  30071. 3: uint32(0xbd8136f5),
  30072. 4: uint32(0xfcbddc18),
  30073. 5: uint32(0xffffd2e4),
  30074. 6: uint32(0xffe03fd7),
  30075. 7: uint32(0xabf87f6f),
  30076. },
  30077. },
  30078. 655: {
  30079. Fmap1: [8]TFcChar32{
  30080. 0: uint32(0x6ed99bae),
  30081. 1: uint32(0xf115f5fb),
  30082. 2: uint32(0xbdfb79a9),
  30083. 3: uint32(0xadaf5a3c),
  30084. 4: uint32(0x1facdbba),
  30085. 5: uint32(0x837971fc),
  30086. 6: uint32(0xc35f7cf7),
  30087. 7: uint32(0x0567dfff),
  30088. },
  30089. },
  30090. 656: {
  30091. Fmap1: [8]TFcChar32{
  30092. 0: uint32(0x8467ff9a),
  30093. 1: uint32(0xdf8b1534),
  30094. 2: uint32(0x3373f9f3),
  30095. 3: uint32(0x5e1af7bd),
  30096. 4: uint32(0xa03fbf40),
  30097. 5: uint32(0x01ebffff),
  30098. 6: uint32(0xcfdddfc0),
  30099. 7: uint32(0xabd37500),
  30100. },
  30101. },
  30102. 657: {
  30103. Fmap1: [8]TFcChar32{
  30104. 0: uint32(0xeed6f8c3),
  30105. 1: uint32(0xb7ff43fd),
  30106. 2: uint32(0x42275eaf),
  30107. 3: uint32(0xf6869bac),
  30108. 4: uint32(0xf6bc27d7),
  30109. 5: uint32(0x35b7f787),
  30110. 6: uint32(0xe176aacd),
  30111. 7: uint32(0xe29f49e7),
  30112. },
  30113. },
  30114. 658: {
  30115. Fmap1: [8]TFcChar32{
  30116. 0: uint32(0xaff2545c),
  30117. 1: uint32(0x61d82b3f),
  30118. 2: uint32(0xbbb8fc3b),
  30119. 3: uint32(0x7b7dffcf),
  30120. 4: uint32(0x1ce0bf95),
  30121. 5: uint32(0x43ff7dfd),
  30122. 6: uint32(0xfffe5ff6),
  30123. 7: uint32(0xc4ced3ef),
  30124. },
  30125. },
  30126. 659: {
  30127. Fmap1: [8]TFcChar32{
  30128. 0: uint32(0xadbc8db6),
  30129. 1: uint32(0x11eb63dc),
  30130. 2: uint32(0x23d0df59),
  30131. 3: uint32(0xf3dbbeb4),
  30132. 4: uint32(0xdbc71fe7),
  30133. 5: uint32(0xfae4ff63),
  30134. 6: uint32(0x63f7b22b),
  30135. 7: uint32(0xadbaed3b),
  30136. },
  30137. },
  30138. 660: {
  30139. Fmap1: [8]TFcChar32{
  30140. 0: uint32(0x7efffe01),
  30141. 1: uint32(0x02bcfff7),
  30142. 2: uint32(0xef3932ff),
  30143. 3: uint32(0x8005fffc),
  30144. 4: uint32(0xbcf577fb),
  30145. 5: uint32(0xfff7010d),
  30146. 6: uint32(0xbf3afffb),
  30147. 7: uint32(0xdfff0057),
  30148. },
  30149. },
  30150. 661: {
  30151. Fmap1: [8]TFcChar32{
  30152. 0: uint32(0xbd7def7b),
  30153. 1: uint32(0xc8d4db88),
  30154. 2: uint32(0xed7cfff3),
  30155. 3: uint32(0x56ff5dee),
  30156. 4: uint32(0xac5f7e0d),
  30157. 5: uint32(0xd57fff96),
  30158. 6: uint32(0xc1403fee),
  30159. 7: uint32(0xffe76ff9),
  30160. },
  30161. },
  30162. 662: {
  30163. Fmap1: [8]TFcChar32{
  30164. 0: uint32(0x8e77779b),
  30165. 1: uint32(0xe45d6ebf),
  30166. 2: uint32(0x5f1f6fcf),
  30167. 3: uint32(0xfedfe07f),
  30168. 4: uint32(0x01fed7db),
  30169. 5: uint32(0xfb7bff00),
  30170. 6: uint32(0x1fdfffd4),
  30171. 7: uint32(0xfffff800),
  30172. },
  30173. },
  30174. 663: {
  30175. Fmap1: [8]TFcChar32{
  30176. 0: uint32(0x007bfb8f),
  30177. 1: uint32(0x7f5cbf00),
  30178. 2: uint32(0x07f3ffff),
  30179. 3: uint32(0x3de7eba0),
  30180. 4: uint32(0xfbd7f7bf),
  30181. 5: uint32(0x6003ffbf),
  30182. 6: uint32(0xbfedfffd),
  30183. 7: uint32(0x027fefbb),
  30184. },
  30185. },
  30186. 664: {
  30187. Fmap1: [8]TFcChar32{
  30188. 0: uint32(0xddfdfe40),
  30189. 1: uint32(0xe2f9fdff),
  30190. 2: uint32(0xfb1f680b),
  30191. 3: uint32(0xaffdfbe3),
  30192. 4: uint32(0xf7ed9fa4),
  30193. 5: uint32(0xf80f7a7d),
  30194. 6: uint32(0x0fd5eebe),
  30195. 7: uint32(0xfd9fbb5d),
  30196. },
  30197. },
  30198. 665: {
  30199. Fmap1: [8]TFcChar32{
  30200. 0: uint32(0x3bf9f2db),
  30201. 1: uint32(0xebccfe7f),
  30202. 2: uint32(0x73fa876a),
  30203. 3: uint32(0x9ffc95fc),
  30204. 4: uint32(0xfaf7109f),
  30205. 5: uint32(0xbbcdddb7),
  30206. 6: uint32(0xeccdf87e),
  30207. 7: uint32(0x3c3ff366),
  30208. },
  30209. },
  30210. 666: {
  30211. Fmap1: [8]TFcChar32{
  30212. 0: uint32(0xb03ffffd),
  30213. 1: uint32(0x067ee9f7),
  30214. 2: uint32(0xfe0696ae),
  30215. 3: uint32(0x5fd7d576),
  30216. 4: uint32(0xa3f33fd1),
  30217. 5: uint32(0x6fb7cf07),
  30218. 6: uint32(0x7f449fd1),
  30219. 7: uint32(0xd3dd7b59),
  30220. },
  30221. },
  30222. 667: {
  30223. Fmap1: [8]TFcChar32{
  30224. 0: uint32(0xa9bdaf3b),
  30225. 1: uint32(0xff3a7dcf),
  30226. 2: uint32(0xf6ebfbe0),
  30227. 3: uint32(0xffffb401),
  30228. 4: uint32(0xb7bf7afa),
  30229. 5: uint32(0x0ffdc000),
  30230. 6: uint32(0xff1fff7f),
  30231. 7: uint32(0x95fffefc),
  30232. },
  30233. },
  30234. 668: {
  30235. Fmap1: [8]TFcChar32{
  30236. 0: uint32(0xb5dc0000),
  30237. 1: uint32(0x3f3eef63),
  30238. 2: uint32(0x001bfb7f),
  30239. 3: uint32(0xfbf6e800),
  30240. 4: uint32(0xb8df9eef),
  30241. 5: uint32(0x003fff9f),
  30242. 6: uint32(0xf5ff7bd0),
  30243. 7: uint32(0x3fffdfdb),
  30244. },
  30245. },
  30246. 669: {
  30247. Fmap1: [8]TFcChar32{
  30248. 0: uint32(0x00bffdf0),
  30249. 1: uint32(0xbbbd8420),
  30250. 2: uint32(0xffdedf37),
  30251. 3: uint32(0x0ff3ff6d),
  30252. 4: uint32(0x5efb604c),
  30253. 5: uint32(0xfafbfffb),
  30254. 6: uint32(0x0219fe5e),
  30255. 7: uint32(0xf9de79f4),
  30256. },
  30257. },
  30258. 670: {
  30259. Fmap1: [8]TFcChar32{
  30260. 0: uint32(0xebfaa7f7),
  30261. 1: uint32(0xff3401eb),
  30262. 2: uint32(0xef73ebd3),
  30263. 3: uint32(0xc040afd7),
  30264. 4: uint32(0xdcff72bb),
  30265. 5: uint32(0x2fd8f17f),
  30266. 6: uint32(0xfe0bb8ec),
  30267. 7: uint32(0x1f0bdda3),
  30268. },
  30269. },
  30270. 671: {
  30271. Fmap1: [8]TFcChar32{
  30272. 0: uint32(0x47cf8f1d),
  30273. 1: uint32(0xffdeb12b),
  30274. 2: uint32(0xda737fee),
  30275. 3: uint32(0xcbc424ff),
  30276. 4: uint32(0xcbf2f75d),
  30277. 5: uint32(0xb4edecfd),
  30278. 6: uint32(0x4dddbff9),
  30279. 7: uint32(0xfb8d99dd),
  30280. },
  30281. },
  30282. 672: {
  30283. Fmap1: [8]TFcChar32{
  30284. 0: uint32(0xaf7bbb7f),
  30285. 1: uint32(0xc959ddfb),
  30286. 2: uint32(0xfab5fc4f),
  30287. 3: uint32(0x6d5fafe3),
  30288. 4: uint32(0x3f7dffff),
  30289. 5: uint32(0xffdb7800),
  30290. 6: uint32(0x7effb6ff),
  30291. 7: uint32(0x022ffbaf),
  30292. },
  30293. },
  30294. 673: {
  30295. Fmap1: [8]TFcChar32{
  30296. 0: uint32(0xefc7ff9b),
  30297. 1: uint32(0xffffffa5),
  30298. 2: uint32(0xc7000007),
  30299. 3: uint32(0xfff1f7ff),
  30300. 4: uint32(0x01bf7ffd),
  30301. 5: uint32(0xfdbcdc00),
  30302. 6: uint32(0xffffbff5),
  30303. 7: uint32(0x3effff7f),
  30304. },
  30305. },
  30306. 674: {
  30307. Fmap1: [8]TFcChar32{
  30308. 0: uint32(0xbe000029),
  30309. 1: uint32(0xff7ff9ff),
  30310. 2: uint32(0xfd7e6efb),
  30311. 3: uint32(0x039ecbff),
  30312. 4: uint32(0xfbdde300),
  30313. 5: uint32(0xf6dfccff),
  30314. 6: uint32(0x117fffff),
  30315. 7: uint32(0xfbf6f800),
  30316. },
  30317. },
  30318. 675: {
  30319. Fmap1: [8]TFcChar32{
  30320. 0: uint32(0xd73ce7ef),
  30321. 1: uint32(0xdfeffeef),
  30322. 2: uint32(0xedbfc00b),
  30323. 3: uint32(0xfdcdfedf),
  30324. 4: uint32(0x40fd7bf5),
  30325. 5: uint32(0xb75fffff),
  30326. 6: uint32(0xf930ffdf),
  30327. 7: uint32(0xdc97fbdf),
  30328. },
  30329. },
  30330. 676: {
  30331. Fmap1: [8]TFcChar32{
  30332. 0: uint32(0xbff2fef3),
  30333. 1: uint32(0xdfbf8fdf),
  30334. 2: uint32(0xede6177f),
  30335. 3: uint32(0x35530f7f),
  30336. 4: uint32(0x877e447c),
  30337. 5: uint32(0x45bbfa12),
  30338. 6: uint32(0x779eede0),
  30339. 7: uint32(0xbfd98017),
  30340. },
  30341. },
  30342. 677: {
  30343. Fmap1: [8]TFcChar32{
  30344. 0: uint32(0xde897e55),
  30345. 1: uint32(0x0447c16f),
  30346. 2: uint32(0xf75d7ade),
  30347. 3: uint32(0x290557ff),
  30348. 4: uint32(0xfe9586f7),
  30349. 5: uint32(0xf32f97b3),
  30350. 6: uint32(0x9f75cfff),
  30351. 7: uint32(0xfb1771f7),
  30352. },
  30353. },
  30354. 678: {
  30355. Fmap1: [8]TFcChar32{
  30356. 0: uint32(0xee1934ee),
  30357. 1: uint32(0xef6137cc),
  30358. 2: uint32(0xef4c9fd6),
  30359. 3: uint32(0xfbddd68f),
  30360. 4: uint32(0x6def7b73),
  30361. 5: uint32(0xa431d7fe),
  30362. 6: uint32(0x97d75e7f),
  30363. 7: uint32(0xffd80f5b),
  30364. },
  30365. },
  30366. 679: {
  30367. Fmap1: [8]TFcChar32{
  30368. 0: uint32(0x7bce9d83),
  30369. 1: uint32(0xdcff22ec),
  30370. 2: uint32(0xef87763d),
  30371. 3: uint32(0xfdeddfe7),
  30372. 4: uint32(0xa0fc4fff),
  30373. 5: uint32(0xdbfc3b77),
  30374. 6: uint32(0x7fdc3ded),
  30375. 7: uint32(0xf5706fa9),
  30376. },
  30377. },
  30378. 680: {
  30379. Fmap1: [8]TFcChar32{
  30380. 0: uint32(0x2c403ffb),
  30381. 1: uint32(0x847fff7f),
  30382. 2: uint32(0xdeb7ec57),
  30383. 3: uint32(0xf22fe69c),
  30384. 4: uint32(0xd5b50feb),
  30385. 5: uint32(0xede7afeb),
  30386. 6: uint32(0xfff08c2f),
  30387. 7: uint32(0xe8f0537f),
  30388. },
  30389. },
  30390. 681: {
  30391. Fmap1: [8]TFcChar32{
  30392. 0: uint32(0xb5ffb99d),
  30393. 1: uint32(0xe78fff66),
  30394. 2: uint32(0xbe10d981),
  30395. 3: uint32(0xe3c19c7c),
  30396. 4: uint32(0x27339cd1),
  30397. 5: uint32(0xff6d0cbc),
  30398. 6: uint32(0xefb7fcb7),
  30399. 7: uint32(0xffffa0df),
  30400. },
  30401. },
  30402. 682: {
  30403. Fmap1: [8]TFcChar32{
  30404. 0: uint32(0xfe7bbf0b),
  30405. 1: uint32(0x353fa3ff),
  30406. 2: uint32(0x97cd13cc),
  30407. 3: uint32(0xfb277637),
  30408. 4: uint32(0x7e6ccfd6),
  30409. 5: uint32(0xed31ec50),
  30410. 6: uint32(0xfc1c677c),
  30411. 7: uint32(0x5fbff6fa),
  30412. },
  30413. },
  30414. 683: {
  30415. Fmap1: [8]TFcChar32{
  30416. 0: uint32(0xae2f0fba),
  30417. 1: uint32(0x7ffea3ad),
  30418. 2: uint32(0xde74fcf0),
  30419. 3: uint32(0xf200ffef),
  30420. 4: uint32(0xfea2fbbf),
  30421. 5: uint32(0xbcff3daf),
  30422. 6: uint32(0x5fb9f694),
  30423. 7: uint32(0x3f8ff3ad),
  30424. },
  30425. },
  30426. 684: {
  30427. Fmap1: [8]TFcChar32{
  30428. 0: uint32(0xa01ff26c),
  30429. 1: uint32(0x01bfffef),
  30430. 2: uint32(0x70057728),
  30431. 3: uint32(0xda03ff35),
  30432. 4: uint32(0xc7fad2f9),
  30433. 5: uint32(0x5c1d3fbf),
  30434. 6: uint32(0xec33ff3a),
  30435. 7: uint32(0xfe9cb7af),
  30436. },
  30437. },
  30438. 685: {
  30439. Fmap1: [8]TFcChar32{
  30440. 0: uint32(0x7a9f5236),
  30441. 1: uint32(0xe722bffa),
  30442. 2: uint32(0xfcff9ff7),
  30443. 3: uint32(0xb61d2fbb),
  30444. 4: uint32(0x1dfded06),
  30445. 5: uint32(0xefdf7dd7),
  30446. 6: uint32(0xf166eb23),
  30447. 7: uint32(0x0dc07ed9),
  30448. },
  30449. },
  30450. 686: {
  30451. Fmap1: [8]TFcChar32{
  30452. 0: uint32(0xdfbf3d3d),
  30453. 1: uint32(0xba83c945),
  30454. 2: uint32(0x9dd07dd1),
  30455. 3: uint32(0xcf737b87),
  30456. 4: uint32(0xc3f59ff3),
  30457. 5: uint32(0xc5fedf0d),
  30458. 6: uint32(0x83020cb3),
  30459. 7: uint32(0xaec0e879),
  30460. },
  30461. },
  30462. 687: {
  30463. Fmap1: [8]TFcChar32{
  30464. 0: uint32(0x6f0fc773),
  30465. 1: uint32(0x093ffd7d),
  30466. 2: uint32(0x0157fff1),
  30467. 3: uint32(0x01ff62fb),
  30468. 4: uint32(0x3bf3fdb4),
  30469. 5: uint32(0x43b2b013),
  30470. 6: uint32(0xff305ed3),
  30471. 7: uint32(0xeb9f0fff),
  30472. },
  30473. },
  30474. 688: {
  30475. Fmap1: [8]TFcChar32{
  30476. 0: uint32(0xf203feef),
  30477. 1: uint32(0xfb893fef),
  30478. 2: uint32(0x9e9937a9),
  30479. 3: uint32(0xa72cdef9),
  30480. 4: uint32(0xc1f63733),
  30481. 5: uint32(0xfe3e812e),
  30482. 6: uint32(0xf2f75d20),
  30483. 7: uint32(0x69d7d585),
  30484. },
  30485. },
  30486. 689: {
  30487. Fmap1: [8]TFcChar32{
  30488. 0: uint32(0xffffffff),
  30489. 1: uint32(0xff6fdb07),
  30490. 2: uint32(0xd97fc4ff),
  30491. 3: uint32(0xbe0fefce),
  30492. 4: uint32(0xf05ef17b),
  30493. 5: uint32(0xffb7f6cf),
  30494. 6: uint32(0xef845ef7),
  30495. 7: uint32(0x0edfd7cb),
  30496. },
  30497. },
  30498. 690: {
  30499. Fmap1: [8]TFcChar32{
  30500. 0: uint32(0xfcffff08),
  30501. 1: uint32(0xffffee3f),
  30502. 2: uint32(0xd7ff13ff),
  30503. 3: uint32(0x7ffdaf0f),
  30504. 4: uint32(0x1ffabdc7),
  30505. },
  30506. },
  30507. 691: {
  30508. Fmap1: [8]TFcChar32{
  30509. 1: uint32(0xe7400000),
  30510. 2: uint32(0xf933bd38),
  30511. 3: uint32(0xfeed7feb),
  30512. 4: uint32(0x7c767fe8),
  30513. 5: uint32(0xffefb3f7),
  30514. 6: uint32(0xd8b7feaf),
  30515. 7: uint32(0xfbbfff6f),
  30516. },
  30517. },
  30518. 692: {
  30519. Fmap1: [8]TFcChar32{
  30520. 0: uint32(0xdbf7f8fb),
  30521. 1: uint32(0xe2f91752),
  30522. 2: uint32(0x754785c8),
  30523. 3: uint32(0xe3ef9090),
  30524. 4: uint32(0x3f6d9ef4),
  30525. 5: uint32(0x0536ee2e),
  30526. 6: uint32(0x7ff3f7bc),
  30527. 7: uint32(0x7f3fa07b),
  30528. },
  30529. },
  30530. 693: {
  30531. Fmap1: [8]TFcChar32{
  30532. 0: uint32(0xeb600567),
  30533. 1: uint32(0x6601babe),
  30534. 2: uint32(0x583ffcd8),
  30535. 3: uint32(0x87dfcaf7),
  30536. 4: uint32(0xffa0bfcd),
  30537. 5: uint32(0xfebf5bcd),
  30538. 6: uint32(0xefa7b6fd),
  30539. 7: uint32(0xdf9c77ef),
  30540. },
  30541. },
  30542. 694: {
  30543. Fmap1: [8]TFcChar32{
  30544. 0: uint32(0xf8773fb7),
  30545. 1: uint32(0xb7fc9d27),
  30546. 2: uint32(0xdfefcab5),
  30547. 3: uint32(0xf1b6fb5a),
  30548. 4: uint32(0xef1fec39),
  30549. 5: uint32(0x7ffbfbbf),
  30550. 6: uint32(0xdafe000d),
  30551. 7: uint32(0x4e7fbdfb),
  30552. },
  30553. },
  30554. 695: {
  30555. Fmap1: [8]TFcChar32{
  30556. 0: uint32(0x5ac033ff),
  30557. 1: uint32(0x9ffebff5),
  30558. 2: uint32(0x005fffbf),
  30559. 3: uint32(0xfdf80000),
  30560. 4: uint32(0x6ffdffca),
  30561. 5: uint32(0xa001cffd),
  30562. 6: uint32(0xfbf2dfff),
  30563. 7: uint32(0xff7fdfbf),
  30564. },
  30565. },
  30566. 696: {
  30567. Fmap1: [8]TFcChar32{
  30568. 0: uint32(0x080ffeda),
  30569. 1: uint32(0xbfffba08),
  30570. 2: uint32(0xeed77afd),
  30571. 3: uint32(0x67f9fbeb),
  30572. 4: uint32(0xff93e044),
  30573. 5: uint32(0x9f57df97),
  30574. 6: uint32(0x08dffef7),
  30575. 7: uint32(0xfedfdf80),
  30576. },
  30577. },
  30578. 697: {
  30579. Fmap1: [8]TFcChar32{
  30580. 0: uint32(0xf7feffc5),
  30581. 1: uint32(0x6803fffb),
  30582. 2: uint32(0x6bfa67fb),
  30583. 3: uint32(0x5fe27fff),
  30584. 4: uint32(0xff73ffff),
  30585. 5: uint32(0xe7fb87df),
  30586. 6: uint32(0xf7a7ebfd),
  30587. 7: uint32(0xefc7bf7e),
  30588. },
  30589. },
  30590. 698: {
  30591. Fmap1: [8]TFcChar32{
  30592. 0: uint32(0xdf821ef3),
  30593. 1: uint32(0xdf7e76ff),
  30594. 2: uint32(0xda7d79c9),
  30595. 3: uint32(0x1e9befbe),
  30596. 4: uint32(0x77fb7ce0),
  30597. 5: uint32(0xfffb87be),
  30598. 6: uint32(0xffdb1bff),
  30599. 7: uint32(0x4fe03f5c),
  30600. },
  30601. },
  30602. 699: {
  30603. Fmap1: [8]TFcChar32{
  30604. 0: uint32(0x5f0e7fff),
  30605. 1: uint32(0xddbf77ff),
  30606. 2: uint32(0xfffff04f),
  30607. 3: uint32(0x0ff8ffff),
  30608. 4: uint32(0xfddfa3be),
  30609. 5: uint32(0xfffdfc1c),
  30610. 6: uint32(0xfb9e1f7d),
  30611. 7: uint32(0xdedcbdff),
  30612. },
  30613. },
  30614. 700: {
  30615. Fmap1: [8]TFcChar32{
  30616. 0: uint32(0xbafb3f6f),
  30617. 1: uint32(0xfbefdf7f),
  30618. 2: uint32(0x2eec7d1b),
  30619. 3: uint32(0xf2f7af8e),
  30620. 4: uint32(0xcfee7b0f),
  30621. 5: uint32(0x77c61d96),
  30622. 6: uint32(0xfff57e07),
  30623. 7: uint32(0x7fdfd982),
  30624. },
  30625. },
  30626. 701: {
  30627. Fmap1: [8]TFcChar32{
  30628. 0: uint32(0xc7ff5ee6),
  30629. 1: uint32(0x79effeee),
  30630. 2: uint32(0xffcf9a56),
  30631. 3: uint32(0xde5efe5f),
  30632. 4: uint32(0xf9e8896e),
  30633. 5: uint32(0xe6c4f45e),
  30634. 6: uint32(0xbe7c0001),
  30635. 7: uint32(0xdddf3b7f),
  30636. },
  30637. },
  30638. 702: {
  30639. Fmap1: [8]TFcChar32{
  30640. 0: uint32(0xe9efd59d),
  30641. 1: uint32(0xde5334ac),
  30642. 2: uint32(0x4bf7f573),
  30643. 3: uint32(0x9eff7b4f),
  30644. 4: uint32(0x476eb8fe),
  30645. 5: uint32(0xff450dfb),
  30646. 6: uint32(0xfbfeabfd),
  30647. 7: uint32(0xddffe9d7),
  30648. },
  30649. },
  30650. 703: {
  30651. Fmap1: [8]TFcChar32{
  30652. 0: uint32(0x7fffedf7),
  30653. 1: uint32(0x7eebddfd),
  30654. 2: uint32(0xb7ffcfe7),
  30655. 3: uint32(0xef91bde9),
  30656. 4: uint32(0xd77c5d75),
  30657. },
  30658. },
  30659. 704: {
  30660. Fmap1: [8]TFcChar32{
  30661. 1: uint32(0xfa800000),
  30662. 2: uint32(0xb4f1ffee),
  30663. 3: uint32(0x2fefbf76),
  30664. 4: uint32(0x77bfb677),
  30665. 5: uint32(0xfffd9fbf),
  30666. 6: uint32(0xf6ae95bf),
  30667. 7: uint32(0x7f3b75ff),
  30668. },
  30669. },
  30670. 705: {
  30671. Fmap1: [8]TFcChar32{
  30672. 0: uint32(0x0af9a7f5),
  30673. 3: uint32(0x2bddfbd0),
  30674. 4: uint32(0x9a7ff633),
  30675. 5: uint32(0xd6fcfdab),
  30676. 6: uint32(0xbfebf9e6),
  30677. 7: uint32(0xf41fdfdf),
  30678. },
  30679. },
  30680. 706: {
  30681. Fmap1: [8]TFcChar32{
  30682. 0: uint32(0xffffa6fd),
  30683. 1: uint32(0xf37b4aff),
  30684. 2: uint32(0xfef97fb7),
  30685. 3: uint32(0x1d5cb6ff),
  30686. 4: uint32(0xe5ff7ff6),
  30687. 5: uint32(0x24041f7b),
  30688. 6: uint32(0xf99ebe05),
  30689. 7: uint32(0xdff2dbe3),
  30690. },
  30691. },
  30692. 707: {
  30693. Fmap1: [8]TFcChar32{
  30694. 0: uint32(0xfdff6fef),
  30695. 1: uint32(0xcbfcd679),
  30696. 2: uint32(0xefffebfd),
  30697. 3: uint32(0x0000001f),
  30698. 4: uint32(0x98000000),
  30699. 5: uint32(0x8017e148),
  30700. 6: uint32(0x00fe6a74),
  30701. 7: uint32(0xfdf16d7f),
  30702. },
  30703. },
  30704. 708: {
  30705. Fmap1: [8]TFcChar32{
  30706. 0: uint32(0xfef3b87f),
  30707. 1: uint32(0xf176e01f),
  30708. 2: uint32(0x7b3fee96),
  30709. 3: uint32(0xfffdeb8d),
  30710. 4: uint32(0xcbb3adff),
  30711. 5: uint32(0xe17f84ef),
  30712. 6: uint32(0xbff04daa),
  30713. 7: uint32(0xfe3fbf3f),
  30714. },
  30715. },
  30716. 709: {
  30717. Fmap1: [8]TFcChar32{
  30718. 0: uint32(0xffd7ebff),
  30719. 1: uint32(0xcf7fffdf),
  30720. 2: uint32(0x85edfffb),
  30721. 3: uint32(0x07bcd73f),
  30722. 4: uint32(0xfe0faeff),
  30723. 5: uint32(0x76bffdaf),
  30724. 6: uint32(0x37bbfaef),
  30725. 7: uint32(0xa3ba7fdc),
  30726. },
  30727. },
  30728. 710: {
  30729. Fmap1: [8]TFcChar32{
  30730. 0: uint32(0x56f7b6ff),
  30731. 1: uint32(0xe7df60f8),
  30732. 2: uint32(0x4cdfff61),
  30733. 3: uint32(0xff45b0fb),
  30734. 4: uint32(0x3ffa7ded),
  30735. 5: uint32(0x18fc1fff),
  30736. 6: uint32(0xe3afffff),
  30737. 7: uint32(0xdf83c7d3),
  30738. },
  30739. },
  30740. 711: {
  30741. Fmap1: [8]TFcChar32{
  30742. 0: uint32(0xef7dfb57),
  30743. 1: uint32(0x1378efff),
  30744. 2: uint32(0x5ff7fec0),
  30745. 3: uint32(0x5ee334bb),
  30746. 4: uint32(0xeff6f70d),
  30747. 5: uint32(0x00bfd7fe),
  30748. 6: uint32(0xf7f7f59d),
  30749. 7: uint32(0xffe051de),
  30750. },
  30751. },
  30752. 712: {
  30753. Fmap1: [8]TFcChar32{
  30754. 0: uint32(0x037ffec9),
  30755. 1: uint32(0xbfef5f01),
  30756. 2: uint32(0x60a79ff1),
  30757. 3: uint32(0xf1ffef1d),
  30758. 4: uint32(0x0000000f),
  30759. },
  30760. },
  30761. 713: {
  30762. Fmap1: [8]TFcChar32{
  30763. 3: uint32(0x3c800000),
  30764. 4: uint32(0xd91ffb4d),
  30765. 5: uint32(0xfee37b3a),
  30766. 6: uint32(0xdc7f3fe9),
  30767. 7: uint32(0x0000003f),
  30768. },
  30769. },
  30770. 714: {
  30771. Fmap1: [8]TFcChar32{
  30772. 0: uint32(0x50000000),
  30773. 1: uint32(0xbe07f51f),
  30774. 2: uint32(0xf91bfc1d),
  30775. 3: uint32(0x71ffbc1e),
  30776. 4: uint32(0x5bbe6ff9),
  30777. 5: uint32(0x9b1b5796),
  30778. 6: uint32(0xfffc7fff),
  30779. 7: uint32(0xafe7872e),
  30780. },
  30781. },
  30782. 715: {
  30783. Fmap1: [8]TFcChar32{
  30784. 0: uint32(0xf34febf5),
  30785. 1: uint32(0xe725dffd),
  30786. 2: uint32(0x5d440bdc),
  30787. 3: uint32(0xfddd5747),
  30788. 4: uint32(0x7790ed3f),
  30789. 5: uint32(0x8ac87d7f),
  30790. 6: uint32(0xf3f9fafa),
  30791. 7: uint32(0xef4b202a),
  30792. },
  30793. },
  30794. 716: {
  30795. Fmap1: [8]TFcChar32{
  30796. 0: uint32(0x79cff5ff),
  30797. 1: uint32(0x0ba5abd3),
  30798. 2: uint32(0xfb8ff77a),
  30799. 3: uint32(0x001f8ebd),
  30800. 5: uint32(0xfd4ef300),
  30801. 6: uint32(0x88001a57),
  30802. 7: uint32(0x7654aeac),
  30803. },
  30804. },
  30805. 717: {
  30806. Fmap1: [8]TFcChar32{
  30807. 0: uint32(0xcdff17ad),
  30808. 1: uint32(0xf42fffb2),
  30809. 2: uint32(0xdbff5baa),
  30810. 3: uint32(0x00000002),
  30811. 4: uint32(0x73c00000),
  30812. 5: uint32(0x2e3ff9ea),
  30813. 6: uint32(0xbbfffa8e),
  30814. 7: uint32(0xffd376bc),
  30815. },
  30816. },
  30817. 718: {
  30818. Fmap1: [8]TFcChar32{
  30819. 0: uint32(0x7e72eefe),
  30820. 1: uint32(0xe7f77ebd),
  30821. 2: uint32(0xcefdf77f),
  30822. 3: uint32(0x00000ff5),
  30823. 5: uint32(0xdb9ba900),
  30824. 6: uint32(0x917fa4c7),
  30825. 7: uint32(0x7ecef8ca),
  30826. },
  30827. },
  30828. 719: {
  30829. Fmap1: [8]TFcChar32{
  30830. 0: uint32(0xc7e77d7a),
  30831. 1: uint32(0xdcaecbbd),
  30832. 2: uint32(0x8f76fd7e),
  30833. 3: uint32(0x7cf391d3),
  30834. 4: uint32(0x4c2f01e5),
  30835. 5: uint32(0xa360ed77),
  30836. 6: uint32(0x5ef807db),
  30837. 7: uint32(0x21811df7),
  30838. },
  30839. },
  30840. 720: {
  30841. Fmap1: [8]TFcChar32{
  30842. 0: uint32(0x309c6be0),
  30843. 1: uint32(0xfade3b3a),
  30844. 2: uint32(0xc3f57f53),
  30845. 3: uint32(0x07ba61cd),
  30846. 7: uint32(0xbefe26e0),
  30847. },
  30848. },
  30849. 721: {
  30850. Fmap1: [8]TFcChar32{
  30851. 0: uint32(0xebb503f9),
  30852. 1: uint32(0xe9cbe36d),
  30853. 2: uint32(0xbfde9c2f),
  30854. 3: uint32(0xabbf9f83),
  30855. 4: uint32(0xffd51ff7),
  30856. 5: uint32(0xdffeb7df),
  30857. 6: uint32(0xffeffdae),
  30858. 7: uint32(0xeffdfb7e),
  30859. },
  30860. },
  30861. 722: {
  30862. Fmap1: [8]TFcChar32{
  30863. 0: uint32(0x6ebfaaff),
  30864. 3: uint32(0xb6200000),
  30865. 4: uint32(0xbe9e7fcd),
  30866. 5: uint32(0x58f162b3),
  30867. 6: uint32(0xfd7bf10d),
  30868. 7: uint32(0xbefde9f1),
  30869. },
  30870. },
  30871. 723: {
  30872. Fmap1: [8]TFcChar32{
  30873. 0: uint32(0x5f6dc6c3),
  30874. 1: uint32(0x69ffff3d),
  30875. 2: uint32(0xfbf4ffcf),
  30876. 3: uint32(0x4ff7dcfb),
  30877. 4: uint32(0x11372000),
  30878. 5: uint32(0x00000015),
  30879. },
  30880. },
  30881. 724: {
  30882. Fmap1: [8]TFcChar32{
  30883. 0: uint32(0x00003000),
  30884. },
  30885. },
  30886. },
  30887. Fleaf_offsets: [780]Tuintptr_t{
  30888. 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)),
  30889. 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)),
  30890. 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)),
  30891. 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)),
  30892. 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)),
  30893. 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)),
  30894. 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)),
  30895. 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)),
  30896. 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)),
  30897. 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)),
  30898. 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)),
  30899. 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)),
  30900. 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)),
  30901. 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)),
  30902. 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)),
  30903. 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)),
  30904. 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)),
  30905. 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)),
  30906. 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)),
  30907. 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)),
  30908. 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)),
  30909. 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)),
  30910. 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)),
  30911. 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)),
  30912. 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)),
  30913. 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)),
  30914. 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)),
  30915. 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)),
  30916. 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)),
  30917. 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)),
  30918. 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)),
  30919. 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)),
  30920. 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)),
  30921. 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)),
  30922. 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)),
  30923. 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)),
  30924. 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)),
  30925. 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)),
  30926. 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)),
  30927. 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)),
  30928. 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)),
  30929. 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)),
  30930. 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)),
  30931. 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)),
  30932. 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)),
  30933. 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)),
  30934. 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)),
  30935. 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)),
  30936. 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)),
  30937. 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)),
  30938. 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)),
  30939. 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)),
  30940. 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)),
  30941. 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)),
  30942. 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)),
  30943. 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)),
  30944. 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)),
  30945. 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)),
  30946. 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)),
  30947. 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)),
  30948. 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)),
  30949. 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)),
  30950. 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)),
  30951. 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)),
  30952. 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)),
  30953. 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)),
  30954. 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)),
  30955. 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)),
  30956. 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)),
  30957. 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)),
  30958. 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)),
  30959. 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)),
  30960. 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)),
  30961. 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)),
  30962. 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)),
  30963. 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)),
  30964. 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)),
  30965. 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)),
  30966. 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)),
  30967. 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)),
  30968. 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)),
  30969. 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)),
  30970. 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)),
  30971. 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)),
  30972. 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)),
  30973. 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)),
  30974. 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)),
  30975. 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)),
  30976. 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)),
  30977. 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)),
  30978. 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)),
  30979. 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)),
  30980. 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)),
  30981. 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)),
  30982. 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)),
  30983. 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)),
  30984. 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)),
  30985. 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)),
  30986. 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)),
  30987. 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)),
  30988. 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)),
  30989. 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)),
  30990. 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)),
  30991. 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)),
  30992. 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)),
  30993. 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)),
  30994. 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)),
  30995. 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)),
  30996. 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)),
  30997. 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)),
  30998. 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)),
  30999. 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)),
  31000. 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)),
  31001. 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)),
  31002. 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)),
  31003. 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)),
  31004. 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)),
  31005. 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)),
  31006. 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)),
  31007. 119: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(53)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(8)),
  31008. 120: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31009. 121: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(108)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(8)),
  31010. 122: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31011. 123: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31012. 124: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31013. 125: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(109)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31014. 126: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(110)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(8)),
  31015. 127: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(111)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(8)),
  31016. 128: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(112)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(8)),
  31017. 129: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(113)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(8)),
  31018. 130: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(114)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31019. 131: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(115)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31020. 132: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(116)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(8)),
  31021. 133: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(117)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31022. 134: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(118)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31023. 135: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(119)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31024. 136: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(120)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31025. 137: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(121)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31026. 138: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(122)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31027. 139: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(123)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31028. 140: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(124)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31029. 141: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(125)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31030. 142: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(126)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31031. 143: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(127)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31032. 144: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(128)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31033. 145: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(129)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31034. 146: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(130)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31035. 147: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(131)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31036. 148: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(132)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31037. 149: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31038. 150: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(134)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31039. 151: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(135)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31040. 152: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(136)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31041. 153: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(137)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31042. 154: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(138)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31043. 155: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(139)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31044. 156: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(140)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31045. 157: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(141)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31046. 158: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(142)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31047. 159: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(143)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31048. 160: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(144)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31049. 161: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(145)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31050. 162: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(146)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31051. 163: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(147)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31052. 164: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(148)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31053. 165: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(149)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31054. 166: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(150)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31055. 167: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(151)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31056. 168: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(152)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31057. 169: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(153)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31058. 170: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(154)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31059. 171: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(155)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31060. 172: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(156)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31061. 173: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(157)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31062. 174: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(158)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31063. 175: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(159)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31064. 176: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(160)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31065. 177: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(161)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31066. 178: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(162)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31067. 179: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(163)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31068. 180: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(164)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31069. 181: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(165)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31070. 182: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(166)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31071. 183: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(167)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31072. 184: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(168)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31073. 185: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(169)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31074. 186: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(170)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31075. 187: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(171)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31076. 188: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(172)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31077. 189: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(173)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31078. 190: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(174)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31079. 191: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(175)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31080. 192: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(176)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31081. 193: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(177)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31082. 194: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(178)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31083. 195: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(179)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31084. 196: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(180)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31085. 197: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(181)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31086. 198: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(182)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31087. 199: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(183)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31088. 200: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(184)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31089. 201: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(185)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31090. 202: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(186)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31091. 203: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(187)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31092. 204: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(188)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31093. 205: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(189)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31094. 206: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(190)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31095. 207: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(191)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31096. 208: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(192)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31097. 209: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(193)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31098. 210: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(194)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31099. 211: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(195)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31100. 212: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(196)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31101. 213: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(197)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31102. 214: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(198)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31103. 215: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(199)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(133)*libc.Uint64FromInt64(8)),
  31104. 216: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(200)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(8)),
  31105. 217: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(201)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(8)),
  31106. 218: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(202)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(8)),
  31107. 219: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  31108. 220: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(203)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(8)),
  31109. 221: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(204)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(8)),
  31110. 222: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(205)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  31111. 223: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(206)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(8)),
  31112. 224: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(207)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(8)),
  31113. 225: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(208)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(8)),
  31114. 226: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(209)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31115. 227: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(210)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31116. 228: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(211)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31117. 229: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(212)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31118. 230: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(213)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31119. 231: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(214)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31120. 232: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(215)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31121. 233: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(216)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31122. 234: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(217)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31123. 235: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(218)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31124. 236: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(219)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31125. 237: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(220)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31126. 238: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(221)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31127. 239: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(222)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31128. 240: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(223)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31129. 241: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(224)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31130. 242: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(225)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31131. 243: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31132. 244: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(227)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31133. 245: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(228)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31134. 246: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(229)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31135. 247: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(230)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31136. 248: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(231)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31137. 249: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(232)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31138. 250: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(233)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31139. 251: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(234)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31140. 252: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(235)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31141. 253: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(236)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31142. 254: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(237)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31143. 255: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(238)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31144. 256: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(239)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31145. 257: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(240)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31146. 258: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(241)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31147. 259: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(242)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31148. 260: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(243)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31149. 261: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(244)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31150. 262: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(245)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31151. 263: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(246)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31152. 264: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(247)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31153. 265: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(248)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31154. 266: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(249)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31155. 267: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(250)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31156. 268: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(251)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31157. 269: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(252)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31158. 270: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(253)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(226)*libc.Uint64FromInt64(8)),
  31159. 271: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31160. 272: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(254)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31161. 273: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(255)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(8)),
  31162. 274: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(256)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(8)),
  31163. 275: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(257)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  31164. 276: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(258)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(8)),
  31165. 277: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(259)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(8)),
  31166. 278: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(260)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  31167. 279: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(261)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(8)),
  31168. 280: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(8)),
  31169. 281: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(263)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(8)),
  31170. 282: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31171. 283: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31172. 284: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(264)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(8)),
  31173. 285: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(265)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(8)),
  31174. 286: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  31175. 287: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(266)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(8)),
  31176. 288: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(267)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(8)),
  31177. 289: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(268)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(8)),
  31178. 290: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  31179. 291: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(8)),
  31180. 292: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(270)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(8)),
  31181. 293: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(271)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31182. 294: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(272)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31183. 295: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(6)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31184. 296: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(273)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(8)),
  31185. 297: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(274)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(8)),
  31186. 298: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  31187. 299: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(275)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(8)),
  31188. 300: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  31189. 301: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(276)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(8)),
  31190. 302: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(277)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(8)),
  31191. 303: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  31192. 304: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(278)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(8)),
  31193. 305: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31194. 306: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31195. 307: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(279)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(8)),
  31196. 308: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(280)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(8)),
  31197. 309: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(281)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(8)),
  31198. 310: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(282)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(8)),
  31199. 311: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(283)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(8)),
  31200. 312: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(284)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(8)),
  31201. 313: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31202. 314: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31203. 315: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31204. 316: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(262)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(8)),
  31205. 317: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(287)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  31206. 318: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(288)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(8)),
  31207. 319: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(289)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(8)),
  31208. 320: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(4)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  31209. 321: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(290)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(8)),
  31210. 322: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(291)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(8)),
  31211. 323: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(292)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(8)),
  31212. 324: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(293)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(8)),
  31213. 325: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(294)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(8)),
  31214. 326: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(295)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(8)),
  31215. 327: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(296)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  31216. 328: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(297)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(8)),
  31217. 329: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(298)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31218. 330: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(299)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31219. 331: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31220. 332: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(301)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(8)),
  31221. 333: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  31222. 334: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(302)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(8)),
  31223. 335: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(303)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(8)),
  31224. 336: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(304)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(8)),
  31225. 337: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(305)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(8)),
  31226. 338: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(306)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(8)),
  31227. 339: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(307)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(8)),
  31228. 340: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(8)),
  31229. 341: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  31230. 342: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(309)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(8)),
  31231. 343: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(310)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(8)),
  31232. 344: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(311)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(8)),
  31233. 345: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(312)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(8)),
  31234. 346: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(308)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  31235. 347: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(313)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(8)),
  31236. 348: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(314)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(8)),
  31237. 349: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(285)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31238. 350: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(58)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31239. 351: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(286)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(8)),
  31240. 352: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(315)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(8)),
  31241. 353: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(316)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(8)),
  31242. 354: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(317)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(8)),
  31243. 355: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31244. 356: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31245. 357: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(319)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(8)),
  31246. 358: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(320)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(8)),
  31247. 359: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(321)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  31248. 360: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(322)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(8)),
  31249. 361: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(323)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(8)),
  31250. 362: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31251. 363: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(40)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31252. 364: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(324)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(8)),
  31253. 365: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(325)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  31254. 366: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(326)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(8)),
  31255. 367: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(327)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(8)),
  31256. 368: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(328)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  31257. 369: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(10)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(8)),
  31258. 370: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(329)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  31259. 371: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(330)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(8)),
  31260. 372: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  31261. 373: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(97)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(8)),
  31262. 374: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(331)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(8)),
  31263. 375: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(332)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(8)),
  31264. 376: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(333)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  31265. 377: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(334)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(8)),
  31266. 378: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(335)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31267. 379: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(336)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31268. 380: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(337)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(8)),
  31269. 381: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(338)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(8)),
  31270. 382: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(339)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(8)),
  31271. 383: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(340)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(8)),
  31272. 384: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(341)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(8)),
  31273. 385: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(342)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(8)),
  31274. 386: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(343)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(8)),
  31275. 387: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(344)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(8)),
  31276. 388: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(345)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(8)),
  31277. 389: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(346)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  31278. 390: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(43)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(8)),
  31279. 391: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(347)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  31280. 392: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(348)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(8)),
  31281. 393: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(349)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  31282. 394: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(52)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(8)),
  31283. 395: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(350)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(8)),
  31284. 396: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(351)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31285. 397: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(96)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31286. 398: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(300)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(8)),
  31287. 399: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(352)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(8)),
  31288. 400: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(353)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(8)),
  31289. 401: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(354)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31290. 402: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31291. 403: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(356)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31292. 404: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(357)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31293. 405: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(358)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31294. 406: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(359)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31295. 407: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(360)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31296. 408: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(361)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31297. 409: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(362)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31298. 410: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(363)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31299. 411: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(364)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31300. 412: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(365)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(8)),
  31301. 413: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(366)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31302. 414: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(367)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31303. 415: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(368)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31304. 416: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(369)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31305. 417: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(370)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31306. 418: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(371)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31307. 419: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(372)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31308. 420: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(373)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31309. 421: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(374)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31310. 422: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(375)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31311. 423: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(376)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31312. 424: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(377)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(8)),
  31313. 425: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(23)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  31314. 426: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(378)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(8)),
  31315. 427: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(379)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  31316. 428: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(380)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  31317. 429: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(381)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  31318. 430: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(382)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(8)),
  31319. 431: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(383)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(8)),
  31320. 432: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(384)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  31321. 433: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(74)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(8)),
  31322. 434: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(385)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(8)),
  31323. 435: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(99)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  31324. 436: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(386)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(8)),
  31325. 437: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(387)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  31326. 438: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(269)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(8)),
  31327. 439: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(388)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(8)),
  31328. 440: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(389)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  31329. 441: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(390)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  31330. 442: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(391)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  31331. 443: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(392)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(8)),
  31332. 444: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(393)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31333. 445: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(394)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31334. 446: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(395)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31335. 447: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(396)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31336. 448: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(397)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31337. 449: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(398)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31338. 450: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(399)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31339. 451: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(400)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31340. 452: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(401)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31341. 453: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(402)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31342. 454: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(403)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31343. 455: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(404)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31344. 456: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(405)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31345. 457: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(406)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31346. 458: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(407)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31347. 459: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(408)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31348. 460: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(409)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31349. 461: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(410)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31350. 462: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(411)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31351. 463: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(412)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31352. 464: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(413)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31353. 465: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(414)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31354. 466: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(415)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31355. 467: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(416)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31356. 468: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(417)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31357. 469: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(418)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31358. 470: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(419)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31359. 471: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(420)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31360. 472: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(421)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31361. 473: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(422)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31362. 474: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(423)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31363. 475: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(424)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31364. 476: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(425)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31365. 477: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(426)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31366. 478: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(427)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31367. 479: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(428)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31368. 480: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(429)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31369. 481: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(430)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31370. 482: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(431)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31371. 483: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(432)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31372. 484: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(433)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31373. 485: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(434)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31374. 486: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(435)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31375. 487: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(436)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31376. 488: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(437)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31377. 489: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(438)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31378. 490: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(439)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31379. 491: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(440)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31380. 492: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(441)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31381. 493: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(442)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31382. 494: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(443)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31383. 495: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31384. 496: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(445)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31385. 497: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(446)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31386. 498: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(447)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31387. 499: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(448)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31388. 500: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(449)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31389. 501: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(450)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31390. 502: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(451)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31391. 503: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(452)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31392. 504: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(453)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31393. 505: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(454)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31394. 506: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(455)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31395. 507: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(456)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31396. 508: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(457)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31397. 509: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(458)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31398. 510: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(459)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31399. 511: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(460)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31400. 512: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(461)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31401. 513: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(462)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31402. 514: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(463)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31403. 515: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(464)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31404. 516: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(465)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31405. 517: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(466)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31406. 518: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(467)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31407. 519: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(468)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31408. 520: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(469)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31409. 521: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(470)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31410. 522: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(471)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31411. 523: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(472)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31412. 524: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(473)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31413. 525: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(474)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(444)*libc.Uint64FromInt64(8)),
  31414. 526: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(475)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31415. 527: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(476)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31416. 528: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(477)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31417. 529: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(478)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31418. 530: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(479)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31419. 531: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(480)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31420. 532: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(481)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31421. 533: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(482)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31422. 534: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(483)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31423. 535: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(484)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31424. 536: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(485)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31425. 537: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(486)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31426. 538: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(487)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31427. 539: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(488)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31428. 540: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(489)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31429. 541: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(490)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31430. 542: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(491)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31431. 543: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(492)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31432. 544: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(493)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31433. 545: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(494)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31434. 546: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(495)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31435. 547: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(496)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31436. 548: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(497)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31437. 549: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(498)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31438. 550: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(499)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31439. 551: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(500)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31440. 552: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(501)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31441. 553: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(502)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31442. 554: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(503)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31443. 555: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(504)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31444. 556: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(505)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31445. 557: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(506)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31446. 558: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(507)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31447. 559: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(508)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31448. 560: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(509)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31449. 561: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(510)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31450. 562: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(511)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31451. 563: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(512)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31452. 564: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(513)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31453. 565: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(514)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31454. 566: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(515)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31455. 567: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(516)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31456. 568: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(517)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31457. 569: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(518)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31458. 570: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(519)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31459. 571: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(520)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31460. 572: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(521)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31461. 573: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(522)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31462. 574: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(523)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31463. 575: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(524)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31464. 576: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(525)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31465. 577: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31466. 578: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(527)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31467. 579: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(528)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31468. 580: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(529)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31469. 581: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(530)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31470. 582: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(531)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31471. 583: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(532)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31472. 584: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(533)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31473. 585: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(534)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31474. 586: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(535)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31475. 587: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(536)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31476. 588: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(537)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31477. 589: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(538)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31478. 590: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(539)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31479. 591: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(540)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31480. 592: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(541)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31481. 593: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(542)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31482. 594: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(543)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31483. 595: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(544)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31484. 596: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(545)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31485. 597: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(546)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31486. 598: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(547)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31487. 599: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(548)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31488. 600: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(549)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31489. 601: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(550)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31490. 602: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(551)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31491. 603: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(552)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31492. 604: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(553)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31493. 605: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(554)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31494. 606: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(555)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31495. 607: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(556)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31496. 608: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(557)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31497. 609: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(558)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31498. 610: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(559)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31499. 611: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(560)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31500. 612: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(561)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31501. 613: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(562)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31502. 614: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(563)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31503. 615: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(564)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31504. 616: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(565)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31505. 617: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(566)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31506. 618: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(567)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31507. 619: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(568)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31508. 620: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(569)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31509. 621: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(570)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31510. 622: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(571)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31511. 623: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(572)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31512. 624: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(573)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31513. 625: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(574)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31514. 626: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(575)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31515. 627: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(576)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31516. 628: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(577)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31517. 629: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(578)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31518. 630: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(579)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31519. 631: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(580)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31520. 632: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(581)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31521. 633: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(582)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31522. 634: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(583)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31523. 635: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(584)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31524. 636: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(585)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31525. 637: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(586)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31526. 638: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(587)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31527. 639: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(588)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31528. 640: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(589)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31529. 641: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(590)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31530. 642: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(591)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31531. 643: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(592)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31532. 644: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(593)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31533. 645: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(594)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31534. 646: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(595)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31535. 647: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(596)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31536. 648: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(597)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31537. 649: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(598)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31538. 650: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(599)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31539. 651: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(600)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31540. 652: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(601)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31541. 653: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(602)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31542. 654: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(603)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31543. 655: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31544. 656: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(355)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31545. 657: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(605)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31546. 658: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(606)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31547. 659: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(318)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31548. 660: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(607)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31549. 661: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(608)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31550. 662: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(609)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31551. 663: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(610)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31552. 664: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(611)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31553. 665: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(612)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31554. 666: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(613)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31555. 667: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(3)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31556. 668: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(614)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31557. 669: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(615)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31558. 670: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(616)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31559. 671: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(617)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31560. 672: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(618)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31561. 673: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(619)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31562. 674: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(604)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31563. 675: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(620)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31564. 676: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(621)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31565. 677: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(622)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31566. 678: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(623)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31567. 679: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(624)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31568. 680: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(625)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31569. 681: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(626)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31570. 682: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(627)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31571. 683: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(628)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31572. 684: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(629)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31573. 685: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(630)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31574. 686: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(631)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31575. 687: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(632)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31576. 688: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(633)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31577. 689: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(634)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31578. 690: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(635)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31579. 691: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(636)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31580. 692: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(637)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31581. 693: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(638)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31582. 694: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(639)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31583. 695: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(640)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31584. 696: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(641)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(526)*libc.Uint64FromInt64(8)),
  31585. 697: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(642)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31586. 698: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(643)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31587. 699: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(644)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31588. 700: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(645)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31589. 701: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(646)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31590. 702: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(647)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31591. 703: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(648)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31592. 704: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(649)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31593. 705: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(650)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31594. 706: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(651)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31595. 707: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(652)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31596. 708: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(653)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31597. 709: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(654)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31598. 710: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(655)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31599. 711: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(656)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31600. 712: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(657)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31601. 713: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(658)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31602. 714: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(659)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31603. 715: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(660)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31604. 716: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(661)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31605. 717: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(662)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31606. 718: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(663)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31607. 719: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(664)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31608. 720: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(665)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31609. 721: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(666)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31610. 722: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(667)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31611. 723: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(668)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31612. 724: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(669)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31613. 725: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(670)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31614. 726: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(671)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31615. 727: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(672)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31616. 728: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(673)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31617. 729: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(674)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31618. 730: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(675)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31619. 731: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(676)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31620. 732: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(677)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31621. 733: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(678)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31622. 734: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(679)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31623. 735: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(680)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31624. 736: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(681)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31625. 737: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(682)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31626. 738: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(683)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31627. 739: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(684)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31628. 740: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(685)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31629. 741: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(686)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31630. 742: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(687)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31631. 743: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(688)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31632. 744: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(689)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31633. 745: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(690)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31634. 746: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(691)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31635. 747: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(692)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31636. 748: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(693)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31637. 749: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(694)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31638. 750: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(695)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31639. 751: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(696)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31640. 752: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31641. 753: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(698)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31642. 754: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(699)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31643. 755: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(700)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31644. 756: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(701)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31645. 757: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(702)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31646. 758: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(703)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31647. 759: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(704)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31648. 760: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(705)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31649. 761: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(706)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31650. 762: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(707)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31651. 763: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(708)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31652. 764: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(709)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31653. 765: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(710)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31654. 766: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(711)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31655. 767: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(712)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31656. 768: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(713)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31657. 769: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(714)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31658. 770: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(715)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31659. 771: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(716)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31660. 772: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(717)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31661. 773: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(718)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31662. 774: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(719)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31663. 775: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(720)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31664. 776: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(721)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31665. 777: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(722)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31666. 778: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(723)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31667. 779: libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(724)*libc.Uint64FromInt64(32) - (libc.Uint64FromInt32(246)*libc.Uint64FromInt64(40) + libc.Uint64FromInt32(725)*libc.Uint64FromInt64(32) + libc.Uint64FromInt32(697)*libc.Uint64FromInt64(8)),
  31668. },
  31669. Fnumbers: [780]TFcChar16{
  31670. 1: uint16(0x0004),
  31671. 3: uint16(0x0001),
  31672. 5: uint16(0x0001),
  31673. 6: uint16(0x0002),
  31674. 7: uint16(0x0003),
  31675. 8: uint16(0x001e),
  31676. 9: uint16(0x0012),
  31677. 10: uint16(0x0013),
  31678. 12: uint16(0x0006),
  31679. 13: uint16(0x0009),
  31680. 15: uint16(0x001e),
  31681. 16: uint16(0x0004),
  31682. 19: uint16(0x0001),
  31683. 20: uint16(0x0002),
  31684. 21: uint16(0x0006),
  31685. 22: uint16(0x0004),
  31686. 23: uint16(0x0004),
  31687. 25: uint16(0x0001),
  31688. 26: uint16(0x0002),
  31689. 27: uint16(0x001e),
  31690. 28: uint16(0x002d),
  31691. 29: uint16(0x0004),
  31692. 30: uint16(0x0009),
  31693. 33: uint16(0x0003),
  31694. 34: uint16(0x001e),
  31695. 36: uint16(0x0001),
  31696. 37: uint16(0x0002),
  31697. 38: uint16(0x0009),
  31698. 39: uint16(0x000f),
  31699. 41: uint16(0x0009),
  31700. 43: uint16(0x0001),
  31701. 44: uint16(0x0004),
  31702. 45: uint16(0x0012),
  31703. 46: uint16(0x0013),
  31704. 48: uint16(0x0001),
  31705. 50: uint16(0x0004),
  31706. 51: uint16(0x0013),
  31707. 53: uint16(0x0001),
  31708. 55: uint16(0x0001),
  31709. 57: uint16(0x0001),
  31710. 59: uint16(0x0001),
  31711. 60: uint16(0x0004),
  31712. 61: uint16(0x0001),
  31713. 62: uint16(0x0004),
  31714. 64: uint16(0x0001),
  31715. 65: uint16(0x001e),
  31716. 68: uint16(0x0009),
  31717. 69: uint16(0x0007),
  31718. 71: uint16(0x0001),
  31719. 72: uint16(0x0002),
  31720. 73: uint16(0x0003),
  31721. 74: uint16(0x0003),
  31722. 77: uint16(0x0001),
  31723. 79: uint16(0x0001),
  31724. 82: uint16(0x0001),
  31725. 83: uint16(0x0002),
  31726. 85: uint16(0x0001),
  31727. 92: uint16(0x0001),
  31728. 93: uint16(0x001e),
  31729. 95: uint16(0x0012),
  31730. 96: uint16(0x0013),
  31731. 98: uint16(0x0001),
  31732. 99: uint16(0x001e),
  31733. 100: uint16(0x000a),
  31734. 103: uint16(0x0001),
  31735. 104: uint16(0x0002),
  31736. 106: uint16(0x0001),
  31737. 107: uint16(0x0002),
  31738. 108: uint16(0x0005),
  31739. 110: uint16(0x0001),
  31740. 113: uint16(0x0001),
  31741. 114: uint16(0x0005),
  31742. 116: uint16(0x0003),
  31743. 117: uint16(0x001e),
  31744. 121: uint16(0x001e),
  31745. 122: uint16(0x00a0),
  31746. 123: uint16(0x00a1),
  31747. 124: uint16(0x00a2),
  31748. 125: uint16(0x00a3),
  31749. 126: uint16(0x00a4),
  31750. 127: uint16(0x0004),
  31751. 130: uint16(0x0014),
  31752. 131: uint16(0x0015),
  31753. 132: uint16(0x0016),
  31754. 133: uint16(0x0030),
  31755. 134: uint16(0x004e),
  31756. 135: uint16(0x004f),
  31757. 136: uint16(0x0050),
  31758. 137: uint16(0x0051),
  31759. 138: uint16(0x0052),
  31760. 139: uint16(0x0053),
  31761. 140: uint16(0x0054),
  31762. 141: uint16(0x0055),
  31763. 142: uint16(0x0056),
  31764. 143: uint16(0x0057),
  31765. 144: uint16(0x0058),
  31766. 145: uint16(0x0059),
  31767. 146: uint16(0x005a),
  31768. 147: uint16(0x005b),
  31769. 148: uint16(0x005c),
  31770. 149: uint16(0x005d),
  31771. 150: uint16(0x005e),
  31772. 151: uint16(0x005f),
  31773. 152: uint16(0x0060),
  31774. 153: uint16(0x0061),
  31775. 154: uint16(0x0062),
  31776. 155: uint16(0x0063),
  31777. 156: uint16(0x0064),
  31778. 157: uint16(0x0065),
  31779. 158: uint16(0x0066),
  31780. 159: uint16(0x0067),
  31781. 160: uint16(0x0068),
  31782. 161: uint16(0x0069),
  31783. 162: uint16(0x006a),
  31784. 163: uint16(0x006b),
  31785. 164: uint16(0x006c),
  31786. 165: uint16(0x006d),
  31787. 166: uint16(0x006e),
  31788. 167: uint16(0x006f),
  31789. 168: uint16(0x0070),
  31790. 169: uint16(0x0071),
  31791. 170: uint16(0x0072),
  31792. 171: uint16(0x0073),
  31793. 172: uint16(0x0074),
  31794. 173: uint16(0x0075),
  31795. 174: uint16(0x0076),
  31796. 175: uint16(0x0077),
  31797. 176: uint16(0x0078),
  31798. 177: uint16(0x0079),
  31799. 178: uint16(0x007a),
  31800. 179: uint16(0x007b),
  31801. 180: uint16(0x007c),
  31802. 181: uint16(0x007d),
  31803. 182: uint16(0x007e),
  31804. 183: uint16(0x007f),
  31805. 184: uint16(0x0080),
  31806. 185: uint16(0x0081),
  31807. 186: uint16(0x0082),
  31808. 187: uint16(0x0083),
  31809. 188: uint16(0x0084),
  31810. 189: uint16(0x0085),
  31811. 190: uint16(0x0086),
  31812. 191: uint16(0x0087),
  31813. 192: uint16(0x0088),
  31814. 193: uint16(0x0089),
  31815. 194: uint16(0x008a),
  31816. 195: uint16(0x008b),
  31817. 196: uint16(0x008c),
  31818. 197: uint16(0x008d),
  31819. 198: uint16(0x008e),
  31820. 199: uint16(0x008f),
  31821. 200: uint16(0x0090),
  31822. 201: uint16(0x0091),
  31823. 202: uint16(0x0092),
  31824. 203: uint16(0x0093),
  31825. 204: uint16(0x0094),
  31826. 205: uint16(0x0095),
  31827. 206: uint16(0x0096),
  31828. 207: uint16(0x0097),
  31829. 208: uint16(0x0098),
  31830. 209: uint16(0x0099),
  31831. 210: uint16(0x009a),
  31832. 211: uint16(0x009b),
  31833. 212: uint16(0x009c),
  31834. 213: uint16(0x009d),
  31835. 214: uint16(0x009e),
  31836. 215: uint16(0x009f),
  31837. 217: uint16(0x0010),
  31838. 218: uint16(0x0004),
  31839. 220: uint16(0x0001),
  31840. 221: uint16(0x0004),
  31841. 223: uint16(0x0001),
  31842. 224: uint16(0x0017),
  31843. 225: uint16(0x000c),
  31844. 226: uint16(0x0031),
  31845. 227: uint16(0x00ac),
  31846. 228: uint16(0x00ad),
  31847. 229: uint16(0x00ae),
  31848. 230: uint16(0x00af),
  31849. 231: uint16(0x00b0),
  31850. 232: uint16(0x00b1),
  31851. 233: uint16(0x00b2),
  31852. 234: uint16(0x00b3),
  31853. 235: uint16(0x00b4),
  31854. 236: uint16(0x00b5),
  31855. 237: uint16(0x00b6),
  31856. 238: uint16(0x00b7),
  31857. 239: uint16(0x00b8),
  31858. 240: uint16(0x00b9),
  31859. 241: uint16(0x00ba),
  31860. 242: uint16(0x00bb),
  31861. 243: uint16(0x00bc),
  31862. 244: uint16(0x00bd),
  31863. 245: uint16(0x00be),
  31864. 246: uint16(0x00bf),
  31865. 247: uint16(0x00c0),
  31866. 248: uint16(0x00c1),
  31867. 249: uint16(0x00c2),
  31868. 250: uint16(0x00c3),
  31869. 251: uint16(0x00c4),
  31870. 252: uint16(0x00c5),
  31871. 253: uint16(0x00c6),
  31872. 254: uint16(0x00c7),
  31873. 255: uint16(0x00c8),
  31874. 256: uint16(0x00c9),
  31875. 257: uint16(0x00ca),
  31876. 258: uint16(0x00cb),
  31877. 259: uint16(0x00cc),
  31878. 260: uint16(0x00cd),
  31879. 261: uint16(0x00ce),
  31880. 262: uint16(0x00cf),
  31881. 263: uint16(0x00d0),
  31882. 264: uint16(0x00d1),
  31883. 265: uint16(0x00d2),
  31884. 266: uint16(0x00d3),
  31885. 267: uint16(0x00d4),
  31886. 268: uint16(0x00d5),
  31887. 269: uint16(0x00d6),
  31888. 270: uint16(0x00d7),
  31889. 272: uint16(0x0001),
  31890. 273: uint16(0x0002),
  31891. 274: uint16(0x0006),
  31892. 275: uint16(0x0004),
  31893. 276: uint16(0x0005),
  31894. 277: uint16(0x0006),
  31895. 279: uint16(0x0001),
  31896. 280: uint16(0x0004),
  31897. 281: uint16(0x0004),
  31898. 283: uint16(0x0001),
  31899. 284: uint16(0x0002),
  31900. 285: uint16(0x0004),
  31901. 287: uint16(0x0001),
  31902. 288: uint16(0x0006),
  31903. 291: uint16(0x0001),
  31904. 294: uint16(0x0001),
  31905. 295: uint16(0x0002),
  31906. 296: uint16(0x0003),
  31907. 297: uint16(0x000e),
  31908. 299: uint16(0x0001),
  31909. 301: uint16(0x0001),
  31910. 304: uint16(0x0001),
  31911. 306: uint16(0x0001),
  31912. 307: uint16(0x001e),
  31913. 308: uint16(0x0004),
  31914. 309: uint16(0x000d),
  31915. 310: uint16(0x0018),
  31916. 311: uint16(0x0004),
  31917. 312: uint16(0x0009),
  31918. 314: uint16(0x0001),
  31919. 315: uint16(0x0002),
  31920. 316: uint16(0x0004),
  31921. 318: uint16(0x0001),
  31922. 319: uint16(0x0010),
  31923. 321: uint16(0x0001),
  31924. 323: uint16(0x0009),
  31925. 326: uint16(0x0007),
  31926. 328: uint16(0x0001),
  31927. 330: uint16(0x0001),
  31928. 331: uint16(0x0002),
  31929. 332: uint16(0x0003),
  31930. 334: uint16(0x0001),
  31931. 336: uint16(0x000b),
  31932. 337: uint16(0x0006),
  31933. 338: uint16(0x000a),
  31934. 342: uint16(0x0001),
  31935. 343: uint16(0x0006),
  31936. 344: uint16(0x0006),
  31937. 347: uint16(0x0002),
  31938. 350: uint16(0x0001),
  31939. 351: uint16(0x0002),
  31940. 352: uint16(0x0004),
  31941. 353: uint16(0x0009),
  31942. 356: uint16(0x0001),
  31943. 357: uint16(0x0002),
  31944. 358: uint16(0x0006),
  31945. 360: uint16(0x0001),
  31946. 363: uint16(0x0001),
  31947. 364: uint16(0x0004),
  31948. 366: uint16(0x0003),
  31949. 367: uint16(0x000d),
  31950. 368: uint16(0x0012),
  31951. 369: uint16(0x0013),
  31952. 371: uint16(0x0001),
  31953. 373: uint16(0x0002),
  31954. 377: uint16(0x0001),
  31955. 379: uint16(0x0001),
  31956. 380: uint16(0x0002),
  31957. 382: uint16(0x0004),
  31958. 384: uint16(0x0007),
  31959. 385: uint16(0x000b),
  31960. 386: uint16(0x000c),
  31961. 387: uint16(0x0004),
  31962. 388: uint16(0x000e),
  31963. 389: uint16(0x0012),
  31964. 390: uint16(0x0013),
  31965. 392: uint16(0x0001),
  31966. 394: uint16(0x0001),
  31967. 395: uint16(0x0004),
  31968. 397: uint16(0x0001),
  31969. 398: uint16(0x0002),
  31970. 399: uint16(0x0006),
  31971. 400: uint16(0x0004),
  31972. 402: uint16(0x0001),
  31973. 403: uint16(0x0003),
  31974. 404: uint16(0x0020),
  31975. 405: uint16(0x0021),
  31976. 406: uint16(0x0022),
  31977. 407: uint16(0x0023),
  31978. 408: uint16(0x0025),
  31979. 409: uint16(0x0027),
  31980. 410: uint16(0x01d4),
  31981. 411: uint16(0x01d5),
  31982. 412: uint16(0x01d6),
  31983. 413: uint16(0x0023),
  31984. 414: uint16(0x0025),
  31985. 415: uint16(0x0026),
  31986. 416: uint16(0x0027),
  31987. 417: uint16(0x002b),
  31988. 418: uint16(0x01f0),
  31989. 419: uint16(0x01f1),
  31990. 420: uint16(0x01f2),
  31991. 421: uint16(0x01f3),
  31992. 422: uint16(0x01f4),
  31993. 423: uint16(0x01f5),
  31994. 424: uint16(0x01f6),
  31995. 426: uint16(0x001e),
  31996. 428: uint16(0x0001),
  31997. 429: uint16(0x0003),
  31998. 430: uint16(0x001e),
  31999. 433: uint16(0x0001),
  32000. 436: uint16(0x0001),
  32001. 438: uint16(0x0001),
  32002. 441: uint16(0x0001),
  32003. 442: uint16(0x0003),
  32004. 443: uint16(0x001e),
  32005. 444: uint16(0x0002),
  32006. 445: uint16(0x004e),
  32007. 446: uint16(0x004f),
  32008. 447: uint16(0x0050),
  32009. 448: uint16(0x0051),
  32010. 449: uint16(0x0052),
  32011. 450: uint16(0x0053),
  32012. 451: uint16(0x0054),
  32013. 452: uint16(0x0055),
  32014. 453: uint16(0x0056),
  32015. 454: uint16(0x0057),
  32016. 455: uint16(0x0058),
  32017. 456: uint16(0x0059),
  32018. 457: uint16(0x005a),
  32019. 458: uint16(0x005b),
  32020. 459: uint16(0x005c),
  32021. 460: uint16(0x005d),
  32022. 461: uint16(0x005e),
  32023. 462: uint16(0x005f),
  32024. 463: uint16(0x0060),
  32025. 464: uint16(0x0061),
  32026. 465: uint16(0x0062),
  32027. 466: uint16(0x0063),
  32028. 467: uint16(0x0064),
  32029. 468: uint16(0x0065),
  32030. 469: uint16(0x0066),
  32031. 470: uint16(0x0067),
  32032. 471: uint16(0x0068),
  32033. 472: uint16(0x0069),
  32034. 473: uint16(0x006a),
  32035. 474: uint16(0x006b),
  32036. 475: uint16(0x006c),
  32037. 476: uint16(0x006d),
  32038. 477: uint16(0x006e),
  32039. 478: uint16(0x006f),
  32040. 479: uint16(0x0070),
  32041. 480: uint16(0x0071),
  32042. 481: uint16(0x0072),
  32043. 482: uint16(0x0073),
  32044. 483: uint16(0x0074),
  32045. 484: uint16(0x0075),
  32046. 485: uint16(0x0076),
  32047. 486: uint16(0x0077),
  32048. 487: uint16(0x0078),
  32049. 488: uint16(0x0079),
  32050. 489: uint16(0x007a),
  32051. 490: uint16(0x007b),
  32052. 491: uint16(0x007c),
  32053. 492: uint16(0x007d),
  32054. 493: uint16(0x007e),
  32055. 494: uint16(0x007f),
  32056. 495: uint16(0x0080),
  32057. 496: uint16(0x0081),
  32058. 497: uint16(0x0082),
  32059. 498: uint16(0x0083),
  32060. 499: uint16(0x0084),
  32061. 500: uint16(0x0085),
  32062. 501: uint16(0x0086),
  32063. 502: uint16(0x0087),
  32064. 503: uint16(0x0088),
  32065. 504: uint16(0x0089),
  32066. 505: uint16(0x008a),
  32067. 506: uint16(0x008b),
  32068. 507: uint16(0x008c),
  32069. 508: uint16(0x008d),
  32070. 509: uint16(0x008e),
  32071. 510: uint16(0x008f),
  32072. 511: uint16(0x0090),
  32073. 512: uint16(0x0091),
  32074. 513: uint16(0x0092),
  32075. 514: uint16(0x0093),
  32076. 515: uint16(0x0094),
  32077. 516: uint16(0x0095),
  32078. 517: uint16(0x0096),
  32079. 518: uint16(0x0097),
  32080. 519: uint16(0x0098),
  32081. 520: uint16(0x0099),
  32082. 521: uint16(0x009a),
  32083. 522: uint16(0x009b),
  32084. 523: uint16(0x009c),
  32085. 524: uint16(0x009e),
  32086. 525: uint16(0x009f),
  32087. 526: uint16(0x0030),
  32088. 527: uint16(0x0034),
  32089. 528: uint16(0x0035),
  32090. 529: uint16(0x0036),
  32091. 530: uint16(0x0037),
  32092. 531: uint16(0x0038),
  32093. 532: uint16(0x0039),
  32094. 533: uint16(0x003a),
  32095. 534: uint16(0x003b),
  32096. 535: uint16(0x003c),
  32097. 536: uint16(0x003d),
  32098. 537: uint16(0x003e),
  32099. 538: uint16(0x003f),
  32100. 539: uint16(0x0040),
  32101. 540: uint16(0x0041),
  32102. 541: uint16(0x0042),
  32103. 542: uint16(0x0043),
  32104. 543: uint16(0x0044),
  32105. 544: uint16(0x0045),
  32106. 545: uint16(0x0046),
  32107. 546: uint16(0x0047),
  32108. 547: uint16(0x0048),
  32109. 548: uint16(0x0049),
  32110. 549: uint16(0x004a),
  32111. 550: uint16(0x004b),
  32112. 551: uint16(0x004c),
  32113. 552: uint16(0x004d),
  32114. 553: uint16(0x004e),
  32115. 554: uint16(0x004f),
  32116. 555: uint16(0x0050),
  32117. 556: uint16(0x0051),
  32118. 557: uint16(0x0052),
  32119. 558: uint16(0x0053),
  32120. 559: uint16(0x0054),
  32121. 560: uint16(0x0055),
  32122. 561: uint16(0x0056),
  32123. 562: uint16(0x0057),
  32124. 563: uint16(0x0058),
  32125. 564: uint16(0x0059),
  32126. 565: uint16(0x005a),
  32127. 566: uint16(0x005b),
  32128. 567: uint16(0x005c),
  32129. 568: uint16(0x005d),
  32130. 569: uint16(0x005e),
  32131. 570: uint16(0x005f),
  32132. 571: uint16(0x0060),
  32133. 572: uint16(0x0061),
  32134. 573: uint16(0x0062),
  32135. 574: uint16(0x0063),
  32136. 575: uint16(0x0064),
  32137. 576: uint16(0x0065),
  32138. 577: uint16(0x0066),
  32139. 578: uint16(0x0067),
  32140. 579: uint16(0x0068),
  32141. 580: uint16(0x0069),
  32142. 581: uint16(0x006a),
  32143. 582: uint16(0x006b),
  32144. 583: uint16(0x006c),
  32145. 584: uint16(0x006d),
  32146. 585: uint16(0x006e),
  32147. 586: uint16(0x006f),
  32148. 587: uint16(0x0070),
  32149. 588: uint16(0x0071),
  32150. 589: uint16(0x0072),
  32151. 590: uint16(0x0073),
  32152. 591: uint16(0x0074),
  32153. 592: uint16(0x0075),
  32154. 593: uint16(0x0076),
  32155. 594: uint16(0x0077),
  32156. 595: uint16(0x0078),
  32157. 596: uint16(0x0079),
  32158. 597: uint16(0x007a),
  32159. 598: uint16(0x007b),
  32160. 599: uint16(0x007c),
  32161. 600: uint16(0x007d),
  32162. 601: uint16(0x007e),
  32163. 602: uint16(0x007f),
  32164. 603: uint16(0x0080),
  32165. 604: uint16(0x0081),
  32166. 605: uint16(0x0082),
  32167. 606: uint16(0x0083),
  32168. 607: uint16(0x0084),
  32169. 608: uint16(0x0085),
  32170. 609: uint16(0x0086),
  32171. 610: uint16(0x0087),
  32172. 611: uint16(0x0088),
  32173. 612: uint16(0x0089),
  32174. 613: uint16(0x008a),
  32175. 614: uint16(0x008b),
  32176. 615: uint16(0x008c),
  32177. 616: uint16(0x008d),
  32178. 617: uint16(0x008e),
  32179. 618: uint16(0x008f),
  32180. 619: uint16(0x0090),
  32181. 620: uint16(0x0091),
  32182. 621: uint16(0x0092),
  32183. 622: uint16(0x0093),
  32184. 623: uint16(0x0094),
  32185. 624: uint16(0x0095),
  32186. 625: uint16(0x0096),
  32187. 626: uint16(0x0097),
  32188. 627: uint16(0x0098),
  32189. 628: uint16(0x0099),
  32190. 629: uint16(0x009a),
  32191. 630: uint16(0x009b),
  32192. 631: uint16(0x009c),
  32193. 632: uint16(0x009d),
  32194. 633: uint16(0x009e),
  32195. 634: uint16(0x009f),
  32196. 635: uint16(0x0200),
  32197. 636: uint16(0x0201),
  32198. 637: uint16(0x0203),
  32199. 638: uint16(0x0207),
  32200. 639: uint16(0x020c),
  32201. 640: uint16(0x020d),
  32202. 641: uint16(0x020e),
  32203. 642: uint16(0x020f),
  32204. 643: uint16(0x0210),
  32205. 644: uint16(0x0211),
  32206. 645: uint16(0x0219),
  32207. 646: uint16(0x021a),
  32208. 647: uint16(0x021c),
  32209. 648: uint16(0x021d),
  32210. 649: uint16(0x0220),
  32211. 650: uint16(0x0221),
  32212. 651: uint16(0x022a),
  32213. 652: uint16(0x022b),
  32214. 653: uint16(0x022c),
  32215. 654: uint16(0x022d),
  32216. 655: uint16(0x022f),
  32217. 656: uint16(0x0232),
  32218. 657: uint16(0x0235),
  32219. 658: uint16(0x0236),
  32220. 659: uint16(0x023c),
  32221. 660: uint16(0x023e),
  32222. 661: uint16(0x023f),
  32223. 662: uint16(0x0244),
  32224. 663: uint16(0x024d),
  32225. 664: uint16(0x024e),
  32226. 665: uint16(0x0251),
  32227. 666: uint16(0x0255),
  32228. 667: uint16(0x025e),
  32229. 668: uint16(0x0262),
  32230. 669: uint16(0x0266),
  32231. 670: uint16(0x0267),
  32232. 671: uint16(0x0268),
  32233. 672: uint16(0x0269),
  32234. 673: uint16(0x0272),
  32235. 674: uint16(0x0275),
  32236. 675: uint16(0x0276),
  32237. 676: uint16(0x0277),
  32238. 677: uint16(0x0278),
  32239. 678: uint16(0x0279),
  32240. 679: uint16(0x027a),
  32241. 680: uint16(0x027d),
  32242. 681: uint16(0x0280),
  32243. 682: uint16(0x0281),
  32244. 683: uint16(0x0282),
  32245. 684: uint16(0x0283),
  32246. 685: uint16(0x0289),
  32247. 686: uint16(0x028a),
  32248. 687: uint16(0x028b),
  32249. 688: uint16(0x028c),
  32250. 689: uint16(0x028d),
  32251. 690: uint16(0x028e),
  32252. 691: uint16(0x0294),
  32253. 692: uint16(0x0297),
  32254. 693: uint16(0x0298),
  32255. 694: uint16(0x029a),
  32256. 695: uint16(0x029d),
  32257. 696: uint16(0x02a6),
  32258. 697: uint16(0x004e),
  32259. 698: uint16(0x004f),
  32260. 699: uint16(0x0050),
  32261. 700: uint16(0x0051),
  32262. 701: uint16(0x0052),
  32263. 702: uint16(0x0053),
  32264. 703: uint16(0x0054),
  32265. 704: uint16(0x0055),
  32266. 705: uint16(0x0056),
  32267. 706: uint16(0x0057),
  32268. 707: uint16(0x0058),
  32269. 708: uint16(0x0059),
  32270. 709: uint16(0x005a),
  32271. 710: uint16(0x005b),
  32272. 711: uint16(0x005c),
  32273. 712: uint16(0x005d),
  32274. 713: uint16(0x005e),
  32275. 714: uint16(0x005f),
  32276. 715: uint16(0x0060),
  32277. 716: uint16(0x0061),
  32278. 717: uint16(0x0062),
  32279. 718: uint16(0x0063),
  32280. 719: uint16(0x0064),
  32281. 720: uint16(0x0065),
  32282. 721: uint16(0x0066),
  32283. 722: uint16(0x0067),
  32284. 723: uint16(0x0068),
  32285. 724: uint16(0x0069),
  32286. 725: uint16(0x006a),
  32287. 726: uint16(0x006b),
  32288. 727: uint16(0x006c),
  32289. 728: uint16(0x006d),
  32290. 729: uint16(0x006e),
  32291. 730: uint16(0x006f),
  32292. 731: uint16(0x0070),
  32293. 732: uint16(0x0071),
  32294. 733: uint16(0x0072),
  32295. 734: uint16(0x0073),
  32296. 735: uint16(0x0074),
  32297. 736: uint16(0x0075),
  32298. 737: uint16(0x0076),
  32299. 738: uint16(0x0077),
  32300. 739: uint16(0x0078),
  32301. 740: uint16(0x0079),
  32302. 741: uint16(0x007a),
  32303. 742: uint16(0x007b),
  32304. 743: uint16(0x007c),
  32305. 744: uint16(0x007d),
  32306. 745: uint16(0x007e),
  32307. 746: uint16(0x007f),
  32308. 747: uint16(0x0080),
  32309. 748: uint16(0x0081),
  32310. 749: uint16(0x0082),
  32311. 750: uint16(0x0083),
  32312. 751: uint16(0x0084),
  32313. 752: uint16(0x0085),
  32314. 753: uint16(0x0086),
  32315. 754: uint16(0x0087),
  32316. 755: uint16(0x0088),
  32317. 756: uint16(0x0089),
  32318. 757: uint16(0x008a),
  32319. 758: uint16(0x008b),
  32320. 759: uint16(0x008c),
  32321. 760: uint16(0x008d),
  32322. 761: uint16(0x008e),
  32323. 762: uint16(0x008f),
  32324. 763: uint16(0x0090),
  32325. 764: uint16(0x0091),
  32326. 765: uint16(0x0092),
  32327. 766: uint16(0x0093),
  32328. 767: uint16(0x0094),
  32329. 768: uint16(0x0095),
  32330. 769: uint16(0x0096),
  32331. 770: uint16(0x0097),
  32332. 771: uint16(0x0098),
  32333. 772: uint16(0x0099),
  32334. 773: uint16(0x009a),
  32335. 774: uint16(0x009b),
  32336. 775: uint16(0x009c),
  32337. 776: uint16(0x009d),
  32338. 777: uint16(0x009e),
  32339. 778: uint16(0x009f),
  32340. 779: uint16(0x00fa),
  32341. },
  32342. FlangIndices: [246]TFcChar8{
  32343. 1: uint8(1),
  32344. 2: uint8(2),
  32345. 3: uint8(190),
  32346. 4: uint8(3),
  32347. 5: uint8(191),
  32348. 6: uint8(4),
  32349. 7: uint8(5),
  32350. 8: uint8(6),
  32351. 9: uint8(7),
  32352. 10: uint8(8),
  32353. 11: uint8(9),
  32354. 12: uint8(10),
  32355. 13: uint8(11),
  32356. 14: uint8(13),
  32357. 15: uint8(192),
  32358. 16: uint8(193),
  32359. 17: uint8(14),
  32360. 18: uint8(15),
  32361. 19: uint8(16),
  32362. 20: uint8(17),
  32363. 21: uint8(18),
  32364. 22: uint8(12),
  32365. 23: uint8(19),
  32366. 24: uint8(20),
  32367. 25: uint8(21),
  32368. 26: uint8(240),
  32369. 27: uint8(22),
  32370. 28: uint8(23),
  32371. 29: uint8(194),
  32372. 30: uint8(24),
  32373. 31: uint8(25),
  32374. 32: uint8(26),
  32375. 33: uint8(27),
  32376. 34: uint8(28),
  32377. 35: uint8(29),
  32378. 36: uint8(195),
  32379. 37: uint8(30),
  32380. 38: uint8(196),
  32381. 39: uint8(31),
  32382. 40: uint8(32),
  32383. 41: uint8(33),
  32384. 42: uint8(34),
  32385. 43: uint8(35),
  32386. 44: uint8(242),
  32387. 45: uint8(197),
  32388. 46: uint8(36),
  32389. 47: uint8(198),
  32390. 48: uint8(37),
  32391. 49: uint8(38),
  32392. 50: uint8(39),
  32393. 51: uint8(40),
  32394. 52: uint8(41),
  32395. 53: uint8(42),
  32396. 54: uint8(43),
  32397. 55: uint8(199),
  32398. 56: uint8(48),
  32399. 57: uint8(44),
  32400. 58: uint8(200),
  32401. 59: uint8(45),
  32402. 60: uint8(46),
  32403. 61: uint8(47),
  32404. 62: uint8(49),
  32405. 63: uint8(50),
  32406. 64: uint8(51),
  32407. 65: uint8(52),
  32408. 66: uint8(53),
  32409. 67: uint8(54),
  32410. 68: uint8(55),
  32411. 69: uint8(56),
  32412. 70: uint8(57),
  32413. 71: uint8(58),
  32414. 72: uint8(59),
  32415. 73: uint8(60),
  32416. 74: uint8(61),
  32417. 75: uint8(201),
  32418. 76: uint8(62),
  32419. 77: uint8(63),
  32420. 78: uint8(202),
  32421. 79: uint8(203),
  32422. 80: uint8(64),
  32423. 81: uint8(65),
  32424. 82: uint8(204),
  32425. 83: uint8(66),
  32426. 84: uint8(68),
  32427. 85: uint8(69),
  32428. 86: uint8(67),
  32429. 87: uint8(205),
  32430. 88: uint8(70),
  32431. 89: uint8(71),
  32432. 90: uint8(72),
  32433. 91: uint8(73),
  32434. 92: uint8(74),
  32435. 93: uint8(75),
  32436. 94: uint8(206),
  32437. 95: uint8(76),
  32438. 96: uint8(77),
  32439. 97: uint8(207),
  32440. 98: uint8(78),
  32441. 99: uint8(208),
  32442. 100: uint8(79),
  32443. 101: uint8(80),
  32444. 102: uint8(81),
  32445. 103: uint8(82),
  32446. 104: uint8(83),
  32447. 105: uint8(84),
  32448. 106: uint8(209),
  32449. 107: uint8(85),
  32450. 108: uint8(86),
  32451. 109: uint8(210),
  32452. 110: uint8(87),
  32453. 111: uint8(211),
  32454. 112: uint8(88),
  32455. 113: uint8(89),
  32456. 114: uint8(90),
  32457. 115: uint8(212),
  32458. 116: uint8(91),
  32459. 117: uint8(92),
  32460. 118: uint8(238),
  32461. 119: uint8(93),
  32462. 120: uint8(94),
  32463. 121: uint8(213),
  32464. 122: uint8(214),
  32465. 123: uint8(95),
  32466. 124: uint8(96),
  32467. 125: uint8(97),
  32468. 126: uint8(98),
  32469. 127: uint8(215),
  32470. 128: uint8(99),
  32471. 129: uint8(100),
  32472. 130: uint8(101),
  32473. 131: uint8(102),
  32474. 132: uint8(103),
  32475. 133: uint8(104),
  32476. 134: uint8(216),
  32477. 135: uint8(243),
  32478. 136: uint8(105),
  32479. 137: uint8(106),
  32480. 138: uint8(217),
  32481. 139: uint8(107),
  32482. 140: uint8(108),
  32483. 141: uint8(218),
  32484. 142: uint8(109),
  32485. 143: uint8(110),
  32486. 144: uint8(111),
  32487. 145: uint8(219),
  32488. 146: uint8(112),
  32489. 147: uint8(113),
  32490. 148: uint8(114),
  32491. 149: uint8(239),
  32492. 150: uint8(115),
  32493. 151: uint8(116),
  32494. 152: uint8(220),
  32495. 153: uint8(117),
  32496. 154: uint8(118),
  32497. 155: uint8(119),
  32498. 156: uint8(120),
  32499. 157: uint8(121),
  32500. 158: uint8(221),
  32501. 159: uint8(122),
  32502. 160: uint8(222),
  32503. 161: uint8(223),
  32504. 162: uint8(224),
  32505. 163: uint8(123),
  32506. 164: uint8(124),
  32507. 165: uint8(125),
  32508. 166: uint8(126),
  32509. 167: uint8(225),
  32510. 168: uint8(226),
  32511. 169: uint8(127),
  32512. 170: uint8(227),
  32513. 171: uint8(128),
  32514. 172: uint8(129),
  32515. 173: uint8(228),
  32516. 174: uint8(130),
  32517. 175: uint8(131),
  32518. 176: uint8(241),
  32519. 177: uint8(229),
  32520. 178: uint8(132),
  32521. 179: uint8(230),
  32522. 180: uint8(133),
  32523. 181: uint8(134),
  32524. 182: uint8(231),
  32525. 183: uint8(135),
  32526. 184: uint8(136),
  32527. 185: uint8(137),
  32528. 186: uint8(232),
  32529. 187: uint8(138),
  32530. 188: uint8(139),
  32531. 189: uint8(140),
  32532. 190: uint8(141),
  32533. 191: uint8(142),
  32534. 192: uint8(143),
  32535. 193: uint8(144),
  32536. 194: uint8(233),
  32537. 195: uint8(145),
  32538. 196: uint8(146),
  32539. 197: uint8(147),
  32540. 198: uint8(148),
  32541. 199: uint8(149),
  32542. 200: uint8(234),
  32543. 201: uint8(150),
  32544. 202: uint8(151),
  32545. 203: uint8(152),
  32546. 204: uint8(153),
  32547. 205: uint8(154),
  32548. 206: uint8(155),
  32549. 207: uint8(156),
  32550. 208: uint8(157),
  32551. 209: uint8(158),
  32552. 210: uint8(159),
  32553. 211: uint8(160),
  32554. 212: uint8(161),
  32555. 213: uint8(162),
  32556. 214: uint8(163),
  32557. 215: uint8(164),
  32558. 216: uint8(165),
  32559. 217: uint8(166),
  32560. 218: uint8(167),
  32561. 219: uint8(235),
  32562. 220: uint8(168),
  32563. 221: uint8(169),
  32564. 222: uint8(170),
  32565. 223: uint8(245),
  32566. 224: uint8(244),
  32567. 225: uint8(171),
  32568. 226: uint8(172),
  32569. 227: uint8(173),
  32570. 228: uint8(174),
  32571. 229: uint8(175),
  32572. 230: uint8(176),
  32573. 231: uint8(177),
  32574. 232: uint8(236),
  32575. 233: uint8(178),
  32576. 234: uint8(179),
  32577. 235: uint8(180),
  32578. 236: uint8(181),
  32579. 237: uint8(182),
  32580. 238: uint8(183),
  32581. 239: uint8(237),
  32582. 240: uint8(184),
  32583. 241: uint8(185),
  32584. 242: uint8(186),
  32585. 243: uint8(187),
  32586. 244: uint8(188),
  32587. 245: uint8(189),
  32588. },
  32589. FlangIndicesInv: [246]TFcChar8{
  32590. 1: uint8(1),
  32591. 2: uint8(2),
  32592. 3: uint8(4),
  32593. 4: uint8(6),
  32594. 5: uint8(7),
  32595. 6: uint8(8),
  32596. 7: uint8(9),
  32597. 8: uint8(10),
  32598. 9: uint8(11),
  32599. 10: uint8(12),
  32600. 11: uint8(13),
  32601. 12: uint8(22),
  32602. 13: uint8(14),
  32603. 14: uint8(17),
  32604. 15: uint8(18),
  32605. 16: uint8(19),
  32606. 17: uint8(20),
  32607. 18: uint8(21),
  32608. 19: uint8(23),
  32609. 20: uint8(24),
  32610. 21: uint8(25),
  32611. 22: uint8(27),
  32612. 23: uint8(28),
  32613. 24: uint8(30),
  32614. 25: uint8(31),
  32615. 26: uint8(32),
  32616. 27: uint8(33),
  32617. 28: uint8(34),
  32618. 29: uint8(35),
  32619. 30: uint8(37),
  32620. 31: uint8(39),
  32621. 32: uint8(40),
  32622. 33: uint8(41),
  32623. 34: uint8(42),
  32624. 35: uint8(43),
  32625. 36: uint8(46),
  32626. 37: uint8(48),
  32627. 38: uint8(49),
  32628. 39: uint8(50),
  32629. 40: uint8(51),
  32630. 41: uint8(52),
  32631. 42: uint8(53),
  32632. 43: uint8(54),
  32633. 44: uint8(57),
  32634. 45: uint8(59),
  32635. 46: uint8(60),
  32636. 47: uint8(61),
  32637. 48: uint8(56),
  32638. 49: uint8(62),
  32639. 50: uint8(63),
  32640. 51: uint8(64),
  32641. 52: uint8(65),
  32642. 53: uint8(66),
  32643. 54: uint8(67),
  32644. 55: uint8(68),
  32645. 56: uint8(69),
  32646. 57: uint8(70),
  32647. 58: uint8(71),
  32648. 59: uint8(72),
  32649. 60: uint8(73),
  32650. 61: uint8(74),
  32651. 62: uint8(76),
  32652. 63: uint8(77),
  32653. 64: uint8(80),
  32654. 65: uint8(81),
  32655. 66: uint8(83),
  32656. 67: uint8(86),
  32657. 68: uint8(84),
  32658. 69: uint8(85),
  32659. 70: uint8(88),
  32660. 71: uint8(89),
  32661. 72: uint8(90),
  32662. 73: uint8(91),
  32663. 74: uint8(92),
  32664. 75: uint8(93),
  32665. 76: uint8(95),
  32666. 77: uint8(96),
  32667. 78: uint8(98),
  32668. 79: uint8(100),
  32669. 80: uint8(101),
  32670. 81: uint8(102),
  32671. 82: uint8(103),
  32672. 83: uint8(104),
  32673. 84: uint8(105),
  32674. 85: uint8(107),
  32675. 86: uint8(108),
  32676. 87: uint8(110),
  32677. 88: uint8(112),
  32678. 89: uint8(113),
  32679. 90: uint8(114),
  32680. 91: uint8(116),
  32681. 92: uint8(117),
  32682. 93: uint8(119),
  32683. 94: uint8(120),
  32684. 95: uint8(123),
  32685. 96: uint8(124),
  32686. 97: uint8(125),
  32687. 98: uint8(126),
  32688. 99: uint8(128),
  32689. 100: uint8(129),
  32690. 101: uint8(130),
  32691. 102: uint8(131),
  32692. 103: uint8(132),
  32693. 104: uint8(133),
  32694. 105: uint8(136),
  32695. 106: uint8(137),
  32696. 107: uint8(139),
  32697. 108: uint8(140),
  32698. 109: uint8(142),
  32699. 110: uint8(143),
  32700. 111: uint8(144),
  32701. 112: uint8(146),
  32702. 113: uint8(147),
  32703. 114: uint8(148),
  32704. 115: uint8(150),
  32705. 116: uint8(151),
  32706. 117: uint8(153),
  32707. 118: uint8(154),
  32708. 119: uint8(155),
  32709. 120: uint8(156),
  32710. 121: uint8(157),
  32711. 122: uint8(159),
  32712. 123: uint8(163),
  32713. 124: uint8(164),
  32714. 125: uint8(165),
  32715. 126: uint8(166),
  32716. 127: uint8(169),
  32717. 128: uint8(171),
  32718. 129: uint8(172),
  32719. 130: uint8(174),
  32720. 131: uint8(175),
  32721. 132: uint8(178),
  32722. 133: uint8(180),
  32723. 134: uint8(181),
  32724. 135: uint8(183),
  32725. 136: uint8(184),
  32726. 137: uint8(185),
  32727. 138: uint8(187),
  32728. 139: uint8(188),
  32729. 140: uint8(189),
  32730. 141: uint8(190),
  32731. 142: uint8(191),
  32732. 143: uint8(192),
  32733. 144: uint8(193),
  32734. 145: uint8(195),
  32735. 146: uint8(196),
  32736. 147: uint8(197),
  32737. 148: uint8(198),
  32738. 149: uint8(199),
  32739. 150: uint8(201),
  32740. 151: uint8(202),
  32741. 152: uint8(203),
  32742. 153: uint8(204),
  32743. 154: uint8(205),
  32744. 155: uint8(206),
  32745. 156: uint8(207),
  32746. 157: uint8(208),
  32747. 158: uint8(209),
  32748. 159: uint8(210),
  32749. 160: uint8(211),
  32750. 161: uint8(212),
  32751. 162: uint8(213),
  32752. 163: uint8(214),
  32753. 164: uint8(215),
  32754. 165: uint8(216),
  32755. 166: uint8(217),
  32756. 167: uint8(218),
  32757. 168: uint8(220),
  32758. 169: uint8(221),
  32759. 170: uint8(222),
  32760. 171: uint8(225),
  32761. 172: uint8(226),
  32762. 173: uint8(227),
  32763. 174: uint8(228),
  32764. 175: uint8(229),
  32765. 176: uint8(230),
  32766. 177: uint8(231),
  32767. 178: uint8(233),
  32768. 179: uint8(234),
  32769. 180: uint8(235),
  32770. 181: uint8(236),
  32771. 182: uint8(237),
  32772. 183: uint8(238),
  32773. 184: uint8(240),
  32774. 185: uint8(241),
  32775. 186: uint8(242),
  32776. 187: uint8(243),
  32777. 188: uint8(244),
  32778. 189: uint8(245),
  32779. 190: uint8(3),
  32780. 191: uint8(5),
  32781. 192: uint8(15),
  32782. 193: uint8(16),
  32783. 194: uint8(29),
  32784. 195: uint8(36),
  32785. 196: uint8(38),
  32786. 197: uint8(45),
  32787. 198: uint8(47),
  32788. 199: uint8(55),
  32789. 200: uint8(58),
  32790. 201: uint8(75),
  32791. 202: uint8(78),
  32792. 203: uint8(79),
  32793. 204: uint8(82),
  32794. 205: uint8(87),
  32795. 206: uint8(94),
  32796. 207: uint8(97),
  32797. 208: uint8(99),
  32798. 209: uint8(106),
  32799. 210: uint8(109),
  32800. 211: uint8(111),
  32801. 212: uint8(115),
  32802. 213: uint8(121),
  32803. 214: uint8(122),
  32804. 215: uint8(127),
  32805. 216: uint8(134),
  32806. 217: uint8(138),
  32807. 218: uint8(141),
  32808. 219: uint8(145),
  32809. 220: uint8(152),
  32810. 221: uint8(158),
  32811. 222: uint8(160),
  32812. 223: uint8(161),
  32813. 224: uint8(162),
  32814. 225: uint8(167),
  32815. 226: uint8(168),
  32816. 227: uint8(170),
  32817. 228: uint8(173),
  32818. 229: uint8(177),
  32819. 230: uint8(179),
  32820. 231: uint8(182),
  32821. 232: uint8(186),
  32822. 233: uint8(194),
  32823. 234: uint8(200),
  32824. 235: uint8(219),
  32825. 236: uint8(232),
  32826. 237: uint8(239),
  32827. 238: uint8(118),
  32828. 239: uint8(149),
  32829. 240: uint8(26),
  32830. 241: uint8(176),
  32831. 242: uint8(44),
  32832. 243: uint8(135),
  32833. 244: uint8(224),
  32834. 245: uint8(223),
  32835. },
  32836. }
  32837. var _fcLangCountrySets = [10][8]TFcChar32{
  32838. 0: {
  32839. 0: uint32(0x00000600),
  32840. },
  32841. 1: {
  32842. 6: uint32(0x00000003),
  32843. },
  32844. 2: {
  32845. 2: uint32(0x00c00000),
  32846. 6: uint32(0x000c0000),
  32847. },
  32848. 3: {
  32849. 3: uint32(0x00000100),
  32850. 6: uint32(0x01000000),
  32851. },
  32852. 4: {
  32853. 6: uint32(0x40000000),
  32854. },
  32855. 5: {
  32856. 6: uint32(0x80000000),
  32857. 7: uint32(0x00000001),
  32858. },
  32859. 6: {
  32860. 3: uint32(0x30000000),
  32861. },
  32862. 7: {
  32863. 4: uint32(0x60000000),
  32864. },
  32865. 8: {
  32866. 7: uint32(0x00300000),
  32867. },
  32868. 9: {
  32869. 5: uint32(0x1f000000),
  32870. },
  32871. }
  32872. var _fcLangCharSetRanges = [26]TFcLangCharSetRange{
  32873. 0: {
  32874. Fend: int32(12),
  32875. },
  32876. 1: {
  32877. Fbegin: int32(13),
  32878. Fend: int32(29),
  32879. },
  32880. 2: {
  32881. Fbegin: int32(30),
  32882. Fend: int32(41),
  32883. },
  32884. 3: {
  32885. Fbegin: int32(42),
  32886. Fend: int32(46),
  32887. },
  32888. 4: {
  32889. Fbegin: int32(47),
  32890. Fend: int32(53),
  32891. },
  32892. 5: {
  32893. Fbegin: int32(54),
  32894. Fend: int32(63),
  32895. },
  32896. 6: {
  32897. Fbegin: int32(64),
  32898. Fend: int32(70),
  32899. },
  32900. 7: {
  32901. Fbegin: int32(71),
  32902. Fend: int32(82),
  32903. },
  32904. 8: {
  32905. Fbegin: int32(83),
  32906. Fend: int32(92),
  32907. },
  32908. 9: {
  32909. Fbegin: int32(93),
  32910. Fend: int32(94),
  32911. },
  32912. 10: {
  32913. Fbegin: int32(95),
  32914. Fend: int32(116),
  32915. },
  32916. 11: {
  32917. Fbegin: int32(117),
  32918. Fend: int32(126),
  32919. },
  32920. 12: {
  32921. Fbegin: int32(127),
  32922. Fend: int32(140),
  32923. },
  32924. 13: {
  32925. Fbegin: int32(141),
  32926. Fend: int32(153),
  32927. },
  32928. 14: {
  32929. Fbegin: int32(154),
  32930. Fend: int32(158),
  32931. },
  32932. 15: {
  32933. Fbegin: int32(159),
  32934. Fend: int32(166),
  32935. },
  32936. 16: {
  32937. Fbegin: int32(167),
  32938. Fend: int32(168),
  32939. },
  32940. 17: {
  32941. Fbegin: int32(169),
  32942. Fend: int32(173),
  32943. },
  32944. 18: {
  32945. Fbegin: int32(174),
  32946. Fend: int32(203),
  32947. },
  32948. 19: {
  32949. Fbegin: int32(204),
  32950. Fend: int32(220),
  32951. },
  32952. 20: {
  32953. Fbegin: int32(221),
  32954. Fend: int32(226),
  32955. },
  32956. 21: {
  32957. Fbegin: int32(227),
  32958. Fend: int32(230),
  32959. },
  32960. 22: {
  32961. Fbegin: int32(231),
  32962. Fend: int32(234),
  32963. },
  32964. 23: {
  32965. Fbegin: int32(235),
  32966. Fend: int32(235),
  32967. },
  32968. 24: {
  32969. Fbegin: int32(236),
  32970. Fend: int32(238),
  32971. },
  32972. 25: {
  32973. Fbegin: int32(239),
  32974. Fend: int32(245),
  32975. },
  32976. }
  32977. func _FcLangSetBitSet(tls *libc.TLS, ls uintptr, id uint32) {
  32978. var bucket uint32
  32979. _ = bucket
  32980. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  32981. bucket = id >> int32(5)
  32982. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  32983. return
  32984. } /* shouldn't happen really */
  32985. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) |= libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f))
  32986. }
  32987. func _FcLangSetBitGet(tls *libc.TLS, ls uintptr, id uint32) (r TFcBool) {
  32988. var bucket uint32
  32989. var v1 int32
  32990. _, _ = bucket, v1
  32991. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  32992. bucket = id >> int32(5)
  32993. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  32994. return m_FcFalse
  32995. }
  32996. if *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4))>>(id&libc.Uint32FromInt32(0x1f))&uint32(1) != 0 {
  32997. v1 = int32(m_FcTrue)
  32998. } else {
  32999. v1 = m_FcFalse
  33000. }
  33001. return v1
  33002. }
  33003. func _FcLangSetBitReset(tls *libc.TLS, ls uintptr, id uint32) {
  33004. var bucket uint32
  33005. _ = bucket
  33006. id = uint32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 40840 + uintptr(id))))
  33007. bucket = id >> int32(5)
  33008. if bucket >= (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size {
  33009. return
  33010. } /* shouldn't happen really */
  33011. *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(bucket)*4)) &= ^(libc.Uint32FromUint32(1) << (id & libc.Uint32FromInt32(0x1f)))
  33012. }
  33013. func XFcFreeTypeLangSet(tls *libc.TLS, charset uintptr, exclusiveLang uintptr) (r uintptr) {
  33014. bp := tls.Alloc(64)
  33015. defer tls.Free(64)
  33016. var exclusiveCharset, ls, missed uintptr
  33017. var i, i1, j, j1 int32
  33018. var missing, ucs4 TFcChar32
  33019. var _ /* map at bp+0 */ [8]TFcChar32
  33020. var _ /* next at bp+32 */ TFcChar32
  33021. _, _, _, _, _, _, _, _, _ = exclusiveCharset, i, i1, j, j1, ls, missed, missing, ucs4
  33022. exclusiveCharset = uintptr(0)
  33023. if exclusiveLang != 0 {
  33024. exclusiveCharset = XFcLangGetCharSet(tls, exclusiveLang)
  33025. }
  33026. ls = XFcLangSetCreate(tls)
  33027. if !(ls != 0) {
  33028. return uintptr(0)
  33029. }
  33030. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33031. libc.Xprintf(tls, __ccgo_ts+5641, 0)
  33032. XFcCharSetPrint(tls, charset)
  33033. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33034. }
  33035. i = 0
  33036. for {
  33037. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33038. break
  33039. }
  33040. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33041. libc.Xprintf(tls, __ccgo_ts+5654, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40))
  33042. XFcCharSetPrint(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16)
  33043. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33044. }
  33045. /*
  33046. * Check for Han charsets to make fonts
  33047. * which advertise support for a single language
  33048. * not support other Han languages
  33049. */
  33050. if exclusiveCharset != 0 && XFcFreeTypeIsExclusiveLang(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) != 0 {
  33051. if (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum != (*TFcCharSet)(unsafe.Pointer(exclusiveCharset)).Fnum {
  33052. goto _1
  33053. }
  33054. j = 0
  33055. for {
  33056. if !(j < (*(*TFcLangCharSet)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40))).Fcharset.Fnum) {
  33057. break
  33058. }
  33059. 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))) {
  33060. goto _2
  33061. }
  33062. goto _2
  33063. _2:
  33064. ;
  33065. j++
  33066. }
  33067. }
  33068. missing = XFcCharSetSubtractCount(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  33069. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  33070. if missing != 0 && missing < uint32(10) {
  33071. missed = XFcCharSetSubtract(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40+16, charset)
  33072. libc.Xprintf(tls, __ccgo_ts+5665, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  33073. libc.Xprintf(tls, __ccgo_ts+5674, 0)
  33074. ucs4 = XFcCharSetFirstPage(tls, missed, bp, bp+32)
  33075. for {
  33076. if !(ucs4 != uint32(-libc.Int32FromInt32(1))) {
  33077. break
  33078. }
  33079. i1 = 0
  33080. for {
  33081. if !(i1 < libc.Int32FromInt32(256)/libc.Int32FromInt32(32)) {
  33082. break
  33083. }
  33084. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1] != 0 {
  33085. j1 = 0
  33086. for {
  33087. if !(j1 < int32(32)) {
  33088. break
  33089. }
  33090. if (*(*[8]TFcChar32)(unsafe.Pointer(bp)))[i1]&(uint32(1)<<j1) != 0 {
  33091. libc.Xprintf(tls, __ccgo_ts+5676, libc.VaList(bp+48, ucs4+uint32(i1*int32(32))+uint32(j1)))
  33092. }
  33093. goto _5
  33094. _5:
  33095. ;
  33096. j1++
  33097. }
  33098. }
  33099. goto _4
  33100. _4:
  33101. ;
  33102. i1++
  33103. }
  33104. goto _3
  33105. _3:
  33106. ;
  33107. ucs4 = XFcCharSetNextPage(tls, missed, bp, bp+32)
  33108. }
  33109. libc.Xprintf(tls, __ccgo_ts+5682, 0)
  33110. XFcCharSetDestroy(tls, missed)
  33111. } else {
  33112. libc.Xprintf(tls, __ccgo_ts+5687, libc.VaList(bp+48, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, missing))
  33113. }
  33114. }
  33115. if !(missing != 0) {
  33116. _FcLangSetBitSet(tls, ls, uint32(i))
  33117. }
  33118. goto _1
  33119. _1:
  33120. ;
  33121. i++
  33122. }
  33123. if XFcDebugVal&int32(m_FC_DBG_SCANV) != 0 {
  33124. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  33125. }
  33126. return ls
  33127. }
  33128. func XFcLangNormalize(tls *libc.TLS, lang uintptr) (r uintptr) {
  33129. bp := tls.Alloc(32)
  33130. defer tls.Free(32)
  33131. var encoding, modifier, orig, result, s, territory uintptr
  33132. var llen, mlen, tlen Tsize_t
  33133. var v1 uint64
  33134. _, _, _, _, _, _, _, _, _, _ = encoding, llen, mlen, modifier, orig, result, s, territory, tlen, v1
  33135. result = libc.UintptrFromInt32(0)
  33136. tlen = uint64(0)
  33137. mlen = uint64(0)
  33138. if !(lang != 0) || !(*(*TFcChar8)(unsafe.Pointer(lang)) != 0) {
  33139. return libc.UintptrFromInt32(0)
  33140. }
  33141. /* might be called without initialization */
  33142. XFcInitDebug(tls)
  33143. if XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5695) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5697) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5705) == 0 || XFcStrCmpIgnoreCase(tls, lang, __ccgo_ts+5712) == 0 {
  33144. result = XFcStrCopy(tls, __ccgo_ts+2752)
  33145. goto bail
  33146. }
  33147. s = XFcStrCopy(tls, lang)
  33148. if !(s != 0) {
  33149. goto bail
  33150. }
  33151. /* from the comments in glibc:
  33152. *
  33153. * LOCALE can consist of up to four recognized parts for the XPG syntax:
  33154. *
  33155. * language[_territory[.codeset]][@modifier]
  33156. *
  33157. * Beside the first all of them are allowed to be missing. If the
  33158. * full specified locale is not found, the less specific one are
  33159. * looked for. The various part will be stripped off according to
  33160. * the following order:
  33161. * (1) codeset
  33162. * (2) normalized codeset
  33163. * (3) territory
  33164. * (4) modifier
  33165. *
  33166. * So since we don't take care of the codeset part here, what patterns
  33167. * we need to deal with is:
  33168. *
  33169. * 1. language_territory@modifier
  33170. * 2. language@modifier
  33171. * 3. language
  33172. *
  33173. * then. and maybe no need to try language_territory here.
  33174. */
  33175. modifier = libc.Xstrchr(tls, s, int32('@'))
  33176. if modifier != 0 {
  33177. *(*int8)(unsafe.Pointer(modifier)) = 0
  33178. modifier++
  33179. mlen = libc.Xstrlen(tls, modifier)
  33180. }
  33181. encoding = libc.Xstrchr(tls, s, int32('.'))
  33182. if encoding != 0 {
  33183. *(*int8)(unsafe.Pointer(encoding)) = 0
  33184. encoding++
  33185. if modifier != 0 {
  33186. libc.X__builtin___memmove_chk(tls, encoding, modifier, mlen+uint64(1), uint64(libc.X__builtin_object_size(tls, encoding, 0)))
  33187. modifier = encoding
  33188. }
  33189. }
  33190. territory = libc.Xstrchr(tls, s, int32('_'))
  33191. if !(territory != 0) {
  33192. territory = libc.Xstrchr(tls, s, int32('-'))
  33193. }
  33194. if territory != 0 {
  33195. *(*int8)(unsafe.Pointer(territory)) = 0
  33196. territory++
  33197. tlen = libc.Xstrlen(tls, territory)
  33198. }
  33199. llen = libc.Xstrlen(tls, s)
  33200. if llen < uint64(2) || llen > uint64(3) {
  33201. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5718, libc.VaList(bp+8, lang))
  33202. goto bail0
  33203. }
  33204. if territory != 0 && (tlen < uint64(2) || tlen > uint64(3)) && !(int32(*(*int8)(unsafe.Pointer(territory))) == int32('z') && tlen < uint64(5)) {
  33205. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+5777, libc.VaList(bp+8, lang))
  33206. goto bail0
  33207. }
  33208. if territory != 0 {
  33209. *(*int8)(unsafe.Pointer(territory + uintptr(-libc.Int32FromInt32(1)))) = int8('-')
  33210. }
  33211. if modifier != 0 {
  33212. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = int8('@')
  33213. }
  33214. orig = XFcStrDowncase(tls, s)
  33215. if !(orig != 0) {
  33216. goto bail0
  33217. }
  33218. if territory != 0 {
  33219. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33220. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  33221. }
  33222. if _FcLangSetIndex(tls, s) < 0 {
  33223. if mlen > uint64(0) {
  33224. v1 = mlen + uint64(1)
  33225. } else {
  33226. v1 = uint64(0)
  33227. }
  33228. libc.X__builtin___memmove_chk(tls, territory-uintptr(1), territory+uintptr(tlen), v1+uint64(1), uint64(libc.X__builtin_object_size(tls, territory-uintptr(1), 0)))
  33229. if modifier != 0 {
  33230. modifier = territory
  33231. }
  33232. } else {
  33233. result = s
  33234. /* we'll miss the opportunity to reduce the correct size
  33235. * of the allocated memory for the string after that.
  33236. */
  33237. s = libc.UintptrFromInt32(0)
  33238. goto bail1
  33239. }
  33240. }
  33241. if modifier != 0 {
  33242. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33243. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  33244. }
  33245. if _FcLangSetIndex(tls, s) < 0 {
  33246. *(*int8)(unsafe.Pointer(modifier + uintptr(-libc.Int32FromInt32(1)))) = 0
  33247. } else {
  33248. result = s
  33249. /* we'll miss the opportunity to reduce the correct size
  33250. * of the allocated memory for the string after that.
  33251. */
  33252. s = libc.UintptrFromInt32(0)
  33253. goto bail1
  33254. }
  33255. }
  33256. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33257. libc.Xprintf(tls, __ccgo_ts+5834, libc.VaList(bp+8, s))
  33258. }
  33259. if _FcLangSetIndex(tls, s) < 0 {
  33260. /* there seems no languages matched in orth.
  33261. * add the language as is for fallback.
  33262. */
  33263. result = orig
  33264. orig = libc.UintptrFromInt32(0)
  33265. } else {
  33266. result = s
  33267. /* we'll miss the opportunity to reduce the correct size
  33268. * of the allocated memory for the string after that.
  33269. */
  33270. s = libc.UintptrFromInt32(0)
  33271. }
  33272. goto bail1
  33273. bail1:
  33274. ;
  33275. if orig != 0 {
  33276. XFcStrFree(tls, orig)
  33277. }
  33278. goto bail0
  33279. bail0:
  33280. ;
  33281. if s != 0 {
  33282. libc.Xfree(tls, s)
  33283. }
  33284. goto bail
  33285. bail:
  33286. ;
  33287. if XFcDebugVal&int32(m_FC_DBG_LANGSET) != 0 {
  33288. if result != 0 {
  33289. libc.Xprintf(tls, __ccgo_ts+5869, libc.VaList(bp+8, lang, result))
  33290. } else {
  33291. libc.Xprintf(tls, __ccgo_ts+5891, libc.VaList(bp+8, lang))
  33292. }
  33293. }
  33294. return result
  33295. }
  33296. func XFcLangCompare(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcLangResult) {
  33297. var c1, c2 TFcChar8
  33298. var is_und TFcBool
  33299. var result TFcLangResult
  33300. var s1_orig, v7, v8 uintptr
  33301. var v1, v10, v11, v2, v4, v9 int32
  33302. var v3, v5 bool
  33303. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = c1, c2, is_und, result, s1_orig, v1, v10, v11, v2, v3, v4, v5, v7, v8, v9
  33304. result = int32(_FcLangDifferentLang)
  33305. s1_orig = s1
  33306. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(s1))) && int32(*(*TFcChar8)(unsafe.Pointer(s1))) <= int32(0132) {
  33307. v1 = int32(*(*TFcChar8)(unsafe.Pointer(s1))) - int32(0101) + int32(0141)
  33308. } else {
  33309. v1 = int32(*(*TFcChar8)(unsafe.Pointer(s1)))
  33310. }
  33311. if v3 = v1 == int32('u'); v3 {
  33312. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) && int32(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) <= int32(0132) {
  33313. v2 = int32(*(*TFcChar8)(unsafe.Pointer(s1 + 1))) - int32(0101) + int32(0141)
  33314. } else {
  33315. v2 = int32(*(*TFcChar8)(unsafe.Pointer(s1 + 1)))
  33316. }
  33317. }
  33318. if v5 = v3 && v2 == int32('n'); v5 {
  33319. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) && int32(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) <= int32(0132) {
  33320. v4 = int32(*(*TFcChar8)(unsafe.Pointer(s1 + 2))) - int32(0101) + int32(0141)
  33321. } else {
  33322. v4 = int32(*(*TFcChar8)(unsafe.Pointer(s1 + 2)))
  33323. }
  33324. }
  33325. is_und = libc.BoolInt32(v5 && v4 == int32('d') && (int32(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('-') || int32(*(*TFcChar8)(unsafe.Pointer(s1 + 3))) == int32('\000')))
  33326. for {
  33327. v7 = s1
  33328. s1++
  33329. c1 = *(*TFcChar8)(unsafe.Pointer(v7))
  33330. v8 = s2
  33331. s2++
  33332. c2 = *(*TFcChar8)(unsafe.Pointer(v8))
  33333. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  33334. v9 = int32(c1) - int32(0101) + int32(0141)
  33335. } else {
  33336. v9 = int32(c1)
  33337. }
  33338. c1 = uint8(v9)
  33339. if int32(0101) <= int32(c2) && int32(c2) <= int32(0132) {
  33340. v10 = int32(c2) - int32(0101) + int32(0141)
  33341. } else {
  33342. v10 = int32(c2)
  33343. }
  33344. c2 = uint8(v10)
  33345. if int32(c1) != int32(c2) {
  33346. if !(is_und != 0) && (int32(c1) == int32('-') || int32(c1) == int32('\000')) && (int32(c2) == int32('-') || int32(c2) == int32('\000')) {
  33347. result = int32(_FcLangDifferentTerritory)
  33348. }
  33349. return result
  33350. } else {
  33351. if !(c1 != 0) {
  33352. if is_und != 0 {
  33353. v11 = result
  33354. } else {
  33355. v11 = int32(_FcLangEqual)
  33356. }
  33357. return v11
  33358. } else {
  33359. if int32(c1) == int32('-') {
  33360. if !(is_und != 0) {
  33361. result = int32(_FcLangDifferentTerritory)
  33362. }
  33363. }
  33364. }
  33365. }
  33366. /* If we parsed past "und-", then do not consider it undefined anymore,
  33367. * as there's *something* specified. */
  33368. if is_und != 0 && int64(s1)-int64(s1_orig) == int64(4) {
  33369. is_und = m_FcFalse
  33370. }
  33371. goto _6
  33372. _6:
  33373. }
  33374. return r
  33375. }
  33376. /*
  33377. * Return FcTrue when super contains sub.
  33378. *
  33379. * super contains sub if super and sub have the same
  33380. * language and either the same country or one
  33381. * is missing the country
  33382. */
  33383. func _FcLangContains(tls *libc.TLS, super uintptr, sub uintptr) (r TFcBool) {
  33384. var c1, c2 TFcChar8
  33385. var v2, v3 uintptr
  33386. var v4, v5 int32
  33387. _, _, _, _, _, _ = c1, c2, v2, v3, v4, v5
  33388. for {
  33389. v2 = super
  33390. super++
  33391. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  33392. v3 = sub
  33393. sub++
  33394. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  33395. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  33396. v4 = int32(c1) - int32(0101) + int32(0141)
  33397. } else {
  33398. v4 = int32(c1)
  33399. }
  33400. c1 = uint8(v4)
  33401. if int32(0101) <= int32(c2) && int32(c2) <= int32(0132) {
  33402. v5 = int32(c2) - int32(0101) + int32(0141)
  33403. } else {
  33404. v5 = int32(c2)
  33405. }
  33406. c2 = uint8(v5)
  33407. if int32(c1) != int32(c2) {
  33408. /* see if super has a country while sub is missing one */
  33409. if int32(c1) == int32('-') && int32(c2) == int32('\000') {
  33410. return int32(m_FcTrue)
  33411. }
  33412. /* see if sub has a country while super is missing one */
  33413. if int32(c1) == int32('\000') && int32(c2) == int32('-') {
  33414. return int32(m_FcTrue)
  33415. }
  33416. return m_FcFalse
  33417. } else {
  33418. if !(c1 != 0) {
  33419. return int32(m_FcTrue)
  33420. }
  33421. }
  33422. goto _1
  33423. _1:
  33424. }
  33425. return r
  33426. }
  33427. func XFcLangGetCharSet(tls *libc.TLS, lang uintptr) (r uintptr) {
  33428. var country, i int32
  33429. _, _ = country, i
  33430. country = -int32(1)
  33431. i = 0
  33432. for {
  33433. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33434. break
  33435. }
  33436. switch XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40) {
  33437. case int32(_FcLangEqual):
  33438. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(i)*40 + 16
  33439. case int32(_FcLangDifferentTerritory):
  33440. if country == -int32(1) {
  33441. country = i
  33442. }
  33443. fallthrough
  33444. case int32(_FcLangDifferentLang):
  33445. fallthrough
  33446. default:
  33447. break
  33448. }
  33449. goto _1
  33450. _1:
  33451. ;
  33452. i++
  33453. }
  33454. if country == -int32(1) {
  33455. return uintptr(0)
  33456. }
  33457. return uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(country)*40 + 16
  33458. }
  33459. func XFcGetLangs(tls *libc.TLS) (r uintptr) {
  33460. var i int32
  33461. var langs uintptr
  33462. _, _ = i, langs
  33463. langs = XFcStrSetCreate(tls)
  33464. if !(langs != 0) {
  33465. return uintptr(0)
  33466. }
  33467. i = 0
  33468. for {
  33469. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33470. break
  33471. }
  33472. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  33473. goto _1
  33474. _1:
  33475. ;
  33476. i++
  33477. }
  33478. return langs
  33479. }
  33480. func XFcLangSetCreate(tls *libc.TLS) (r uintptr) {
  33481. var ls uintptr
  33482. _ = ls
  33483. ls = libc.Xmalloc(tls, uint64(48))
  33484. if !(ls != 0) {
  33485. return uintptr(0)
  33486. }
  33487. libc.X__builtin___memset_chk(tls, ls+12, int32('\000'), uint64(32), uint64(libc.X__builtin_object_size(tls, ls+12, 0)))
  33488. (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  33489. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = uintptr(0)
  33490. return ls
  33491. }
  33492. func XFcLangSetDestroy(tls *libc.TLS, ls uintptr) {
  33493. if !(ls != 0) {
  33494. return
  33495. }
  33496. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  33497. XFcStrSetDestroy(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  33498. }
  33499. libc.Xfree(tls, ls)
  33500. }
  33501. func XFcLangSetCopy(tls *libc.TLS, ls uintptr) (r uintptr) {
  33502. var extra, list, new1, v2 uintptr
  33503. var v1 uint64
  33504. _, _, _, _, _ = extra, list, new1, v1, v2
  33505. if !(ls != 0) {
  33506. return libc.UintptrFromInt32(0)
  33507. }
  33508. new1 = XFcLangSetCreate(tls)
  33509. if !(new1 != 0) {
  33510. goto bail0
  33511. }
  33512. libc.X__builtin___memset_chk(tls, new1+12, int32('\000'), uint64(32), uint64(libc.X__builtin_object_size(tls, new1+12, 0)))
  33513. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size)*uint64(4) {
  33514. v1 = libc.Uint64FromInt64(32)
  33515. } else {
  33516. v1 = uint64((*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size) * uint64(4)
  33517. }
  33518. libc.X__builtin___memcpy_chk(tls, new1+12, ls+12, v1, uint64(libc.X__builtin_object_size(tls, new1+12, 0)))
  33519. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  33520. (*TFcLangSet)(unsafe.Pointer(new1)).Fextra = XFcStrSetCreate(tls)
  33521. if !((*TFcLangSet)(unsafe.Pointer(new1)).Fextra != 0) {
  33522. goto bail1
  33523. }
  33524. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  33525. if !(list != 0) {
  33526. goto bail1
  33527. }
  33528. for {
  33529. v2 = XFcStrListNext(tls, list)
  33530. extra = v2
  33531. if !(v2 != 0) {
  33532. break
  33533. }
  33534. if !(XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(new1)).Fextra, extra) != 0) {
  33535. XFcStrListDone(tls, list)
  33536. goto bail1
  33537. }
  33538. }
  33539. XFcStrListDone(tls, list)
  33540. }
  33541. return new1
  33542. goto bail1
  33543. bail1:
  33544. ;
  33545. XFcLangSetDestroy(tls, new1)
  33546. goto bail0
  33547. bail0:
  33548. ;
  33549. return uintptr(0)
  33550. return r
  33551. }
  33552. // C documentation
  33553. //
  33554. // /* When the language isn't found, the return value r is such that:
  33555. // * 1) r < 0
  33556. // * 2) -r -1 is the index of the first language in fcLangCharSets that comes
  33557. // * after the 'lang' argument in lexicographic order.
  33558. // *
  33559. // * The -1 is necessary to avoid problems with language id 0 (otherwise, we
  33560. // * wouldn't be able to distinguish between “language found, id is 0” and
  33561. // * “language not found, sorts right before the language with id 0”).
  33562. // */
  33563. func _FcLangSetIndex(tls *libc.TLS, lang uintptr) (r int32) {
  33564. var cmp, high, low, mid, v1, v2, v3 int32
  33565. var firstChar, secondChar TFcChar8
  33566. _, _, _, _, _, _, _, _, _ = cmp, firstChar, high, low, mid, secondChar, v1, v2, v3
  33567. mid = 0
  33568. cmp = 0
  33569. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(lang))) && int32(*(*TFcChar8)(unsafe.Pointer(lang))) <= int32(0132) {
  33570. v1 = int32(*(*TFcChar8)(unsafe.Pointer(lang))) - int32(0101) + int32(0141)
  33571. } else {
  33572. v1 = int32(*(*TFcChar8)(unsafe.Pointer(lang)))
  33573. }
  33574. firstChar = uint8(v1)
  33575. if firstChar != 0 {
  33576. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(lang + 1))) && int32(*(*TFcChar8)(unsafe.Pointer(lang + 1))) <= int32(0132) {
  33577. v3 = int32(*(*TFcChar8)(unsafe.Pointer(lang + 1))) - int32(0101) + int32(0141)
  33578. } else {
  33579. v3 = int32(*(*TFcChar8)(unsafe.Pointer(lang + 1)))
  33580. }
  33581. v2 = v3
  33582. } else {
  33583. v2 = int32('\000')
  33584. }
  33585. secondChar = uint8(v2)
  33586. if int32(firstChar) < int32('a') {
  33587. low = 0
  33588. high = _fcLangCharSetRanges[0].Fbegin
  33589. } else {
  33590. if int32(firstChar) > int32('z') {
  33591. low = _fcLangCharSetRanges[int32(25)].Fbegin
  33592. high = libc.Int32FromInt32(m_NUM_LANG_CHAR_SET) - libc.Int32FromInt32(1)
  33593. } else {
  33594. low = _fcLangCharSetRanges[int32(firstChar)-int32('a')].Fbegin
  33595. high = _fcLangCharSetRanges[int32(firstChar)-int32('a')].Fend
  33596. /* no matches */
  33597. if low > high {
  33598. return -(low + int32(1))
  33599. } /* one past next entry after where it would be */
  33600. }
  33601. }
  33602. for low <= high {
  33603. mid = (high + low) >> int32(1)
  33604. if int32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40))) != int32(firstChar) {
  33605. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40, lang)
  33606. } else {
  33607. /* fast path for resolving 2-letter languages (by far the most common) after
  33608. * finding the first char (probably already true because of the hash table) */
  33609. cmp = int32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 1))) - int32(secondChar)
  33610. if cmp == 0 && (int32(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + uintptr(mid)*40 + 2))) != int32('\000') || int32(*(*TFcChar8)(unsafe.Pointer(lang + 2))) != int32('\000')) {
  33611. cmp = XFcStrCmpIgnoreCase(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(mid)*40+uintptr(2), lang+uintptr(2))
  33612. }
  33613. }
  33614. if cmp == 0 {
  33615. return mid
  33616. }
  33617. if cmp < 0 {
  33618. low = mid + int32(1)
  33619. } else {
  33620. high = mid - int32(1)
  33621. }
  33622. }
  33623. if cmp < 0 {
  33624. mid++
  33625. }
  33626. return -(mid + int32(1))
  33627. }
  33628. func XFcLangSetAdd(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  33629. var id int32
  33630. _ = id
  33631. id = _FcLangSetIndex(tls, lang)
  33632. if id >= 0 {
  33633. _FcLangSetBitSet(tls, ls, uint32(id))
  33634. return int32(m_FcTrue)
  33635. }
  33636. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  33637. (*TFcLangSet)(unsafe.Pointer(ls)).Fextra = XFcStrSetCreate(tls)
  33638. if !((*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0) {
  33639. return m_FcFalse
  33640. }
  33641. }
  33642. return XFcStrSetAdd(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  33643. }
  33644. func XFcLangSetDel(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  33645. var id int32
  33646. _ = id
  33647. id = _FcLangSetIndex(tls, lang)
  33648. if id >= 0 {
  33649. _FcLangSetBitReset(tls, ls, uint32(id))
  33650. } else {
  33651. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  33652. XFcStrSetDel(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra, lang)
  33653. }
  33654. }
  33655. return int32(m_FcTrue)
  33656. }
  33657. func XFcLangSetHasLang(tls *libc.TLS, ls uintptr, lang uintptr) (r1 TFcLangResult) {
  33658. var best, r TFcLangResult
  33659. var extra, list, v3 uintptr
  33660. var i, id int32
  33661. var v4 bool
  33662. _, _, _, _, _, _, _, _ = best, extra, i, id, list, r, v3, v4
  33663. id = _FcLangSetIndex(tls, lang)
  33664. if id < 0 {
  33665. id = -id - int32(1)
  33666. } else {
  33667. if _FcLangSetBitGet(tls, ls, uint32(id)) != 0 {
  33668. return int32(_FcLangEqual)
  33669. }
  33670. }
  33671. best = int32(_FcLangDifferentLang)
  33672. i = id - int32(1)
  33673. for {
  33674. if !(i >= 0) {
  33675. break
  33676. }
  33677. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  33678. if r == int32(_FcLangDifferentLang) {
  33679. break
  33680. }
  33681. if _FcLangSetBitGet(tls, ls, uint32(i)) != 0 && r < best {
  33682. best = r
  33683. }
  33684. goto _1
  33685. _1:
  33686. ;
  33687. i--
  33688. }
  33689. i = id
  33690. for {
  33691. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  33692. break
  33693. }
  33694. r = XFcLangCompare(tls, lang, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  33695. if r == int32(_FcLangDifferentLang) {
  33696. break
  33697. }
  33698. if _FcLangSetBitGet(tls, ls, uint32(i)) != 0 && r < best {
  33699. best = r
  33700. }
  33701. goto _2
  33702. _2:
  33703. ;
  33704. i++
  33705. }
  33706. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  33707. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  33708. if list != 0 {
  33709. for {
  33710. if v4 = best > int32(_FcLangEqual); v4 {
  33711. v3 = XFcStrListNext(tls, list)
  33712. extra = v3
  33713. }
  33714. if !(v4 && v3 != 0) {
  33715. break
  33716. }
  33717. r = XFcLangCompare(tls, lang, extra)
  33718. if r < best {
  33719. best = r
  33720. }
  33721. }
  33722. XFcStrListDone(tls, list)
  33723. }
  33724. }
  33725. return best
  33726. }
  33727. func _FcLangSetCompareStrSet(tls *libc.TLS, ls uintptr, set uintptr) (r1 TFcLangResult) {
  33728. var best, r TFcLangResult
  33729. var extra, list, v1 uintptr
  33730. var v2 bool
  33731. _, _, _, _, _, _ = best, extra, list, r, v1, v2
  33732. list = XFcStrListCreate(tls, set)
  33733. best = int32(_FcLangDifferentLang)
  33734. if list != 0 {
  33735. for {
  33736. if v2 = best > int32(_FcLangEqual); v2 {
  33737. v1 = XFcStrListNext(tls, list)
  33738. extra = v1
  33739. }
  33740. if !(v2 && v1 != 0) {
  33741. break
  33742. }
  33743. r = XFcLangSetHasLang(tls, ls, extra)
  33744. if r < best {
  33745. best = r
  33746. }
  33747. }
  33748. XFcStrListDone(tls, list)
  33749. }
  33750. return best
  33751. }
  33752. func XFcLangSetCompare(tls *libc.TLS, lsa uintptr, lsb uintptr) (r1 TFcLangResult) {
  33753. var aInCountrySet, bInCountrySet TFcChar32
  33754. var best, r TFcLangResult
  33755. var count, i, j, v2 int32
  33756. var v1 uint32
  33757. _, _, _, _, _, _, _, _, _ = aInCountrySet, bInCountrySet, best, count, i, j, r, v1, v2
  33758. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  33759. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  33760. } else {
  33761. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  33762. }
  33763. count = int32(v1)
  33764. if int32(m_NUM_LANG_SET_MAP) < count {
  33765. v2 = int32(m_NUM_LANG_SET_MAP)
  33766. } else {
  33767. v2 = count
  33768. }
  33769. count = v2
  33770. i = 0
  33771. for {
  33772. if !(i < count) {
  33773. break
  33774. }
  33775. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))&*(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) != 0 {
  33776. return int32(_FcLangEqual)
  33777. }
  33778. goto _3
  33779. _3:
  33780. ;
  33781. i++
  33782. }
  33783. best = int32(_FcLangDifferentLang)
  33784. j = 0
  33785. for {
  33786. if !(j < int32(m_NUM_COUNTRY_SET)) {
  33787. break
  33788. }
  33789. aInCountrySet = uint32(0)
  33790. bInCountrySet = uint32(0)
  33791. i = 0
  33792. for {
  33793. if !(i < count) {
  33794. break
  33795. }
  33796. aInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  33797. bInCountrySet |= *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & *(*TFcChar32)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangCountrySets)) + uintptr(j)*32 + uintptr(i)*4))
  33798. if aInCountrySet != 0 && bInCountrySet != 0 {
  33799. best = int32(_FcLangDifferentTerritory)
  33800. break
  33801. }
  33802. goto _5
  33803. _5:
  33804. ;
  33805. i++
  33806. }
  33807. goto _4
  33808. _4:
  33809. ;
  33810. j++
  33811. }
  33812. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 {
  33813. r = _FcLangSetCompareStrSet(tls, lsb, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra)
  33814. if r < best {
  33815. best = r
  33816. }
  33817. }
  33818. if best > int32(_FcLangEqual) && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  33819. r = _FcLangSetCompareStrSet(tls, lsa, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  33820. if r < best {
  33821. best = r
  33822. }
  33823. }
  33824. return best
  33825. }
  33826. // C documentation
  33827. //
  33828. // /*
  33829. // * Used in computing values -- mustn't allocate any storage
  33830. // */
  33831. func XFcLangSetPromote(tls *libc.TLS, lang uintptr, vbuf uintptr) (r uintptr) {
  33832. var buf uintptr
  33833. var id int32
  33834. _, _ = buf, id
  33835. buf = vbuf
  33836. libc.X__builtin___memset_chk(tls, buf+12, int32('\000'), uint64(32), uint64(libc.X__builtin_object_size(tls, buf+12, 0)))
  33837. (*struct {
  33838. Fls TFcLangSet
  33839. Fstrs TFcStrSet
  33840. Fstr uintptr
  33841. })(unsafe.Pointer(buf)).Fls.Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  33842. (*struct {
  33843. Fls TFcLangSet
  33844. Fstrs TFcStrSet
  33845. Fstr uintptr
  33846. })(unsafe.Pointer(buf)).Fls.Fextra = uintptr(0)
  33847. if lang != 0 {
  33848. id = _FcLangSetIndex(tls, lang)
  33849. if id >= 0 {
  33850. _FcLangSetBitSet(tls, buf, uint32(id))
  33851. } else {
  33852. (*struct {
  33853. Fls TFcLangSet
  33854. Fstrs TFcStrSet
  33855. Fstr uintptr
  33856. })(unsafe.Pointer(buf)).Fls.Fextra = buf + 48
  33857. (*struct {
  33858. Fls TFcLangSet
  33859. Fstrs TFcStrSet
  33860. Fstr uintptr
  33861. })(unsafe.Pointer(buf)).Fstrs.Fnum = int32(1)
  33862. (*struct {
  33863. Fls TFcLangSet
  33864. Fstrs TFcStrSet
  33865. Fstr uintptr
  33866. })(unsafe.Pointer(buf)).Fstrs.Fsize = int32(1)
  33867. (*struct {
  33868. Fls TFcLangSet
  33869. Fstrs TFcStrSet
  33870. Fstr uintptr
  33871. })(unsafe.Pointer(buf)).Fstrs.Fstrs = buf + 80
  33872. (*TFcRef)(unsafe.Pointer(buf + 48)).Fcount = int32(1)
  33873. (*struct {
  33874. Fls TFcLangSet
  33875. Fstrs TFcStrSet
  33876. Fstr uintptr
  33877. })(unsafe.Pointer(buf)).Fstr = lang
  33878. }
  33879. }
  33880. return buf
  33881. }
  33882. func XFcLangSetHash(tls *libc.TLS, ls uintptr) (r TFcChar32) {
  33883. var count, i int32
  33884. var h TFcChar32
  33885. var v1 uint32
  33886. _, _, _, _ = count, h, i, v1
  33887. h = uint32(0)
  33888. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < uint32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  33889. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  33890. } else {
  33891. v1 = uint32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  33892. }
  33893. count = int32(v1)
  33894. i = 0
  33895. for {
  33896. if !(i < count) {
  33897. break
  33898. }
  33899. h ^= *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  33900. goto _2
  33901. _2:
  33902. ;
  33903. i++
  33904. }
  33905. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  33906. h ^= uint32((*TFcStrSet)(unsafe.Pointer((*TFcLangSet)(unsafe.Pointer(ls)).Fextra)).Fnum)
  33907. }
  33908. return h
  33909. }
  33910. func XFcNameParseLangSet(tls *libc.TLS, string1 uintptr) (r uintptr) {
  33911. bp := tls.Alloc(32)
  33912. defer tls.Free(32)
  33913. var c TFcChar8
  33914. var i int32
  33915. var ls, v3 uintptr
  33916. var _ /* lang at bp+0 */ [32]TFcChar8
  33917. _, _, _, _ = c, i, ls, v3
  33918. c = uint8(0)
  33919. ls = XFcLangSetCreate(tls)
  33920. if !(ls != 0) {
  33921. goto bail0
  33922. }
  33923. for {
  33924. i = 0
  33925. for {
  33926. if !(i < int32(31)) {
  33927. break
  33928. }
  33929. v3 = string1
  33930. string1++
  33931. c = *(*TFcChar8)(unsafe.Pointer(v3))
  33932. if int32(c) == int32('\000') || int32(c) == int32('|') {
  33933. break
  33934. } /* end of this code */
  33935. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = c
  33936. goto _2
  33937. _2:
  33938. ;
  33939. i++
  33940. }
  33941. (*(*[32]TFcChar8)(unsafe.Pointer(bp)))[i] = uint8('\000')
  33942. if !(XFcLangSetAdd(tls, ls, bp) != 0) {
  33943. goto bail1
  33944. }
  33945. if int32(c) == int32('\000') {
  33946. break
  33947. }
  33948. goto _1
  33949. _1:
  33950. }
  33951. return ls
  33952. goto bail1
  33953. bail1:
  33954. ;
  33955. XFcLangSetDestroy(tls, ls)
  33956. goto bail0
  33957. bail0:
  33958. ;
  33959. return uintptr(0)
  33960. return r
  33961. }
  33962. func XFcNameUnparseLangSet(tls *libc.TLS, buf uintptr, ls uintptr) (r TFcBool) {
  33963. var bit, count, i, id int32
  33964. var bits, v3 TFcChar32
  33965. var extra, list, v5 uintptr
  33966. var first TFcBool
  33967. var v1 uint32
  33968. _, _, _, _, _, _, _, _, _, _, _ = bit, bits, count, extra, first, i, id, list, v1, v3, v5
  33969. first = int32(m_FcTrue)
  33970. if (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size < uint32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP)) {
  33971. v1 = (*TFcLangSet)(unsafe.Pointer(ls)).Fmap_size
  33972. } else {
  33973. v1 = uint32(libc.Int32FromInt32(m_NUM_LANG_SET_MAP))
  33974. }
  33975. count = int32(v1)
  33976. i = 0
  33977. for {
  33978. if !(i < count) {
  33979. break
  33980. }
  33981. v3 = *(*TFcChar32)(unsafe.Pointer(ls + 12 + uintptr(i)*4))
  33982. bits = v3
  33983. if v3 != 0 {
  33984. bit = 0
  33985. for {
  33986. if !(bit <= int32(31)) {
  33987. break
  33988. }
  33989. if bits&(uint32(1)<<bit) != 0 {
  33990. id = i<<int32(5) | bit
  33991. if !(first != 0) {
  33992. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  33993. return m_FcFalse
  33994. }
  33995. }
  33996. if !(XFcStrBufString(tls, buf, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(id))))*40) != 0) {
  33997. return m_FcFalse
  33998. }
  33999. first = m_FcFalse
  34000. }
  34001. goto _4
  34002. _4:
  34003. ;
  34004. bit++
  34005. }
  34006. }
  34007. goto _2
  34008. _2:
  34009. ;
  34010. i++
  34011. }
  34012. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34013. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34014. if !(list != 0) {
  34015. return m_FcFalse
  34016. }
  34017. for {
  34018. v5 = XFcStrListNext(tls, list)
  34019. extra = v5
  34020. if !(v5 != 0) {
  34021. break
  34022. }
  34023. if !(first != 0) {
  34024. if !(XFcStrBufChar(tls, buf, uint8('|')) != 0) {
  34025. XFcStrListDone(tls, list)
  34026. return m_FcFalse
  34027. }
  34028. }
  34029. if !(XFcStrBufString(tls, buf, extra) != 0) {
  34030. XFcStrListDone(tls, list)
  34031. return m_FcFalse
  34032. }
  34033. first = m_FcFalse
  34034. }
  34035. XFcStrListDone(tls, list)
  34036. }
  34037. return int32(m_FcTrue)
  34038. }
  34039. func XFcLangSetEqual(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  34040. var count, i, v2 int32
  34041. var v1 uint32
  34042. _, _, _, _ = count, i, v1, v2
  34043. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34044. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34045. } else {
  34046. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34047. }
  34048. count = int32(v1)
  34049. if int32(m_NUM_LANG_SET_MAP) < count {
  34050. v2 = int32(m_NUM_LANG_SET_MAP)
  34051. } else {
  34052. v2 = count
  34053. }
  34054. count = v2
  34055. i = 0
  34056. for {
  34057. if !(i < count) {
  34058. break
  34059. }
  34060. if *(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4)) != *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) {
  34061. return m_FcFalse
  34062. }
  34063. goto _3
  34064. _3:
  34065. ;
  34066. i++
  34067. }
  34068. if !((*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0) && !((*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0) {
  34069. return int32(m_FcTrue)
  34070. }
  34071. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra != 0 && (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34072. return XFcStrSetEqual(tls, (*TFcLangSet)(unsafe.Pointer(lsa)).Fextra, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34073. }
  34074. return m_FcFalse
  34075. }
  34076. func _FcLangSetContainsLang(tls *libc.TLS, ls uintptr, lang uintptr) (r TFcBool) {
  34077. var extra, list, v3 uintptr
  34078. var i, id int32
  34079. _, _, _, _, _ = extra, i, id, list, v3
  34080. id = _FcLangSetIndex(tls, lang)
  34081. if id < 0 {
  34082. id = -id - int32(1)
  34083. } else {
  34084. if _FcLangSetBitGet(tls, ls, uint32(id)) != 0 {
  34085. return int32(m_FcTrue)
  34086. }
  34087. }
  34088. /*
  34089. * search up and down among equal languages for a match
  34090. */
  34091. i = id - int32(1)
  34092. for {
  34093. if !(i >= 0) {
  34094. break
  34095. }
  34096. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  34097. break
  34098. }
  34099. if _FcLangSetBitGet(tls, ls, uint32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  34100. return int32(m_FcTrue)
  34101. }
  34102. goto _1
  34103. _1:
  34104. ;
  34105. i--
  34106. }
  34107. i = id
  34108. for {
  34109. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34110. break
  34111. }
  34112. if XFcLangCompare(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) == int32(_FcLangDifferentLang) {
  34113. break
  34114. }
  34115. if _FcLangSetBitGet(tls, ls, uint32(i)) != 0 && _FcLangContains(tls, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40, lang) != 0 {
  34116. return int32(m_FcTrue)
  34117. }
  34118. goto _2
  34119. _2:
  34120. ;
  34121. i++
  34122. }
  34123. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34124. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34125. if list != 0 {
  34126. for {
  34127. v3 = XFcStrListNext(tls, list)
  34128. extra = v3
  34129. if !(v3 != 0) {
  34130. break
  34131. }
  34132. if _FcLangContains(tls, extra, lang) != 0 {
  34133. break
  34134. }
  34135. }
  34136. XFcStrListDone(tls, list)
  34137. if extra != 0 {
  34138. return int32(m_FcTrue)
  34139. }
  34140. }
  34141. }
  34142. return m_FcFalse
  34143. }
  34144. // C documentation
  34145. //
  34146. // /*
  34147. // * return FcTrue if lsa contains every language in lsb
  34148. // */
  34149. func XFcLangSetContains(tls *libc.TLS, lsa uintptr, lsb uintptr) (r TFcBool) {
  34150. bp := tls.Alloc(16)
  34151. defer tls.Free(16)
  34152. var count, i, j, v2 int32
  34153. var extra, list, v5 uintptr
  34154. var missing TFcChar32
  34155. var v1 uint32
  34156. _, _, _, _, _, _, _, _, _ = count, extra, i, j, list, missing, v1, v2, v5
  34157. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34158. libc.Xprintf(tls, __ccgo_ts+5915, 0)
  34159. XFcLangSetPrint(tls, lsa)
  34160. libc.Xprintf(tls, __ccgo_ts+5926, 0)
  34161. XFcLangSetPrint(tls, lsb)
  34162. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  34163. }
  34164. /*
  34165. * check bitmaps for missing language support
  34166. */
  34167. if (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size < (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size {
  34168. v1 = (*TFcLangSet)(unsafe.Pointer(lsa)).Fmap_size
  34169. } else {
  34170. v1 = (*TFcLangSet)(unsafe.Pointer(lsb)).Fmap_size
  34171. }
  34172. count = int32(v1)
  34173. if int32(m_NUM_LANG_SET_MAP) < count {
  34174. v2 = int32(m_NUM_LANG_SET_MAP)
  34175. } else {
  34176. v2 = count
  34177. }
  34178. count = v2
  34179. i = 0
  34180. for {
  34181. if !(i < count) {
  34182. break
  34183. }
  34184. missing = *(*TFcChar32)(unsafe.Pointer(lsb + 12 + uintptr(i)*4)) & ^*(*TFcChar32)(unsafe.Pointer(lsa + 12 + uintptr(i)*4))
  34185. if missing != 0 {
  34186. j = 0
  34187. for {
  34188. if !(j < int32(32)) {
  34189. break
  34190. }
  34191. if missing&(uint32(1)<<j) != 0 {
  34192. if !(_FcLangSetContainsLang(tls, lsa, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40) != 0) {
  34193. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34194. libc.Xprintf(tls, __ccgo_ts+5937, libc.VaList(bp+8, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(*(*TFcChar8)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcLangData)) + 41086 + uintptr(i*int32(32)+j))))*40))
  34195. }
  34196. return m_FcFalse
  34197. }
  34198. }
  34199. goto _4
  34200. _4:
  34201. ;
  34202. j++
  34203. }
  34204. }
  34205. goto _3
  34206. _3:
  34207. ;
  34208. i++
  34209. }
  34210. if (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra != 0 {
  34211. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(lsb)).Fextra)
  34212. if list != 0 {
  34213. for {
  34214. v5 = XFcStrListNext(tls, list)
  34215. extra = v5
  34216. if !(v5 != 0) {
  34217. break
  34218. }
  34219. if !(_FcLangSetContainsLang(tls, lsa, extra) != 0) {
  34220. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  34221. libc.Xprintf(tls, __ccgo_ts+5957, libc.VaList(bp+8, extra))
  34222. }
  34223. break
  34224. }
  34225. }
  34226. XFcStrListDone(tls, list)
  34227. if extra != 0 {
  34228. return m_FcFalse
  34229. }
  34230. }
  34231. }
  34232. return int32(m_FcTrue)
  34233. }
  34234. func XFcLangSetSerializeAlloc(tls *libc.TLS, serialize uintptr, l uintptr) (r TFcBool) {
  34235. if !(XFcSerializeAlloc(tls, serialize, l, int32(48)) != 0) {
  34236. return m_FcFalse
  34237. }
  34238. return int32(m_FcTrue)
  34239. }
  34240. func XFcLangSetSerialize(tls *libc.TLS, serialize uintptr, l uintptr) (r uintptr) {
  34241. var l_serialize uintptr
  34242. var v1 uint64
  34243. _, _ = l_serialize, v1
  34244. l_serialize = XFcSerializePtr(tls, serialize, l)
  34245. if !(l_serialize != 0) {
  34246. return libc.UintptrFromInt32(0)
  34247. }
  34248. libc.X__builtin___memset_chk(tls, l_serialize+12, int32('\000'), uint64(32), uint64(libc.X__builtin_object_size(tls, l_serialize+12, 0)))
  34249. if libc.Uint64FromInt64(32) < uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size)*uint64(4) {
  34250. v1 = libc.Uint64FromInt64(32)
  34251. } else {
  34252. v1 = uint64((*TFcLangSet)(unsafe.Pointer(l)).Fmap_size) * uint64(4)
  34253. }
  34254. libc.X__builtin___memcpy_chk(tls, l_serialize+12, l+12, v1, uint64(libc.X__builtin_object_size(tls, l_serialize+12, 0)))
  34255. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fmap_size = uint32(m_NUM_LANG_SET_MAP)
  34256. (*TFcLangSet)(unsafe.Pointer(l_serialize)).Fextra = libc.UintptrFromInt32(0) /* We don't serialize ls->extra */
  34257. return l_serialize
  34258. }
  34259. func XFcLangSetGetLangs(tls *libc.TLS, ls uintptr) (r uintptr) {
  34260. var extra, langs, list, v2 uintptr
  34261. var i int32
  34262. _, _, _, _, _ = extra, i, langs, list, v2
  34263. langs = XFcStrSetCreate(tls)
  34264. if !(langs != 0) {
  34265. return uintptr(0)
  34266. }
  34267. i = 0
  34268. for {
  34269. if !(i < int32(m_NUM_LANG_CHAR_SET)) {
  34270. break
  34271. }
  34272. if _FcLangSetBitGet(tls, ls, uint32(i)) != 0 {
  34273. XFcStrSetAdd(tls, langs, uintptr(unsafe.Pointer(&_fcLangData))+uintptr(i)*40)
  34274. }
  34275. goto _1
  34276. _1:
  34277. ;
  34278. i++
  34279. }
  34280. if (*TFcLangSet)(unsafe.Pointer(ls)).Fextra != 0 {
  34281. list = XFcStrListCreate(tls, (*TFcLangSet)(unsafe.Pointer(ls)).Fextra)
  34282. if list != 0 {
  34283. for {
  34284. v2 = XFcStrListNext(tls, list)
  34285. extra = v2
  34286. if !(v2 != 0) {
  34287. break
  34288. }
  34289. XFcStrSetAdd(tls, langs, extra)
  34290. }
  34291. XFcStrListDone(tls, list)
  34292. }
  34293. }
  34294. return langs
  34295. }
  34296. func _FcLangSetOperate(tls *libc.TLS, a uintptr, b uintptr, func1 uintptr) (r uintptr) {
  34297. var langset, set, sl, str, v1 uintptr
  34298. _, _, _, _, _ = langset, set, sl, str, v1
  34299. langset = XFcLangSetCopy(tls, a)
  34300. set = XFcLangSetGetLangs(tls, b)
  34301. sl = XFcStrListCreate(tls, set)
  34302. XFcStrSetDestroy(tls, set)
  34303. for {
  34304. v1 = XFcStrListNext(tls, sl)
  34305. str = v1
  34306. if !(v1 != 0) {
  34307. break
  34308. }
  34309. (*(*func(*libc.TLS, uintptr, uintptr) TFcBool)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, langset, str)
  34310. }
  34311. XFcStrListDone(tls, sl)
  34312. return langset
  34313. }
  34314. func XFcLangSetUnion(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  34315. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetAdd))
  34316. }
  34317. func XFcLangSetSubtract(tls *libc.TLS, a uintptr, b uintptr) (r uintptr) {
  34318. return _FcLangSetOperate(tls, a, b, __ccgo_fp(XFcLangSetDel))
  34319. }
  34320. const m_FC_LIST_HASH_SIZE = 4099
  34321. /*
  34322. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  34323. *
  34324. * @APPLE_LICENSE_HEADER_START@
  34325. *
  34326. * This file contains Original Code and/or Modifications of Original Code
  34327. * as defined in and that are subject to the Apple Public Source License
  34328. * Version 2.0 (the 'License'). You may not use this file except in
  34329. * compliance with the License. Please obtain a copy of the License at
  34330. * http://www.opensource.apple.com/apsl/ and read it before using this
  34331. * file.
  34332. *
  34333. * The Original Code and all software distributed under the License are
  34334. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  34335. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  34336. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  34337. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  34338. * Please see the License for the specific language governing rights and
  34339. * limitations under the License.
  34340. *
  34341. * @APPLE_LICENSE_HEADER_END@
  34342. */
  34343. /*-
  34344. * Copyright (c) 1990, 1993
  34345. * The Regents of the University of California. All rights reserved.
  34346. *
  34347. * Redistribution and use in source and binary forms, with or without
  34348. * modification, are permitted provided that the following conditions
  34349. * are met:
  34350. * 1. Redistributions of source code must retain the above copyright
  34351. * notice, this list of conditions and the following disclaimer.
  34352. * 2. Redistributions in binary form must reproduce the above copyright
  34353. * notice, this list of conditions and the following disclaimer in the
  34354. * documentation and/or other materials provided with the distribution.
  34355. * 3. All advertising materials mentioning features or use of this software
  34356. * must display the following acknowledgement:
  34357. * This product includes software developed by the University of
  34358. * California, Berkeley and its contributors.
  34359. * 4. Neither the name of the University nor the names of its contributors
  34360. * may be used to endorse or promote products derived from this software
  34361. * without specific prior written permission.
  34362. *
  34363. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  34364. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  34365. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  34366. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  34367. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  34368. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  34369. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  34370. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  34371. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  34372. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  34373. * SUCH DAMAGE.
  34374. *
  34375. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  34376. */
  34377. func XFcObjectSetCreate(tls *libc.TLS) (r uintptr) {
  34378. var os uintptr
  34379. _ = os
  34380. os = libc.Xmalloc(tls, uint64(16))
  34381. if !(os != 0) {
  34382. return uintptr(0)
  34383. }
  34384. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject = 0
  34385. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = 0
  34386. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = uintptr(0)
  34387. return os
  34388. }
  34389. func XFcObjectSetAdd(tls *libc.TLS, os uintptr, object uintptr) (r TFcBool) {
  34390. var c, high, low, mid, s int32
  34391. var objects uintptr
  34392. _, _, _, _, _, _ = c, high, low, mid, objects, s
  34393. if (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject == (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject {
  34394. s = (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject + int32(4)
  34395. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  34396. objects = libc.Xrealloc(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects, uint64(s)*uint64(8))
  34397. } else {
  34398. objects = libc.Xmalloc(tls, uint64(s)*uint64(8))
  34399. }
  34400. if !(objects != 0) {
  34401. return m_FcFalse
  34402. }
  34403. (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects = objects
  34404. (*TFcObjectSet)(unsafe.Pointer(os)).Fsobject = s
  34405. }
  34406. high = (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject - int32(1)
  34407. low = 0
  34408. mid = 0
  34409. c = int32(1)
  34410. object = libc.Xstrdup(tls, object)
  34411. for low <= high {
  34412. mid = (low + high) >> int32(1)
  34413. c = int32(int64(*(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8))) - int64(object))
  34414. if c == 0 {
  34415. libc.Xfree(tls, object)
  34416. return int32(m_FcTrue)
  34417. }
  34418. if c < 0 {
  34419. low = mid + int32(1)
  34420. } else {
  34421. high = mid - int32(1)
  34422. }
  34423. }
  34424. if c < 0 {
  34425. mid++
  34426. }
  34427. libc.X__builtin___memmove_chk(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8, uint64((*TFcObjectSet)(unsafe.Pointer(os)).Fnobject-mid)*uint64(8), uint64(libc.X__builtin_object_size(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects+uintptr(mid)*8+uintptr(1)*8, 0)))
  34428. *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(mid)*8)) = object
  34429. (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject++
  34430. return int32(m_FcTrue)
  34431. }
  34432. func XFcObjectSetDestroy(tls *libc.TLS, os uintptr) {
  34433. var i int32
  34434. _ = i
  34435. if (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects != 0 {
  34436. i = 0
  34437. for {
  34438. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  34439. break
  34440. }
  34441. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  34442. goto _1
  34443. _1:
  34444. ;
  34445. i++
  34446. }
  34447. libc.Xfree(tls, (*TFcObjectSet)(unsafe.Pointer(os)).Fobjects)
  34448. }
  34449. libc.Xfree(tls, os)
  34450. }
  34451. func XFcObjectSetVaBuild(tls *libc.TLS, first uintptr, va Tva_list) (r uintptr) {
  34452. var __ob__, __os__, ret uintptr
  34453. _, _, _ = __ob__, __os__, ret
  34454. ret = uintptr(0)
  34455. __os__ = XFcObjectSetCreate(tls)
  34456. if !(__os__ != 0) {
  34457. goto _FcObjectSetVapBuild_bail0
  34458. }
  34459. __ob__ = first
  34460. for __ob__ != 0 {
  34461. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  34462. goto _FcObjectSetVapBuild_bail1
  34463. }
  34464. __ob__ = libc.VaUintptr(&va)
  34465. }
  34466. ret = __os__
  34467. goto _FcObjectSetVapBuild_bail1
  34468. _FcObjectSetVapBuild_bail1:
  34469. ;
  34470. if !(ret != 0) && __os__ != 0 {
  34471. XFcObjectSetDestroy(tls, __os__)
  34472. }
  34473. goto _FcObjectSetVapBuild_bail0
  34474. _FcObjectSetVapBuild_bail0:
  34475. ;
  34476. return ret
  34477. }
  34478. func XFcObjectSetBuild(tls *libc.TLS, first uintptr, va1 uintptr) (r uintptr) {
  34479. var __ob__, __os__, os uintptr
  34480. var va Tva_list
  34481. _, _, _, _ = __ob__, __os__, os, va
  34482. va = va1
  34483. os = uintptr(0)
  34484. __os__ = XFcObjectSetCreate(tls)
  34485. if !(__os__ != 0) {
  34486. goto _FcObjectSetVapBuild_bail0
  34487. }
  34488. __ob__ = first
  34489. for __ob__ != 0 {
  34490. if !(XFcObjectSetAdd(tls, __os__, __ob__) != 0) {
  34491. goto _FcObjectSetVapBuild_bail1
  34492. }
  34493. __ob__ = libc.VaUintptr(&va)
  34494. }
  34495. os = __os__
  34496. goto _FcObjectSetVapBuild_bail1
  34497. _FcObjectSetVapBuild_bail1:
  34498. ;
  34499. if !(os != 0) && __os__ != 0 {
  34500. XFcObjectSetDestroy(tls, __os__)
  34501. }
  34502. goto _FcObjectSetVapBuild_bail0
  34503. _FcObjectSetVapBuild_bail0:
  34504. ;
  34505. _ = va
  34506. return os
  34507. }
  34508. // C documentation
  34509. //
  34510. // /*
  34511. // * Font must have a containing value for every value in the pattern
  34512. // */
  34513. func _FcListValueListMatchAny(tls *libc.TLS, patOrig TFcValueListPtr, fntOrig TFcValueListPtr) (r TFcBool) {
  34514. /* font */
  34515. var fnt, pat TFcValueListPtr
  34516. var v3, v4 uintptr
  34517. _, _, _, _ = fnt, pat, v3, v4
  34518. pat = patOrig
  34519. for {
  34520. if !(pat != libc.UintptrFromInt32(0)) {
  34521. break
  34522. }
  34523. fnt = fntOrig
  34524. for {
  34525. if !(fnt != libc.UintptrFromInt32(0)) {
  34526. break
  34527. }
  34528. /*
  34529. * make sure the font 'contains' the pattern.
  34530. * (OpListing is OpContains except for strings
  34531. * where it requires an exact match)
  34532. */
  34533. if XFcConfigCompareValue(tls, fnt+8, uint32(int32(_FcOpListing)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), pat+8) != 0 {
  34534. break
  34535. }
  34536. goto _2
  34537. _2:
  34538. ;
  34539. if int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(1) != 0 {
  34540. v3 = uintptr(int64(fnt) + int64((*T_FcValueList)(unsafe.Pointer(fnt)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34541. } else {
  34542. v3 = (*T_FcValueList)(unsafe.Pointer(fnt)).Fnext
  34543. }
  34544. fnt = v3
  34545. }
  34546. if fnt == libc.UintptrFromInt32(0) {
  34547. return m_FcFalse
  34548. }
  34549. goto _1
  34550. _1:
  34551. ;
  34552. if int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(1) != 0 {
  34553. v4 = uintptr(int64(pat) + int64((*T_FcValueList)(unsafe.Pointer(pat)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34554. } else {
  34555. v4 = (*T_FcValueList)(unsafe.Pointer(pat)).Fnext
  34556. }
  34557. pat = v4
  34558. }
  34559. return int32(m_FcTrue)
  34560. }
  34561. func _FcListValueListEqual(tls *libc.TLS, v1orig TFcValueListPtr, v2orig TFcValueListPtr) (r TFcBool) {
  34562. var v1, v2 TFcValueListPtr
  34563. var v3, v4, v7, v8 uintptr
  34564. _, _, _, _, _, _ = v1, v2, v3, v4, v7, v8
  34565. v1 = v1orig
  34566. for {
  34567. if !(v1 != libc.UintptrFromInt32(0)) {
  34568. break
  34569. }
  34570. v2 = v2orig
  34571. for {
  34572. if !(v2 != libc.UintptrFromInt32(0)) {
  34573. break
  34574. }
  34575. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  34576. break
  34577. }
  34578. goto _2
  34579. _2:
  34580. ;
  34581. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  34582. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34583. } else {
  34584. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  34585. }
  34586. v2 = v3
  34587. }
  34588. if v2 == libc.UintptrFromInt32(0) {
  34589. return m_FcFalse
  34590. }
  34591. goto _1
  34592. _1:
  34593. ;
  34594. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  34595. v4 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34596. } else {
  34597. v4 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  34598. }
  34599. v1 = v4
  34600. }
  34601. v2 = v2orig
  34602. for {
  34603. if !(v2 != libc.UintptrFromInt32(0)) {
  34604. break
  34605. }
  34606. v1 = v1orig
  34607. for {
  34608. if !(v1 != libc.UintptrFromInt32(0)) {
  34609. break
  34610. }
  34611. if XFcValueEqual(tls, XFcValueCanonicalize(tls, v1+8), XFcValueCanonicalize(tls, v2+8)) != 0 {
  34612. break
  34613. }
  34614. goto _6
  34615. _6:
  34616. ;
  34617. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  34618. v7 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34619. } else {
  34620. v7 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  34621. }
  34622. v1 = v7
  34623. }
  34624. if v1 == libc.UintptrFromInt32(0) {
  34625. return m_FcFalse
  34626. }
  34627. goto _5
  34628. _5:
  34629. ;
  34630. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  34631. v8 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34632. } else {
  34633. v8 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  34634. }
  34635. v2 = v8
  34636. }
  34637. return int32(m_FcTrue)
  34638. }
  34639. func _FcListPatternEqual(tls *libc.TLS, p1 uintptr, p2 uintptr, os uintptr) (r TFcBool) {
  34640. var e1, e2, v2, v3 uintptr
  34641. var i int32
  34642. _, _, _, _, _ = e1, e2, i, v2, v3
  34643. i = 0
  34644. for {
  34645. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  34646. break
  34647. }
  34648. e1 = XFcPatternObjectFindElt(tls, p1, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  34649. e2 = XFcPatternObjectFindElt(tls, p2, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8))))
  34650. if !(e1 != 0) && !(e2 != 0) {
  34651. goto _1
  34652. }
  34653. if !(e1 != 0) || !(e2 != 0) {
  34654. return m_FcFalse
  34655. }
  34656. if int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(1) != 0 {
  34657. v2 = uintptr(int64(e1) + int64((*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34658. } else {
  34659. v2 = (*TFcPatternElt)(unsafe.Pointer(e1)).Fvalues
  34660. }
  34661. if int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(1) != 0 {
  34662. v3 = uintptr(int64(e2) + int64((*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34663. } else {
  34664. v3 = (*TFcPatternElt)(unsafe.Pointer(e2)).Fvalues
  34665. }
  34666. if !(_FcListValueListEqual(tls, v2, v3) != 0) {
  34667. return m_FcFalse
  34668. }
  34669. goto _1
  34670. _1:
  34671. ;
  34672. i++
  34673. }
  34674. return int32(m_FcTrue)
  34675. }
  34676. /*
  34677. * FcTrue iff all objects in "p" match "font"
  34678. */
  34679. func XFcListPatternMatchAny(tls *libc.TLS, p uintptr, font uintptr) (r TFcBool) {
  34680. var fe, pe, v2, v3 uintptr
  34681. var i int32
  34682. _, _, _, _, _ = fe, i, pe, v2, v3
  34683. if !(p != 0) {
  34684. return m_FcFalse
  34685. }
  34686. i = 0
  34687. for {
  34688. if !(i < (*TFcPattern)(unsafe.Pointer(p)).Fnum) {
  34689. break
  34690. }
  34691. pe = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  34692. if (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject == int32(_FC_NAMELANG_OBJECT) {
  34693. /* "namelang" object is the alias object to change "familylang",
  34694. * "stylelang" and "fullnamelang" object all together. it won't be
  34695. * available on the font pattern. so checking its availability
  34696. * causes no results. we should ignore it here.
  34697. */
  34698. goto _1
  34699. }
  34700. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  34701. if !(fe != 0) {
  34702. return m_FcFalse
  34703. }
  34704. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  34705. v2 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34706. } else {
  34707. v2 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  34708. }
  34709. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  34710. v3 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34711. } else {
  34712. v3 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  34713. }
  34714. if !(_FcListValueListMatchAny(tls, v2, v3) != 0) { /* font elts */
  34715. return m_FcFalse
  34716. }
  34717. goto _1
  34718. _1:
  34719. ;
  34720. i++
  34721. }
  34722. return int32(m_FcTrue)
  34723. }
  34724. func _FcListMatrixHash(tls *libc.TLS, m uintptr) (r TFcChar32) {
  34725. var xx, xy, yx, yy int32
  34726. _, _, _, _ = xx, xy, yx, yy
  34727. xx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxx * libc.Float64FromInt32(100))
  34728. xy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fxy * libc.Float64FromInt32(100))
  34729. yx = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyx * libc.Float64FromInt32(100))
  34730. yy = int32((*TFcMatrix)(unsafe.Pointer(m)).Fyy * libc.Float64FromInt32(100))
  34731. return uint32(xx) ^ uint32(xy) ^ uint32(yx) ^ uint32(yy)
  34732. }
  34733. func _FcListValueHash(tls *libc.TLS, value uintptr) (r TFcChar32) {
  34734. bp := tls.Alloc(16)
  34735. defer tls.Free(16)
  34736. var _ /* v at bp+0 */ TFcValue
  34737. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  34738. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, value)
  34739. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  34740. case int32(_FcTypeUnknown):
  34741. fallthrough
  34742. case int32(_FcTypeVoid):
  34743. return uint32(0)
  34744. case int32(_FcTypeInteger):
  34745. return uint32(*(*int32)(unsafe.Pointer(bp + 8)))
  34746. case int32(_FcTypeDouble):
  34747. return uint32(int32(*(*float64)(unsafe.Pointer(bp + 8))))
  34748. case int32(_FcTypeString):
  34749. return XFcStrHashIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  34750. case int32(_FcTypeBool):
  34751. return uint32(*(*TFcBool)(unsafe.Pointer(bp + 8)))
  34752. case int32(_FcTypeMatrix):
  34753. return _FcListMatrixHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  34754. case int32(_FcTypeCharSet):
  34755. return XFcCharSetCount(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  34756. case int32(_FcTypeFTFace):
  34757. return uint32(int64(*(*uintptr)(unsafe.Pointer(bp + 8))))
  34758. case int32(_FcTypeLangSet):
  34759. return XFcLangSetHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  34760. case int32(_FcTypeRange):
  34761. return XFcRangeHash(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  34762. }
  34763. return uint32(0)
  34764. }
  34765. func _FcListValueListHash(tls *libc.TLS, list TFcValueListPtr) (r TFcChar32) {
  34766. var h TFcChar32
  34767. var v1 uintptr
  34768. _, _ = h, v1
  34769. h = uint32(0)
  34770. for list != libc.UintptrFromInt32(0) {
  34771. h = h ^ _FcListValueHash(tls, list+8)
  34772. if int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(1) != 0 {
  34773. v1 = uintptr(int64(list) + int64((*T_FcValueList)(unsafe.Pointer(list)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34774. } else {
  34775. v1 = (*T_FcValueList)(unsafe.Pointer(list)).Fnext
  34776. }
  34777. list = v1
  34778. }
  34779. return h
  34780. }
  34781. func _FcListPatternHash(tls *libc.TLS, font uintptr, os uintptr) (r TFcChar32) {
  34782. var e, v2 uintptr
  34783. var h TFcChar32
  34784. var n int32
  34785. _, _, _, _ = e, h, n, v2
  34786. h = uint32(0)
  34787. n = 0
  34788. for {
  34789. if !(n < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  34790. break
  34791. }
  34792. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(n)*8))))
  34793. if e != 0 {
  34794. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34795. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34796. } else {
  34797. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34798. }
  34799. h = h ^ _FcListValueListHash(tls, v2)
  34800. }
  34801. goto _1
  34802. _1:
  34803. ;
  34804. n++
  34805. }
  34806. return h
  34807. }
  34808. type TFcListBucket = struct {
  34809. Fnext uintptr
  34810. Fhash TFcChar32
  34811. Fpattern uintptr
  34812. }
  34813. type T_FcListBucket = TFcListBucket
  34814. type TFcListHashTable = struct {
  34815. Fentries int32
  34816. Fbuckets [4099]uintptr
  34817. }
  34818. type T_FcListHashTable = TFcListHashTable
  34819. func _FcListHashTableInit(tls *libc.TLS, table uintptr) {
  34820. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  34821. libc.X__builtin___memset_chk(tls, table+8, int32('\000'), uint64(32792), uint64(libc.X__builtin_object_size(tls, table+8, 0)))
  34822. }
  34823. func _FcListHashTableCleanup(tls *libc.TLS, table uintptr) {
  34824. var bucket, next uintptr
  34825. var i int32
  34826. _, _, _ = bucket, i, next
  34827. i = 0
  34828. for {
  34829. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  34830. break
  34831. }
  34832. bucket = *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8))
  34833. for {
  34834. if !(bucket != 0) {
  34835. break
  34836. }
  34837. next = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  34838. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  34839. libc.Xfree(tls, bucket)
  34840. goto _2
  34841. _2:
  34842. ;
  34843. bucket = next
  34844. }
  34845. *(*uintptr)(unsafe.Pointer(table + 8 + uintptr(i)*8)) = uintptr(0)
  34846. goto _1
  34847. _1:
  34848. ;
  34849. i++
  34850. }
  34851. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries = 0
  34852. }
  34853. func _FcGetDefaultObjectLangIndex(tls *libc.TLS, font uintptr, object TFcObject, lang uintptr) (r int32) {
  34854. bp := tls.Alloc(16)
  34855. defer tls.Free(16)
  34856. var defidx, i, idx, v4, v5 int32
  34857. var e, v2, v3 uintptr
  34858. var res TFcLangResult
  34859. var v TFcValueListPtr
  34860. var _ /* value at bp+0 */ TFcValue
  34861. _, _, _, _, _, _, _, _, _, _ = defidx, e, i, idx, res, v, v2, v3, v4, v5
  34862. e = XFcPatternObjectFindElt(tls, font, object)
  34863. idx = -int32(1)
  34864. defidx = -int32(1)
  34865. if e != 0 {
  34866. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34867. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34868. } else {
  34869. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34870. }
  34871. v = v2
  34872. i = libc.Int32FromInt32(0)
  34873. for {
  34874. if !(v != 0) {
  34875. break
  34876. }
  34877. *(*TFcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v+8)
  34878. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeString) {
  34879. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), lang)
  34880. if res == int32(_FcLangEqual) {
  34881. return i
  34882. }
  34883. if res == int32(_FcLangDifferentCountry) && idx < 0 {
  34884. idx = i
  34885. }
  34886. if defidx < 0 {
  34887. /* workaround for fonts that has non-English value
  34888. * at the head of values.
  34889. */
  34890. res = XFcLangCompare(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), __ccgo_ts+2752)
  34891. if res == int32(_FcLangEqual) {
  34892. defidx = i
  34893. }
  34894. }
  34895. }
  34896. goto _1
  34897. _1:
  34898. ;
  34899. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  34900. v3 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  34901. } else {
  34902. v3 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  34903. }
  34904. v = v3
  34905. i++
  34906. }
  34907. }
  34908. if idx > 0 {
  34909. v4 = idx
  34910. } else {
  34911. if defidx > 0 {
  34912. v5 = defidx
  34913. } else {
  34914. v5 = 0
  34915. }
  34916. v4 = v5
  34917. }
  34918. return v4
  34919. }
  34920. func _FcListAppend(tls *libc.TLS, table uintptr, font uintptr, os uintptr, lang uintptr) (r TFcBool) {
  34921. var bucket, e, prev, v2, v5, v6 uintptr
  34922. var defidx, familyidx, fullnameidx, idx, o, styleidx int32
  34923. var hash TFcChar32
  34924. var v TFcValueListPtr
  34925. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = bucket, defidx, e, familyidx, fullnameidx, hash, idx, o, prev, styleidx, v, v2, v5, v6
  34926. familyidx = -int32(1)
  34927. fullnameidx = -int32(1)
  34928. styleidx = -int32(1)
  34929. defidx = 0
  34930. hash = _FcListPatternHash(tls, font, os)
  34931. prev = table + 8 + uintptr(hash%uint32(m_FC_LIST_HASH_SIZE))*8
  34932. for {
  34933. v2 = *(*uintptr)(unsafe.Pointer(prev))
  34934. bucket = v2
  34935. if !(v2 != 0) {
  34936. break
  34937. }
  34938. if (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash == hash && _FcListPatternEqual(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, font, os) != 0 {
  34939. return int32(m_FcTrue)
  34940. }
  34941. goto _1
  34942. _1:
  34943. ;
  34944. prev = bucket
  34945. }
  34946. bucket = libc.Xmalloc(tls, uint64(24))
  34947. if !(bucket != 0) {
  34948. goto bail0
  34949. }
  34950. (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext = uintptr(0)
  34951. (*TFcListBucket)(unsafe.Pointer(bucket)).Fhash = hash
  34952. (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern = XFcPatternCreate(tls)
  34953. if !((*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern != 0) {
  34954. goto bail1
  34955. }
  34956. o = 0
  34957. for {
  34958. if !(o < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  34959. break
  34960. }
  34961. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5977) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5984) != 0) {
  34962. if familyidx < 0 {
  34963. familyidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FAMILYLANG_OBJECT), lang)
  34964. }
  34965. defidx = familyidx
  34966. } else {
  34967. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+5995) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6004) != 0) {
  34968. if fullnameidx < 0 {
  34969. fullnameidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_FULLNAMELANG_OBJECT), lang)
  34970. }
  34971. defidx = fullnameidx
  34972. } else {
  34973. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+4583) != 0) || !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), __ccgo_ts+6017) != 0) {
  34974. if styleidx < 0 {
  34975. styleidx = _FcGetDefaultObjectLangIndex(tls, font, int32(_FC_STYLELANG_OBJECT), lang)
  34976. }
  34977. defidx = styleidx
  34978. } else {
  34979. defidx = 0
  34980. }
  34981. }
  34982. }
  34983. e = XFcPatternObjectFindElt(tls, font, XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8))))
  34984. if e != 0 {
  34985. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  34986. v5 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  34987. } else {
  34988. v5 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  34989. }
  34990. v = v5
  34991. idx = libc.Int32FromInt32(0)
  34992. for {
  34993. if !(v != 0) {
  34994. break
  34995. }
  34996. if !(XFcPatternAdd(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(o)*8)), XFcValueCanonicalize(tls, v+8), libc.BoolInt32(defidx != idx)) != 0) {
  34997. goto bail2
  34998. }
  34999. goto _4
  35000. _4:
  35001. ;
  35002. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  35003. v6 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  35004. } else {
  35005. v6 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  35006. }
  35007. v = v6
  35008. idx++
  35009. }
  35010. }
  35011. goto _3
  35012. _3:
  35013. ;
  35014. o++
  35015. }
  35016. *(*uintptr)(unsafe.Pointer(prev)) = bucket
  35017. (*TFcListHashTable)(unsafe.Pointer(table)).Fentries++
  35018. return int32(m_FcTrue)
  35019. goto bail2
  35020. bail2:
  35021. ;
  35022. XFcPatternDestroy(tls, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern)
  35023. goto bail1
  35024. bail1:
  35025. ;
  35026. libc.Xfree(tls, bucket)
  35027. goto bail0
  35028. bail0:
  35029. ;
  35030. return m_FcFalse
  35031. return r
  35032. }
  35033. func XFcFontSetList(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, os uintptr) (r uintptr) {
  35034. bp := tls.Alloc(32816)
  35035. defer tls.Free(32816)
  35036. var bucket, ret, s, v4 uintptr
  35037. var destroy_os, f, i, set int32
  35038. var _ /* lang at bp+32800 */ uintptr
  35039. var _ /* table at bp+0 */ TFcListHashTable
  35040. _, _, _, _, _, _, _, _ = bucket, destroy_os, f, i, ret, s, set, v4
  35041. destroy_os = 0
  35042. if !(config != 0) {
  35043. if !(XFcInitBringUptoDate(tls) != 0) {
  35044. goto bail0
  35045. }
  35046. }
  35047. config = XFcConfigReference(tls, config)
  35048. if !(config != 0) {
  35049. goto bail0
  35050. }
  35051. _FcListHashTableInit(tls, bp)
  35052. if !(os != 0) {
  35053. os = XFcObjectGetSet(tls)
  35054. destroy_os = int32(1)
  35055. }
  35056. /*
  35057. * Walk all available fonts adding those that
  35058. * match to the hash table
  35059. */
  35060. set = 0
  35061. for {
  35062. if !(set < nsets) {
  35063. break
  35064. }
  35065. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  35066. if !(s != 0) {
  35067. goto _1
  35068. }
  35069. f = 0
  35070. for {
  35071. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  35072. break
  35073. }
  35074. if XFcListPatternMatchAny(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))) != 0 { /* font */
  35075. if XFcPatternObjectGetString(tls, p, int32(_FC_NAMELANG_OBJECT), 0, bp+32800) != int32(_FcResultMatch) {
  35076. *(*uintptr)(unsafe.Pointer(bp + 32800)) = XFcGetDefaultLang(tls)
  35077. }
  35078. if !(_FcListAppend(tls, bp, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), os, *(*uintptr)(unsafe.Pointer(bp + 32800))) != 0) {
  35079. goto bail1
  35080. }
  35081. }
  35082. goto _2
  35083. _2:
  35084. ;
  35085. f++
  35086. }
  35087. goto _1
  35088. _1:
  35089. ;
  35090. set++
  35091. }
  35092. /*
  35093. * Walk the hash table and build
  35094. * a font set
  35095. */
  35096. ret = XFcFontSetCreate(tls)
  35097. if !(ret != 0) {
  35098. goto bail1
  35099. }
  35100. i = 0
  35101. for {
  35102. if !(i < int32(m_FC_LIST_HASH_SIZE)) {
  35103. break
  35104. }
  35105. for {
  35106. v4 = *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8))
  35107. bucket = v4
  35108. if !(v4 != 0) {
  35109. break
  35110. }
  35111. if !(XFcFontSetAdd(tls, ret, (*TFcListBucket)(unsafe.Pointer(bucket)).Fpattern) != 0) {
  35112. goto bail2
  35113. }
  35114. *(*uintptr)(unsafe.Pointer(bp + 8 + uintptr(i)*8)) = (*TFcListBucket)(unsafe.Pointer(bucket)).Fnext
  35115. libc.Xfree(tls, bucket)
  35116. }
  35117. goto _3
  35118. _3:
  35119. ;
  35120. i++
  35121. }
  35122. if destroy_os != 0 {
  35123. XFcObjectSetDestroy(tls, os)
  35124. }
  35125. XFcConfigDestroy(tls, config)
  35126. return ret
  35127. goto bail2
  35128. bail2:
  35129. ;
  35130. XFcFontSetDestroy(tls, ret)
  35131. goto bail1
  35132. bail1:
  35133. ;
  35134. _FcListHashTableCleanup(tls, bp)
  35135. XFcConfigDestroy(tls, config)
  35136. goto bail0
  35137. bail0:
  35138. ;
  35139. if destroy_os != 0 {
  35140. XFcObjectSetDestroy(tls, os)
  35141. }
  35142. return uintptr(0)
  35143. }
  35144. func XFcFontList(tls *libc.TLS, config uintptr, p uintptr, os uintptr) (r uintptr) {
  35145. bp := tls.Alloc(16)
  35146. defer tls.Free(16)
  35147. var nsets, v1, v2 int32
  35148. var ret uintptr
  35149. var _ /* sets at bp+0 */ [2]uintptr
  35150. _, _, _, _ = nsets, ret, v1, v2
  35151. if !(config != 0) {
  35152. if !(XFcInitBringUptoDate(tls) != 0) {
  35153. return uintptr(0)
  35154. }
  35155. }
  35156. config = XFcConfigReference(tls, config)
  35157. if !(config != 0) {
  35158. return libc.UintptrFromInt32(0)
  35159. }
  35160. nsets = 0
  35161. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  35162. v1 = nsets
  35163. nsets++
  35164. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  35165. }
  35166. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  35167. v2 = nsets
  35168. nsets++
  35169. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  35170. }
  35171. ret = XFcFontSetList(tls, config, bp, nsets, p, os)
  35172. XFcConfigDestroy(tls, config)
  35173. return ret
  35174. }
  35175. func _FcCompareNumber(tls *libc.TLS, value1 uintptr, value2 uintptr, bestValue uintptr) (r float64) {
  35176. var v, v1, v2 float64
  35177. _, _, _ = v, v1, v2
  35178. switch (*TFcValue)(unsafe.Pointer(value1)).Ftype1 {
  35179. case int32(_FcTypeInteger):
  35180. v1 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value1)).Fu)))
  35181. case int32(_FcTypeDouble):
  35182. v1 = *(*float64)(unsafe.Pointer(value1 + 8))
  35183. default:
  35184. return -libc.Float64FromFloat64(1)
  35185. }
  35186. switch (*TFcValue)(unsafe.Pointer(value2)).Ftype1 {
  35187. case int32(_FcTypeInteger):
  35188. v2 = float64(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(value2)).Fu)))
  35189. case int32(_FcTypeDouble):
  35190. v2 = *(*float64)(unsafe.Pointer(value2 + 8))
  35191. default:
  35192. return -libc.Float64FromFloat64(1)
  35193. }
  35194. v = v2 - v1
  35195. if v < libc.Float64FromInt32(0) {
  35196. v = -v
  35197. }
  35198. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, value2)
  35199. return v
  35200. }
  35201. func _FcCompareString(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35202. var v11, v21 uintptr
  35203. _, _ = v11, v21
  35204. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35205. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35206. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35207. } else {
  35208. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35209. }
  35210. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35211. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35212. } else {
  35213. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35214. }
  35215. return float64(libc.Bool32(float64(XFcStrCmpIgnoreCase(tls, v11, v21)) != libc.Float64FromInt32(0)))
  35216. }
  35217. func _FcCompareFamily(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35218. var v1_string, v2_string, v11, v21 uintptr
  35219. var v3, v4 int32
  35220. _, _, _, _, _, _ = v1_string, v2_string, v11, v21, v3, v4
  35221. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35222. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35223. } else {
  35224. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35225. }
  35226. /* rely on the guarantee in FcPatternObjectAddWithBinding that
  35227. * families are always FcTypeString. */
  35228. v1_string = v11
  35229. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35230. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35231. } else {
  35232. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35233. }
  35234. v2_string = v21
  35235. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35236. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) && int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  35237. v3 = int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  35238. } else {
  35239. v3 = int32(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  35240. }
  35241. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) && int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  35242. v4 = int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  35243. } else {
  35244. v4 = int32(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  35245. }
  35246. if v3 != v4 && int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  35247. return float64(1)
  35248. }
  35249. return float64(libc.Bool32(float64(XFcStrCmpIgnoreBlanksAndCase(tls, v1_string, v2_string)) != libc.Float64FromInt32(0)))
  35250. }
  35251. func _FcComparePostScript(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35252. var len1, len2, mlen Tsize_t
  35253. var n, v3, v4 int32
  35254. var v1_string, v2_string, v11, v21 uintptr
  35255. var v5 uint64
  35256. _, _, _, _, _, _, _, _, _, _, _ = len1, len2, mlen, n, v1_string, v2_string, v11, v21, v3, v4, v5
  35257. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35258. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35259. } else {
  35260. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35261. }
  35262. v1_string = v11
  35263. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35264. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35265. } else {
  35266. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35267. }
  35268. v2_string = v21
  35269. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35270. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) && int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) <= int32(0132) {
  35271. v3 = int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) - int32(0101) + int32(0141)
  35272. } else {
  35273. v3 = int32(*(*TFcChar8)(unsafe.Pointer(v1_string)))
  35274. }
  35275. if int32(0101) <= int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) && int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) <= int32(0132) {
  35276. v4 = int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) - int32(0101) + int32(0141)
  35277. } else {
  35278. v4 = int32(*(*TFcChar8)(unsafe.Pointer(v2_string)))
  35279. }
  35280. if v3 != v4 && int32(*(*TFcChar8)(unsafe.Pointer(v1_string))) != int32(' ') && int32(*(*TFcChar8)(unsafe.Pointer(v2_string))) != int32(' ') {
  35281. return float64(1)
  35282. }
  35283. n = XFcStrMatchIgnoreCaseAndDelims(tls, v1_string, v2_string, __ccgo_ts+6027)
  35284. len1 = libc.Xstrlen(tls, v1_string)
  35285. len2 = libc.Xstrlen(tls, v2_string)
  35286. if len1 > len2 {
  35287. v5 = len1
  35288. } else {
  35289. v5 = len2
  35290. }
  35291. mlen = v5
  35292. return float64(mlen-uint64(n)) / float64(mlen)
  35293. }
  35294. func _FcCompareLang(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35295. var result TFcLangResult
  35296. var v11, v21, v3, v4, v5, v6, v7, v8 uintptr
  35297. _, _, _, _, _, _, _, _, _ = result, v11, v21, v3, v4, v5, v6, v7, v8
  35298. switch (*TFcValue)(unsafe.Pointer(v1)).Ftype1 {
  35299. case int32(_FcTypeLangSet):
  35300. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  35301. case int32(_FcTypeLangSet):
  35302. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35303. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35304. } else {
  35305. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35306. }
  35307. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35308. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35309. } else {
  35310. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35311. }
  35312. result = XFcLangSetCompare(tls, v11, v21)
  35313. case int32(_FcTypeString):
  35314. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35315. v3 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35316. } else {
  35317. v3 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35318. }
  35319. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35320. v4 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35321. } else {
  35322. v4 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35323. }
  35324. result = XFcLangSetHasLang(tls, v3, v4)
  35325. default:
  35326. return -libc.Float64FromFloat64(1)
  35327. }
  35328. case int32(_FcTypeString):
  35329. switch (*TFcValue)(unsafe.Pointer(v2)).Ftype1 {
  35330. case int32(_FcTypeLangSet):
  35331. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35332. v5 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35333. } else {
  35334. v5 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35335. }
  35336. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35337. v6 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35338. } else {
  35339. v6 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35340. }
  35341. result = XFcLangSetHasLang(tls, v5, v6)
  35342. case int32(_FcTypeString):
  35343. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35344. v7 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35345. } else {
  35346. v7 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35347. }
  35348. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35349. v8 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35350. } else {
  35351. v8 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35352. }
  35353. result = XFcLangCompare(tls, v7, v8)
  35354. default:
  35355. return -libc.Float64FromFloat64(1)
  35356. }
  35357. default:
  35358. return -libc.Float64FromFloat64(1)
  35359. }
  35360. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35361. switch result {
  35362. case int32(_FcLangEqual):
  35363. return libc.Float64FromInt32(0)
  35364. case int32(_FcLangDifferentCountry):
  35365. return libc.Float64FromInt32(1)
  35366. case int32(_FcLangDifferentLang):
  35367. fallthrough
  35368. default:
  35369. return libc.Float64FromInt32(2)
  35370. }
  35371. return r
  35372. }
  35373. func _FcCompareBool(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35374. if (*TFcValue)(unsafe.Pointer(v2)).Ftype1 != int32(_FcTypeBool) || (*TFcValue)(unsafe.Pointer(v1)).Ftype1 != int32(_FcTypeBool) {
  35375. return -libc.Float64FromFloat64(1)
  35376. }
  35377. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeBool)
  35378. if *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu)) != int32(m_FcDontCare) {
  35379. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))
  35380. } else {
  35381. *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(bestValue)).Fu)) = *(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu))
  35382. }
  35383. return float64(libc.Bool32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v2)).Fu))^*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v1)).Fu)) == libc.Int32FromInt32(1)))
  35384. }
  35385. func _FcCompareCharSet(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35386. var v11, v21 uintptr
  35387. _, _ = v11, v21
  35388. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2) /* TODO Improve. */
  35389. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35390. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35391. } else {
  35392. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35393. }
  35394. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35395. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35396. } else {
  35397. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35398. }
  35399. return float64(XFcCharSetSubtractCount(tls, v11, v21))
  35400. }
  35401. func _FcCompareRange(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35402. bp := tls.Alloc(32)
  35403. defer tls.Free(32)
  35404. var b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7 float64
  35405. var _ /* value1 at bp+0 */ TFcValue
  35406. var _ /* value2 at bp+16 */ TFcValue
  35407. _, _, _, _, _, _, _, _, _, _, _, _ = b1, b2, d, e1, e2, v11, v21, v3, v4, v5, v6, v7
  35408. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  35409. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  35410. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  35411. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  35412. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35413. case int32(_FcTypeInteger):
  35414. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  35415. e1 = v11
  35416. b1 = v11
  35417. case int32(_FcTypeDouble):
  35418. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  35419. e1 = v21
  35420. b1 = v21
  35421. case int32(_FcTypeRange):
  35422. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  35423. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  35424. default:
  35425. return float64(-libc.Int32FromInt32(1))
  35426. }
  35427. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35428. case int32(_FcTypeInteger):
  35429. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35430. e2 = v3
  35431. b2 = v3
  35432. case int32(_FcTypeDouble):
  35433. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  35434. e2 = v4
  35435. b2 = v4
  35436. case int32(_FcTypeRange):
  35437. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  35438. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  35439. default:
  35440. return float64(-libc.Int32FromInt32(1))
  35441. }
  35442. if e1 < b2 {
  35443. d = b2
  35444. } else {
  35445. if e2 < b1 {
  35446. d = e2
  35447. } else {
  35448. if b1 > b2 {
  35449. v5 = b1
  35450. } else {
  35451. v5 = b2
  35452. }
  35453. if e1 < e2 {
  35454. v6 = e1
  35455. } else {
  35456. v6 = e2
  35457. }
  35458. d = (v5 + v6) * float64(0.5)
  35459. }
  35460. }
  35461. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  35462. *(*float64)(unsafe.Pointer(bestValue + 8)) = d
  35463. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  35464. if e1 < b2 || e2 < b1 {
  35465. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  35466. v7 = libc.Xfabs(tls, b2-e1)
  35467. } else {
  35468. v7 = libc.Xfabs(tls, b1-e2)
  35469. }
  35470. return v7
  35471. } else {
  35472. return float64(0)
  35473. }
  35474. return r
  35475. }
  35476. func _FcCompareSize(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35477. bp := tls.Alloc(32)
  35478. defer tls.Free(32)
  35479. var b1, b2, e1, e2, v11, v21, v3, v4, v5 float64
  35480. var _ /* value1 at bp+0 */ TFcValue
  35481. var _ /* value2 at bp+16 */ TFcValue
  35482. _, _, _, _, _, _, _, _, _ = b1, b2, e1, e2, v11, v21, v3, v4, v5
  35483. *(*TFcValue)(unsafe.Pointer(bp)) = TFcValue{}
  35484. *(*T_FcValue)(unsafe.Pointer(bp)) = XFcValueCanonicalize(tls, v1)
  35485. *(*TFcValue)(unsafe.Pointer(bp + 16)) = TFcValue{}
  35486. *(*T_FcValue)(unsafe.Pointer(bp + 16)) = XFcValueCanonicalize(tls, v2)
  35487. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  35488. case int32(_FcTypeInteger):
  35489. v11 = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  35490. e1 = v11
  35491. b1 = v11
  35492. case int32(_FcTypeDouble):
  35493. v21 = *(*float64)(unsafe.Pointer(bp + 8))
  35494. e1 = v21
  35495. b1 = v21
  35496. case int32(_FcTypeRange):
  35497. b1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fbegin
  35498. e1 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)))).Fend
  35499. default:
  35500. return float64(-libc.Int32FromInt32(1))
  35501. }
  35502. switch (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  35503. case int32(_FcTypeInteger):
  35504. v3 = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  35505. e2 = v3
  35506. b2 = v3
  35507. case int32(_FcTypeDouble):
  35508. v4 = *(*float64)(unsafe.Pointer(bp + 16 + 8))
  35509. e2 = v4
  35510. b2 = v4
  35511. case int32(_FcTypeRange):
  35512. b2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fbegin
  35513. e2 = (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 16 + 8)))).Fend
  35514. default:
  35515. return float64(-libc.Int32FromInt32(1))
  35516. }
  35517. (*TFcValue)(unsafe.Pointer(bestValue)).Ftype1 = int32(_FcTypeDouble)
  35518. *(*float64)(unsafe.Pointer(bestValue + 8)) = (b1 + e1) * float64(0.5)
  35519. /* If the ranges overlap, it's a match, otherwise return closest distance. */
  35520. if e1 < b2 || e2 < b1 {
  35521. if libc.Xfabs(tls, b2-e1) < libc.Xfabs(tls, b1-e2) {
  35522. v5 = libc.Xfabs(tls, b2-e1)
  35523. } else {
  35524. v5 = libc.Xfabs(tls, b1-e2)
  35525. }
  35526. return v5
  35527. }
  35528. if b2 != e2 && b1 == e2 { /* Semi-closed interval. */
  35529. return float64(1e-15)
  35530. } else {
  35531. return float64(0)
  35532. }
  35533. return r
  35534. }
  35535. func _FcCompareFilename(tls *libc.TLS, v1 uintptr, v2 uintptr, bestValue uintptr) (r float64) {
  35536. var s1, s2, v11, v21 uintptr
  35537. _, _, _, _ = s1, s2, v11, v21
  35538. if int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(1) != 0 {
  35539. v11 = uintptr(int64(v1) + int64(*(*uintptr)(unsafe.Pointer(v1 + 8)))&int64(^libc.Int32FromInt32(1)))
  35540. } else {
  35541. v11 = *(*uintptr)(unsafe.Pointer(v1 + 8))
  35542. }
  35543. s1 = v11
  35544. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(1) != 0 {
  35545. v21 = uintptr(int64(v2) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8)))&int64(^libc.Int32FromInt32(1)))
  35546. } else {
  35547. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8))
  35548. }
  35549. s2 = v21
  35550. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2)
  35551. if XFcStrCmp(tls, s1, s2) == 0 {
  35552. return float64(0)
  35553. } else {
  35554. if XFcStrCmpIgnoreCase(tls, s1, s2) == 0 {
  35555. return float64(1)
  35556. } else {
  35557. if XFcStrGlobMatch(tls, s1, s2) != 0 {
  35558. return float64(2)
  35559. } else {
  35560. return float64(3)
  35561. }
  35562. }
  35563. }
  35564. return r
  35565. }
  35566. /* Define priorities to -1 for objects that don't have a compare function. */
  35567. type TFcMatcherPriorityDummy = int32
  35568. /* Define priorities to -1 for objects that don't have a compare function. */
  35569. type __FcMatcherPriorityDummy = int32
  35570. const _PRI_FAMILYLANG_STRONG = -1
  35571. const _PRI_FAMILYLANG_WEAK = -1
  35572. const _PRI_STYLELANG_STRONG = -1
  35573. const _PRI_STYLELANG_WEAK = -1
  35574. const _PRI_FULLNAME_STRONG = -1
  35575. const _PRI_FULLNAME_WEAK = -1
  35576. const _PRI_FULLNAMELANG_STRONG = -1
  35577. const _PRI_FULLNAMELANG_WEAK = -1
  35578. const _PRI_ASPECT_STRONG = -1
  35579. const _PRI_ASPECT_WEAK = -1
  35580. const _PRI_HINT_STYLE_STRONG = -1
  35581. const _PRI_HINT_STYLE_WEAK = -1
  35582. const _PRI_HINTING_STRONG = -1
  35583. const _PRI_HINTING_WEAK = -1
  35584. const _PRI_VERTICAL_LAYOUT_STRONG = -1
  35585. const _PRI_VERTICAL_LAYOUT_WEAK = -1
  35586. const _PRI_AUTOHINT_STRONG = -1
  35587. const _PRI_AUTOHINT_WEAK = -1
  35588. const _PRI_GLOBAL_ADVANCE_STRONG = -1
  35589. const _PRI_GLOBAL_ADVANCE_WEAK = -1
  35590. const _PRI_INDEX_STRONG = -1
  35591. const _PRI_INDEX_WEAK = -1
  35592. const _PRI_DPI_STRONG = -1
  35593. const _PRI_DPI_WEAK = -1
  35594. const _PRI_RGBA_STRONG = -1
  35595. const _PRI_RGBA_WEAK = -1
  35596. const _PRI_SCALE_STRONG = -1
  35597. const _PRI_SCALE_WEAK = -1
  35598. const _PRI_MINSPACE_STRONG = -1
  35599. const _PRI_MINSPACE_WEAK = -1
  35600. const _PRI_CHARWIDTH_STRONG = -1
  35601. const _PRI_CHARWIDTH_WEAK = -1
  35602. const _PRI_CHAR_HEIGHT_STRONG = -1
  35603. const _PRI_CHAR_HEIGHT_WEAK = -1
  35604. const _PRI_MATRIX_STRONG = -1
  35605. const _PRI_MATRIX_WEAK = -1
  35606. const _PRI_CAPABILITY_STRONG = -1
  35607. const _PRI_CAPABILITY_WEAK = -1
  35608. const _PRI_EMBOLDEN_STRONG = -1
  35609. const _PRI_EMBOLDEN_WEAK = -1
  35610. const _PRI_EMBEDDED_BITMAP_STRONG = -1
  35611. const _PRI_EMBEDDED_BITMAP_WEAK = -1
  35612. const _PRI_LCD_FILTER_STRONG = -1
  35613. const _PRI_LCD_FILTER_WEAK = -1
  35614. const _PRI_NAMELANG_STRONG = -1
  35615. const _PRI_NAMELANG_WEAK = -1
  35616. const _PRI_FONT_FEATURES_STRONG = -1
  35617. const _PRI_FONT_FEATURES_WEAK = -1
  35618. const _PRI_PRGNAME_STRONG = -1
  35619. const _PRI_PRGNAME_WEAK = -1
  35620. const _PRI_HASH_STRONG = -1
  35621. const _PRI_HASH_WEAK = -1
  35622. const _PRI_FONT_VARIATIONS_STRONG = -1
  35623. const _PRI_FONT_VARIATIONS_WEAK = -1
  35624. /* Canonical match priority order. */
  35625. type TFcMatcherPriority = int32
  35626. /* Canonical match priority order. */
  35627. type __FcMatcherPriority = int32
  35628. const _PRI_FILE = 0
  35629. const _PRI_FILE_STRONG = 0
  35630. const _PRI_FILE_WEAK = 0
  35631. const _PRI_FONTFORMAT = 1
  35632. const _PRI_FONTFORMAT_STRONG = 1
  35633. const _PRI_FONTFORMAT_WEAK = 1
  35634. const _PRI_VARIABLE = 2
  35635. const _PRI_VARIABLE_STRONG = 2
  35636. const _PRI_VARIABLE_WEAK = 2
  35637. const _PRI_SCALABLE = 3
  35638. const _PRI_SCALABLE_STRONG = 3
  35639. const _PRI_SCALABLE_WEAK = 3
  35640. const _PRI_COLOR = 4
  35641. const _PRI_COLOR_STRONG = 4
  35642. const _PRI_COLOR_WEAK = 4
  35643. const _PRI_FOUNDRY = 5
  35644. const _PRI_FOUNDRY_STRONG = 5
  35645. const _PRI_FOUNDRY_WEAK = 5
  35646. const _PRI_CHARSET = 6
  35647. const _PRI_CHARSET_STRONG = 6
  35648. const _PRI_CHARSET_WEAK = 6
  35649. const _PRI_FAMILY_STRONG = 7
  35650. const _PRI_POSTSCRIPT_NAME_STRONG = 8
  35651. const _PRI_LANG = 9
  35652. const _PRI_LANG_STRONG = 9
  35653. const _PRI_LANG_WEAK = 9
  35654. const _PRI_FAMILY_WEAK = 10
  35655. const _PRI_POSTSCRIPT_NAME_WEAK = 11
  35656. const _PRI_SYMBOL = 12
  35657. const _PRI_SYMBOL_STRONG = 12
  35658. const _PRI_SYMBOL_WEAK = 12
  35659. const _PRI_SPACING = 13
  35660. const _PRI_SPACING_STRONG = 13
  35661. const _PRI_SPACING_WEAK = 13
  35662. const _PRI_SIZE = 14
  35663. const _PRI_SIZE_STRONG = 14
  35664. const _PRI_SIZE_WEAK = 14
  35665. const _PRI_PIXEL_SIZE = 15
  35666. const _PRI_PIXEL_SIZE_STRONG = 15
  35667. const _PRI_PIXEL_SIZE_WEAK = 15
  35668. const _PRI_STYLE = 16
  35669. const _PRI_STYLE_STRONG = 16
  35670. const _PRI_STYLE_WEAK = 16
  35671. const _PRI_SLANT = 17
  35672. const _PRI_SLANT_STRONG = 17
  35673. const _PRI_SLANT_WEAK = 17
  35674. const _PRI_WEIGHT = 18
  35675. const _PRI_WEIGHT_STRONG = 18
  35676. const _PRI_WEIGHT_WEAK = 18
  35677. const _PRI_WIDTH = 19
  35678. const _PRI_WIDTH_STRONG = 19
  35679. const _PRI_WIDTH_WEAK = 19
  35680. const _PRI_FONT_HAS_HINT = 20
  35681. const _PRI_FONT_HAS_HINT_STRONG = 20
  35682. const _PRI_FONT_HAS_HINT_WEAK = 20
  35683. const _PRI_DECORATIVE = 21
  35684. const _PRI_DECORATIVE_STRONG = 21
  35685. const _PRI_DECORATIVE_WEAK = 21
  35686. const _PRI_ANTIALIAS = 22
  35687. const _PRI_ANTIALIAS_STRONG = 22
  35688. const _PRI_ANTIALIAS_WEAK = 22
  35689. const _PRI_RASTERIZER = 23
  35690. const _PRI_RASTERIZER_STRONG = 23
  35691. const _PRI_RASTERIZER_WEAK = 23
  35692. const _PRI_OUTLINE = 24
  35693. const _PRI_OUTLINE_STRONG = 24
  35694. const _PRI_OUTLINE_WEAK = 24
  35695. const _PRI_ORDER = 25
  35696. const _PRI_ORDER_STRONG = 25
  35697. const _PRI_ORDER_WEAK = 25
  35698. const _PRI_FONTVERSION = 26
  35699. const _PRI_FONTVERSION_STRONG = 26
  35700. const _PRI_FONTVERSION_WEAK = 26
  35701. const _PRI_END = 27
  35702. type TFcMatcher = struct {
  35703. Fobject TFcObject
  35704. Fcompare uintptr
  35705. Fstrong int32
  35706. Fweak int32
  35707. }
  35708. type T_FcMatcher = TFcMatcher
  35709. // C documentation
  35710. //
  35711. // /*
  35712. // * Order is significant, it defines the precedence of
  35713. // * each value, earlier values are more significant than
  35714. // * later values
  35715. // */
  35716. var __FcMatchers = [53]TFcMatcher{
  35717. 0: {
  35718. Fstrong: -int32(1),
  35719. Fweak: -int32(1),
  35720. },
  35721. 1: {
  35722. Fobject: int32(_FC_FAMILY_OBJECT),
  35723. Fstrong: int32(_PRI_FAMILY_STRONG),
  35724. Fweak: int32(_PRI_FAMILY_WEAK),
  35725. },
  35726. 2: {
  35727. Fobject: int32(_FC_FAMILYLANG_OBJECT),
  35728. Fstrong: int32(_PRI_FAMILYLANG_STRONG),
  35729. Fweak: int32(_PRI_FAMILYLANG_WEAK),
  35730. },
  35731. 3: {
  35732. Fobject: int32(_FC_STYLE_OBJECT),
  35733. Fstrong: int32(_PRI_STYLE_STRONG),
  35734. Fweak: int32(_PRI_STYLE_WEAK),
  35735. },
  35736. 4: {
  35737. Fobject: int32(_FC_STYLELANG_OBJECT),
  35738. Fstrong: int32(_PRI_STYLELANG_STRONG),
  35739. Fweak: int32(_PRI_STYLELANG_WEAK),
  35740. },
  35741. 5: {
  35742. Fobject: int32(_FC_FULLNAME_OBJECT),
  35743. Fstrong: int32(_PRI_FULLNAME_STRONG),
  35744. Fweak: int32(_PRI_FULLNAME_WEAK),
  35745. },
  35746. 6: {
  35747. Fobject: int32(_FC_FULLNAMELANG_OBJECT),
  35748. Fstrong: int32(_PRI_FULLNAMELANG_STRONG),
  35749. Fweak: int32(_PRI_FULLNAMELANG_WEAK),
  35750. },
  35751. 7: {
  35752. Fobject: int32(_FC_SLANT_OBJECT),
  35753. Fstrong: int32(_PRI_SLANT_STRONG),
  35754. Fweak: int32(_PRI_SLANT_WEAK),
  35755. },
  35756. 8: {
  35757. Fobject: int32(_FC_WEIGHT_OBJECT),
  35758. Fstrong: int32(_PRI_WEIGHT_STRONG),
  35759. Fweak: int32(_PRI_WEIGHT_WEAK),
  35760. },
  35761. 9: {
  35762. Fobject: int32(_FC_WIDTH_OBJECT),
  35763. Fstrong: int32(_PRI_WIDTH_STRONG),
  35764. Fweak: int32(_PRI_WIDTH_WEAK),
  35765. },
  35766. 10: {
  35767. Fobject: int32(_FC_SIZE_OBJECT),
  35768. Fstrong: int32(_PRI_SIZE_STRONG),
  35769. Fweak: int32(_PRI_SIZE_WEAK),
  35770. },
  35771. 11: {
  35772. Fobject: int32(_FC_ASPECT_OBJECT),
  35773. Fstrong: int32(_PRI_ASPECT_STRONG),
  35774. Fweak: int32(_PRI_ASPECT_WEAK),
  35775. },
  35776. 12: {
  35777. Fobject: int32(_FC_PIXEL_SIZE_OBJECT),
  35778. Fstrong: int32(_PRI_PIXEL_SIZE_STRONG),
  35779. Fweak: int32(_PRI_PIXEL_SIZE_WEAK),
  35780. },
  35781. 13: {
  35782. Fobject: int32(_FC_SPACING_OBJECT),
  35783. Fstrong: int32(_PRI_SPACING_STRONG),
  35784. Fweak: int32(_PRI_SPACING_WEAK),
  35785. },
  35786. 14: {
  35787. Fobject: int32(_FC_FOUNDRY_OBJECT),
  35788. Fstrong: int32(_PRI_FOUNDRY_STRONG),
  35789. Fweak: int32(_PRI_FOUNDRY_WEAK),
  35790. },
  35791. 15: {
  35792. Fobject: int32(_FC_ANTIALIAS_OBJECT),
  35793. Fstrong: int32(_PRI_ANTIALIAS_STRONG),
  35794. Fweak: int32(_PRI_ANTIALIAS_WEAK),
  35795. },
  35796. 16: {
  35797. Fobject: int32(_FC_HINT_STYLE_OBJECT),
  35798. Fstrong: int32(_PRI_HINT_STYLE_STRONG),
  35799. Fweak: int32(_PRI_HINT_STYLE_WEAK),
  35800. },
  35801. 17: {
  35802. Fobject: int32(_FC_HINTING_OBJECT),
  35803. Fstrong: int32(_PRI_HINTING_STRONG),
  35804. Fweak: int32(_PRI_HINTING_WEAK),
  35805. },
  35806. 18: {
  35807. Fobject: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  35808. Fstrong: int32(_PRI_VERTICAL_LAYOUT_STRONG),
  35809. Fweak: int32(_PRI_VERTICAL_LAYOUT_WEAK),
  35810. },
  35811. 19: {
  35812. Fobject: int32(_FC_AUTOHINT_OBJECT),
  35813. Fstrong: int32(_PRI_AUTOHINT_STRONG),
  35814. Fweak: int32(_PRI_AUTOHINT_WEAK),
  35815. },
  35816. 20: {
  35817. Fobject: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  35818. Fstrong: int32(_PRI_GLOBAL_ADVANCE_STRONG),
  35819. Fweak: int32(_PRI_GLOBAL_ADVANCE_WEAK),
  35820. },
  35821. 21: {
  35822. Fobject: int32(_FC_FILE_OBJECT),
  35823. },
  35824. 22: {
  35825. Fobject: int32(_FC_INDEX_OBJECT),
  35826. Fstrong: int32(_PRI_INDEX_STRONG),
  35827. Fweak: int32(_PRI_INDEX_WEAK),
  35828. },
  35829. 23: {
  35830. Fobject: int32(_FC_RASTERIZER_OBJECT),
  35831. Fstrong: int32(_PRI_RASTERIZER_STRONG),
  35832. Fweak: int32(_PRI_RASTERIZER_WEAK),
  35833. },
  35834. 24: {
  35835. Fobject: int32(_FC_OUTLINE_OBJECT),
  35836. Fstrong: int32(_PRI_OUTLINE_STRONG),
  35837. Fweak: int32(_PRI_OUTLINE_WEAK),
  35838. },
  35839. 25: {
  35840. Fobject: int32(_FC_SCALABLE_OBJECT),
  35841. Fstrong: int32(_PRI_SCALABLE_STRONG),
  35842. Fweak: int32(_PRI_SCALABLE_WEAK),
  35843. },
  35844. 26: {
  35845. Fobject: int32(_FC_DPI_OBJECT),
  35846. Fstrong: int32(_PRI_DPI_STRONG),
  35847. Fweak: int32(_PRI_DPI_WEAK),
  35848. },
  35849. 27: {
  35850. Fobject: int32(_FC_RGBA_OBJECT),
  35851. Fstrong: int32(_PRI_RGBA_STRONG),
  35852. Fweak: int32(_PRI_RGBA_WEAK),
  35853. },
  35854. 28: {
  35855. Fobject: int32(_FC_SCALE_OBJECT),
  35856. Fstrong: int32(_PRI_SCALE_STRONG),
  35857. Fweak: int32(_PRI_SCALE_WEAK),
  35858. },
  35859. 29: {
  35860. Fobject: int32(_FC_MINSPACE_OBJECT),
  35861. Fstrong: int32(_PRI_MINSPACE_STRONG),
  35862. Fweak: int32(_PRI_MINSPACE_WEAK),
  35863. },
  35864. 30: {
  35865. Fobject: int32(_FC_CHARWIDTH_OBJECT),
  35866. Fstrong: int32(_PRI_CHARWIDTH_STRONG),
  35867. Fweak: int32(_PRI_CHARWIDTH_WEAK),
  35868. },
  35869. 31: {
  35870. Fobject: int32(_FC_CHAR_HEIGHT_OBJECT),
  35871. Fstrong: int32(_PRI_CHAR_HEIGHT_STRONG),
  35872. Fweak: int32(_PRI_CHAR_HEIGHT_WEAK),
  35873. },
  35874. 32: {
  35875. Fobject: int32(_FC_MATRIX_OBJECT),
  35876. Fstrong: int32(_PRI_MATRIX_STRONG),
  35877. Fweak: int32(_PRI_MATRIX_WEAK),
  35878. },
  35879. 33: {
  35880. Fobject: int32(_FC_CHARSET_OBJECT),
  35881. Fstrong: int32(_PRI_CHARSET_STRONG),
  35882. Fweak: int32(_PRI_CHARSET_WEAK),
  35883. },
  35884. 34: {
  35885. Fobject: int32(_FC_LANG_OBJECT),
  35886. Fstrong: int32(_PRI_LANG_STRONG),
  35887. Fweak: int32(_PRI_LANG_WEAK),
  35888. },
  35889. 35: {
  35890. Fobject: int32(_FC_FONTVERSION_OBJECT),
  35891. Fstrong: int32(_PRI_FONTVERSION_STRONG),
  35892. Fweak: int32(_PRI_FONTVERSION_WEAK),
  35893. },
  35894. 36: {
  35895. Fobject: int32(_FC_CAPABILITY_OBJECT),
  35896. Fstrong: int32(_PRI_CAPABILITY_STRONG),
  35897. Fweak: int32(_PRI_CAPABILITY_WEAK),
  35898. },
  35899. 37: {
  35900. Fobject: int32(_FC_FONTFORMAT_OBJECT),
  35901. Fstrong: int32(_PRI_FONTFORMAT_STRONG),
  35902. Fweak: int32(_PRI_FONTFORMAT_WEAK),
  35903. },
  35904. 38: {
  35905. Fobject: int32(_FC_EMBOLDEN_OBJECT),
  35906. Fstrong: int32(_PRI_EMBOLDEN_STRONG),
  35907. Fweak: int32(_PRI_EMBOLDEN_WEAK),
  35908. },
  35909. 39: {
  35910. Fobject: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  35911. Fstrong: int32(_PRI_EMBEDDED_BITMAP_STRONG),
  35912. Fweak: int32(_PRI_EMBEDDED_BITMAP_WEAK),
  35913. },
  35914. 40: {
  35915. Fobject: int32(_FC_DECORATIVE_OBJECT),
  35916. Fstrong: int32(_PRI_DECORATIVE_STRONG),
  35917. Fweak: int32(_PRI_DECORATIVE_WEAK),
  35918. },
  35919. 41: {
  35920. Fobject: int32(_FC_LCD_FILTER_OBJECT),
  35921. Fstrong: int32(_PRI_LCD_FILTER_STRONG),
  35922. Fweak: int32(_PRI_LCD_FILTER_WEAK),
  35923. },
  35924. 42: {
  35925. Fobject: int32(_FC_NAMELANG_OBJECT),
  35926. Fstrong: int32(_PRI_NAMELANG_STRONG),
  35927. Fweak: int32(_PRI_NAMELANG_WEAK),
  35928. },
  35929. 43: {
  35930. Fobject: int32(_FC_FONT_FEATURES_OBJECT),
  35931. Fstrong: int32(_PRI_FONT_FEATURES_STRONG),
  35932. Fweak: int32(_PRI_FONT_FEATURES_WEAK),
  35933. },
  35934. 44: {
  35935. Fobject: int32(_FC_PRGNAME_OBJECT),
  35936. Fstrong: int32(_PRI_PRGNAME_STRONG),
  35937. Fweak: int32(_PRI_PRGNAME_WEAK),
  35938. },
  35939. 45: {
  35940. Fobject: int32(_FC_HASH_OBJECT),
  35941. Fstrong: int32(_PRI_HASH_STRONG),
  35942. Fweak: int32(_PRI_HASH_WEAK),
  35943. },
  35944. 46: {
  35945. Fobject: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  35946. Fstrong: int32(_PRI_POSTSCRIPT_NAME_STRONG),
  35947. Fweak: int32(_PRI_POSTSCRIPT_NAME_WEAK),
  35948. },
  35949. 47: {
  35950. Fobject: int32(_FC_COLOR_OBJECT),
  35951. Fstrong: int32(_PRI_COLOR_STRONG),
  35952. Fweak: int32(_PRI_COLOR_WEAK),
  35953. },
  35954. 48: {
  35955. Fobject: int32(_FC_SYMBOL_OBJECT),
  35956. Fstrong: int32(_PRI_SYMBOL_STRONG),
  35957. Fweak: int32(_PRI_SYMBOL_WEAK),
  35958. },
  35959. 49: {
  35960. Fobject: int32(_FC_FONT_VARIATIONS_OBJECT),
  35961. Fstrong: int32(_PRI_FONT_VARIATIONS_STRONG),
  35962. Fweak: int32(_PRI_FONT_VARIATIONS_WEAK),
  35963. },
  35964. 50: {
  35965. Fobject: int32(_FC_VARIABLE_OBJECT),
  35966. Fstrong: int32(_PRI_VARIABLE_STRONG),
  35967. Fweak: int32(_PRI_VARIABLE_WEAK),
  35968. },
  35969. 51: {
  35970. Fobject: int32(_FC_FONT_HAS_HINT_OBJECT),
  35971. Fstrong: int32(_PRI_FONT_HAS_HINT_STRONG),
  35972. Fweak: int32(_PRI_FONT_HAS_HINT_WEAK),
  35973. },
  35974. 52: {
  35975. Fobject: int32(_FC_ORDER_OBJECT),
  35976. Fstrong: int32(_PRI_ORDER_STRONG),
  35977. Fweak: int32(_PRI_ORDER_WEAK),
  35978. },
  35979. }
  35980. func init() {
  35981. p := unsafe.Pointer(&__FcMatchers)
  35982. *(*uintptr)(unsafe.Add(p, 32)) = __ccgo_fp(_FcCompareFamily)
  35983. *(*uintptr)(unsafe.Add(p, 80)) = __ccgo_fp(_FcCompareString)
  35984. *(*uintptr)(unsafe.Add(p, 176)) = __ccgo_fp(_FcCompareNumber)
  35985. *(*uintptr)(unsafe.Add(p, 200)) = __ccgo_fp(_FcCompareRange)
  35986. *(*uintptr)(unsafe.Add(p, 224)) = __ccgo_fp(_FcCompareRange)
  35987. *(*uintptr)(unsafe.Add(p, 248)) = __ccgo_fp(_FcCompareSize)
  35988. *(*uintptr)(unsafe.Add(p, 296)) = __ccgo_fp(_FcCompareNumber)
  35989. *(*uintptr)(unsafe.Add(p, 320)) = __ccgo_fp(_FcCompareNumber)
  35990. *(*uintptr)(unsafe.Add(p, 344)) = __ccgo_fp(_FcCompareString)
  35991. *(*uintptr)(unsafe.Add(p, 368)) = __ccgo_fp(_FcCompareBool)
  35992. *(*uintptr)(unsafe.Add(p, 512)) = __ccgo_fp(_FcCompareFilename)
  35993. *(*uintptr)(unsafe.Add(p, 560)) = __ccgo_fp(_FcCompareString)
  35994. *(*uintptr)(unsafe.Add(p, 584)) = __ccgo_fp(_FcCompareBool)
  35995. *(*uintptr)(unsafe.Add(p, 608)) = __ccgo_fp(_FcCompareBool)
  35996. *(*uintptr)(unsafe.Add(p, 800)) = __ccgo_fp(_FcCompareCharSet)
  35997. *(*uintptr)(unsafe.Add(p, 824)) = __ccgo_fp(_FcCompareLang)
  35998. *(*uintptr)(unsafe.Add(p, 848)) = __ccgo_fp(_FcCompareNumber)
  35999. *(*uintptr)(unsafe.Add(p, 896)) = __ccgo_fp(_FcCompareString)
  36000. *(*uintptr)(unsafe.Add(p, 968)) = __ccgo_fp(_FcCompareBool)
  36001. *(*uintptr)(unsafe.Add(p, 1112)) = __ccgo_fp(_FcComparePostScript)
  36002. *(*uintptr)(unsafe.Add(p, 1136)) = __ccgo_fp(_FcCompareBool)
  36003. *(*uintptr)(unsafe.Add(p, 1160)) = __ccgo_fp(_FcCompareBool)
  36004. *(*uintptr)(unsafe.Add(p, 1208)) = __ccgo_fp(_FcCompareBool)
  36005. *(*uintptr)(unsafe.Add(p, 1232)) = __ccgo_fp(_FcCompareBool)
  36006. *(*uintptr)(unsafe.Add(p, 1256)) = __ccgo_fp(_FcCompareNumber)
  36007. }
  36008. func _FcObjectToMatcher(tls *libc.TLS, object TFcObject, include_lang TFcBool) (r uintptr) {
  36009. if include_lang != 0 {
  36010. switch object {
  36011. case int32(_FC_FAMILYLANG_OBJECT):
  36012. fallthrough
  36013. case int32(_FC_STYLELANG_OBJECT):
  36014. fallthrough
  36015. case int32(_FC_FULLNAMELANG_OBJECT):
  36016. object = int32(_FC_LANG_OBJECT)
  36017. break
  36018. }
  36019. }
  36020. 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) {
  36021. return libc.UintptrFromInt32(0)
  36022. }
  36023. return uintptr(unsafe.Pointer(&__FcMatchers)) + uintptr(object)*24
  36024. }
  36025. func _FcCompareValueList(tls *libc.TLS, object TFcObject, match uintptr, v1orig TFcValueListPtr, v2orig TFcValueListPtr, bestValue uintptr, value uintptr, n uintptr, result uintptr) (r TFcBool) {
  36026. bp := tls.Alloc(48)
  36027. defer tls.Free(48)
  36028. var best, bestStrong, bestWeak, v float64
  36029. var j, k, pos, strong, weak, v3 int32
  36030. var v1, v2 TFcValueListPtr
  36031. var v4, v5 uintptr
  36032. var _ /* matchValue at bp+0 */ TFcValue
  36033. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestStrong, bestWeak, j, k, pos, strong, v, v1, v2, weak, v3, v4, v5
  36034. pos = 0
  36035. if !(match != 0) {
  36036. if bestValue != 0 {
  36037. *(*TFcValue)(unsafe.Pointer(bestValue)) = XFcValueCanonicalize(tls, v2orig+8)
  36038. }
  36039. if n != 0 {
  36040. *(*int32)(unsafe.Pointer(n)) = 0
  36041. }
  36042. return int32(m_FcTrue)
  36043. }
  36044. weak = (*TFcMatcher)(unsafe.Pointer(match)).Fweak
  36045. strong = (*TFcMatcher)(unsafe.Pointer(match)).Fstrong
  36046. best = float64(1e+99)
  36047. bestStrong = float64(1e+99)
  36048. bestWeak = float64(1e+99)
  36049. v1 = v1orig
  36050. j = libc.Int32FromInt32(0)
  36051. for {
  36052. if !(v1 != 0) {
  36053. break
  36054. }
  36055. v2 = v2orig
  36056. k = libc.Int32FromInt32(0)
  36057. for {
  36058. if !(v2 != 0) {
  36059. break
  36060. }
  36061. v = (*(*func(*libc.TLS, uintptr, uintptr, uintptr) float64)(unsafe.Pointer(&struct{ uintptr }{(*TFcMatcher)(unsafe.Pointer(match)).Fcompare})))(tls, v1+8, v2+8, bp)
  36062. if v < libc.Float64FromInt32(0) {
  36063. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultTypeMismatch)
  36064. return m_FcFalse
  36065. }
  36066. if (*T_FcValueList)(unsafe.Pointer(v2)).Fvalue.Ftype1 == int32(_FcTypeString) {
  36067. v3 = int32(1)
  36068. } else {
  36069. v3 = 0
  36070. }
  36071. v = v*libc.Float64FromInt32(1000) + float64(j*int32(100)) + float64(k*v3)
  36072. if v < best {
  36073. if bestValue != 0 {
  36074. *(*TFcValue)(unsafe.Pointer(bestValue)) = *(*TFcValue)(unsafe.Pointer(bp))
  36075. }
  36076. best = v
  36077. pos = k
  36078. }
  36079. if weak == strong {
  36080. /* found the best possible match */
  36081. if best < libc.Float64FromInt32(1000) {
  36082. goto done
  36083. }
  36084. } else {
  36085. if (*T_FcValueList)(unsafe.Pointer(v1)).Fbinding == int32(_FcValueBindingStrong) {
  36086. if v < bestStrong {
  36087. bestStrong = v
  36088. }
  36089. } else {
  36090. if v < bestWeak {
  36091. bestWeak = v
  36092. }
  36093. }
  36094. }
  36095. goto _2
  36096. _2:
  36097. ;
  36098. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  36099. v4 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36100. } else {
  36101. v4 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  36102. }
  36103. v2 = v4
  36104. k++
  36105. }
  36106. goto _1
  36107. _1:
  36108. ;
  36109. if int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(1) != 0 {
  36110. v5 = uintptr(int64(v1) + int64((*T_FcValueList)(unsafe.Pointer(v1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36111. } else {
  36112. v5 = (*T_FcValueList)(unsafe.Pointer(v1)).Fnext
  36113. }
  36114. v1 = v5
  36115. j++
  36116. }
  36117. goto done
  36118. done:
  36119. ;
  36120. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36121. libc.Xprintf(tls, __ccgo_ts+6030, libc.VaList(bp+24, XFcObjectName(tls, object), best))
  36122. XFcValueListPrint(tls, v1orig)
  36123. libc.Xprintf(tls, __ccgo_ts+6039, 0)
  36124. XFcValueListPrint(tls, v2orig)
  36125. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  36126. }
  36127. if value != 0 {
  36128. if weak == strong {
  36129. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += best
  36130. } else {
  36131. *(*float64)(unsafe.Pointer(value + uintptr(weak)*8)) += bestWeak
  36132. *(*float64)(unsafe.Pointer(value + uintptr(strong)*8)) += bestStrong
  36133. }
  36134. }
  36135. if n != 0 {
  36136. *(*int32)(unsafe.Pointer(n)) = pos
  36137. }
  36138. return int32(m_FcTrue)
  36139. }
  36140. // C documentation
  36141. //
  36142. // /* The bulk of the time in FcFontMatch and FcFontSort goes to
  36143. // * walking long lists of family names. We speed this up with a
  36144. // * hash table.
  36145. // */
  36146. type TFamilyEntry = struct {
  36147. Fstrong_value float64
  36148. Fweak_value float64
  36149. }
  36150. type TFcCompareData = struct {
  36151. Ffamily_hash uintptr
  36152. }
  36153. func _FcCompareDataClear(tls *libc.TLS, data uintptr) {
  36154. XFcHashTableDestroy(tls, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash)
  36155. }
  36156. func _FcCompareDataInit(tls *libc.TLS, pat uintptr, data uintptr) {
  36157. bp := tls.Alloc(16)
  36158. defer tls.Free(16)
  36159. var elt, key, table, v2, v3, v4 uintptr
  36160. var i int32
  36161. var l TFcValueListPtr
  36162. var _ /* e at bp+0 */ uintptr
  36163. _, _, _, _, _, _, _, _ = elt, i, key, l, table, v2, v3, v4
  36164. table = XFcHashTableCreate(tls, __ccgo_fp(XFcStrHashIgnoreBlanksAndCase), __ccgo_fp(XFcStrCmpIgnoreBlanksAndCase), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), __ccgo_fp(libc.Xfree))
  36165. elt = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  36166. if elt != 0 {
  36167. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  36168. v2 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36169. } else {
  36170. v2 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  36171. }
  36172. l = v2
  36173. i = libc.Int32FromInt32(0)
  36174. for {
  36175. if !(l != 0) {
  36176. break
  36177. }
  36178. if int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(1) != 0 {
  36179. v3 = uintptr(Tintptr_t(l+8) + int64(*(*uintptr)(unsafe.Pointer(l + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  36180. } else {
  36181. v3 = *(*uintptr)(unsafe.Pointer(l + 8 + 8))
  36182. }
  36183. key = v3
  36184. if !(XFcHashTableFind(tls, table, key, bp) != 0) {
  36185. *(*uintptr)(unsafe.Pointer(bp)) = libc.Xmalloc(tls, uint64(16))
  36186. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(1e+99)
  36187. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(1e+99)
  36188. XFcHashTableAdd(tls, table, key, *(*uintptr)(unsafe.Pointer(bp)))
  36189. }
  36190. if (*T_FcValueList)(unsafe.Pointer(l)).Fbinding == int32(_FcValueBindingWeak) {
  36191. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value {
  36192. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value = float64(i)
  36193. }
  36194. } else {
  36195. if float64(i) < (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value {
  36196. (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value = float64(i)
  36197. }
  36198. }
  36199. goto _1
  36200. _1:
  36201. ;
  36202. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  36203. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36204. } else {
  36205. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  36206. }
  36207. l = v4
  36208. i++
  36209. }
  36210. }
  36211. (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash = table
  36212. }
  36213. func _FcCompareFamilies(tls *libc.TLS, pat uintptr, v1orig TFcValueListPtr, fnt uintptr, v2orig TFcValueListPtr, value uintptr, result uintptr, table uintptr) (r TFcBool) {
  36214. bp := tls.Alloc(32)
  36215. defer tls.Free(32)
  36216. var key, v21, v3 uintptr
  36217. var strong_value, weak_value float64
  36218. var v2 TFcValueListPtr
  36219. var _ /* e at bp+0 */ uintptr
  36220. _, _, _, _, _, _ = key, strong_value, v2, weak_value, v21, v3
  36221. strong_value = float64(1e+99)
  36222. weak_value = float64(1e+99)
  36223. v2 = v2orig
  36224. for {
  36225. if !(v2 != 0) {
  36226. break
  36227. }
  36228. if int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(1) != 0 {
  36229. v21 = uintptr(Tintptr_t(v2+8) + int64(*(*uintptr)(unsafe.Pointer(v2 + 8 + 8)))&int64(^libc.Int32FromInt32(1)))
  36230. } else {
  36231. v21 = *(*uintptr)(unsafe.Pointer(v2 + 8 + 8))
  36232. }
  36233. key = v21
  36234. if XFcHashTableFind(tls, table, key, bp) != 0 {
  36235. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value < strong_value {
  36236. strong_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fstrong_value
  36237. }
  36238. if (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value < weak_value {
  36239. weak_value = (*TFamilyEntry)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp)))).Fweak_value
  36240. }
  36241. }
  36242. goto _1
  36243. _1:
  36244. ;
  36245. if int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(1) != 0 {
  36246. v3 = uintptr(int64(v2) + int64((*T_FcValueList)(unsafe.Pointer(v2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36247. } else {
  36248. v3 = (*T_FcValueList)(unsafe.Pointer(v2)).Fnext
  36249. }
  36250. v2 = v3
  36251. }
  36252. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36253. libc.Xprintf(tls, __ccgo_ts+6042, libc.VaList(bp+16, XFcObjectName(tls, int32(_FC_FAMILY_OBJECT)), strong_value))
  36254. XFcValueListPrint(tls, v1orig)
  36255. libc.Xprintf(tls, __ccgo_ts+6039, 0)
  36256. XFcValueListPrint(tls, v2orig)
  36257. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  36258. }
  36259. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_STRONG)*8)) = strong_value
  36260. *(*float64)(unsafe.Pointer(value + uintptr(_PRI_FAMILY_WEAK)*8)) = weak_value
  36261. return int32(m_FcTrue)
  36262. }
  36263. /*
  36264. * Return a value indicating the distance between the two lists of
  36265. * values
  36266. */
  36267. func _FcCompare(tls *libc.TLS, pat uintptr, fnt uintptr, value uintptr, result uintptr, data uintptr) (r TFcBool) {
  36268. var elt_i1, elt_i2, match, v2, v3, v4, v5 uintptr
  36269. var i, i1, i2 int32
  36270. _, _, _, _, _, _, _, _, _, _ = elt_i1, elt_i2, i, i1, i2, match, v2, v3, v4, v5
  36271. i = 0
  36272. for {
  36273. if !(i < int32(_PRI_END)) {
  36274. break
  36275. }
  36276. *(*float64)(unsafe.Pointer(value + uintptr(i)*8)) = float64(0)
  36277. goto _1
  36278. _1:
  36279. ;
  36280. i++
  36281. }
  36282. i1 = 0
  36283. i2 = 0
  36284. for i1 < (*TFcPattern)(unsafe.Pointer(pat)).Fnum && i2 < (*TFcPattern)(unsafe.Pointer(fnt)).Fnum {
  36285. elt_i1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i1)*16
  36286. elt_i2 = uintptr(int64(fnt)+(*TFcPattern)(unsafe.Pointer(fnt)).Felts_offset) + uintptr(i2)*16
  36287. i = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject - (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fobject
  36288. if i > 0 {
  36289. i2++
  36290. } else {
  36291. if i < 0 {
  36292. i1++
  36293. } else {
  36294. if (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject == int32(_FC_FAMILY_OBJECT) && (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash != 0 {
  36295. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  36296. v2 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36297. } else {
  36298. v2 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  36299. }
  36300. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  36301. v3 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36302. } else {
  36303. v3 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  36304. }
  36305. if !(_FcCompareFamilies(tls, pat, v2, fnt, v3, value, result, (*TFcCompareData)(unsafe.Pointer(data)).Ffamily_hash) != 0) {
  36306. return m_FcFalse
  36307. }
  36308. i1++
  36309. i2++
  36310. } else {
  36311. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, m_FcFalse)
  36312. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(1) != 0 {
  36313. v4 = uintptr(int64(elt_i1) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36314. } else {
  36315. v4 = (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fvalues
  36316. }
  36317. if int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(1) != 0 {
  36318. v5 = uintptr(int64(elt_i2) + int64((*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36319. } else {
  36320. v5 = (*TFcPatternElt)(unsafe.Pointer(elt_i2)).Fvalues
  36321. }
  36322. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(elt_i1)).Fobject, match, v4, v5, libc.UintptrFromInt32(0), value, libc.UintptrFromInt32(0), result) != 0) {
  36323. return m_FcFalse
  36324. }
  36325. i1++
  36326. i2++
  36327. }
  36328. }
  36329. }
  36330. }
  36331. return int32(m_FcTrue)
  36332. }
  36333. func XFcFontRenderPrepare(tls *libc.TLS, config uintptr, pat uintptr, font uintptr) (r uintptr) {
  36334. bp := tls.Alloc(352)
  36335. defer tls.Free(352)
  36336. var binding TFcValueBinding
  36337. var fe, fel, func1, match, match1, new1, pe, pel, tag, v10, v11, v12, v13, v14, v15, v17, v19, v2, v3, v5, v6, v7, v8, v9 uintptr
  36338. var i, j int32
  36339. var l1, l11, l2, l21, ll, ln TFcValueListPtr
  36340. var num float64
  36341. var v16 bool
  36342. var _ /* n at bp+176 */ int32
  36343. var _ /* result at bp+16 */ TFcResult
  36344. var _ /* temp at bp+180 */ [128]TFcChar8
  36345. var _ /* v at bp+0 */ TFcValue
  36346. var _ /* variable at bp+20 */ TFcBool
  36347. var _ /* variations at bp+24 */ TFcStrBuf
  36348. var _ /* vars at bp+312 */ uintptr
  36349. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = binding, fe, fel, func1, i, j, l1, l11, l2, l21, ll, ln, match, match1, new1, num, pe, pel, tag, v10, v11, v12, v13, v14, v15, v16, v17, v19, v2, v3, v5, v6, v7, v8, v9
  36350. *(*TFcBool)(unsafe.Pointer(bp + 20)) = m_FcFalse
  36351. XFcPatternObjectGetBool(tls, font, int32(_FC_VARIABLE_OBJECT), 0, bp+20)
  36352. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 {
  36353. XFcStrBufInit(tls, bp+24, libc.UintptrFromInt32(0), 0)
  36354. }
  36355. new1 = XFcPatternCreate(tls)
  36356. if !(new1 != 0) {
  36357. return libc.UintptrFromInt32(0)
  36358. }
  36359. i = 0
  36360. for {
  36361. if !(i < (*TFcPattern)(unsafe.Pointer(font)).Fnum) {
  36362. break
  36363. }
  36364. fe = uintptr(int64(font)+(*TFcPattern)(unsafe.Pointer(font)).Felts_offset) + uintptr(i)*16
  36365. 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) {
  36366. /* ignore those objects. we need to deal with them
  36367. * another way */
  36368. goto _1
  36369. }
  36370. 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) {
  36371. fel = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  36372. pel = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject+int32(1))
  36373. if fel != 0 && pel != 0 {
  36374. /* The font has name languages, and pattern asks for specific language(s).
  36375. * Match on language and and prefer that result.
  36376. * Note: Currently the code only give priority to first matching language.
  36377. */
  36378. *(*int32)(unsafe.Pointer(bp + 176)) = int32(1)
  36379. ln = libc.UintptrFromInt32(0)
  36380. ll = libc.UintptrFromInt32(0)
  36381. match = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, int32(m_FcTrue))
  36382. if int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(1) != 0 {
  36383. v2 = uintptr(int64(pel) + int64((*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36384. } else {
  36385. v2 = (*TFcPatternElt)(unsafe.Pointer(pel)).Fvalues
  36386. }
  36387. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  36388. v3 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36389. } else {
  36390. v3 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  36391. }
  36392. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pel)).Fobject, match, v2, v3, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+176, bp+16) != 0) {
  36393. XFcPatternDestroy(tls, new1)
  36394. return libc.UintptrFromInt32(0)
  36395. }
  36396. j = 0
  36397. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  36398. v5 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36399. } else {
  36400. v5 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  36401. }
  36402. l1 = v5
  36403. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  36404. v6 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36405. } else {
  36406. v6 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  36407. }
  36408. l2 = v6
  36409. for {
  36410. if !(l1 != libc.UintptrFromInt32(0) || l2 != libc.UintptrFromInt32(0)) {
  36411. break
  36412. }
  36413. binding = int32(_FcValueBindingEnd)
  36414. if j == *(*int32)(unsafe.Pointer(bp + 176)) {
  36415. binding = int32(_FcValueBindingStrong)
  36416. func1 = __ccgo_fp(XFcValueListPrepend)
  36417. } else {
  36418. func1 = __ccgo_fp(XFcValueListAppend)
  36419. }
  36420. if l1 != 0 {
  36421. ln = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ln, XFcValueCanonicalize(tls, l1+8), (*T_FcValueList)(unsafe.Pointer(l1)).Fbinding)
  36422. }
  36423. if l2 != 0 {
  36424. if binding == int32(_FcValueBindingEnd) {
  36425. binding = (*T_FcValueList)(unsafe.Pointer(l2)).Fbinding
  36426. }
  36427. ll = (*(*func(*libc.TLS, TFcValueListPtr, TFcValue, TFcValueBinding) TFcValueListPtr)(unsafe.Pointer(&struct{ uintptr }{func1})))(tls, ll, XFcValueCanonicalize(tls, l2+8), binding)
  36428. }
  36429. goto _4
  36430. _4:
  36431. ;
  36432. j++
  36433. if l1 != 0 {
  36434. if int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(1) != 0 {
  36435. v8 = uintptr(int64(l1) + int64((*T_FcValueList)(unsafe.Pointer(l1)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36436. } else {
  36437. v8 = (*T_FcValueList)(unsafe.Pointer(l1)).Fnext
  36438. }
  36439. v7 = v8
  36440. } else {
  36441. v7 = libc.UintptrFromInt32(0)
  36442. }
  36443. l1 = v7
  36444. if l2 != 0 {
  36445. if int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(1) != 0 {
  36446. v10 = uintptr(int64(l2) + int64((*T_FcValueList)(unsafe.Pointer(l2)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36447. } else {
  36448. v10 = (*T_FcValueList)(unsafe.Pointer(l2)).Fnext
  36449. }
  36450. v9 = v10
  36451. } else {
  36452. v9 = libc.UintptrFromInt32(0)
  36453. }
  36454. l2 = v9
  36455. }
  36456. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, ln, m_FcFalse)
  36457. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, ll, m_FcFalse)
  36458. goto _1
  36459. } else {
  36460. if fel != 0 {
  36461. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  36462. v11 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36463. } else {
  36464. v11 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  36465. }
  36466. l11 = XFcValueListDuplicate(tls, v11)
  36467. if int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(1) != 0 {
  36468. v12 = uintptr(int64(fel) + int64((*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36469. } else {
  36470. v12 = (*TFcPatternElt)(unsafe.Pointer(fel)).Fvalues
  36471. }
  36472. l21 = XFcValueListDuplicate(tls, v12)
  36473. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, l11, m_FcFalse)
  36474. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fel)).Fobject, l21, m_FcFalse)
  36475. goto _1
  36476. }
  36477. }
  36478. }
  36479. pe = XFcPatternObjectFindElt(tls, pat, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject)
  36480. if pe != 0 {
  36481. match1 = _FcObjectToMatcher(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, m_FcFalse)
  36482. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  36483. v13 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36484. } else {
  36485. v13 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  36486. }
  36487. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  36488. v14 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36489. } else {
  36490. v14 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  36491. }
  36492. if !(_FcCompareValueList(tls, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, match1, v13, v14, bp, libc.UintptrFromInt32(0), libc.UintptrFromInt32(0), bp+16) != 0) {
  36493. XFcPatternDestroy(tls, new1)
  36494. return libc.UintptrFromInt32(0)
  36495. }
  36496. XFcPatternObjectAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, *(*TFcValue)(unsafe.Pointer(bp)), m_FcFalse)
  36497. /* Set font-variations settings for standard axes in variable fonts. */
  36498. if v16 = *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0; v16 {
  36499. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  36500. v15 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36501. } else {
  36502. v15 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  36503. }
  36504. }
  36505. 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)) {
  36506. tag = __ccgo_ts + 6050
  36507. num = *(*float64)(unsafe.Pointer(bp + 8))
  36508. if (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  36509. XFcStrBufChar(tls, bp+24, uint8(','))
  36510. }
  36511. switch (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject {
  36512. case int32(_FC_WEIGHT_OBJECT):
  36513. tag = __ccgo_ts + 6055
  36514. num = float64(XFcWeightToOpenType(tls, int32(num)))
  36515. case int32(_FC_WIDTH_OBJECT):
  36516. tag = __ccgo_ts + 6060
  36517. case int32(_FC_SIZE_OBJECT):
  36518. tag = __ccgo_ts + 6065
  36519. break
  36520. }
  36521. libc.X__builtin___sprintf_chk(tls, bp+180, 0, uint64(libc.X__builtin_object_size(tls, bp+180, int32(1))), __ccgo_ts+6070, libc.VaList(bp+328, tag, num))
  36522. XFcStrBufString(tls, bp+24, bp+180)
  36523. }
  36524. } else {
  36525. if int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(1) != 0 {
  36526. v17 = uintptr(int64(fe) + int64((*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36527. } else {
  36528. v17 = (*TFcPatternElt)(unsafe.Pointer(fe)).Fvalues
  36529. }
  36530. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(fe)).Fobject, XFcValueListDuplicate(tls, v17), int32(m_FcTrue))
  36531. }
  36532. goto _1
  36533. _1:
  36534. ;
  36535. i++
  36536. }
  36537. i = 0
  36538. for {
  36539. if !(i < (*TFcPattern)(unsafe.Pointer(pat)).Fnum) {
  36540. break
  36541. }
  36542. pe = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr(i)*16
  36543. fe = XFcPatternObjectFindElt(tls, font, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject)
  36544. 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) {
  36545. if int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(1) != 0 {
  36546. v19 = uintptr(int64(pe) + int64((*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36547. } else {
  36548. v19 = (*TFcPatternElt)(unsafe.Pointer(pe)).Fvalues
  36549. }
  36550. XFcPatternObjectListAdd(tls, new1, (*TFcPatternElt)(unsafe.Pointer(pe)).Fobject, XFcValueListDuplicate(tls, v19), m_FcFalse)
  36551. }
  36552. goto _18
  36553. _18:
  36554. ;
  36555. i++
  36556. }
  36557. if *(*TFcBool)(unsafe.Pointer(bp + 20)) != 0 && (*(*TFcStrBuf)(unsafe.Pointer(bp + 24))).Flen1 != 0 {
  36558. *(*uintptr)(unsafe.Pointer(bp + 312)) = libc.UintptrFromInt32(0)
  36559. if XFcPatternObjectGetString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), 0, bp+312) == int32(_FcResultMatch) {
  36560. XFcStrBufChar(tls, bp+24, uint8(','))
  36561. XFcStrBufString(tls, bp+24, *(*uintptr)(unsafe.Pointer(bp + 312)))
  36562. XFcPatternObjectDel(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT))
  36563. }
  36564. XFcPatternObjectAddString(tls, new1, int32(_FC_FONT_VARIATIONS_OBJECT), XFcStrBufDoneStatic(tls, bp+24))
  36565. XFcStrBufDestroy(tls, bp+24)
  36566. }
  36567. XFcConfigSubstituteWithPat(tls, config, new1, pat, int32(_FcMatchFont))
  36568. return new1
  36569. }
  36570. func _FcFontSetMatchInternal(tls *libc.TLS, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  36571. bp := tls.Alloc(240)
  36572. defer tls.Free(240)
  36573. var best, elt, env, match, os, p1, pat, s, s1, ss, x, v11, v12, v14, v15, v8 uintptr
  36574. var bestscore [27]float64
  36575. var binding TFcValueBinding
  36576. var f, i, set int32
  36577. var f1 TFcBool
  36578. var l, ll, new1, t, v10 TFcValueListPtr
  36579. var len1 Tsize_t
  36580. var v TFcValue
  36581. var _ /* data at bp+216 */ TFcCompareData
  36582. var _ /* score at bp+0 */ [27]float64
  36583. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = best, bestscore, binding, elt, env, f, f1, i, l, len1, ll, match, new1, os, p1, pat, s, s1, set, ss, t, v, x, v10, v11, v12, v14, v15, v8
  36584. pat = libc.UintptrFromInt32(0)
  36585. i = 0
  36586. for {
  36587. if !(i < int32(_PRI_END)) {
  36588. break
  36589. }
  36590. bestscore[i] = libc.Float64FromInt32(0)
  36591. goto _1
  36592. _1:
  36593. ;
  36594. i++
  36595. }
  36596. best = uintptr(0)
  36597. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  36598. libc.Xprintf(tls, __ccgo_ts+6077, 0)
  36599. XFcPatternPrint(tls, p)
  36600. }
  36601. _FcCompareDataInit(tls, p, bp+216)
  36602. set = 0
  36603. for {
  36604. if !(set < nsets) {
  36605. break
  36606. }
  36607. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  36608. if !(s != 0) {
  36609. goto _2
  36610. }
  36611. f = 0
  36612. for {
  36613. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  36614. break
  36615. }
  36616. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36617. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+232, f))
  36618. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  36619. }
  36620. if !(_FcCompare(tls, p, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)), bp, result, bp+216) != 0) {
  36621. _FcCompareDataClear(tls, bp+216)
  36622. return uintptr(0)
  36623. }
  36624. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36625. libc.Xprintf(tls, __ccgo_ts+6084, 0)
  36626. i = 0
  36627. for {
  36628. if !(i < int32(_PRI_END)) {
  36629. break
  36630. }
  36631. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+232, (*(*[27]float64)(unsafe.Pointer(bp)))[i]))
  36632. goto _4
  36633. _4:
  36634. ;
  36635. i++
  36636. }
  36637. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  36638. }
  36639. i = 0
  36640. for {
  36641. if !(i < int32(_PRI_END)) {
  36642. break
  36643. }
  36644. if best != 0 && bestscore[i] < (*(*[27]float64)(unsafe.Pointer(bp)))[i] {
  36645. break
  36646. }
  36647. if !(best != 0) || (*(*[27]float64)(unsafe.Pointer(bp)))[i] < bestscore[i] {
  36648. i = 0
  36649. for {
  36650. if !(i < int32(_PRI_END)) {
  36651. break
  36652. }
  36653. bestscore[i] = (*(*[27]float64)(unsafe.Pointer(bp)))[i]
  36654. goto _6
  36655. _6:
  36656. ;
  36657. i++
  36658. }
  36659. best = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  36660. break
  36661. }
  36662. goto _5
  36663. _5:
  36664. ;
  36665. i++
  36666. }
  36667. goto _3
  36668. _3:
  36669. ;
  36670. f++
  36671. }
  36672. goto _2
  36673. _2:
  36674. ;
  36675. set++
  36676. }
  36677. _FcCompareDataClear(tls, bp+216)
  36678. /* Update the binding according to the score to indicate how exactly values matches on. */
  36679. if best != 0 {
  36680. pat = XFcPatternCreate(tls)
  36681. elt = uintptr(int64(best) + (*TFcPattern)(unsafe.Pointer(best)).Felts_offset)
  36682. i = 0
  36683. for {
  36684. if !(i < XFcPatternObjectCount(tls, best)) {
  36685. break
  36686. }
  36687. match = _FcObjectToMatcher(tls, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, m_FcFalse)
  36688. if int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  36689. v8 = uintptr(Tintptr_t(elt+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elt+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  36690. } else {
  36691. v8 = (*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16)).Fvalues
  36692. }
  36693. l = v8
  36694. if !(match != 0) {
  36695. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, XFcValueListDuplicate(tls, l), int32(m_FcTrue))
  36696. } else {
  36697. binding = int32(_FcValueBindingWeak)
  36698. new1 = libc.UintptrFromInt32(0)
  36699. t = libc.UintptrFromInt32(0)
  36700. /* If the value was matched exactly, update the binding to Strong. */
  36701. if bestscore[(*TFcMatcher)(unsafe.Pointer(match)).Fstrong] < libc.Float64FromInt32(1000) {
  36702. binding = int32(_FcValueBindingStrong)
  36703. }
  36704. ll = l
  36705. for {
  36706. if !(ll != libc.UintptrFromInt32(0)) {
  36707. break
  36708. }
  36709. if !(new1 != 0) {
  36710. v10 = XFcValueListCreate(tls)
  36711. new1 = v10
  36712. t = v10
  36713. } else {
  36714. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  36715. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  36716. v11 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36717. } else {
  36718. v11 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  36719. }
  36720. t = v11
  36721. }
  36722. v = XFcValueCanonicalize(tls, ll+8)
  36723. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  36724. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = binding
  36725. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  36726. goto _9
  36727. _9:
  36728. ;
  36729. if int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(1) != 0 {
  36730. v12 = uintptr(int64(ll) + int64((*T_FcValueList)(unsafe.Pointer(ll)).Fnext)&int64(^libc.Int32FromInt32(1)))
  36731. } else {
  36732. v12 = (*T_FcValueList)(unsafe.Pointer(ll)).Fnext
  36733. }
  36734. ll = v12
  36735. }
  36736. XFcPatternObjectListAdd(tls, pat, (*(*TFcPatternElt)(unsafe.Pointer(elt + uintptr(i)*16))).Fobject, new1, int32(m_FcTrue))
  36737. }
  36738. goto _7
  36739. _7:
  36740. ;
  36741. i++
  36742. }
  36743. }
  36744. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  36745. libc.Xprintf(tls, __ccgo_ts+6094, 0)
  36746. i = 0
  36747. for {
  36748. if !(i < int32(_PRI_END)) {
  36749. break
  36750. }
  36751. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+232, bestscore[i]))
  36752. goto _13
  36753. _13:
  36754. ;
  36755. i++
  36756. }
  36757. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  36758. XFcPatternPrint(tls, pat)
  36759. }
  36760. if XFcDebugVal&int32(m_FC_DBG_MATCH2) != 0 {
  36761. env = libc.Xgetenv(tls, __ccgo_ts+6105)
  36762. os = libc.UintptrFromInt32(0)
  36763. if env != 0 {
  36764. f1 = int32(m_FcTrue)
  36765. v14 = libc.Xstrdup(tls, env)
  36766. s1 = v14
  36767. ss = v14
  36768. os = XFcObjectSetCreate(tls)
  36769. for f1 != 0 {
  36770. v15 = libc.Xstrchr(tls, s1, int32(','))
  36771. p1 = v15
  36772. if !(v15 != 0) {
  36773. f1 = m_FcFalse
  36774. len1 = libc.Xstrlen(tls, s1)
  36775. } else {
  36776. len1 = uint64(int64(p1) - int64(s1))
  36777. }
  36778. x = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  36779. if x != 0 {
  36780. libc.X__builtin___strcpy_chk(tls, x, s1, libc.X__builtin_object_size(tls, x, int32(1)))
  36781. if XFcObjectFromName(tls, x) > 0 {
  36782. XFcObjectSetAdd(tls, os, x)
  36783. }
  36784. s1 = p1 + uintptr(1)
  36785. libc.Xfree(tls, x)
  36786. }
  36787. }
  36788. libc.Xfree(tls, ss)
  36789. }
  36790. XFcPatternPrint2(tls, p, pat, os)
  36791. if os != 0 {
  36792. XFcObjectSetDestroy(tls, os)
  36793. }
  36794. }
  36795. /* assuming that 'result' is initialized with FcResultNoMatch
  36796. * outside this function */
  36797. if pat != 0 {
  36798. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  36799. }
  36800. return pat
  36801. }
  36802. func XFcFontSetMatch(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, result uintptr) (r uintptr) {
  36803. var best, ret uintptr
  36804. _, _ = best, ret
  36805. ret = libc.UintptrFromInt32(0)
  36806. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  36807. config = XFcConfigReference(tls, config)
  36808. if !(config != 0) {
  36809. return libc.UintptrFromInt32(0)
  36810. }
  36811. best = _FcFontSetMatchInternal(tls, sets, nsets, p, result)
  36812. if best != 0 {
  36813. ret = XFcFontRenderPrepare(tls, config, p, best)
  36814. XFcPatternDestroy(tls, best)
  36815. }
  36816. XFcConfigDestroy(tls, config)
  36817. return ret
  36818. }
  36819. func XFcFontMatch(tls *libc.TLS, config uintptr, p uintptr, result uintptr) (r uintptr) {
  36820. bp := tls.Alloc(16)
  36821. defer tls.Free(16)
  36822. var best, ret uintptr
  36823. var nsets, v1, v2 int32
  36824. var _ /* sets at bp+0 */ [2]uintptr
  36825. _, _, _, _, _ = best, nsets, ret, v1, v2
  36826. ret = libc.UintptrFromInt32(0)
  36827. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  36828. config = XFcConfigReference(tls, config)
  36829. if !(config != 0) {
  36830. return libc.UintptrFromInt32(0)
  36831. }
  36832. nsets = 0
  36833. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  36834. v1 = nsets
  36835. nsets++
  36836. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  36837. }
  36838. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  36839. v2 = nsets
  36840. nsets++
  36841. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  36842. }
  36843. best = _FcFontSetMatchInternal(tls, bp, nsets, p, result)
  36844. if best != 0 {
  36845. ret = XFcFontRenderPrepare(tls, config, p, best)
  36846. XFcPatternDestroy(tls, best)
  36847. }
  36848. XFcConfigDestroy(tls, config)
  36849. return ret
  36850. }
  36851. type TFcSortNode = struct {
  36852. Fpattern uintptr
  36853. Fscore [27]float64
  36854. }
  36855. type T_FcSortNode = TFcSortNode
  36856. func _FcSortCompare(tls *libc.TLS, aa uintptr, ab uintptr) (r int32) {
  36857. var a, as, b, bs, v3, v5 uintptr
  36858. var ad, bd, v2, v4 float64
  36859. var i, v1, v7, v8 int32
  36860. var v6 bool
  36861. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = a, ad, as, b, bd, bs, i, v1, v2, v3, v4, v5, v6, v7, v8
  36862. a = *(*uintptr)(unsafe.Pointer(aa))
  36863. b = *(*uintptr)(unsafe.Pointer(ab))
  36864. as = a + 8
  36865. bs = b + 8
  36866. ad = libc.Float64FromInt32(0)
  36867. bd = libc.Float64FromInt32(0)
  36868. i = int32(_PRI_END)
  36869. for {
  36870. v1 = i
  36871. i--
  36872. if v6 = v1 != 0; v6 {
  36873. v3 = as
  36874. as += 8
  36875. v2 = *(*float64)(unsafe.Pointer(v3))
  36876. ad = v2
  36877. v5 = bs
  36878. bs += 8
  36879. v4 = *(*float64)(unsafe.Pointer(v5))
  36880. bd = v4
  36881. }
  36882. if !(v6 && v2 == v4) {
  36883. break
  36884. }
  36885. }
  36886. if ad < bd {
  36887. v7 = -int32(1)
  36888. } else {
  36889. if ad > bd {
  36890. v8 = int32(1)
  36891. } else {
  36892. v8 = 0
  36893. }
  36894. v7 = v8
  36895. }
  36896. return v7
  36897. }
  36898. func _FcSortWalk(tls *libc.TLS, n uintptr, nnode int32, fs uintptr, csp uintptr, trim TFcBool) (r TFcBool) {
  36899. bp := tls.Alloc(16)
  36900. defer tls.Free(16)
  36901. var cs, node, v2 uintptr
  36902. var i int32
  36903. var ret TFcBool
  36904. var _ /* adds_chars at bp+0 */ TFcBool
  36905. var _ /* ncs at bp+8 */ uintptr
  36906. _, _, _, _, _ = cs, i, node, ret, v2
  36907. ret = m_FcFalse
  36908. cs = uintptr(0)
  36909. if trim != 0 || csp != 0 {
  36910. cs = XFcCharSetCreate(tls)
  36911. if cs == libc.UintptrFromInt32(0) {
  36912. goto bail
  36913. }
  36914. }
  36915. i = 0
  36916. for {
  36917. if !(i < nnode) {
  36918. break
  36919. }
  36920. v2 = n
  36921. n += 8
  36922. node = *(*uintptr)(unsafe.Pointer(v2))
  36923. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  36924. /*
  36925. * Only fetch node charset if we'd need it
  36926. */
  36927. if cs != 0 {
  36928. if XFcPatternGetCharSet(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern, __ccgo_ts+6125, 0, bp+8) != int32(_FcResultMatch) {
  36929. goto _1
  36930. }
  36931. if !(XFcCharSetMerge(tls, cs, *(*uintptr)(unsafe.Pointer(bp + 8)), bp) != 0) {
  36932. goto bail
  36933. }
  36934. }
  36935. /*
  36936. * If this font isn't a subset of the previous fonts,
  36937. * add it to the list
  36938. */
  36939. if !(i != 0) || !(trim != 0) || *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  36940. XFcPatternReference(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  36941. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  36942. libc.Xprintf(tls, __ccgo_ts+6133, 0)
  36943. XFcPatternPrint(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  36944. }
  36945. if !(XFcFontSetAdd(tls, fs, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern) != 0) {
  36946. XFcPatternDestroy(tls, (*TFcSortNode)(unsafe.Pointer(node)).Fpattern)
  36947. goto bail
  36948. }
  36949. }
  36950. goto _1
  36951. _1:
  36952. ;
  36953. i++
  36954. }
  36955. if csp != 0 {
  36956. *(*uintptr)(unsafe.Pointer(csp)) = cs
  36957. cs = uintptr(0)
  36958. }
  36959. ret = int32(m_FcTrue)
  36960. goto bail
  36961. bail:
  36962. ;
  36963. if cs != 0 {
  36964. XFcCharSetDestroy(tls, cs)
  36965. }
  36966. return ret
  36967. }
  36968. func XFcFontSetSortDestroy(tls *libc.TLS, fs uintptr) {
  36969. XFcFontSetDestroy(tls, fs)
  36970. }
  36971. func XFcFontSetSort(tls *libc.TLS, config uintptr, sets uintptr, nsets int32, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  36972. bp := tls.Alloc(112)
  36973. defer tls.Free(112)
  36974. var compare float64
  36975. var f, i, nPatternLang, nnodes, set int32
  36976. var new1, nodep, nodeps, nodes, patternLangSat, ret, s uintptr
  36977. var satisfies TFcBool
  36978. var _ /* data at bp+16 */ TFcCompareData
  36979. var _ /* family at bp+56 */ uintptr
  36980. var _ /* matchValue at bp+40 */ TFcValue
  36981. var _ /* nodeLang at bp+24 */ TFcValue
  36982. var _ /* patternLang at bp+0 */ TFcValue
  36983. var _ /* style at bp+64 */ uintptr
  36984. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = compare, f, i, nPatternLang, new1, nnodes, nodep, nodeps, nodes, patternLangSat, ret, s, satisfies, set
  36985. /* There are some implementation that relying on the result of
  36986. * "result" to check if the return value of FcFontSetSort
  36987. * is valid or not.
  36988. * So we should initialize it to the conservative way since
  36989. * this function doesn't return NULL anymore.
  36990. */
  36991. if result != 0 {
  36992. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  36993. }
  36994. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  36995. libc.Xprintf(tls, __ccgo_ts+6138, 0)
  36996. XFcPatternPrint(tls, p)
  36997. }
  36998. nnodes = 0
  36999. set = 0
  37000. for {
  37001. if !(set < nsets) {
  37002. break
  37003. }
  37004. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37005. if !(s != 0) {
  37006. goto _1
  37007. }
  37008. nnodes += (*TFcFontSet)(unsafe.Pointer(s)).Fnfont
  37009. goto _1
  37010. _1:
  37011. ;
  37012. set++
  37013. }
  37014. if !(nnodes != 0) {
  37015. return XFcFontSetCreate(tls)
  37016. }
  37017. nPatternLang = 0
  37018. for {
  37019. if !(XFcPatternGet(tls, p, __ccgo_ts+6144, nPatternLang, bp) == int32(_FcResultMatch)) {
  37020. break
  37021. }
  37022. goto _2
  37023. _2:
  37024. ;
  37025. nPatternLang++
  37026. }
  37027. /* freed below */
  37028. nodes = libc.Xmalloc(tls, uint64(nnodes)*uint64(224)+uint64(nnodes)*uint64(8)+uint64(nPatternLang)*uint64(4))
  37029. if !(nodes != 0) {
  37030. goto bail0
  37031. }
  37032. nodeps = nodes + uintptr(nnodes)*224
  37033. patternLangSat = nodeps + uintptr(nnodes)*8
  37034. _FcCompareDataInit(tls, p, bp+16)
  37035. new1 = nodes
  37036. nodep = nodeps
  37037. set = 0
  37038. for {
  37039. if !(set < nsets) {
  37040. break
  37041. }
  37042. s = *(*uintptr)(unsafe.Pointer(sets + uintptr(set)*8))
  37043. if !(s != 0) {
  37044. goto _3
  37045. }
  37046. f = 0
  37047. for {
  37048. if !(f < (*TFcFontSet)(unsafe.Pointer(s)).Fnfont) {
  37049. break
  37050. }
  37051. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37052. libc.Xprintf(tls, __ccgo_ts+2692, libc.VaList(bp+80, f))
  37053. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8)))
  37054. }
  37055. (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern = *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(s)).Ffonts + uintptr(f)*8))
  37056. if !(_FcCompare(tls, p, (*TFcSortNode)(unsafe.Pointer(new1)).Fpattern, new1+8, result, bp+16) != 0) {
  37057. goto bail1
  37058. }
  37059. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37060. libc.Xprintf(tls, __ccgo_ts+6084, 0)
  37061. i = 0
  37062. for {
  37063. if !(i < int32(_PRI_END)) {
  37064. break
  37065. }
  37066. libc.Xprintf(tls, __ccgo_ts+6090, libc.VaList(bp+80, *(*float64)(unsafe.Pointer(new1 + 8 + uintptr(i)*8))))
  37067. goto _5
  37068. _5:
  37069. ;
  37070. i++
  37071. }
  37072. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  37073. }
  37074. *(*uintptr)(unsafe.Pointer(nodep)) = new1
  37075. new1 += 224
  37076. nodep += 8
  37077. goto _4
  37078. _4:
  37079. ;
  37080. f++
  37081. }
  37082. goto _3
  37083. _3:
  37084. ;
  37085. set++
  37086. }
  37087. _FcCompareDataClear(tls, bp+16)
  37088. nnodes = int32((int64(new1) - int64(nodes)) / 224)
  37089. libc.Xqsort(tls, nodeps, uint64(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  37090. i = 0
  37091. for {
  37092. if !(i < nPatternLang) {
  37093. break
  37094. }
  37095. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = m_FcFalse
  37096. goto _6
  37097. _6:
  37098. ;
  37099. i++
  37100. }
  37101. f = 0
  37102. for {
  37103. if !(f < nnodes) {
  37104. break
  37105. }
  37106. satisfies = m_FcFalse
  37107. /*
  37108. * If this node matches any language, go check
  37109. * which ones and satisfy those entries
  37110. */
  37111. if *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) < libc.Float64FromInt32(2000) {
  37112. i = 0
  37113. for {
  37114. if !(i < nPatternLang) {
  37115. break
  37116. }
  37117. if !(*(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) != 0) && XFcPatternGet(tls, p, __ccgo_ts+6144, i, bp) == int32(_FcResultMatch) && XFcPatternGet(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+6144, 0, bp+24) == int32(_FcResultMatch) {
  37118. compare = _FcCompareLang(tls, bp, bp+24, bp+40)
  37119. if compare >= libc.Float64FromInt32(0) && compare < libc.Float64FromInt32(2) {
  37120. if XFcDebugVal&int32(m_FC_DBG_MATCHV) != 0 {
  37121. if XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+5977, 0, bp+56) == int32(_FcResultMatch) && XFcPatternGetString(tls, (*TFcSortNode)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)))).Fpattern, __ccgo_ts+4583, 0, bp+64) == int32(_FcResultMatch) {
  37122. libc.Xprintf(tls, __ccgo_ts+6149, libc.VaList(bp+80, *(*uintptr)(unsafe.Pointer(bp + 56)), *(*uintptr)(unsafe.Pointer(bp + 64)), i))
  37123. }
  37124. }
  37125. *(*TFcBool)(unsafe.Pointer(patternLangSat + uintptr(i)*4)) = int32(m_FcTrue)
  37126. satisfies = int32(m_FcTrue)
  37127. break
  37128. }
  37129. }
  37130. goto _8
  37131. _8:
  37132. ;
  37133. i++
  37134. }
  37135. }
  37136. if !(satisfies != 0) {
  37137. *(*float64)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(nodeps + uintptr(f)*8)) + 8 + uintptr(_PRI_LANG)*8)) = float64(10000)
  37138. }
  37139. goto _7
  37140. _7:
  37141. ;
  37142. f++
  37143. }
  37144. /*
  37145. * Re-sort once the language issues have been settled
  37146. */
  37147. libc.Xqsort(tls, nodeps, uint64(nnodes), uint64(8), __ccgo_fp(_FcSortCompare))
  37148. ret = XFcFontSetCreate(tls)
  37149. if !(ret != 0) {
  37150. goto bail1
  37151. }
  37152. if !(_FcSortWalk(tls, nodeps, nnodes, ret, csp, trim) != 0) {
  37153. goto bail2
  37154. }
  37155. libc.Xfree(tls, nodes)
  37156. if XFcDebugVal&int32(m_FC_DBG_MATCH) != 0 {
  37157. libc.Xprintf(tls, __ccgo_ts+6181, 0)
  37158. XFcPatternPrint(tls, *(*uintptr)(unsafe.Pointer((*TFcFontSet)(unsafe.Pointer(ret)).Ffonts)))
  37159. }
  37160. if (*TFcFontSet)(unsafe.Pointer(ret)).Fnfont > 0 {
  37161. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultMatch)
  37162. }
  37163. return ret
  37164. goto bail2
  37165. bail2:
  37166. ;
  37167. XFcFontSetDestroy(tls, ret)
  37168. goto bail1
  37169. bail1:
  37170. ;
  37171. libc.Xfree(tls, nodes)
  37172. goto bail0
  37173. bail0:
  37174. ;
  37175. return uintptr(0)
  37176. return r
  37177. }
  37178. func XFcFontSort(tls *libc.TLS, config uintptr, p uintptr, trim TFcBool, csp uintptr, result uintptr) (r uintptr) {
  37179. bp := tls.Alloc(16)
  37180. defer tls.Free(16)
  37181. var nsets, v1, v2 int32
  37182. var ret uintptr
  37183. var _ /* sets at bp+0 */ [2]uintptr
  37184. _, _, _, _ = nsets, ret, v1, v2
  37185. *(*TFcResult)(unsafe.Pointer(result)) = int32(_FcResultNoMatch)
  37186. config = XFcConfigReference(tls, config)
  37187. if !(config != 0) {
  37188. return libc.UintptrFromInt32(0)
  37189. }
  37190. nsets = 0
  37191. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8)) != 0 {
  37192. v1 = nsets
  37193. nsets++
  37194. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v1] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetSystem)*8))
  37195. }
  37196. if *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8)) != 0 {
  37197. v2 = nsets
  37198. nsets++
  37199. (*(*[2]uintptr)(unsafe.Pointer(bp)))[v2] = *(*uintptr)(unsafe.Pointer(config + 104 + uintptr(_FcSetApplication)*8))
  37200. }
  37201. ret = XFcFontSetSort(tls, config, bp, nsets, p, trim, csp, result)
  37202. XFcConfigDestroy(tls, config)
  37203. return ret
  37204. }
  37205. func XFcMatrixCopy(tls *libc.TLS, mat uintptr) (r1 uintptr) {
  37206. var r uintptr
  37207. _ = r
  37208. if !(mat != 0) {
  37209. return uintptr(0)
  37210. }
  37211. r = libc.Xmalloc(tls, uint64(32))
  37212. if !(r != 0) {
  37213. return uintptr(0)
  37214. }
  37215. *(*TFcMatrix)(unsafe.Pointer(r)) = *(*TFcMatrix)(unsafe.Pointer(mat))
  37216. return r
  37217. }
  37218. func XFcMatrixFree(tls *libc.TLS, mat uintptr) {
  37219. if mat != uintptr(unsafe.Pointer(&XFcIdentityMatrix)) {
  37220. libc.Xfree(tls, mat)
  37221. }
  37222. }
  37223. func XFcMatrixEqual(tls *libc.TLS, mat1 uintptr, mat2 uintptr) (r TFcBool) {
  37224. if mat1 == mat2 {
  37225. return int32(m_FcTrue)
  37226. }
  37227. if mat1 == uintptr(0) || mat2 == uintptr(0) {
  37228. return m_FcFalse
  37229. }
  37230. 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)
  37231. }
  37232. func XFcMatrixMultiply(tls *libc.TLS, result uintptr, a uintptr, b uintptr) {
  37233. var r TFcMatrix
  37234. _ = r
  37235. r.Fxx = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  37236. r.Fxy = (*TFcMatrix)(unsafe.Pointer(a)).Fxx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fxy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  37237. r.Fyx = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxx + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyx
  37238. r.Fyy = (*TFcMatrix)(unsafe.Pointer(a)).Fyx*(*TFcMatrix)(unsafe.Pointer(b)).Fxy + (*TFcMatrix)(unsafe.Pointer(a)).Fyy*(*TFcMatrix)(unsafe.Pointer(b)).Fyy
  37239. *(*TFcMatrix)(unsafe.Pointer(result)) = r
  37240. }
  37241. func XFcMatrixRotate(tls *libc.TLS, m uintptr, c float64, s float64) {
  37242. bp := tls.Alloc(32)
  37243. defer tls.Free(32)
  37244. var _ /* r at bp+0 */ TFcMatrix
  37245. /*
  37246. * X Coordinate system is upside down, swap to make
  37247. * rotations counterclockwise
  37248. */
  37249. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = c
  37250. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = -s
  37251. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = s
  37252. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = c
  37253. XFcMatrixMultiply(tls, m, bp, m)
  37254. }
  37255. func XFcMatrixScale(tls *libc.TLS, m uintptr, sx float64, sy float64) {
  37256. bp := tls.Alloc(32)
  37257. defer tls.Free(32)
  37258. var _ /* r at bp+0 */ TFcMatrix
  37259. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = sx
  37260. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = libc.Float64FromInt32(0)
  37261. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = libc.Float64FromInt32(0)
  37262. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = sy
  37263. XFcMatrixMultiply(tls, m, bp, m)
  37264. }
  37265. func XFcMatrixShear(tls *libc.TLS, m uintptr, sh float64, sv float64) {
  37266. bp := tls.Alloc(32)
  37267. defer tls.Free(32)
  37268. var _ /* r at bp+0 */ TFcMatrix
  37269. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxx = libc.Float64FromInt32(1)
  37270. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fxy = sh
  37271. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyx = sv
  37272. (*(*TFcMatrix)(unsafe.Pointer(bp))).Fyy = libc.Float64FromInt32(1)
  37273. XFcMatrixMultiply(tls, m, bp, m)
  37274. }
  37275. const m_FC_ESCAPE_FIXED = "\\-:,"
  37276. const m_FC_ESCAPE_VARIABLE = "\\=_:,"
  37277. /*
  37278. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  37279. *
  37280. * @APPLE_LICENSE_HEADER_START@
  37281. *
  37282. * This file contains Original Code and/or Modifications of Original Code
  37283. * as defined in and that are subject to the Apple Public Source License
  37284. * Version 2.0 (the 'License'). You may not use this file except in
  37285. * compliance with the License. Please obtain a copy of the License at
  37286. * http://www.opensource.apple.com/apsl/ and read it before using this
  37287. * file.
  37288. *
  37289. * The Original Code and all software distributed under the License are
  37290. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  37291. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  37292. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  37293. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  37294. * Please see the License for the specific language governing rights and
  37295. * limitations under the License.
  37296. *
  37297. * @APPLE_LICENSE_HEADER_END@
  37298. */
  37299. /*
  37300. * Copyright (c) 1989, 1993
  37301. * The Regents of the University of California. All rights reserved.
  37302. * (c) UNIX System Laboratories, Inc.
  37303. * All or some portions of this file are derived from material licensed
  37304. * to the University of California by American Telephone and Telegraph
  37305. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  37306. * the permission of UNIX System Laboratories, Inc.
  37307. *
  37308. * This code is derived from software contributed to Berkeley by
  37309. * Paul Borman at Krystal Technologies.
  37310. *
  37311. * Redistribution and use in source and binary forms, with or without
  37312. * modification, are permitted provided that the following conditions
  37313. * are met:
  37314. * 1. Redistributions of source code must retain the above copyright
  37315. * notice, this list of conditions and the following disclaimer.
  37316. * 2. Redistributions in binary form must reproduce the above copyright
  37317. * notice, this list of conditions and the following disclaimer in the
  37318. * documentation and/or other materials provided with the distribution.
  37319. * 3. All advertising materials mentioning features or use of this software
  37320. * must display the following acknowledgement:
  37321. * This product includes software developed by the University of
  37322. * California, Berkeley and its contributors.
  37323. * 4. Neither the name of the University nor the names of its contributors
  37324. * may be used to endorse or promote products derived from this software
  37325. * without specific prior written permission.
  37326. *
  37327. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  37328. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37329. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  37330. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  37331. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  37332. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37333. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  37334. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  37335. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  37336. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37337. * SUCH DAMAGE.
  37338. *
  37339. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  37340. */
  37341. /*
  37342. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  37343. *
  37344. * @APPLE_LICENSE_HEADER_START@
  37345. *
  37346. * This file contains Original Code and/or Modifications of Original Code
  37347. * as defined in and that are subject to the Apple Public Source License
  37348. * Version 2.0 (the 'License'). You may not use this file except in
  37349. * compliance with the License. Please obtain a copy of the License at
  37350. * http://www.opensource.apple.com/apsl/ and read it before using this
  37351. * file.
  37352. *
  37353. * The Original Code and all software distributed under the License are
  37354. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  37355. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  37356. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  37357. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  37358. * Please see the License for the specific language governing rights and
  37359. * limitations under the License.
  37360. *
  37361. * @APPLE_LICENSE_HEADER_END@
  37362. */
  37363. /*-
  37364. * Copyright (c) 1990, 1993
  37365. * The Regents of the University of California. All rights reserved.
  37366. *
  37367. * Redistribution and use in source and binary forms, with or without
  37368. * modification, are permitted provided that the following conditions
  37369. * are met:
  37370. * 1. Redistributions of source code must retain the above copyright
  37371. * notice, this list of conditions and the following disclaimer.
  37372. * 2. Redistributions in binary form must reproduce the above copyright
  37373. * notice, this list of conditions and the following disclaimer in the
  37374. * documentation and/or other materials provided with the distribution.
  37375. * 3. All advertising materials mentioning features or use of this software
  37376. * must display the following acknowledgement:
  37377. * This product includes software developed by the University of
  37378. * California, Berkeley and its contributors.
  37379. * 4. Neither the name of the University nor the names of its contributors
  37380. * may be used to endorse or promote products derived from this software
  37381. * without specific prior written permission.
  37382. *
  37383. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  37384. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37385. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  37386. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  37387. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  37388. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37389. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  37390. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  37391. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  37392. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37393. * SUCH DAMAGE.
  37394. *
  37395. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  37396. */
  37397. /*
  37398. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  37399. *
  37400. * @APPLE_LICENSE_HEADER_START@
  37401. *
  37402. * This file contains Original Code and/or Modifications of Original Code
  37403. * as defined in and that are subject to the Apple Public Source License
  37404. * Version 2.0 (the 'License'). You may not use this file except in
  37405. * compliance with the License. Please obtain a copy of the License at
  37406. * http://www.opensource.apple.com/apsl/ and read it before using this
  37407. * file.
  37408. *
  37409. * The Original Code and all software distributed under the License are
  37410. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  37411. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  37412. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  37413. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  37414. * Please see the License for the specific language governing rights and
  37415. * limitations under the License.
  37416. *
  37417. * @APPLE_LICENSE_HEADER_END@
  37418. */
  37419. /*-
  37420. * Copyright (c) 1990, 1993
  37421. * The Regents of the University of California. All rights reserved.
  37422. *
  37423. * Redistribution and use in source and binary forms, with or without
  37424. * modification, are permitted provided that the following conditions
  37425. * are met:
  37426. * 1. Redistributions of source code must retain the above copyright
  37427. * notice, this list of conditions and the following disclaimer.
  37428. * 2. Redistributions in binary form must reproduce the above copyright
  37429. * notice, this list of conditions and the following disclaimer in the
  37430. * documentation and/or other materials provided with the distribution.
  37431. * 3. All advertising materials mentioning features or use of this software
  37432. * must display the following acknowledgement:
  37433. * This product includes software developed by the University of
  37434. * California, Berkeley and its contributors.
  37435. * 4. Neither the name of the University nor the names of its contributors
  37436. * may be used to endorse or promote products derived from this software
  37437. * without specific prior written permission.
  37438. *
  37439. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  37440. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37441. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  37442. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  37443. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  37444. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37445. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  37446. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  37447. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  37448. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37449. * SUCH DAMAGE.
  37450. *
  37451. * @(#)string.h 8.1 (Berkeley) 6/2/93
  37452. */
  37453. /*
  37454. * Copyright (c) 2000, 2005, 2007, 2009, 2010 Apple Inc. All rights reserved.
  37455. *
  37456. * @APPLE_LICENSE_HEADER_START@
  37457. *
  37458. * This file contains Original Code and/or Modifications of Original Code
  37459. * as defined in and that are subject to the Apple Public Source License
  37460. * Version 2.0 (the 'License'). You may not use this file except in
  37461. * compliance with the License. Please obtain a copy of the License at
  37462. * http://www.opensource.apple.com/apsl/ and read it before using this
  37463. * file.
  37464. *
  37465. * The Original Code and all software distributed under the License are
  37466. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  37467. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  37468. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  37469. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  37470. * Please see the License for the specific language governing rights and
  37471. * limitations under the License.
  37472. *
  37473. * @APPLE_LICENSE_HEADER_END@
  37474. */
  37475. /*-
  37476. * Copyright (c) 1990, 1993
  37477. * The Regents of the University of California. All rights reserved.
  37478. *
  37479. * This code is derived from software contributed to Berkeley by
  37480. * Chris Torek.
  37481. *
  37482. * Redistribution and use in source and binary forms, with or without
  37483. * modification, are permitted provided that the following conditions
  37484. * are met:
  37485. * 1. Redistributions of source code must retain the above copyright
  37486. * notice, this list of conditions and the following disclaimer.
  37487. * 2. Redistributions in binary form must reproduce the above copyright
  37488. * notice, this list of conditions and the following disclaimer in the
  37489. * documentation and/or other materials provided with the distribution.
  37490. * 3. All advertising materials mentioning features or use of this software
  37491. * must display the following acknowledgement:
  37492. * This product includes software developed by the University of
  37493. * California, Berkeley and its contributors.
  37494. * 4. Neither the name of the University nor the names of its contributors
  37495. * may be used to endorse or promote products derived from this software
  37496. * without specific prior written permission.
  37497. *
  37498. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  37499. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  37500. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  37501. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  37502. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  37503. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  37504. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  37505. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  37506. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  37507. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  37508. * SUCH DAMAGE.
  37509. *
  37510. * @(#)stdio.h 8.5 (Berkeley) 4/29/95
  37511. */
  37512. var _FcObjects = [52]TFcObjectType{
  37513. 0: {
  37514. Fobject: __ccgo_ts + 5977,
  37515. Ftype1: int32(_FcTypeString),
  37516. },
  37517. 1: {
  37518. Fobject: __ccgo_ts + 5984,
  37519. Ftype1: int32(_FcTypeString),
  37520. },
  37521. 2: {
  37522. Fobject: __ccgo_ts + 4583,
  37523. Ftype1: int32(_FcTypeString),
  37524. },
  37525. 3: {
  37526. Fobject: __ccgo_ts + 6017,
  37527. Ftype1: int32(_FcTypeString),
  37528. },
  37529. 4: {
  37530. Fobject: __ccgo_ts + 5995,
  37531. Ftype1: int32(_FcTypeString),
  37532. },
  37533. 5: {
  37534. Fobject: __ccgo_ts + 6004,
  37535. Ftype1: int32(_FcTypeString),
  37536. },
  37537. 6: {
  37538. Fobject: __ccgo_ts + 6193,
  37539. Ftype1: int32(_FcTypeInteger),
  37540. },
  37541. 7: {
  37542. Fobject: __ccgo_ts + 6199,
  37543. Ftype1: int32(_FcTypeRange),
  37544. },
  37545. 8: {
  37546. Fobject: __ccgo_ts + 6206,
  37547. Ftype1: int32(_FcTypeRange),
  37548. },
  37549. 9: {
  37550. Fobject: __ccgo_ts + 6212,
  37551. Ftype1: int32(_FcTypeRange),
  37552. },
  37553. 10: {
  37554. Fobject: __ccgo_ts + 6217,
  37555. Ftype1: int32(_FcTypeDouble),
  37556. },
  37557. 11: {
  37558. Fobject: __ccgo_ts + 6224,
  37559. Ftype1: int32(_FcTypeDouble),
  37560. },
  37561. 12: {
  37562. Fobject: __ccgo_ts + 6234,
  37563. Ftype1: int32(_FcTypeInteger),
  37564. },
  37565. 13: {
  37566. Fobject: __ccgo_ts + 6242,
  37567. Ftype1: int32(_FcTypeString),
  37568. },
  37569. 14: {
  37570. Fobject: __ccgo_ts + 6250,
  37571. Ftype1: int32(_FcTypeBool),
  37572. },
  37573. 15: {
  37574. Fobject: __ccgo_ts + 6260,
  37575. Ftype1: int32(_FcTypeInteger),
  37576. },
  37577. 16: {
  37578. Fobject: __ccgo_ts + 6270,
  37579. Ftype1: int32(_FcTypeBool),
  37580. },
  37581. 17: {
  37582. Fobject: __ccgo_ts + 6278,
  37583. Ftype1: int32(_FcTypeBool),
  37584. },
  37585. 18: {
  37586. Fobject: __ccgo_ts + 6293,
  37587. Ftype1: int32(_FcTypeBool),
  37588. },
  37589. 19: {
  37590. Fobject: __ccgo_ts + 6302,
  37591. Ftype1: int32(_FcTypeBool),
  37592. },
  37593. 20: {
  37594. Fobject: __ccgo_ts + 6316,
  37595. Ftype1: int32(_FcTypeString),
  37596. },
  37597. 21: {
  37598. Fobject: __ccgo_ts + 6321,
  37599. Ftype1: int32(_FcTypeInteger),
  37600. },
  37601. 22: {
  37602. Fobject: __ccgo_ts + 6327,
  37603. Ftype1: int32(_FcTypeString),
  37604. },
  37605. 23: {
  37606. Fobject: __ccgo_ts + 6338,
  37607. Ftype1: int32(_FcTypeBool),
  37608. },
  37609. 24: {
  37610. Fobject: __ccgo_ts + 6346,
  37611. Ftype1: int32(_FcTypeBool),
  37612. },
  37613. 25: {
  37614. Fobject: __ccgo_ts + 6355,
  37615. Ftype1: int32(_FcTypeDouble),
  37616. },
  37617. 26: {
  37618. Fobject: __ccgo_ts + 6359,
  37619. Ftype1: int32(_FcTypeInteger),
  37620. },
  37621. 27: {
  37622. Fobject: __ccgo_ts + 6364,
  37623. Ftype1: int32(_FcTypeDouble),
  37624. },
  37625. 28: {
  37626. Fobject: __ccgo_ts + 6370,
  37627. Ftype1: int32(_FcTypeBool),
  37628. },
  37629. 29: {
  37630. Fobject: __ccgo_ts + 6379,
  37631. Ftype1: int32(_FcTypeInteger),
  37632. },
  37633. 30: {
  37634. Fobject: __ccgo_ts + 6389,
  37635. Ftype1: int32(_FcTypeInteger),
  37636. },
  37637. 31: {
  37638. Fobject: __ccgo_ts + 6400,
  37639. Ftype1: int32(_FcTypeMatrix),
  37640. },
  37641. 32: {
  37642. Fobject: __ccgo_ts + 6125,
  37643. Ftype1: int32(_FcTypeCharSet),
  37644. },
  37645. 33: {
  37646. Fobject: __ccgo_ts + 6144,
  37647. Ftype1: int32(_FcTypeLangSet),
  37648. },
  37649. 34: {
  37650. Fobject: __ccgo_ts + 6407,
  37651. Ftype1: int32(_FcTypeInteger),
  37652. },
  37653. 35: {
  37654. Fobject: __ccgo_ts + 6419,
  37655. Ftype1: int32(_FcTypeString),
  37656. },
  37657. 36: {
  37658. Fobject: __ccgo_ts + 6430,
  37659. Ftype1: int32(_FcTypeString),
  37660. },
  37661. 37: {
  37662. Fobject: __ccgo_ts + 6441,
  37663. Ftype1: int32(_FcTypeBool),
  37664. },
  37665. 38: {
  37666. Fobject: __ccgo_ts + 6450,
  37667. Ftype1: int32(_FcTypeBool),
  37668. },
  37669. 39: {
  37670. Fobject: __ccgo_ts + 6465,
  37671. Ftype1: int32(_FcTypeBool),
  37672. },
  37673. 40: {
  37674. Fobject: __ccgo_ts + 6476,
  37675. Ftype1: int32(_FcTypeInteger),
  37676. },
  37677. 41: {
  37678. Fobject: __ccgo_ts + 6486,
  37679. Ftype1: int32(_FcTypeString),
  37680. },
  37681. 42: {
  37682. Fobject: __ccgo_ts + 6495,
  37683. Ftype1: int32(_FcTypeString),
  37684. },
  37685. 43: {
  37686. Fobject: __ccgo_ts + 6508,
  37687. Ftype1: int32(_FcTypeString),
  37688. },
  37689. 44: {
  37690. Fobject: __ccgo_ts + 6516,
  37691. Ftype1: int32(_FcTypeString),
  37692. },
  37693. 45: {
  37694. Fobject: __ccgo_ts + 6521,
  37695. Ftype1: int32(_FcTypeString),
  37696. },
  37697. 46: {
  37698. Fobject: __ccgo_ts + 6536,
  37699. Ftype1: int32(_FcTypeBool),
  37700. },
  37701. 47: {
  37702. Fobject: __ccgo_ts + 6542,
  37703. Ftype1: int32(_FcTypeBool),
  37704. },
  37705. 48: {
  37706. Fobject: __ccgo_ts + 6549,
  37707. Ftype1: int32(_FcTypeString),
  37708. },
  37709. 49: {
  37710. Fobject: __ccgo_ts + 6564,
  37711. Ftype1: int32(_FcTypeBool),
  37712. },
  37713. 50: {
  37714. Fobject: __ccgo_ts + 6573,
  37715. Ftype1: int32(_FcTypeBool),
  37716. },
  37717. 51: {
  37718. Fobject: __ccgo_ts + 6585,
  37719. Ftype1: int32(_FcTypeInteger),
  37720. },
  37721. }
  37722. func _FcObjectFindById(tls *libc.TLS, object TFcObject) (r uintptr) {
  37723. if int32(1) <= object && object <= int32(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16)) {
  37724. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(object-int32(1))*16
  37725. }
  37726. return XFcObjectLookupOtherTypeById(tls, object)
  37727. }
  37728. func XFcNameRegisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  37729. /* Deprecated. */
  37730. return m_FcFalse
  37731. }
  37732. func XFcNameUnregisterObjectTypes(tls *libc.TLS, types uintptr, ntypes int32) (r TFcBool) {
  37733. /* Deprecated. */
  37734. return m_FcFalse
  37735. }
  37736. func XFcNameGetObjectType(tls *libc.TLS, object uintptr) (r uintptr) {
  37737. var id int32
  37738. _ = id
  37739. id = XFcObjectLookupBuiltinIdByName(tls, object)
  37740. if !(id != 0) {
  37741. return XFcObjectLookupOtherTypeByName(tls, object)
  37742. }
  37743. return uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(id-int32(1))*16
  37744. }
  37745. func XFcObjectValidType(tls *libc.TLS, object TFcObject, type1 TFcType) (r TFcBool) {
  37746. var t uintptr
  37747. _ = t
  37748. t = _FcObjectFindById(tls, object)
  37749. if t != 0 {
  37750. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  37751. case int32(_FcTypeUnknown):
  37752. return int32(m_FcTrue)
  37753. case int32(_FcTypeDouble):
  37754. fallthrough
  37755. case int32(_FcTypeInteger):
  37756. if type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  37757. return int32(m_FcTrue)
  37758. }
  37759. case int32(_FcTypeLangSet):
  37760. if type1 == int32(_FcTypeLangSet) || type1 == int32(_FcTypeString) {
  37761. return int32(m_FcTrue)
  37762. }
  37763. case int32(_FcTypeRange):
  37764. if type1 == int32(_FcTypeRange) || type1 == int32(_FcTypeDouble) || type1 == int32(_FcTypeInteger) {
  37765. return int32(m_FcTrue)
  37766. }
  37767. default:
  37768. if type1 == (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  37769. return int32(m_FcTrue)
  37770. }
  37771. break
  37772. }
  37773. return m_FcFalse
  37774. }
  37775. return int32(m_FcTrue)
  37776. }
  37777. func XFcObjectFromName(tls *libc.TLS, name uintptr) (r TFcObject) {
  37778. return XFcObjectLookupIdByName(tls, name)
  37779. }
  37780. func XFcObjectGetSet(tls *libc.TLS) (r uintptr) {
  37781. var i int32
  37782. var os uintptr
  37783. _, _ = i, os
  37784. os = libc.UintptrFromInt32(0)
  37785. os = XFcObjectSetCreate(tls)
  37786. i = 0
  37787. for {
  37788. if !(i < int32(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  37789. break
  37790. }
  37791. XFcObjectSetAdd(tls, os, _FcObjects[i].Fobject)
  37792. goto _1
  37793. _1:
  37794. ;
  37795. i++
  37796. }
  37797. return os
  37798. }
  37799. func XFcObjectName(tls *libc.TLS, object TFcObject) (r uintptr) {
  37800. var o uintptr
  37801. _ = o
  37802. o = _FcObjectFindById(tls, object)
  37803. if o != 0 {
  37804. return (*TFcObjectType)(unsafe.Pointer(o)).Fobject
  37805. }
  37806. return XFcObjectLookupOtherNameById(tls, object)
  37807. }
  37808. var __FcBaseConstants = [57]TFcConstant{
  37809. 0: {
  37810. Fname: __ccgo_ts + 3851,
  37811. Fobject: __ccgo_ts + 6199,
  37812. },
  37813. 1: {
  37814. Fname: __ccgo_ts + 3856,
  37815. Fobject: __ccgo_ts + 6199,
  37816. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  37817. },
  37818. 2: {
  37819. Fname: __ccgo_ts + 3867,
  37820. Fobject: __ccgo_ts + 6199,
  37821. Fvalue: int32(m_FC_WEIGHT_EXTRALIGHT),
  37822. },
  37823. 3: {
  37824. Fname: __ccgo_ts + 3878,
  37825. Fobject: __ccgo_ts + 6199,
  37826. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  37827. },
  37828. 4: {
  37829. Fname: __ccgo_ts + 3888,
  37830. Fobject: __ccgo_ts + 6199,
  37831. Fvalue: int32(m_FC_WEIGHT_DEMILIGHT),
  37832. },
  37833. 5: {
  37834. Fname: __ccgo_ts + 3898,
  37835. Fobject: __ccgo_ts + 6199,
  37836. Fvalue: int32(m_FC_WEIGHT_LIGHT),
  37837. },
  37838. 6: {
  37839. Fname: __ccgo_ts + 3904,
  37840. Fobject: __ccgo_ts + 6199,
  37841. Fvalue: int32(m_FC_WEIGHT_BOOK),
  37842. },
  37843. 7: {
  37844. Fname: __ccgo_ts + 3909,
  37845. Fobject: __ccgo_ts + 6199,
  37846. Fvalue: int32(m_FC_WEIGHT_REGULAR),
  37847. },
  37848. 8: {
  37849. Fname: __ccgo_ts + 3924,
  37850. Fobject: __ccgo_ts + 6199,
  37851. Fvalue: int32(m_FC_WEIGHT_MEDIUM),
  37852. },
  37853. 9: {
  37854. Fname: __ccgo_ts + 3931,
  37855. Fobject: __ccgo_ts + 6199,
  37856. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  37857. },
  37858. 10: {
  37859. Fname: __ccgo_ts + 3945,
  37860. Fobject: __ccgo_ts + 6199,
  37861. Fvalue: int32(m_FC_WEIGHT_DEMIBOLD),
  37862. },
  37863. 11: {
  37864. Fname: __ccgo_ts + 3984,
  37865. Fobject: __ccgo_ts + 6199,
  37866. Fvalue: int32(m_FC_WEIGHT_BOLD),
  37867. },
  37868. 12: {
  37869. Fname: __ccgo_ts + 3954,
  37870. Fobject: __ccgo_ts + 6199,
  37871. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  37872. },
  37873. 13: {
  37874. Fname: __ccgo_ts + 3974,
  37875. Fobject: __ccgo_ts + 6199,
  37876. Fvalue: int32(m_FC_WEIGHT_EXTRABOLD),
  37877. },
  37878. 14: {
  37879. Fname: __ccgo_ts + 4029,
  37880. Fobject: __ccgo_ts + 6199,
  37881. Fvalue: int32(m_FC_WEIGHT_BLACK),
  37882. },
  37883. 15: {
  37884. Fname: __ccgo_ts + 4035,
  37885. Fobject: __ccgo_ts + 6199,
  37886. Fvalue: int32(m_FC_WEIGHT_BLACK),
  37887. },
  37888. 16: {
  37889. Fname: __ccgo_ts + 6591,
  37890. Fobject: __ccgo_ts + 6193,
  37891. },
  37892. 17: {
  37893. Fname: __ccgo_ts + 4154,
  37894. Fobject: __ccgo_ts + 6193,
  37895. Fvalue: int32(m_FC_SLANT_ITALIC),
  37896. },
  37897. 18: {
  37898. Fname: __ccgo_ts + 4168,
  37899. Fobject: __ccgo_ts + 6193,
  37900. Fvalue: int32(m_FC_SLANT_OBLIQUE),
  37901. },
  37902. 19: {
  37903. Fname: __ccgo_ts + 4041,
  37904. Fobject: __ccgo_ts + 6206,
  37905. Fvalue: int32(m_FC_WIDTH_ULTRACONDENSED),
  37906. },
  37907. 20: {
  37908. Fname: __ccgo_ts + 4056,
  37909. Fobject: __ccgo_ts + 6206,
  37910. Fvalue: int32(m_FC_WIDTH_EXTRACONDENSED),
  37911. },
  37912. 21: {
  37913. Fname: __ccgo_ts + 4085,
  37914. Fobject: __ccgo_ts + 6206,
  37915. Fvalue: int32(m_FC_WIDTH_CONDENSED),
  37916. },
  37917. 22: {
  37918. Fname: __ccgo_ts + 4071,
  37919. Fobject: __ccgo_ts + 6206,
  37920. Fvalue: int32(m_FC_WIDTH_SEMICONDENSED),
  37921. },
  37922. 23: {
  37923. Fname: __ccgo_ts + 3917,
  37924. Fobject: __ccgo_ts + 6206,
  37925. Fvalue: int32(m_FC_WIDTH_NORMAL),
  37926. },
  37927. 24: {
  37928. Fname: __ccgo_ts + 4095,
  37929. Fobject: __ccgo_ts + 6206,
  37930. Fvalue: int32(m_FC_WIDTH_SEMIEXPANDED),
  37931. },
  37932. 25: {
  37933. Fname: __ccgo_ts + 4136,
  37934. Fobject: __ccgo_ts + 6206,
  37935. Fvalue: int32(m_FC_WIDTH_EXPANDED),
  37936. },
  37937. 26: {
  37938. Fname: __ccgo_ts + 4108,
  37939. Fobject: __ccgo_ts + 6206,
  37940. Fvalue: int32(m_FC_WIDTH_EXTRAEXPANDED),
  37941. },
  37942. 27: {
  37943. Fname: __ccgo_ts + 4122,
  37944. Fobject: __ccgo_ts + 6206,
  37945. Fvalue: int32(m_FC_WIDTH_ULTRAEXPANDED),
  37946. },
  37947. 28: {
  37948. Fname: __ccgo_ts + 6597,
  37949. Fobject: __ccgo_ts + 6234,
  37950. },
  37951. 29: {
  37952. Fname: __ccgo_ts + 6610,
  37953. Fobject: __ccgo_ts + 6234,
  37954. Fvalue: int32(m_FC_DUAL),
  37955. },
  37956. 30: {
  37957. Fname: __ccgo_ts + 6615,
  37958. Fobject: __ccgo_ts + 6234,
  37959. Fvalue: int32(m_FC_MONO),
  37960. },
  37961. 31: {
  37962. Fname: __ccgo_ts + 6620,
  37963. Fobject: __ccgo_ts + 6234,
  37964. Fvalue: int32(m_FC_CHARCELL),
  37965. },
  37966. 32: {
  37967. Fname: __ccgo_ts + 4707,
  37968. Fobject: __ccgo_ts + 6359,
  37969. },
  37970. 33: {
  37971. Fname: __ccgo_ts + 6629,
  37972. Fobject: __ccgo_ts + 6359,
  37973. Fvalue: int32(m_FC_RGBA_RGB),
  37974. },
  37975. 34: {
  37976. Fname: __ccgo_ts + 6633,
  37977. Fobject: __ccgo_ts + 6359,
  37978. Fvalue: int32(m_FC_RGBA_BGR),
  37979. },
  37980. 35: {
  37981. Fname: __ccgo_ts + 6637,
  37982. Fobject: __ccgo_ts + 6359,
  37983. Fvalue: int32(m_FC_RGBA_VRGB),
  37984. },
  37985. 36: {
  37986. Fname: __ccgo_ts + 6642,
  37987. Fobject: __ccgo_ts + 6359,
  37988. Fvalue: int32(m_FC_RGBA_VBGR),
  37989. },
  37990. 37: {
  37991. Fname: __ccgo_ts + 2465,
  37992. Fobject: __ccgo_ts + 6359,
  37993. Fvalue: int32(m_FC_RGBA_NONE),
  37994. },
  37995. 38: {
  37996. Fname: __ccgo_ts + 6647,
  37997. Fobject: __ccgo_ts + 6260,
  37998. },
  37999. 39: {
  38000. Fname: __ccgo_ts + 6656,
  38001. Fobject: __ccgo_ts + 6260,
  38002. Fvalue: int32(m_FC_HINT_SLIGHT),
  38003. },
  38004. 40: {
  38005. Fname: __ccgo_ts + 6667,
  38006. Fobject: __ccgo_ts + 6260,
  38007. Fvalue: int32(m_FC_HINT_MEDIUM),
  38008. },
  38009. 41: {
  38010. Fname: __ccgo_ts + 6678,
  38011. Fobject: __ccgo_ts + 6260,
  38012. Fvalue: int32(m_FC_HINT_FULL),
  38013. },
  38014. 42: {
  38015. Fname: __ccgo_ts + 6250,
  38016. Fobject: __ccgo_ts + 6250,
  38017. Fvalue: int32(m_FcTrue),
  38018. },
  38019. 43: {
  38020. Fname: __ccgo_ts + 6270,
  38021. Fobject: __ccgo_ts + 6270,
  38022. Fvalue: int32(m_FcTrue),
  38023. },
  38024. 44: {
  38025. Fname: __ccgo_ts + 6278,
  38026. Fobject: __ccgo_ts + 6278,
  38027. Fvalue: int32(m_FcTrue),
  38028. },
  38029. 45: {
  38030. Fname: __ccgo_ts + 6293,
  38031. Fobject: __ccgo_ts + 6293,
  38032. Fvalue: int32(m_FcTrue),
  38033. },
  38034. 46: {
  38035. Fname: __ccgo_ts + 6302,
  38036. Fobject: __ccgo_ts + 6302,
  38037. Fvalue: int32(m_FcTrue),
  38038. },
  38039. 47: {
  38040. Fname: __ccgo_ts + 6338,
  38041. Fobject: __ccgo_ts + 6338,
  38042. Fvalue: int32(m_FcTrue),
  38043. },
  38044. 48: {
  38045. Fname: __ccgo_ts + 6346,
  38046. Fobject: __ccgo_ts + 6346,
  38047. Fvalue: int32(m_FcTrue),
  38048. },
  38049. 49: {
  38050. Fname: __ccgo_ts + 6370,
  38051. Fobject: __ccgo_ts + 6370,
  38052. Fvalue: int32(m_FcTrue),
  38053. },
  38054. 50: {
  38055. Fname: __ccgo_ts + 6441,
  38056. Fobject: __ccgo_ts + 6441,
  38057. Fvalue: int32(m_FcTrue),
  38058. },
  38059. 51: {
  38060. Fname: __ccgo_ts + 6450,
  38061. Fobject: __ccgo_ts + 6450,
  38062. Fvalue: int32(m_FcTrue),
  38063. },
  38064. 52: {
  38065. Fname: __ccgo_ts + 6465,
  38066. Fobject: __ccgo_ts + 6465,
  38067. Fvalue: int32(m_FcTrue),
  38068. },
  38069. 53: {
  38070. Fname: __ccgo_ts + 6687,
  38071. Fobject: __ccgo_ts + 6476,
  38072. },
  38073. 54: {
  38074. Fname: __ccgo_ts + 6695,
  38075. Fobject: __ccgo_ts + 6476,
  38076. Fvalue: int32(m_FC_LCD_DEFAULT),
  38077. },
  38078. 55: {
  38079. Fname: __ccgo_ts + 6706,
  38080. Fobject: __ccgo_ts + 6476,
  38081. Fvalue: int32(m_FC_LCD_LIGHT),
  38082. },
  38083. 56: {
  38084. Fname: __ccgo_ts + 6715,
  38085. Fobject: __ccgo_ts + 6476,
  38086. Fvalue: int32(m_FC_LCD_LEGACY),
  38087. },
  38088. }
  38089. func XFcNameRegisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  38090. /* Deprecated. */
  38091. return m_FcFalse
  38092. }
  38093. func XFcNameUnregisterConstants(tls *libc.TLS, consts uintptr, nconsts int32) (r TFcBool) {
  38094. /* Deprecated. */
  38095. return m_FcFalse
  38096. }
  38097. func XFcNameGetConstant(tls *libc.TLS, string1 uintptr) (r uintptr) {
  38098. var i uint32
  38099. _ = i
  38100. i = uint32(0)
  38101. for {
  38102. if !(uint64(i) < libc.Uint64FromInt64(1368)/libc.Uint64FromInt64(24)) {
  38103. break
  38104. }
  38105. if !(XFcStrCmpIgnoreCase(tls, string1, __FcBaseConstants[i].Fname) != 0) {
  38106. return uintptr(unsafe.Pointer(&__FcBaseConstants)) + uintptr(i)*24
  38107. }
  38108. goto _1
  38109. _1:
  38110. ;
  38111. i++
  38112. }
  38113. return uintptr(0)
  38114. }
  38115. func XFcNameConstant(tls *libc.TLS, string1 uintptr, result uintptr) (r TFcBool) {
  38116. var c, v1 uintptr
  38117. _, _ = c, v1
  38118. v1 = XFcNameGetConstant(tls, string1)
  38119. c = v1
  38120. if v1 != 0 {
  38121. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  38122. return int32(m_FcTrue)
  38123. }
  38124. return m_FcFalse
  38125. }
  38126. func XFcNameConstantWithObjectCheck(tls *libc.TLS, string1 uintptr, object uintptr, result uintptr) (r TFcBool) {
  38127. bp := tls.Alloc(32)
  38128. defer tls.Free(32)
  38129. var c, v1 uintptr
  38130. _, _ = c, v1
  38131. v1 = XFcNameGetConstant(tls, string1)
  38132. c = v1
  38133. if v1 != 0 {
  38134. if libc.Xstrcmp(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject, object) != 0 {
  38135. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+6725, libc.VaList(bp+8, string1, object, (*TFcConstant)(unsafe.Pointer(c)).Fobject))
  38136. return m_FcFalse
  38137. }
  38138. *(*int32)(unsafe.Pointer(result)) = (*TFcConstant)(unsafe.Pointer(c)).Fvalue
  38139. return int32(m_FcTrue)
  38140. }
  38141. return m_FcFalse
  38142. }
  38143. func XFcNameBool(tls *libc.TLS, v uintptr, result uintptr) (r TFcBool) {
  38144. var c0, c1 int8
  38145. var v1, v2 int32
  38146. _, _, _, _ = c0, c1, v1, v2
  38147. c0 = int8(*(*TFcChar8)(unsafe.Pointer(v)))
  38148. if int32(0101) <= int32(c0) && int32(c0) <= int32(0132) {
  38149. v1 = int32(c0) - int32(0101) + int32(0141)
  38150. } else {
  38151. v1 = int32(c0)
  38152. }
  38153. c0 = int8(v1)
  38154. if int32(c0) == int32('t') || int32(c0) == int32('y') || int32(c0) == int32('1') {
  38155. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  38156. return int32(m_FcTrue)
  38157. }
  38158. if int32(c0) == int32('f') || int32(c0) == int32('n') || int32(c0) == int32('0') {
  38159. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  38160. return int32(m_FcTrue)
  38161. }
  38162. if int32(c0) == int32('d') || int32(c0) == int32('x') || int32(c0) == int32('2') {
  38163. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  38164. return int32(m_FcTrue)
  38165. }
  38166. if int32(c0) == int32('o') {
  38167. c1 = int8(*(*TFcChar8)(unsafe.Pointer(v + 1)))
  38168. if int32(0101) <= int32(c1) && int32(c1) <= int32(0132) {
  38169. v2 = int32(c1) - int32(0101) + int32(0141)
  38170. } else {
  38171. v2 = int32(c1)
  38172. }
  38173. c1 = int8(v2)
  38174. if int32(c1) == int32('n') {
  38175. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcTrue)
  38176. return int32(m_FcTrue)
  38177. }
  38178. if int32(c1) == int32('f') {
  38179. *(*TFcBool)(unsafe.Pointer(result)) = m_FcFalse
  38180. return int32(m_FcTrue)
  38181. }
  38182. if int32(c1) == int32('r') {
  38183. *(*TFcBool)(unsafe.Pointer(result)) = int32(m_FcDontCare)
  38184. return int32(m_FcTrue)
  38185. }
  38186. }
  38187. return m_FcFalse
  38188. }
  38189. func _FcNameConvert(tls *libc.TLS, type1 TFcType, object uintptr, string1 uintptr) (r TFcValue) {
  38190. bp := tls.Alloc(128)
  38191. defer tls.Free(128)
  38192. var ec, sc uintptr
  38193. var len1 Tsize_t
  38194. var v11, v12 float64
  38195. var _ /* b at bp+48 */ float64
  38196. var _ /* e at bp+56 */ float64
  38197. var _ /* ei at bp+76 */ int32
  38198. var _ /* m at bp+16 */ TFcMatrix
  38199. var _ /* p at bp+64 */ uintptr
  38200. var _ /* si at bp+72 */ int32
  38201. var _ /* v at bp+0 */ TFcValue
  38202. _, _, _, _, _ = ec, len1, sc, v11, v12
  38203. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = type1
  38204. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  38205. case int32(_FcTypeInteger):
  38206. goto _1
  38207. case int32(_FcTypeString):
  38208. goto _2
  38209. case int32(_FcTypeBool):
  38210. goto _3
  38211. case int32(_FcTypeDouble):
  38212. goto _4
  38213. case int32(_FcTypeMatrix):
  38214. goto _5
  38215. case int32(_FcTypeCharSet):
  38216. goto _6
  38217. case int32(_FcTypeLangSet):
  38218. goto _7
  38219. case int32(_FcTypeRange):
  38220. goto _8
  38221. default:
  38222. goto _9
  38223. }
  38224. goto _10
  38225. _1:
  38226. ;
  38227. if !(XFcNameConstantWithObjectCheck(tls, string1, object, bp+8) != 0) {
  38228. *(*int32)(unsafe.Pointer(bp + 8)) = libc.Xatoi(tls, string1)
  38229. }
  38230. goto _10
  38231. _2:
  38232. ;
  38233. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, string1)
  38234. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  38235. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  38236. }
  38237. goto _10
  38238. _3:
  38239. ;
  38240. if !(XFcNameBool(tls, string1, bp+8) != 0) {
  38241. *(*TFcBool)(unsafe.Pointer(bp + 8)) = m_FcFalse
  38242. }
  38243. goto _10
  38244. _4:
  38245. ;
  38246. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, uintptr(0))
  38247. goto _10
  38248. _5:
  38249. ;
  38250. v11 = libc.Float64FromInt32(1)
  38251. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyy = v11
  38252. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxx = v11
  38253. v12 = libc.Float64FromInt32(0)
  38254. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fyx = v12
  38255. (*TFcMatrix)(unsafe.Pointer(bp + 16)).Fxy = v12
  38256. libc.Xsscanf(tls, string1, __ccgo_ts+6811, libc.VaList(bp+88, bp+16, bp+16+8, bp+16+16, bp+16+24))
  38257. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, bp+16)
  38258. goto _10
  38259. _6:
  38260. ;
  38261. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseCharSet(tls, string1)
  38262. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  38263. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  38264. }
  38265. goto _10
  38266. _7:
  38267. ;
  38268. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcNameParseLangSet(tls, string1)
  38269. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  38270. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  38271. }
  38272. goto _10
  38273. _8:
  38274. ;
  38275. if libc.Xsscanf(tls, string1, __ccgo_ts+6827, libc.VaList(bp+88, bp+48, bp+56)) != int32(2) {
  38276. len1 = libc.Xstrlen(tls, string1)
  38277. sc = libc.Xmalloc(tls, len1+uint64(1))
  38278. ec = libc.Xmalloc(tls, len1+uint64(1))
  38279. if !(sc != 0 && ec != 0 && libc.Xsscanf(tls, string1, __ccgo_ts+6837, libc.VaList(bp+88, sc, ec)) == int32(2)) {
  38280. goto _13
  38281. }
  38282. if XFcNameConstantWithObjectCheck(tls, sc, object, bp+72) != 0 && XFcNameConstantWithObjectCheck(tls, ec, object, bp+76) != 0 {
  38283. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, float64(*(*int32)(unsafe.Pointer(bp + 72))), float64(*(*int32)(unsafe.Pointer(bp + 76))))
  38284. } else {
  38285. goto bail1
  38286. }
  38287. goto _14
  38288. _13:
  38289. ;
  38290. goto bail1
  38291. bail1:
  38292. ;
  38293. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  38294. if XFcNameConstantWithObjectCheck(tls, string1, object, bp+72) != 0 {
  38295. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 72)))
  38296. } else {
  38297. *(*float64)(unsafe.Pointer(bp + 8)) = libc.Xstrtod(tls, string1, bp+64)
  38298. if *(*uintptr)(unsafe.Pointer(bp + 64)) != libc.UintptrFromInt32(0) && int32(*(*int8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 64))))) != 0 {
  38299. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  38300. }
  38301. }
  38302. _14:
  38303. ;
  38304. if sc != 0 {
  38305. libc.Xfree(tls, sc)
  38306. }
  38307. if ec != 0 {
  38308. libc.Xfree(tls, ec)
  38309. }
  38310. } else {
  38311. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCreateDouble(tls, *(*float64)(unsafe.Pointer(bp + 48)), *(*float64)(unsafe.Pointer(bp + 56)))
  38312. }
  38313. goto _10
  38314. _9:
  38315. ;
  38316. goto _10
  38317. _10:
  38318. ;
  38319. return *(*TFcValue)(unsafe.Pointer(bp))
  38320. }
  38321. func _FcNameFindNext(tls *libc.TLS, cur uintptr, delim uintptr, save uintptr, last uintptr) (r uintptr) {
  38322. var c, v1, v11, v12 TFcChar8
  38323. var v13 uintptr
  38324. var v2, v6, v8, v9 int32
  38325. var v4 t__darwin_ct_rune_t
  38326. var v5 uint64
  38327. _, _, _, _, _, _, _, _, _, _, _ = c, v1, v11, v12, v13, v2, v4, v5, v6, v8, v9
  38328. for {
  38329. v1 = *(*TFcChar8)(unsafe.Pointer(cur))
  38330. c = v1
  38331. if !(v1 != 0) {
  38332. break
  38333. }
  38334. v4 = int32(c)
  38335. v5 = uint64(0x00004000)
  38336. v9 = libc.BoolInt32(v4 & ^libc.Int32FromInt32(0x7F) == 0)
  38337. goto _10
  38338. _10:
  38339. if v9 != 0 {
  38340. v8 = libc.BoolInt32(!!(uint64(*(*t__uint32_t)(unsafe.Pointer(uintptr(unsafe.Pointer(&libc.X_DefaultRuneLocale)) + 60 + uintptr(v4)*4)))&v5 != 0))
  38341. } else {
  38342. v8 = libc.BoolInt32(!!(libc.X__maskrune(tls, v4, v5) != 0))
  38343. }
  38344. v6 = v8
  38345. goto _7
  38346. _7:
  38347. v2 = v6
  38348. goto _3
  38349. _3:
  38350. if !(v2 != 0) {
  38351. break
  38352. }
  38353. cur++
  38354. }
  38355. for {
  38356. v11 = *(*TFcChar8)(unsafe.Pointer(cur))
  38357. c = v11
  38358. if !(v11 != 0) {
  38359. break
  38360. }
  38361. if int32(c) == int32('\\') {
  38362. cur++
  38363. v12 = *(*TFcChar8)(unsafe.Pointer(cur))
  38364. c = v12
  38365. if !(v12 != 0) {
  38366. break
  38367. }
  38368. } else {
  38369. if libc.Xstrchr(tls, delim, int32(c)) != 0 {
  38370. break
  38371. }
  38372. }
  38373. cur++
  38374. v13 = save
  38375. save++
  38376. *(*TFcChar8)(unsafe.Pointer(v13)) = c
  38377. }
  38378. *(*TFcChar8)(unsafe.Pointer(save)) = uint8(0)
  38379. *(*TFcChar8)(unsafe.Pointer(last)) = *(*TFcChar8)(unsafe.Pointer(cur))
  38380. if *(*TFcChar8)(unsafe.Pointer(cur)) != 0 {
  38381. cur++
  38382. }
  38383. return cur
  38384. }
  38385. func XFcNameParse(tls *libc.TLS, name uintptr) (r uintptr) {
  38386. bp := tls.Alloc(16)
  38387. defer tls.Free(16)
  38388. var c, pat, save, t, v4 uintptr
  38389. var d float64
  38390. var v TFcValue
  38391. var _ /* delim at bp+8 */ TFcChar8
  38392. var _ /* e at bp+0 */ uintptr
  38393. _, _, _, _, _, _, _ = c, d, pat, save, t, v, v4
  38394. /* freed below */
  38395. save = libc.Xmalloc(tls, libc.Xstrlen(tls, name)+uint64(1))
  38396. if !(save != 0) {
  38397. goto bail0
  38398. }
  38399. pat = XFcPatternCreate(tls)
  38400. if !(pat != 0) {
  38401. goto bail1
  38402. }
  38403. for {
  38404. name = _FcNameFindNext(tls, name, __ccgo_ts+6848, save, bp+8)
  38405. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  38406. if !(XFcPatternObjectAddString(tls, pat, int32(_FC_FAMILY_OBJECT), save) != 0) {
  38407. goto bail2
  38408. }
  38409. }
  38410. if int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  38411. break
  38412. }
  38413. goto _1
  38414. _1:
  38415. }
  38416. if int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('-') {
  38417. for {
  38418. name = _FcNameFindNext(tls, name, __ccgo_ts+6848, save, bp+8)
  38419. d = libc.Xstrtod(tls, save, bp)
  38420. if *(*uintptr)(unsafe.Pointer(bp)) != save {
  38421. if !(XFcPatternObjectAddDouble(tls, pat, int32(_FC_SIZE_OBJECT), d) != 0) {
  38422. goto bail2
  38423. }
  38424. }
  38425. if int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  38426. break
  38427. }
  38428. goto _2
  38429. _2:
  38430. }
  38431. }
  38432. for int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32(':') {
  38433. name = _FcNameFindNext(tls, name, __ccgo_ts+6852, save, bp+8)
  38434. if *(*TFcChar8)(unsafe.Pointer(save)) != 0 {
  38435. if int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('=') || int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) == int32('_') {
  38436. t = XFcNameGetObjectType(tls, save)
  38437. for {
  38438. name = _FcNameFindNext(tls, name, __ccgo_ts+6856, save, bp+8)
  38439. if t != 0 {
  38440. v = _FcNameConvert(tls, (*TFcObjectType)(unsafe.Pointer(t)).Ftype1, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, save)
  38441. if !(XFcPatternAdd(tls, pat, (*TFcObjectType)(unsafe.Pointer(t)).Fobject, v, int32(m_FcTrue)) != 0) {
  38442. XFcValueDestroy(tls, v)
  38443. goto bail2
  38444. }
  38445. XFcValueDestroy(tls, v)
  38446. }
  38447. if int32(*(*TFcChar8)(unsafe.Pointer(bp + 8))) != int32(',') {
  38448. break
  38449. }
  38450. goto _3
  38451. _3:
  38452. }
  38453. } else {
  38454. v4 = XFcNameGetConstant(tls, save)
  38455. c = v4
  38456. if v4 != 0 {
  38457. t = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  38458. if t == libc.UintptrFromInt32(0) {
  38459. goto bail2
  38460. }
  38461. switch (*TFcObjectType)(unsafe.Pointer(t)).Ftype1 {
  38462. case int32(_FcTypeInteger):
  38463. fallthrough
  38464. case int32(_FcTypeDouble):
  38465. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  38466. goto bail2
  38467. }
  38468. case int32(_FcTypeBool):
  38469. if !(XFcPatternAddBool(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  38470. goto bail2
  38471. }
  38472. case int32(_FcTypeRange):
  38473. if !(XFcPatternAddInteger(tls, pat, (*TFcConstant)(unsafe.Pointer(c)).Fobject, (*TFcConstant)(unsafe.Pointer(c)).Fvalue) != 0) {
  38474. goto bail2
  38475. }
  38476. default:
  38477. break
  38478. }
  38479. }
  38480. }
  38481. }
  38482. }
  38483. libc.Xfree(tls, save)
  38484. return pat
  38485. goto bail2
  38486. bail2:
  38487. ;
  38488. XFcPatternDestroy(tls, pat)
  38489. goto bail1
  38490. bail1:
  38491. ;
  38492. libc.Xfree(tls, save)
  38493. goto bail0
  38494. bail0:
  38495. ;
  38496. return uintptr(0)
  38497. return r
  38498. }
  38499. func _FcNameUnparseString(tls *libc.TLS, buf uintptr, string1 uintptr, escape uintptr) (r TFcBool) {
  38500. var c, v1 TFcChar8
  38501. var v2 uintptr
  38502. _, _, _ = c, v1, v2
  38503. for {
  38504. v2 = string1
  38505. string1++
  38506. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  38507. c = v1
  38508. if !(v1 != 0) {
  38509. break
  38510. }
  38511. if escape != 0 && libc.Xstrchr(tls, escape, int32(int8(c))) != 0 {
  38512. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(escape))) != 0) {
  38513. return m_FcFalse
  38514. }
  38515. }
  38516. if !(XFcStrBufChar(tls, buf, c) != 0) {
  38517. return m_FcFalse
  38518. }
  38519. }
  38520. return int32(m_FcTrue)
  38521. }
  38522. func XFcNameUnparseValue(tls *libc.TLS, buf uintptr, v0 uintptr, escape uintptr) (r TFcBool) {
  38523. bp := tls.Alloc(1088)
  38524. defer tls.Free(1088)
  38525. var v1, v2 uintptr
  38526. var _ /* temp at bp+0 */ [1024]TFcChar8
  38527. var _ /* v at bp+1024 */ TFcValue
  38528. _, _ = v1, v2
  38529. *(*TFcValue)(unsafe.Pointer(bp + 1024)) = TFcValue{}
  38530. *(*T_FcValue)(unsafe.Pointer(bp + 1024)) = XFcValueCanonicalize(tls, v0)
  38531. switch (*(*TFcValue)(unsafe.Pointer(bp + 1024))).Ftype1 {
  38532. case int32(_FcTypeUnknown):
  38533. fallthrough
  38534. case int32(_FcTypeVoid):
  38535. return int32(m_FcTrue)
  38536. case int32(_FcTypeInteger):
  38537. libc.X__builtin___sprintf_chk(tls, bp, 0, uint64(libc.X__builtin_object_size(tls, bp, int32(1))), __ccgo_ts+2470, libc.VaList(bp+1048, *(*int32)(unsafe.Pointer(bp + 1024 + 8))))
  38538. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  38539. case int32(_FcTypeDouble):
  38540. libc.X__builtin___sprintf_chk(tls, bp, 0, uint64(libc.X__builtin_object_size(tls, bp, int32(1))), __ccgo_ts+2473, libc.VaList(bp+1048, *(*float64)(unsafe.Pointer(bp + 1024 + 8))))
  38541. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  38542. case int32(_FcTypeString):
  38543. return _FcNameUnparseString(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)), escape)
  38544. case int32(_FcTypeBool):
  38545. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == int32(m_FcTrue) {
  38546. v1 = __ccgo_ts + 1904
  38547. } else {
  38548. if *(*TFcBool)(unsafe.Pointer(bp + 1024 + 8)) == m_FcFalse {
  38549. v2 = __ccgo_ts + 1909
  38550. } else {
  38551. v2 = __ccgo_ts + 1915
  38552. }
  38553. v1 = v2
  38554. }
  38555. return _FcNameUnparseString(tls, buf, v1, uintptr(0))
  38556. case int32(_FcTypeMatrix):
  38557. libc.X__builtin___sprintf_chk(tls, bp, 0, uint64(libc.X__builtin_object_size(tls, bp, int32(1))), __ccgo_ts+6859, 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))
  38558. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  38559. case int32(_FcTypeCharSet):
  38560. return XFcNameUnparseCharSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  38561. case int32(_FcTypeLangSet):
  38562. return XFcNameUnparseLangSet(tls, buf, *(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))
  38563. case int32(_FcTypeFTFace):
  38564. return int32(m_FcTrue)
  38565. case int32(_FcTypeRange):
  38566. libc.X__builtin___sprintf_chk(tls, bp, 0, uint64(libc.X__builtin_object_size(tls, bp, int32(1))), __ccgo_ts+1944, libc.VaList(bp+1048, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fbegin, (*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 1024 + 8)))).Fend))
  38567. return _FcNameUnparseString(tls, buf, bp, uintptr(0))
  38568. }
  38569. return m_FcFalse
  38570. }
  38571. func XFcNameUnparseValueList(tls *libc.TLS, buf uintptr, v TFcValueListPtr, escape uintptr) (r TFcBool) {
  38572. var v1 TFcValueListPtr
  38573. var v2 uintptr
  38574. _, _ = v1, v2
  38575. for v != 0 {
  38576. if !(XFcNameUnparseValue(tls, buf, v+8, escape) != 0) {
  38577. return m_FcFalse
  38578. }
  38579. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  38580. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  38581. } else {
  38582. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  38583. }
  38584. v1 = v2
  38585. v = v1
  38586. if v1 != libc.UintptrFromInt32(0) {
  38587. if !(_FcNameUnparseString(tls, buf, __ccgo_ts+6871, uintptr(0)) != 0) {
  38588. return m_FcFalse
  38589. }
  38590. }
  38591. }
  38592. return int32(m_FcTrue)
  38593. }
  38594. func XFcNameUnparse(tls *libc.TLS, pat uintptr) (r uintptr) {
  38595. return XFcNameUnparseEscaped(tls, pat, int32(m_FcTrue))
  38596. }
  38597. func XFcNameUnparseEscaped(tls *libc.TLS, pat uintptr, escape TFcBool) (r uintptr) {
  38598. bp := tls.Alloc(8752)
  38599. defer tls.Free(8752)
  38600. var e, o, p, v1, v2, v3, v4, v6, v7, v8 uintptr
  38601. var i int32
  38602. var id TFcObject
  38603. var _ /* buf at bp+0 */ TFcStrBuf
  38604. var _ /* buf2 at bp+152 */ TFcStrBuf
  38605. var _ /* buf2_static at bp+8496 */ [256]TFcChar8
  38606. var _ /* buf_static at bp+304 */ [8192]TFcChar8
  38607. _, _, _, _, _, _, _, _, _, _, _, _ = e, i, id, o, p, v1, v2, v3, v4, v6, v7, v8
  38608. XFcStrBufInit(tls, bp, bp+304, int32(8192))
  38609. XFcStrBufInit(tls, bp+152, bp+8496, int32(256))
  38610. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_FAMILY_OBJECT))
  38611. if e != 0 {
  38612. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  38613. v1 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38614. } else {
  38615. v1 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38616. }
  38617. if escape != 0 {
  38618. v2 = __ccgo_ts + 6873
  38619. } else {
  38620. v2 = uintptr(0)
  38621. }
  38622. if !(XFcNameUnparseValueList(tls, bp, v1, v2) != 0) {
  38623. goto bail0
  38624. }
  38625. }
  38626. e = XFcPatternObjectFindElt(tls, pat, int32(_FC_SIZE_OBJECT))
  38627. if e != 0 {
  38628. if !(_FcNameUnparseString(tls, bp+152, __ccgo_ts+6878, uintptr(0)) != 0) {
  38629. goto bail0
  38630. }
  38631. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  38632. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38633. } else {
  38634. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38635. }
  38636. if escape != 0 {
  38637. v4 = __ccgo_ts + 6873
  38638. } else {
  38639. v4 = uintptr(0)
  38640. }
  38641. if !(XFcNameUnparseValueList(tls, bp+152, v3, v4) != 0) {
  38642. goto bail0
  38643. }
  38644. p = XFcStrBufDoneStatic(tls, bp+152)
  38645. XFcStrBufDestroy(tls, bp+152)
  38646. if libc.Xstrlen(tls, p) > uint64(1) {
  38647. if !(XFcStrBufString(tls, bp, p) != 0) {
  38648. goto bail0
  38649. }
  38650. }
  38651. }
  38652. i = 0
  38653. for {
  38654. if !(i < int32(libc.Uint64FromInt64(832)/libc.Uint64FromInt64(16))) {
  38655. break
  38656. }
  38657. id = i + int32(1)
  38658. o = uintptr(unsafe.Pointer(&_FcObjects)) + uintptr(i)*16
  38659. if !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+5977) != 0) || !(libc.Xstrcmp(tls, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, __ccgo_ts+6212) != 0) {
  38660. goto _5
  38661. }
  38662. e = XFcPatternObjectFindElt(tls, pat, id)
  38663. if e != 0 {
  38664. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6880, uintptr(0)) != 0) {
  38665. goto bail0
  38666. }
  38667. if escape != 0 {
  38668. v6 = __ccgo_ts + 6882
  38669. } else {
  38670. v6 = uintptr(0)
  38671. }
  38672. if !(_FcNameUnparseString(tls, bp, (*TFcObjectType)(unsafe.Pointer(o)).Fobject, v6) != 0) {
  38673. goto bail0
  38674. }
  38675. if !(_FcNameUnparseString(tls, bp, __ccgo_ts+6888, uintptr(0)) != 0) {
  38676. goto bail0
  38677. }
  38678. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  38679. v7 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  38680. } else {
  38681. v7 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  38682. }
  38683. if escape != 0 {
  38684. v8 = __ccgo_ts + 6882
  38685. } else {
  38686. v8 = uintptr(0)
  38687. }
  38688. if !(XFcNameUnparseValueList(tls, bp, v7, v8) != 0) {
  38689. goto bail0
  38690. }
  38691. }
  38692. goto _5
  38693. _5:
  38694. ;
  38695. i++
  38696. }
  38697. return XFcStrBufDone(tls, bp)
  38698. goto bail0
  38699. bail0:
  38700. ;
  38701. XFcStrBufDestroy(tls, bp)
  38702. return uintptr(0)
  38703. }
  38704. /* ANSI-C code produced by gperf version 3.1 */
  38705. /* Command-line: gperf --pic -m 100 fcobjshash.gperf */
  38706. /* Computed positions: -k'3,5' */
  38707. type TFcObjectTypeInfo = struct {
  38708. Fname int32
  38709. Fid int32
  38710. }
  38711. /*
  38712. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  38713. *
  38714. * @APPLE_LICENSE_HEADER_START@
  38715. *
  38716. * This file contains Original Code and/or Modifications of Original Code
  38717. * as defined in and that are subject to the Apple Public Source License
  38718. * Version 2.0 (the 'License'). You may not use this file except in
  38719. * compliance with the License. Please obtain a copy of the License at
  38720. * http://www.opensource.apple.com/apsl/ and read it before using this
  38721. * file.
  38722. *
  38723. * The Original Code and all software distributed under the License are
  38724. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  38725. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  38726. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  38727. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  38728. * Please see the License for the specific language governing rights and
  38729. * limitations under the License.
  38730. *
  38731. * @APPLE_LICENSE_HEADER_END@
  38732. */
  38733. /*-
  38734. * Copyright (c) 1990, 1993
  38735. * The Regents of the University of California. All rights reserved.
  38736. *
  38737. * Redistribution and use in source and binary forms, with or without
  38738. * modification, are permitted provided that the following conditions
  38739. * are met:
  38740. * 1. Redistributions of source code must retain the above copyright
  38741. * notice, this list of conditions and the following disclaimer.
  38742. * 2. Redistributions in binary form must reproduce the above copyright
  38743. * notice, this list of conditions and the following disclaimer in the
  38744. * documentation and/or other materials provided with the distribution.
  38745. * 3. All advertising materials mentioning features or use of this software
  38746. * must display the following acknowledgement:
  38747. * This product includes software developed by the University of
  38748. * California, Berkeley and its contributors.
  38749. * 4. Neither the name of the University nor the names of its contributors
  38750. * may be used to endorse or promote products derived from this software
  38751. * without specific prior written permission.
  38752. *
  38753. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  38754. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  38755. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  38756. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  38757. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  38758. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  38759. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  38760. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  38761. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  38762. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  38763. * SUCH DAMAGE.
  38764. *
  38765. * @(#)string.h 8.1 (Berkeley) 6/2/93
  38766. */
  38767. /* maximum key range = 59, duplicates = 0 */
  38768. func _FcObjectTypeHash(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uint32) {
  38769. var hval uint32
  38770. _ = hval
  38771. hval = uint32(len1)
  38772. switch hval {
  38773. default:
  38774. hval += uint32(_asso_values[uint8(*(*int8)(unsafe.Pointer(str + 4)))])
  38775. /*FALLTHROUGH*/
  38776. fallthrough
  38777. case uint32(4):
  38778. fallthrough
  38779. case uint32(3):
  38780. hval += uint32(_asso_values[uint8(*(*int8)(unsafe.Pointer(str + 2)))])
  38781. break
  38782. }
  38783. return hval
  38784. }
  38785. var _asso_values = [256]uint8{
  38786. 0: uint8(66),
  38787. 1: uint8(66),
  38788. 2: uint8(66),
  38789. 3: uint8(66),
  38790. 4: uint8(66),
  38791. 5: uint8(66),
  38792. 6: uint8(66),
  38793. 7: uint8(66),
  38794. 8: uint8(66),
  38795. 9: uint8(66),
  38796. 10: uint8(66),
  38797. 11: uint8(66),
  38798. 12: uint8(66),
  38799. 13: uint8(66),
  38800. 14: uint8(66),
  38801. 15: uint8(66),
  38802. 16: uint8(66),
  38803. 17: uint8(66),
  38804. 18: uint8(66),
  38805. 19: uint8(66),
  38806. 20: uint8(66),
  38807. 21: uint8(66),
  38808. 22: uint8(66),
  38809. 23: uint8(66),
  38810. 24: uint8(66),
  38811. 25: uint8(66),
  38812. 26: uint8(66),
  38813. 27: uint8(66),
  38814. 28: uint8(66),
  38815. 29: uint8(66),
  38816. 30: uint8(66),
  38817. 31: uint8(66),
  38818. 32: uint8(66),
  38819. 33: uint8(66),
  38820. 34: uint8(66),
  38821. 35: uint8(66),
  38822. 36: uint8(66),
  38823. 37: uint8(66),
  38824. 38: uint8(66),
  38825. 39: uint8(66),
  38826. 40: uint8(66),
  38827. 41: uint8(66),
  38828. 42: uint8(66),
  38829. 43: uint8(66),
  38830. 44: uint8(66),
  38831. 45: uint8(66),
  38832. 46: uint8(66),
  38833. 47: uint8(66),
  38834. 48: uint8(66),
  38835. 49: uint8(66),
  38836. 50: uint8(66),
  38837. 51: uint8(66),
  38838. 52: uint8(66),
  38839. 53: uint8(66),
  38840. 54: uint8(66),
  38841. 55: uint8(66),
  38842. 56: uint8(66),
  38843. 57: uint8(66),
  38844. 58: uint8(66),
  38845. 59: uint8(66),
  38846. 60: uint8(66),
  38847. 61: uint8(66),
  38848. 62: uint8(66),
  38849. 63: uint8(66),
  38850. 64: uint8(66),
  38851. 65: uint8(66),
  38852. 66: uint8(66),
  38853. 67: uint8(66),
  38854. 68: uint8(66),
  38855. 69: uint8(66),
  38856. 70: uint8(66),
  38857. 71: uint8(66),
  38858. 72: uint8(66),
  38859. 73: uint8(66),
  38860. 74: uint8(66),
  38861. 75: uint8(66),
  38862. 76: uint8(66),
  38863. 77: uint8(66),
  38864. 78: uint8(66),
  38865. 79: uint8(66),
  38866. 80: uint8(66),
  38867. 81: uint8(66),
  38868. 82: uint8(66),
  38869. 83: uint8(66),
  38870. 84: uint8(66),
  38871. 85: uint8(66),
  38872. 86: uint8(66),
  38873. 87: uint8(66),
  38874. 88: uint8(66),
  38875. 89: uint8(66),
  38876. 90: uint8(66),
  38877. 91: uint8(66),
  38878. 92: uint8(66),
  38879. 93: uint8(66),
  38880. 94: uint8(66),
  38881. 95: uint8(66),
  38882. 96: uint8(66),
  38883. 97: uint8(4),
  38884. 98: uint8(10),
  38885. 99: uint8(32),
  38886. 100: uint8(21),
  38887. 101: uint8(29),
  38888. 102: uint8(28),
  38889. 103: uint8(49),
  38890. 104: uint8(14),
  38891. 105: uint8(4),
  38892. 106: uint8(66),
  38893. 107: uint8(66),
  38894. 108: uint8(5),
  38895. 109: uint8(31),
  38896. 110: uint8(18),
  38897. 111: uint8(22),
  38898. 112: uint8(27),
  38899. 113: uint8(66),
  38900. 114: uint8(15),
  38901. 115: uint8(9),
  38902. 116: uint8(8),
  38903. 117: uint8(23),
  38904. 118: uint8(23),
  38905. 119: uint8(13),
  38906. 120: uint8(23),
  38907. 121: uint8(16),
  38908. 122: uint8(4),
  38909. 123: uint8(66),
  38910. 124: uint8(66),
  38911. 125: uint8(66),
  38912. 126: uint8(66),
  38913. 127: uint8(66),
  38914. 128: uint8(66),
  38915. 129: uint8(66),
  38916. 130: uint8(66),
  38917. 131: uint8(66),
  38918. 132: uint8(66),
  38919. 133: uint8(66),
  38920. 134: uint8(66),
  38921. 135: uint8(66),
  38922. 136: uint8(66),
  38923. 137: uint8(66),
  38924. 138: uint8(66),
  38925. 139: uint8(66),
  38926. 140: uint8(66),
  38927. 141: uint8(66),
  38928. 142: uint8(66),
  38929. 143: uint8(66),
  38930. 144: uint8(66),
  38931. 145: uint8(66),
  38932. 146: uint8(66),
  38933. 147: uint8(66),
  38934. 148: uint8(66),
  38935. 149: uint8(66),
  38936. 150: uint8(66),
  38937. 151: uint8(66),
  38938. 152: uint8(66),
  38939. 153: uint8(66),
  38940. 154: uint8(66),
  38941. 155: uint8(66),
  38942. 156: uint8(66),
  38943. 157: uint8(66),
  38944. 158: uint8(66),
  38945. 159: uint8(66),
  38946. 160: uint8(66),
  38947. 161: uint8(66),
  38948. 162: uint8(66),
  38949. 163: uint8(66),
  38950. 164: uint8(66),
  38951. 165: uint8(66),
  38952. 166: uint8(66),
  38953. 167: uint8(66),
  38954. 168: uint8(66),
  38955. 169: uint8(66),
  38956. 170: uint8(66),
  38957. 171: uint8(66),
  38958. 172: uint8(66),
  38959. 173: uint8(66),
  38960. 174: uint8(66),
  38961. 175: uint8(66),
  38962. 176: uint8(66),
  38963. 177: uint8(66),
  38964. 178: uint8(66),
  38965. 179: uint8(66),
  38966. 180: uint8(66),
  38967. 181: uint8(66),
  38968. 182: uint8(66),
  38969. 183: uint8(66),
  38970. 184: uint8(66),
  38971. 185: uint8(66),
  38972. 186: uint8(66),
  38973. 187: uint8(66),
  38974. 188: uint8(66),
  38975. 189: uint8(66),
  38976. 190: uint8(66),
  38977. 191: uint8(66),
  38978. 192: uint8(66),
  38979. 193: uint8(66),
  38980. 194: uint8(66),
  38981. 195: uint8(66),
  38982. 196: uint8(66),
  38983. 197: uint8(66),
  38984. 198: uint8(66),
  38985. 199: uint8(66),
  38986. 200: uint8(66),
  38987. 201: uint8(66),
  38988. 202: uint8(66),
  38989. 203: uint8(66),
  38990. 204: uint8(66),
  38991. 205: uint8(66),
  38992. 206: uint8(66),
  38993. 207: uint8(66),
  38994. 208: uint8(66),
  38995. 209: uint8(66),
  38996. 210: uint8(66),
  38997. 211: uint8(66),
  38998. 212: uint8(66),
  38999. 213: uint8(66),
  39000. 214: uint8(66),
  39001. 215: uint8(66),
  39002. 216: uint8(66),
  39003. 217: uint8(66),
  39004. 218: uint8(66),
  39005. 219: uint8(66),
  39006. 220: uint8(66),
  39007. 221: uint8(66),
  39008. 222: uint8(66),
  39009. 223: uint8(66),
  39010. 224: uint8(66),
  39011. 225: uint8(66),
  39012. 226: uint8(66),
  39013. 227: uint8(66),
  39014. 228: uint8(66),
  39015. 229: uint8(66),
  39016. 230: uint8(66),
  39017. 231: uint8(66),
  39018. 232: uint8(66),
  39019. 233: uint8(66),
  39020. 234: uint8(66),
  39021. 235: uint8(66),
  39022. 236: uint8(66),
  39023. 237: uint8(66),
  39024. 238: uint8(66),
  39025. 239: uint8(66),
  39026. 240: uint8(66),
  39027. 241: uint8(66),
  39028. 242: uint8(66),
  39029. 243: uint8(66),
  39030. 244: uint8(66),
  39031. 245: uint8(66),
  39032. 246: uint8(66),
  39033. 247: uint8(66),
  39034. 248: uint8(66),
  39035. 249: uint8(66),
  39036. 250: uint8(66),
  39037. 251: uint8(66),
  39038. 252: uint8(66),
  39039. 253: uint8(66),
  39040. 254: uint8(66),
  39041. 255: uint8(66),
  39042. }
  39043. type TFcObjectTypeNamePool_t = struct {
  39044. FFcObjectTypeNamePool_str7 [4]int8
  39045. FFcObjectTypeNamePool_str8 [5]int8
  39046. FFcObjectTypeNamePool_str9 [5]int8
  39047. FFcObjectTypeNamePool_str13 [5]int8
  39048. FFcObjectTypeNamePool_str14 [5]int8
  39049. FFcObjectTypeNamePool_str15 [8]int8
  39050. FFcObjectTypeNamePool_str16 [9]int8
  39051. FFcObjectTypeNamePool_str17 [6]int8
  39052. FFcObjectTypeNamePool_str18 [7]int8
  39053. FFcObjectTypeNamePool_str19 [8]int8
  39054. FFcObjectTypeNamePool_str20 [8]int8
  39055. FFcObjectTypeNamePool_str21 [10]int8
  39056. FFcObjectTypeNamePool_str22 [5]int8
  39057. FFcObjectTypeNamePool_str23 [9]int8
  39058. FFcObjectTypeNamePool_str24 [7]int8
  39059. FFcObjectTypeNamePool_str25 [6]int8
  39060. FFcObjectTypeNamePool_str26 [10]int8
  39061. FFcObjectTypeNamePool_str27 [9]int8
  39062. FFcObjectTypeNamePool_str28 [11]int8
  39063. FFcObjectTypeNamePool_str29 [8]int8
  39064. FFcObjectTypeNamePool_str30 [9]int8
  39065. FFcObjectTypeNamePool_str31 [9]int8
  39066. FFcObjectTypeNamePool_str32 [15]int8
  39067. FFcObjectTypeNamePool_str33 [15]int8
  39068. FFcObjectTypeNamePool_str34 [10]int8
  39069. FFcObjectTypeNamePool_str35 [13]int8
  39070. FFcObjectTypeNamePool_str36 [10]int8
  39071. FFcObjectTypeNamePool_str37 [10]int8
  39072. FFcObjectTypeNamePool_str38 [6]int8
  39073. FFcObjectTypeNamePool_str39 [14]int8
  39074. FFcObjectTypeNamePool_str40 [6]int8
  39075. FFcObjectTypeNamePool_str41 [6]int8
  39076. FFcObjectTypeNamePool_str42 [7]int8
  39077. FFcObjectTypeNamePool_str43 [12]int8
  39078. FFcObjectTypeNamePool_str44 [9]int8
  39079. FFcObjectTypeNamePool_str45 [15]int8
  39080. FFcObjectTypeNamePool_str46 [11]int8
  39081. FFcObjectTypeNamePool_str47 [11]int8
  39082. FFcObjectTypeNamePool_str48 [11]int8
  39083. FFcObjectTypeNamePool_str49 [6]int8
  39084. FFcObjectTypeNamePool_str50 [6]int8
  39085. FFcObjectTypeNamePool_str51 [8]int8
  39086. FFcObjectTypeNamePool_str52 [12]int8
  39087. FFcObjectTypeNamePool_str53 [9]int8
  39088. FFcObjectTypeNamePool_str54 [10]int8
  39089. FFcObjectTypeNamePool_str55 [15]int8
  39090. FFcObjectTypeNamePool_str56 [11]int8
  39091. FFcObjectTypeNamePool_str57 [11]int8
  39092. FFcObjectTypeNamePool_str58 [13]int8
  39093. FFcObjectTypeNamePool_str59 [7]int8
  39094. FFcObjectTypeNamePool_str60 [8]int8
  39095. FFcObjectTypeNamePool_str65 [7]int8
  39096. }
  39097. var _FcObjectTypeNamePool_contents = TFcObjectTypeNamePool_t{
  39098. FFcObjectTypeNamePool_str7: [4]int8{'d', 'p', 'i'},
  39099. FFcObjectTypeNamePool_str8: [5]int8{'s', 'i', 'z', 'e'},
  39100. FFcObjectTypeNamePool_str9: [5]int8{'f', 'i', 'l', 'e'},
  39101. FFcObjectTypeNamePool_str13: [5]int8{'h', 'a', 's', 'h'},
  39102. FFcObjectTypeNamePool_str14: [5]int8{'r', 'g', 'b', 'a'},
  39103. FFcObjectTypeNamePool_str15: [8]int8{'s', 'p', 'a', 'c', 'i', 'n', 'g'},
  39104. FFcObjectTypeNamePool_str16: [9]int8{'s', 'c', 'a', 'l', 'a', 'b', 'l', 'e'},
  39105. FFcObjectTypeNamePool_str17: [6]int8{'s', 'l', 'a', 'n', 't'},
  39106. FFcObjectTypeNamePool_str18: [7]int8{'m', 'a', 't', 'r', 'i', 'x'},
  39107. FFcObjectTypeNamePool_str19: [8]int8{'o', 'u', 't', 'l', 'i', 'n', 'e'},
  39108. FFcObjectTypeNamePool_str20: [8]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  39109. FFcObjectTypeNamePool_str21: [10]int8{'a', 'n', 't', 'i', 'a', 'l', 'i', 'a', 's'},
  39110. FFcObjectTypeNamePool_str22: [5]int8{'l', 'a', 'n', 'g'},
  39111. FFcObjectTypeNamePool_str23: [9]int8{'e', 'm', 'b', 'o', 'l', 'd', 'e', 'n'},
  39112. FFcObjectTypeNamePool_str24: [7]int8{'w', 'e', 'i', 'g', 'h', 't'},
  39113. FFcObjectTypeNamePool_str25: [6]int8{'c', 'o', 'l', 'o', 'r'},
  39114. FFcObjectTypeNamePool_str26: [10]int8{'c', 'h', 'a', 'r', 'w', 'i', 'd', 't', 'h'},
  39115. FFcObjectTypeNamePool_str27: [9]int8{'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e'},
  39116. FFcObjectTypeNamePool_str28: [11]int8{'c', 'h', 'a', 'r', 'h', 'e', 'i', 'g', 'h', 't'},
  39117. FFcObjectTypeNamePool_str29: [8]int8{'h', 'i', 'n', 't', 'i', 'n', 'g'},
  39118. FFcObjectTypeNamePool_str30: [9]int8{'a', 'u', 't', 'o', 'h', 'i', 'n', 't'},
  39119. FFcObjectTypeNamePool_str31: [9]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e'},
  39120. FFcObjectTypeNamePool_str32: [15]int8{'p', 'o', 's', 't', 's', 'c', 'r', 'i', 'p', 't', 'n', 'a', 'm', 'e'},
  39121. FFcObjectTypeNamePool_str33: [15]int8{'v', 'e', 'r', 't', 'i', 'c', 'a', 'l', 'l', 'a', 'y', 'o', 'u', 't'},
  39122. FFcObjectTypeNamePool_str34: [10]int8{'l', 'c', 'd', 'f', 'i', 'l', 't', 'e', 'r'},
  39123. FFcObjectTypeNamePool_str35: [13]int8{'f', 'u', 'l', 'l', 'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  39124. FFcObjectTypeNamePool_str36: [10]int8{'h', 'i', 'n', 't', 's', 't', 'y', 'l', 'e'},
  39125. FFcObjectTypeNamePool_str37: [10]int8{'p', 'i', 'x', 'e', 'l', 's', 'i', 'z', 'e'},
  39126. FFcObjectTypeNamePool_str38: [6]int8{'s', 'c', 'a', 'l', 'e'},
  39127. FFcObjectTypeNamePool_str39: [14]int8{'g', 'l', 'o', 'b', 'a', 'l', 'a', 'd', 'v', 'a', 'n', 'c', 'e'},
  39128. FFcObjectTypeNamePool_str40: [6]int8{'w', 'i', 'd', 't', 'h'},
  39129. FFcObjectTypeNamePool_str41: [6]int8{'o', 'r', 'd', 'e', 'r'},
  39130. FFcObjectTypeNamePool_str42: [7]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  39131. FFcObjectTypeNamePool_str43: [12]int8{'f', 'o', 'n', 't', 'h', 'a', 's', 'h', 'i', 'n', 't'},
  39132. FFcObjectTypeNamePool_str44: [9]int8{'n', 'a', 'm', 'e', 'l', 'a', 'n', 'g'},
  39133. FFcObjectTypeNamePool_str45: [15]int8{'e', 'm', 'b', 'e', 'd', 'd', 'e', 'd', 'b', 'i', 't', 'm', 'a', 'p'},
  39134. FFcObjectTypeNamePool_str46: [11]int8{'f', 'a', 'm', 'i', 'l', 'y', 'l', 'a', 'n', 'g'},
  39135. FFcObjectTypeNamePool_str47: [11]int8{'c', 'a', 'p', 'a', 'b', 'i', 'l', 'i', 't', 'y'},
  39136. FFcObjectTypeNamePool_str48: [11]int8{'r', 'a', 's', 't', 'e', 'r', 'i', 'z', 'e', 'r'},
  39137. FFcObjectTypeNamePool_str49: [6]int8{'i', 'n', 'd', 'e', 'x'},
  39138. FFcObjectTypeNamePool_str50: [6]int8{'s', 't', 'y', 'l', 'e'},
  39139. FFcObjectTypeNamePool_str51: [8]int8{'f', 'o', 'u', 'n', 'd', 'r', 'y'},
  39140. FFcObjectTypeNamePool_str52: [12]int8{'f', 'o', 'n', 't', 'v', 'e', 'r', 's', 'i', 'o', 'n'},
  39141. FFcObjectTypeNamePool_str53: [9]int8{'m', 'i', 'n', 's', 'p', 'a', 'c', 'e'},
  39142. FFcObjectTypeNamePool_str54: [10]int8{'s', 't', 'y', 'l', 'e', 'l', 'a', 'n', 'g'},
  39143. FFcObjectTypeNamePool_str55: [15]int8{'f', 'o', 'n', 't', 'v', 'a', 'r', 'i', 'a', 't', 'i', 'o', 'n', 's'},
  39144. FFcObjectTypeNamePool_str56: [11]int8{'f', 'o', 'n', 't', 'f', 'o', 'r', 'm', 'a', 't'},
  39145. FFcObjectTypeNamePool_str57: [11]int8{'d', 'e', 'c', 'o', 'r', 'a', 't', 'i', 'v', 'e'},
  39146. FFcObjectTypeNamePool_str58: [13]int8{'f', 'o', 'n', 't', 'f', 'e', 'a', 't', 'u', 'r', 'e', 's'},
  39147. FFcObjectTypeNamePool_str59: [7]int8{'s', 'y', 'm', 'b', 'o', 'l'},
  39148. FFcObjectTypeNamePool_str60: [8]int8{'p', 'r', 'g', 'n', 'a', 'm', 'e'},
  39149. FFcObjectTypeNamePool_str65: [7]int8{'a', 's', 'p', 'e', 'c', 't'},
  39150. }
  39151. func _FcObjectTypeLookup(tls *libc.TLS, str uintptr, len1 Tsize_t) (r uintptr) {
  39152. var key uint32
  39153. var o int32
  39154. var s uintptr
  39155. _, _, _ = key, o, s
  39156. if len1 <= uint64(14) && len1 >= uint64(3) {
  39157. key = _FcObjectTypeHash(tls, str, len1)
  39158. if key <= uint32(65) {
  39159. o = _wordlist[key].Fname
  39160. if o >= 0 {
  39161. s = uintptr(o) + uintptr(unsafe.Pointer(&_FcObjectTypeNamePool_contents))
  39162. if int32(*(*int8)(unsafe.Pointer(str))) == int32(*(*int8)(unsafe.Pointer(s))) && !(libc.Xstrcmp(tls, str+uintptr(1), s+uintptr(1)) != 0) {
  39163. return uintptr(unsafe.Pointer(&_wordlist)) + uintptr(key)*8
  39164. }
  39165. }
  39166. }
  39167. }
  39168. return uintptr(0)
  39169. }
  39170. var _wordlist = [66]TFcObjectTypeInfo{
  39171. 0: {
  39172. Fname: -int32(1),
  39173. },
  39174. 1: {
  39175. Fname: -int32(1),
  39176. },
  39177. 2: {
  39178. Fname: -int32(1),
  39179. },
  39180. 3: {
  39181. Fname: -int32(1),
  39182. },
  39183. 4: {
  39184. Fname: -int32(1),
  39185. },
  39186. 5: {
  39187. Fname: -int32(1),
  39188. },
  39189. 6: {
  39190. Fname: -int32(1),
  39191. },
  39192. 7: {
  39193. Fid: int32(_FC_DPI_OBJECT),
  39194. },
  39195. 8: {
  39196. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 4)),
  39197. Fid: int32(_FC_SIZE_OBJECT),
  39198. },
  39199. 9: {
  39200. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 9)),
  39201. Fid: int32(_FC_FILE_OBJECT),
  39202. },
  39203. 10: {
  39204. Fname: -int32(1),
  39205. },
  39206. 11: {
  39207. Fname: -int32(1),
  39208. },
  39209. 12: {
  39210. Fname: -int32(1),
  39211. },
  39212. 13: {
  39213. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 14)),
  39214. Fid: int32(_FC_HASH_OBJECT),
  39215. },
  39216. 14: {
  39217. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 19)),
  39218. Fid: int32(_FC_RGBA_OBJECT),
  39219. },
  39220. 15: {
  39221. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 24)),
  39222. Fid: int32(_FC_SPACING_OBJECT),
  39223. },
  39224. 16: {
  39225. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 32)),
  39226. Fid: int32(_FC_SCALABLE_OBJECT),
  39227. },
  39228. 17: {
  39229. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 41)),
  39230. Fid: int32(_FC_SLANT_OBJECT),
  39231. },
  39232. 18: {
  39233. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 47)),
  39234. Fid: int32(_FC_MATRIX_OBJECT),
  39235. },
  39236. 19: {
  39237. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 54)),
  39238. Fid: int32(_FC_OUTLINE_OBJECT),
  39239. },
  39240. 20: {
  39241. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 62)),
  39242. Fid: int32(_FC_CHARSET_OBJECT),
  39243. },
  39244. 21: {
  39245. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 70)),
  39246. Fid: int32(_FC_ANTIALIAS_OBJECT),
  39247. },
  39248. 22: {
  39249. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 80)),
  39250. Fid: int32(_FC_LANG_OBJECT),
  39251. },
  39252. 23: {
  39253. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 85)),
  39254. Fid: int32(_FC_EMBOLDEN_OBJECT),
  39255. },
  39256. 24: {
  39257. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 94)),
  39258. Fid: int32(_FC_WEIGHT_OBJECT),
  39259. },
  39260. 25: {
  39261. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 101)),
  39262. Fid: int32(_FC_COLOR_OBJECT),
  39263. },
  39264. 26: {
  39265. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 107)),
  39266. Fid: int32(_FC_CHARWIDTH_OBJECT),
  39267. },
  39268. 27: {
  39269. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 117)),
  39270. Fid: int32(_FC_VARIABLE_OBJECT),
  39271. },
  39272. 28: {
  39273. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 126)),
  39274. Fid: int32(_FC_CHAR_HEIGHT_OBJECT),
  39275. },
  39276. 29: {
  39277. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 137)),
  39278. Fid: int32(_FC_HINTING_OBJECT),
  39279. },
  39280. 30: {
  39281. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 145)),
  39282. Fid: int32(_FC_AUTOHINT_OBJECT),
  39283. },
  39284. 31: {
  39285. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 154)),
  39286. Fid: int32(_FC_FULLNAME_OBJECT),
  39287. },
  39288. 32: {
  39289. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 163)),
  39290. Fid: int32(_FC_POSTSCRIPT_NAME_OBJECT),
  39291. },
  39292. 33: {
  39293. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 178)),
  39294. Fid: int32(_FC_VERTICAL_LAYOUT_OBJECT),
  39295. },
  39296. 34: {
  39297. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 193)),
  39298. Fid: int32(_FC_LCD_FILTER_OBJECT),
  39299. },
  39300. 35: {
  39301. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 203)),
  39302. Fid: int32(_FC_FULLNAMELANG_OBJECT),
  39303. },
  39304. 36: {
  39305. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 216)),
  39306. Fid: int32(_FC_HINT_STYLE_OBJECT),
  39307. },
  39308. 37: {
  39309. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 226)),
  39310. Fid: int32(_FC_PIXEL_SIZE_OBJECT),
  39311. },
  39312. 38: {
  39313. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 236)),
  39314. Fid: int32(_FC_SCALE_OBJECT),
  39315. },
  39316. 39: {
  39317. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 242)),
  39318. Fid: int32(_FC_GLOBAL_ADVANCE_OBJECT),
  39319. },
  39320. 40: {
  39321. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 256)),
  39322. Fid: int32(_FC_WIDTH_OBJECT),
  39323. },
  39324. 41: {
  39325. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 262)),
  39326. Fid: int32(_FC_ORDER_OBJECT),
  39327. },
  39328. 42: {
  39329. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 268)),
  39330. Fid: int32(_FC_FAMILY_OBJECT),
  39331. },
  39332. 43: {
  39333. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 275)),
  39334. Fid: int32(_FC_FONT_HAS_HINT_OBJECT),
  39335. },
  39336. 44: {
  39337. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 287)),
  39338. Fid: int32(_FC_NAMELANG_OBJECT),
  39339. },
  39340. 45: {
  39341. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 296)),
  39342. Fid: int32(_FC_EMBEDDED_BITMAP_OBJECT),
  39343. },
  39344. 46: {
  39345. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 311)),
  39346. Fid: int32(_FC_FAMILYLANG_OBJECT),
  39347. },
  39348. 47: {
  39349. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 322)),
  39350. Fid: int32(_FC_CAPABILITY_OBJECT),
  39351. },
  39352. 48: {
  39353. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 333)),
  39354. Fid: int32(_FC_RASTERIZER_OBJECT),
  39355. },
  39356. 49: {
  39357. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 344)),
  39358. Fid: int32(_FC_INDEX_OBJECT),
  39359. },
  39360. 50: {
  39361. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 350)),
  39362. Fid: int32(_FC_STYLE_OBJECT),
  39363. },
  39364. 51: {
  39365. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 356)),
  39366. Fid: int32(_FC_FOUNDRY_OBJECT),
  39367. },
  39368. 52: {
  39369. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 364)),
  39370. Fid: int32(_FC_FONTVERSION_OBJECT),
  39371. },
  39372. 53: {
  39373. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 376)),
  39374. Fid: int32(_FC_MINSPACE_OBJECT),
  39375. },
  39376. 54: {
  39377. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 385)),
  39378. Fid: int32(_FC_STYLELANG_OBJECT),
  39379. },
  39380. 55: {
  39381. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 395)),
  39382. Fid: int32(_FC_FONT_VARIATIONS_OBJECT),
  39383. },
  39384. 56: {
  39385. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 410)),
  39386. Fid: int32(_FC_FONTFORMAT_OBJECT),
  39387. },
  39388. 57: {
  39389. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 421)),
  39390. Fid: int32(_FC_DECORATIVE_OBJECT),
  39391. },
  39392. 58: {
  39393. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 432)),
  39394. Fid: int32(_FC_FONT_FEATURES_OBJECT),
  39395. },
  39396. 59: {
  39397. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 445)),
  39398. Fid: int32(_FC_SYMBOL_OBJECT),
  39399. },
  39400. 60: {
  39401. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 452)),
  39402. Fid: int32(_FC_PRGNAME_OBJECT),
  39403. },
  39404. 61: {
  39405. Fname: -int32(1),
  39406. },
  39407. 62: {
  39408. Fname: -int32(1),
  39409. },
  39410. 63: {
  39411. Fname: -int32(1),
  39412. },
  39413. 64: {
  39414. Fname: -int32(1),
  39415. },
  39416. 65: {
  39417. Fname: int32(Tsize_t(libc.UintptrFromInt32(0) + 460)),
  39418. Fid: int32(_FC_ASPECT_OBJECT),
  39419. },
  39420. }
  39421. /*
  39422. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  39423. *
  39424. * @APPLE_LICENSE_HEADER_START@
  39425. *
  39426. * This file contains Original Code and/or Modifications of Original Code
  39427. * as defined in and that are subject to the Apple Public Source License
  39428. * Version 2.0 (the 'License'). You may not use this file except in
  39429. * compliance with the License. Please obtain a copy of the License at
  39430. * http://www.opensource.apple.com/apsl/ and read it before using this
  39431. * file.
  39432. *
  39433. * The Original Code and all software distributed under the License are
  39434. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  39435. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  39436. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  39437. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  39438. * Please see the License for the specific language governing rights and
  39439. * limitations under the License.
  39440. *
  39441. * @APPLE_LICENSE_HEADER_END@
  39442. */
  39443. /*-
  39444. * Copyright (c) 1990, 1993
  39445. * The Regents of the University of California. All rights reserved.
  39446. *
  39447. * Redistribution and use in source and binary forms, with or without
  39448. * modification, are permitted provided that the following conditions
  39449. * are met:
  39450. * 1. Redistributions of source code must retain the above copyright
  39451. * notice, this list of conditions and the following disclaimer.
  39452. * 2. Redistributions in binary form must reproduce the above copyright
  39453. * notice, this list of conditions and the following disclaimer in the
  39454. * documentation and/or other materials provided with the distribution.
  39455. * 3. All advertising materials mentioning features or use of this software
  39456. * must display the following acknowledgement:
  39457. * This product includes software developed by the University of
  39458. * California, Berkeley and its contributors.
  39459. * 4. Neither the name of the University nor the names of its contributors
  39460. * may be used to endorse or promote products derived from this software
  39461. * without specific prior written permission.
  39462. *
  39463. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  39464. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  39465. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  39466. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  39467. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  39468. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  39469. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  39470. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  39471. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  39472. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  39473. * SUCH DAMAGE.
  39474. *
  39475. * @(#)string.h 8.1 (Berkeley) 6/2/93
  39476. */
  39477. // C documentation
  39478. //
  39479. // /* The 1000 is to leave some room for future added internal objects, such
  39480. // * that caches from newer fontconfig can still be used with older fontconfig
  39481. // * without getting confused. */
  39482. var _next_id = int32(_FC_ONE_AFTER_MAX_BASE_OBJECT) - libc.Int32FromInt32(1) + libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX)
  39483. type TFcObjectOtherTypeInfo = struct {
  39484. Fnext uintptr
  39485. Fobject TFcObjectType
  39486. Fid TFcObject
  39487. }
  39488. func XFcObjectFini(tls *libc.TLS) {
  39489. var ot, ots uintptr
  39490. var v1 int32
  39491. _, _, _ = ot, ots, v1
  39492. goto retry
  39493. retry:
  39494. ;
  39495. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  39496. if !(ots != 0) {
  39497. return
  39498. }
  39499. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  39500. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = libc.UintptrFromInt32(0)
  39501. v1 = libc.Int32FromInt32(m_FcTrue)
  39502. } else {
  39503. v1 = m_FcFalse
  39504. }
  39505. if !(v1 != 0) {
  39506. goto retry
  39507. }
  39508. for ots != 0 {
  39509. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fnext
  39510. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject != 0 {
  39511. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ots)).Fobject.Fobject)
  39512. }
  39513. libc.Xfree(tls, ots)
  39514. ots = ot
  39515. }
  39516. }
  39517. func __FcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr, id uintptr) (r uintptr) {
  39518. var ot, ots uintptr
  39519. var v2 int32
  39520. _, _, _ = ot, ots, v2
  39521. goto retry
  39522. retry:
  39523. ;
  39524. ots = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  39525. ot = ots
  39526. for {
  39527. if !(ot != 0) {
  39528. break
  39529. }
  39530. if 0 == libc.Xstrcmp(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject, str) {
  39531. break
  39532. }
  39533. goto _1
  39534. _1:
  39535. ;
  39536. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  39537. }
  39538. if !(ot != 0) {
  39539. ot = libc.Xmalloc(tls, uint64(32))
  39540. if !(ot != 0) {
  39541. return libc.UintptrFromInt32(0)
  39542. }
  39543. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject = libc.Xstrdup(tls, str)
  39544. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Ftype1 = int32(_FcTypeUnknown)
  39545. _next_id += +libc.Int32FromInt32(1)
  39546. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid = _next_id - +libc.Int32FromInt32(1)
  39547. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid < int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1)+libc.Int32FromInt32(m_FC_EXT_OBJ_INDEX) {
  39548. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+6890, 0)
  39549. libc.Xabort(tls)
  39550. }
  39551. (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext = ots
  39552. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) == ots {
  39553. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types)))) = ot
  39554. v2 = libc.Int32FromInt32(m_FcTrue)
  39555. } else {
  39556. v2 = m_FcFalse
  39557. }
  39558. if !(v2 != 0) {
  39559. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject != 0 {
  39560. libc.Xfree(tls, (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject)
  39561. }
  39562. libc.Xfree(tls, ot)
  39563. goto retry
  39564. }
  39565. }
  39566. if id != 0 {
  39567. *(*TFcObject)(unsafe.Pointer(id)) = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid
  39568. }
  39569. return ot + 8
  39570. }
  39571. func XFcObjectLookupBuiltinIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  39572. var o uintptr
  39573. _ = o
  39574. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  39575. if o != 0 {
  39576. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  39577. }
  39578. return 0
  39579. }
  39580. func XFcObjectLookupIdByName(tls *libc.TLS, str uintptr) (r TFcObject) {
  39581. bp := tls.Alloc(16)
  39582. defer tls.Free(16)
  39583. var o uintptr
  39584. var _ /* id at bp+0 */ TFcObject
  39585. _ = o
  39586. o = _FcObjectTypeLookup(tls, str, libc.Xstrlen(tls, str))
  39587. if o != 0 {
  39588. return (*TFcObjectTypeInfo)(unsafe.Pointer(o)).Fid
  39589. }
  39590. if __FcObjectLookupOtherTypeByName(tls, str, bp) != 0 {
  39591. return *(*TFcObject)(unsafe.Pointer(bp))
  39592. }
  39593. return 0
  39594. }
  39595. func XFcObjectLookupOtherNameById(tls *libc.TLS, id TFcObject) (r uintptr) {
  39596. var ot uintptr
  39597. _ = ot
  39598. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  39599. for {
  39600. if !(ot != 0) {
  39601. break
  39602. }
  39603. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  39604. return (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fobject.Fobject
  39605. }
  39606. goto _1
  39607. _1:
  39608. ;
  39609. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  39610. }
  39611. return libc.UintptrFromInt32(0)
  39612. }
  39613. func XFcObjectLookupOtherTypeByName(tls *libc.TLS, str uintptr) (r uintptr) {
  39614. return __FcObjectLookupOtherTypeByName(tls, str, libc.UintptrFromInt32(0))
  39615. }
  39616. func XFcObjectLookupOtherTypeById(tls *libc.TLS, id TFcObject) (r uintptr) {
  39617. var ot uintptr
  39618. _ = ot
  39619. ot = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&Xother_types))))
  39620. for {
  39621. if !(ot != 0) {
  39622. break
  39623. }
  39624. if (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fid == id {
  39625. return ot + 8
  39626. }
  39627. goto _1
  39628. _1:
  39629. ;
  39630. ot = (*TFcObjectOtherTypeInfo)(unsafe.Pointer(ot)).Fnext
  39631. }
  39632. return libc.UintptrFromInt32(0)
  39633. }
  39634. /* Objects MT-safe for readonly access. */
  39635. func XFcPatternCreate(tls *libc.TLS) (r uintptr) {
  39636. var p uintptr
  39637. _ = p
  39638. p = libc.Xmalloc(tls, uint64(24))
  39639. if !(p != 0) {
  39640. return uintptr(0)
  39641. }
  39642. libc.X__builtin___memset_chk(tls, p, 0, uint64(24), uint64(libc.X__builtin_object_size(tls, p, 0)))
  39643. (*TFcPattern)(unsafe.Pointer(p)).Fnum = 0
  39644. (*TFcPattern)(unsafe.Pointer(p)).Fsize = 0
  39645. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(libc.UintptrFromInt32(0)) - int64(p)
  39646. (*TFcRef)(unsafe.Pointer(p + 16)).Fcount = int32(1)
  39647. return p
  39648. }
  39649. func XFcValueDestroy(tls *libc.TLS, _v TFcValue) {
  39650. bp := tls.Alloc(16)
  39651. defer tls.Free(16)
  39652. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  39653. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  39654. case int32(_FcTypeString):
  39655. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39656. case int32(_FcTypeMatrix):
  39657. XFcMatrixFree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39658. case int32(_FcTypeCharSet):
  39659. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39660. case int32(_FcTypeLangSet):
  39661. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39662. case int32(_FcTypeRange):
  39663. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39664. default:
  39665. break
  39666. }
  39667. }
  39668. func XFcValueCanonicalize(tls *libc.TLS, v uintptr) (r TFcValue) {
  39669. bp := tls.Alloc(16)
  39670. defer tls.Free(16)
  39671. var v1, v2, v3, v4 uintptr
  39672. var _ /* new at bp+0 */ TFcValue
  39673. _, _, _, _ = v1, v2, v3, v4
  39674. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  39675. case int32(_FcTypeString):
  39676. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39677. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39678. } else {
  39679. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  39680. }
  39681. *(*uintptr)(unsafe.Pointer(bp + 8)) = v1
  39682. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  39683. case int32(_FcTypeCharSet):
  39684. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39685. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39686. } else {
  39687. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  39688. }
  39689. *(*uintptr)(unsafe.Pointer(bp + 8)) = v2
  39690. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  39691. case int32(_FcTypeLangSet):
  39692. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39693. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39694. } else {
  39695. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  39696. }
  39697. *(*uintptr)(unsafe.Pointer(bp + 8)) = v3
  39698. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  39699. case int32(_FcTypeRange):
  39700. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39701. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39702. } else {
  39703. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  39704. }
  39705. *(*uintptr)(unsafe.Pointer(bp + 8)) = v4
  39706. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  39707. default:
  39708. *(*TFcValue)(unsafe.Pointer(bp)) = *(*TFcValue)(unsafe.Pointer(v))
  39709. break
  39710. }
  39711. return *(*TFcValue)(unsafe.Pointer(bp))
  39712. }
  39713. func XFcValueSave(tls *libc.TLS, _v TFcValue) (r TFcValue) {
  39714. bp := tls.Alloc(16)
  39715. defer tls.Free(16)
  39716. *(*TFcValue)(unsafe.Pointer(bp)) = _v
  39717. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  39718. case int32(_FcTypeString):
  39719. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39720. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39721. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39722. }
  39723. case int32(_FcTypeMatrix):
  39724. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcMatrixCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39725. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39726. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39727. }
  39728. case int32(_FcTypeCharSet):
  39729. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39730. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39731. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39732. }
  39733. case int32(_FcTypeLangSet):
  39734. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39735. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39736. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39737. }
  39738. case int32(_FcTypeRange):
  39739. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  39740. if !(*(*uintptr)(unsafe.Pointer(bp + 8)) != 0) {
  39741. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  39742. }
  39743. default:
  39744. break
  39745. }
  39746. return *(*TFcValue)(unsafe.Pointer(bp))
  39747. }
  39748. func XFcValueListCreate(tls *libc.TLS) (r TFcValueListPtr) {
  39749. return libc.Xcalloc(tls, uint64(1), uint64(32))
  39750. }
  39751. func XFcValueListDestroy(tls *libc.TLS, l TFcValueListPtr) {
  39752. var next TFcValueListPtr
  39753. var v2 uintptr
  39754. _, _ = next, v2
  39755. for {
  39756. if !(l != 0) {
  39757. break
  39758. }
  39759. XFcValueDestroy(tls, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  39760. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  39761. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39762. } else {
  39763. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  39764. }
  39765. next = v2
  39766. libc.Xfree(tls, l)
  39767. goto _1
  39768. _1:
  39769. ;
  39770. l = next
  39771. }
  39772. }
  39773. func XFcValueListPrepend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  39774. var new1 TFcValueListPtr
  39775. _ = new1
  39776. if value.Ftype1 == int32(_FcTypeVoid) {
  39777. return vallist
  39778. }
  39779. new1 = XFcValueListCreate(tls)
  39780. if !(new1 != 0) {
  39781. return vallist
  39782. }
  39783. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  39784. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  39785. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = vallist
  39786. return new1
  39787. }
  39788. func XFcValueListAppend(tls *libc.TLS, vallist TFcValueListPtr, value TFcValue, binding TFcValueBinding) (r TFcValueListPtr) {
  39789. var last, new1 TFcValueListPtr
  39790. var v2, v3 uintptr
  39791. _, _, _, _ = last, new1, v2, v3
  39792. if value.Ftype1 == int32(_FcTypeVoid) {
  39793. return vallist
  39794. }
  39795. new1 = XFcValueListCreate(tls)
  39796. if !(new1 != 0) {
  39797. return vallist
  39798. }
  39799. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  39800. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  39801. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  39802. if vallist != 0 {
  39803. last = vallist
  39804. for {
  39805. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  39806. v2 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39807. } else {
  39808. v2 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  39809. }
  39810. if !(v2 != 0) {
  39811. break
  39812. }
  39813. goto _1
  39814. _1:
  39815. ;
  39816. if int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(1) != 0 {
  39817. v3 = uintptr(int64(last) + int64((*T_FcValueList)(unsafe.Pointer(last)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39818. } else {
  39819. v3 = (*T_FcValueList)(unsafe.Pointer(last)).Fnext
  39820. }
  39821. last = v3
  39822. }
  39823. (*T_FcValueList)(unsafe.Pointer(last)).Fnext = new1
  39824. } else {
  39825. vallist = new1
  39826. }
  39827. return vallist
  39828. }
  39829. func XFcValueListDuplicate(tls *libc.TLS, orig TFcValueListPtr) (r TFcValueListPtr) {
  39830. var l, new1, t, v2 TFcValueListPtr
  39831. var v TFcValue
  39832. var v3, v4 uintptr
  39833. _, _, _, _, _, _, _ = l, new1, t, v, v2, v3, v4
  39834. new1 = libc.UintptrFromInt32(0)
  39835. t = libc.UintptrFromInt32(0)
  39836. l = orig
  39837. for {
  39838. if !(l != libc.UintptrFromInt32(0)) {
  39839. break
  39840. }
  39841. if !(new1 != 0) {
  39842. v2 = XFcValueListCreate(tls)
  39843. new1 = v2
  39844. t = v2
  39845. } else {
  39846. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = XFcValueListCreate(tls)
  39847. if int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(1) != 0 {
  39848. v3 = uintptr(int64(t) + int64((*T_FcValueList)(unsafe.Pointer(t)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39849. } else {
  39850. v3 = (*T_FcValueList)(unsafe.Pointer(t)).Fnext
  39851. }
  39852. t = v3
  39853. }
  39854. v = XFcValueCanonicalize(tls, l+8)
  39855. (*T_FcValueList)(unsafe.Pointer(t)).Fvalue = XFcValueSave(tls, v)
  39856. (*T_FcValueList)(unsafe.Pointer(t)).Fbinding = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  39857. (*T_FcValueList)(unsafe.Pointer(t)).Fnext = libc.UintptrFromInt32(0)
  39858. goto _1
  39859. _1:
  39860. ;
  39861. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  39862. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  39863. } else {
  39864. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  39865. }
  39866. l = v4
  39867. }
  39868. return new1
  39869. }
  39870. func XFcValueEqual(tls *libc.TLS, _va TFcValue, _vb TFcValue) (r TFcBool) {
  39871. bp := tls.Alloc(32)
  39872. defer tls.Free(32)
  39873. *(*TFcValue)(unsafe.Pointer(bp)) = _va
  39874. *(*TFcValue)(unsafe.Pointer(bp + 16)) = _vb
  39875. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  39876. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 == int32(_FcTypeInteger) {
  39877. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  39878. *(*float64)(unsafe.Pointer(bp + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  39879. }
  39880. if (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 == int32(_FcTypeInteger) {
  39881. (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 = int32(_FcTypeDouble)
  39882. *(*float64)(unsafe.Pointer(bp + 16 + 8)) = float64(*(*int32)(unsafe.Pointer(bp + 16 + 8)))
  39883. }
  39884. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != (*(*TFcValue)(unsafe.Pointer(bp + 16))).Ftype1 {
  39885. return m_FcFalse
  39886. }
  39887. }
  39888. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  39889. case int32(_FcTypeUnknown):
  39890. return m_FcFalse /* don't know how to compare this object */
  39891. case int32(_FcTypeVoid):
  39892. return int32(m_FcTrue)
  39893. case int32(_FcTypeInteger):
  39894. return libc.BoolInt32(*(*int32)(unsafe.Pointer(bp + 8)) == *(*int32)(unsafe.Pointer(bp + 16 + 8)))
  39895. case int32(_FcTypeDouble):
  39896. return libc.BoolInt32(*(*float64)(unsafe.Pointer(bp + 8)) == *(*float64)(unsafe.Pointer(bp + 16 + 8)))
  39897. case int32(_FcTypeString):
  39898. return libc.BoolInt32(XFcStrCmpIgnoreCase(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8))) == 0)
  39899. case int32(_FcTypeBool):
  39900. return libc.BoolInt32(*(*TFcBool)(unsafe.Pointer(bp + 8)) == *(*TFcBool)(unsafe.Pointer(bp + 16 + 8)))
  39901. case int32(_FcTypeMatrix):
  39902. return XFcMatrixEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  39903. case int32(_FcTypeCharSet):
  39904. return XFcCharSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  39905. case int32(_FcTypeFTFace):
  39906. return libc.BoolInt32(*(*uintptr)(unsafe.Pointer(bp + 8)) == *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  39907. case int32(_FcTypeLangSet):
  39908. return XFcLangSetEqual(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  39909. case int32(_FcTypeRange):
  39910. return XFcRangeIsInRange(tls, *(*uintptr)(unsafe.Pointer(bp + 8)), *(*uintptr)(unsafe.Pointer(bp + 16 + 8)))
  39911. }
  39912. return m_FcFalse
  39913. }
  39914. func _FcDoubleHash(tls *libc.TLS, d float64) (r TFcChar32) {
  39915. if d < libc.Float64FromInt32(0) {
  39916. d = -d
  39917. }
  39918. if d > libc.Float64FromUint32(0xffffffff) {
  39919. d = libc.Float64FromUint32(0xffffffff)
  39920. }
  39921. return uint32(d)
  39922. }
  39923. func XFcStringHash(tls *libc.TLS, s uintptr) (r TFcChar32) {
  39924. var c, v1 TFcChar8
  39925. var h TFcChar32
  39926. var v2 uintptr
  39927. _, _, _, _ = c, h, v1, v2
  39928. h = uint32(0)
  39929. if s != 0 {
  39930. for {
  39931. v2 = s
  39932. s++
  39933. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  39934. c = v1
  39935. if !(v1 != 0) {
  39936. break
  39937. }
  39938. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32(c)
  39939. }
  39940. }
  39941. return h
  39942. }
  39943. func _FcValueHash(tls *libc.TLS, v uintptr) (r TFcChar32) {
  39944. var v1, v2, v3, v4 uintptr
  39945. _, _, _, _ = v1, v2, v3, v4
  39946. switch (*TFcValue)(unsafe.Pointer(v)).Ftype1 {
  39947. case int32(_FcTypeUnknown):
  39948. fallthrough
  39949. case int32(_FcTypeVoid):
  39950. return uint32(0)
  39951. case int32(_FcTypeInteger):
  39952. return uint32(*(*int32)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  39953. case int32(_FcTypeDouble):
  39954. return _FcDoubleHash(tls, *(*float64)(unsafe.Pointer(v + 8)))
  39955. case int32(_FcTypeString):
  39956. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39957. v1 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39958. } else {
  39959. v1 = *(*uintptr)(unsafe.Pointer(v + 8))
  39960. }
  39961. return XFcStringHash(tls, v1)
  39962. case int32(_FcTypeBool):
  39963. return uint32(*(*TFcBool)(unsafe.Pointer(&(*TFcValue)(unsafe.Pointer(v)).Fu)))
  39964. case int32(_FcTypeMatrix):
  39965. 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)
  39966. case int32(_FcTypeCharSet):
  39967. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39968. v2 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39969. } else {
  39970. v2 = *(*uintptr)(unsafe.Pointer(v + 8))
  39971. }
  39972. return uint32((*TFcCharSet)(unsafe.Pointer(v2)).Fnum)
  39973. case int32(_FcTypeFTFace):
  39974. 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)
  39975. case int32(_FcTypeLangSet):
  39976. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39977. v3 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39978. } else {
  39979. v3 = *(*uintptr)(unsafe.Pointer(v + 8))
  39980. }
  39981. return XFcLangSetHash(tls, v3)
  39982. case int32(_FcTypeRange):
  39983. if int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(1) != 0 {
  39984. v4 = uintptr(int64(v) + int64(*(*uintptr)(unsafe.Pointer(v + 8)))&int64(^libc.Int32FromInt32(1)))
  39985. } else {
  39986. v4 = *(*uintptr)(unsafe.Pointer(v + 8))
  39987. }
  39988. return XFcRangeHash(tls, v4)
  39989. }
  39990. return uint32(0)
  39991. }
  39992. func _FcValueListEqual(tls *libc.TLS, la TFcValueListPtr, lb TFcValueListPtr) (r TFcBool) {
  39993. var v1, v2 uintptr
  39994. _, _ = v1, v2
  39995. if la == lb {
  39996. return int32(m_FcTrue)
  39997. }
  39998. for la != 0 && lb != 0 {
  39999. if !(XFcValueEqual(tls, (*T_FcValueList)(unsafe.Pointer(la)).Fvalue, (*T_FcValueList)(unsafe.Pointer(lb)).Fvalue) != 0) {
  40000. return m_FcFalse
  40001. }
  40002. if int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(1) != 0 {
  40003. v1 = uintptr(int64(la) + int64((*T_FcValueList)(unsafe.Pointer(la)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40004. } else {
  40005. v1 = (*T_FcValueList)(unsafe.Pointer(la)).Fnext
  40006. }
  40007. la = v1
  40008. if int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(1) != 0 {
  40009. v2 = uintptr(int64(lb) + int64((*T_FcValueList)(unsafe.Pointer(lb)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40010. } else {
  40011. v2 = (*T_FcValueList)(unsafe.Pointer(lb)).Fnext
  40012. }
  40013. lb = v2
  40014. }
  40015. if la != 0 || lb != 0 {
  40016. return m_FcFalse
  40017. }
  40018. return int32(m_FcTrue)
  40019. }
  40020. func _FcValueListHash(tls *libc.TLS, l TFcValueListPtr) (r TFcChar32) {
  40021. var hash TFcChar32
  40022. var v2 uintptr
  40023. _, _ = hash, v2
  40024. hash = uint32(0)
  40025. for {
  40026. if !(l != 0) {
  40027. break
  40028. }
  40029. hash = hash<<libc.Int32FromInt32(1) | hash>>libc.Int32FromInt32(31) ^ _FcValueHash(tls, l+8)
  40030. goto _1
  40031. _1:
  40032. ;
  40033. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  40034. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40035. } else {
  40036. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40037. }
  40038. l = v2
  40039. }
  40040. return hash
  40041. }
  40042. func _FcPatternGetCacheObject(tls *libc.TLS, p uintptr) (r uintptr) {
  40043. var v1 uintptr
  40044. _ = v1
  40045. /* We use a value to find the cache, instead of the FcPattern object
  40046. * because the pattern itself may be a cache allocation if we rewrote the path,
  40047. * so the p may not be in the cached region. */
  40048. if int64((*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues)&int64(1) != 0 {
  40049. 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)))
  40050. } else {
  40051. v1 = (*TFcPatternElt)(unsafe.Pointer(uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset))).Fvalues
  40052. }
  40053. return v1
  40054. }
  40055. func XFcPatternCacheRewriteFile(tls *libc.TLS, p uintptr, cache uintptr, relocated_font_file uintptr) (r uintptr) {
  40056. var data, elt, elts, new_elts, new_p, new_path, new_value_list, v3 uintptr
  40057. var i, j, new_path_len, v2, v4 Tsize_t
  40058. _, _, _, _, _, _, _, _, _, _, _, _, _ = data, elt, elts, i, j, new_elts, new_p, new_path, new_path_len, new_value_list, v2, v3, v4
  40059. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40060. new_path_len = libc.Xstrlen(tls, relocated_font_file)
  40061. /* Allocate space for the patter, the PatternElt headers and
  40062. * the FC_FILE FcValueList and path that will be freed with the
  40063. * cache */
  40064. data = XFcCacheAllocate(tls, cache, uint64(24)+uint64((*TFcPattern)(unsafe.Pointer(p)).Fnum)*uint64(16)+uint64(32)+new_path_len+uint64(1))
  40065. new_p = data
  40066. data += uintptr(24)
  40067. new_elts = data
  40068. data += uintptr(uint64((*TFcPattern)(unsafe.Pointer(p)).Fnum) * uint64(16))
  40069. new_value_list = data
  40070. data += uintptr(32)
  40071. new_path = data
  40072. *(*TFcPattern)(unsafe.Pointer(new_p)) = *(*TFcPattern)(unsafe.Pointer(p))
  40073. (*TFcPattern)(unsafe.Pointer(new_p)).Felts_offset = int64(new_elts) - int64(new_p)
  40074. /* Copy all but the FILE values from the cache */
  40075. i = uint64(0)
  40076. j = libc.Uint64FromInt32(0)
  40077. for {
  40078. if !(i < uint64((*TFcPattern)(unsafe.Pointer(p)).Fnum)) {
  40079. break
  40080. }
  40081. elt = elts + uintptr(i)*16
  40082. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(j)*16))).Fobject = (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject
  40083. if (*TFcPatternElt)(unsafe.Pointer(elt)).Fobject != int32(_FC_FILE_OBJECT) {
  40084. v2 = j
  40085. j++
  40086. if int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(1) != 0 {
  40087. v3 = uintptr(int64(elt) + int64((*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40088. } else {
  40089. v3 = (*TFcPatternElt)(unsafe.Pointer(elt)).Fvalues
  40090. }
  40091. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v2)*16))).Fvalues = v3
  40092. } else {
  40093. v4 = j
  40094. j++
  40095. (*(*TFcPatternElt)(unsafe.Pointer(new_elts + uintptr(v4)*16))).Fvalues = new_value_list
  40096. }
  40097. goto _1
  40098. _1:
  40099. ;
  40100. i++
  40101. }
  40102. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fnext = libc.UintptrFromInt32(0)
  40103. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fvalue.Ftype1 = int32(_FcTypeString)
  40104. *(*uintptr)(unsafe.Pointer(new_value_list + 8 + 8)) = new_path
  40105. (*TFcValueList)(unsafe.Pointer(new_value_list)).Fbinding = int32(_FcValueBindingWeak)
  40106. /* Add rewritten path at the end */
  40107. libc.X__builtin___strcpy_chk(tls, new_path, relocated_font_file, libc.X__builtin_object_size(tls, new_path, int32(1)))
  40108. return new_p
  40109. }
  40110. func XFcPatternDestroy(tls *libc.TLS, p uintptr) {
  40111. var elts, v7, p5 uintptr
  40112. var i, v3 int32
  40113. var v1 TFcBool
  40114. _, _, _, _, _, _ = elts, i, v1, v3, v7, p5
  40115. if !(p != 0) {
  40116. return
  40117. }
  40118. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  40119. goto _2
  40120. _2:
  40121. if v1 != 0 {
  40122. XFcCacheObjectDereference(tls, _FcPatternGetCacheObject(tls, p))
  40123. return
  40124. }
  40125. p5 = p + 16
  40126. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  40127. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  40128. goto _4
  40129. _4:
  40130. if v3 != int32(1) {
  40131. return
  40132. }
  40133. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40134. i = 0
  40135. for {
  40136. if !(i < XFcPatternObjectCount(tls, p)) {
  40137. break
  40138. }
  40139. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  40140. v7 = uintptr(Tintptr_t(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40141. } else {
  40142. v7 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  40143. }
  40144. XFcValueListDestroy(tls, v7)
  40145. goto _6
  40146. _6:
  40147. ;
  40148. i++
  40149. }
  40150. libc.Xfree(tls, elts)
  40151. libc.Xfree(tls, p)
  40152. }
  40153. func XFcPatternObjectCount(tls *libc.TLS, pat uintptr) (r int32) {
  40154. if pat != 0 {
  40155. return (*TFcPattern)(unsafe.Pointer(pat)).Fnum
  40156. }
  40157. return 0
  40158. }
  40159. func _FcPatternObjectPosition(tls *libc.TLS, p uintptr, object TFcObject) (r int32) {
  40160. var c, high, low, mid int32
  40161. var elts uintptr
  40162. _, _, _, _, _ = c, elts, high, low, mid
  40163. elts = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40164. low = 0
  40165. high = XFcPatternObjectCount(tls, p) - int32(1)
  40166. c = int32(1)
  40167. mid = 0
  40168. for low <= high {
  40169. mid = (low + high) >> int32(1)
  40170. c = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(mid)*16))).Fobject - object
  40171. if c == 0 {
  40172. return mid
  40173. }
  40174. if c < 0 {
  40175. low = mid + int32(1)
  40176. } else {
  40177. high = mid - int32(1)
  40178. }
  40179. }
  40180. if c < 0 {
  40181. mid++
  40182. }
  40183. return -(mid + int32(1))
  40184. }
  40185. func XFcPatternPosition(tls *libc.TLS, p uintptr, object uintptr) (r int32) {
  40186. return _FcPatternObjectPosition(tls, p, XFcObjectFromName(tls, object))
  40187. }
  40188. func XFcPatternObjectFindElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  40189. var i int32
  40190. _ = i
  40191. i = _FcPatternObjectPosition(tls, p, object)
  40192. if i < 0 {
  40193. return uintptr(0)
  40194. }
  40195. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  40196. }
  40197. func XFcPatternObjectInsertElt(tls *libc.TLS, p uintptr, object TFcObject) (r uintptr) {
  40198. var e, e0 uintptr
  40199. var i, s int32
  40200. _, _, _, _ = e, e0, i, s
  40201. i = _FcPatternObjectPosition(tls, p, object)
  40202. if i < 0 {
  40203. i = -i - int32(1)
  40204. /* reallocate array */
  40205. if XFcPatternObjectCount(tls, p)+int32(1) >= (*TFcPattern)(unsafe.Pointer(p)).Fsize {
  40206. s = (*TFcPattern)(unsafe.Pointer(p)).Fsize + int32(16)
  40207. if (*TFcPattern)(unsafe.Pointer(p)).Fsize != 0 {
  40208. e0 = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40209. e = libc.Xrealloc(tls, e0, uint64(s)*uint64(16))
  40210. if !(e != 0) { /* maybe it was mmapped */
  40211. e = libc.Xmalloc(tls, uint64(s)*uint64(16))
  40212. if e != 0 {
  40213. libc.X__builtin___memcpy_chk(tls, e, e0, uint64(XFcPatternObjectCount(tls, p))*uint64(16), uint64(libc.X__builtin_object_size(tls, e, 0)))
  40214. }
  40215. }
  40216. } else {
  40217. e = libc.Xmalloc(tls, uint64(s)*uint64(16))
  40218. }
  40219. if !(e != 0) {
  40220. return uintptr(m_FcFalse)
  40221. }
  40222. (*TFcPattern)(unsafe.Pointer(p)).Felts_offset = int64(e) - int64(p)
  40223. for (*TFcPattern)(unsafe.Pointer(p)).Fsize < s {
  40224. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fobject = 0
  40225. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr((*TFcPattern)(unsafe.Pointer(p)).Fsize)*16))).Fvalues = libc.UintptrFromInt32(0)
  40226. (*TFcPattern)(unsafe.Pointer(p)).Fsize++
  40227. }
  40228. }
  40229. e = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40230. /* move elts up */
  40231. libc.X__builtin___memmove_chk(tls, e+uintptr(i)*16+uintptr(1)*16, e+uintptr(i)*16, uint64(16)*uint64(XFcPatternObjectCount(tls, p)-i), uint64(libc.X__builtin_object_size(tls, e+uintptr(i)*16+uintptr(1)*16, 0)))
  40232. /* bump count */
  40233. (*TFcPattern)(unsafe.Pointer(p)).Fnum++
  40234. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fobject = object
  40235. (*(*TFcPatternElt)(unsafe.Pointer(e + uintptr(i)*16))).Fvalues = libc.UintptrFromInt32(0)
  40236. }
  40237. return uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(i)*16
  40238. }
  40239. func XFcPatternEqual(tls *libc.TLS, pa uintptr, pb uintptr) (r TFcBool) {
  40240. bp := tls.Alloc(32)
  40241. defer tls.Free(32)
  40242. var ra, rb TFcBool
  40243. var _ /* ia at bp+0 */ TFcPatternIter
  40244. var _ /* ib at bp+16 */ TFcPatternIter
  40245. _, _ = ra, rb
  40246. if pa == pb {
  40247. return int32(m_FcTrue)
  40248. }
  40249. if XFcPatternObjectCount(tls, pa) != XFcPatternObjectCount(tls, pb) {
  40250. return m_FcFalse
  40251. }
  40252. XFcPatternIterStart(tls, pa, bp)
  40253. XFcPatternIterStart(tls, pb, bp+16)
  40254. for cond := true; cond; cond = int32(1) != 0 {
  40255. if !(XFcPatternIterEqual(tls, pa, bp, pb, bp+16) != 0) {
  40256. return m_FcFalse
  40257. }
  40258. ra = XFcPatternIterNext(tls, pa, bp)
  40259. rb = XFcPatternIterNext(tls, pb, bp+16)
  40260. if !(ra != 0) && !(rb != 0) {
  40261. break
  40262. }
  40263. }
  40264. return int32(m_FcTrue)
  40265. }
  40266. func XFcPatternHash(tls *libc.TLS, p uintptr) (r TFcChar32) {
  40267. var h TFcChar32
  40268. var i int32
  40269. var pe, v2 uintptr
  40270. _, _, _, _ = h, i, pe, v2
  40271. h = uint32(0)
  40272. pe = uintptr(int64(p) + (*TFcPattern)(unsafe.Pointer(p)).Felts_offset)
  40273. i = 0
  40274. for {
  40275. if !(i < XFcPatternObjectCount(tls, p)) {
  40276. break
  40277. }
  40278. if int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  40279. v2 = uintptr(Tintptr_t(pe+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(pe+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40280. } else {
  40281. v2 = (*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16)).Fvalues
  40282. }
  40283. h = h<<libc.Int32FromInt32(1) | h>>libc.Int32FromInt32(31) ^ uint32((*(*TFcPatternElt)(unsafe.Pointer(pe + uintptr(i)*16))).Fobject) ^ _FcValueListHash(tls, v2)
  40284. goto _1
  40285. _1:
  40286. ;
  40287. i++
  40288. }
  40289. return h
  40290. }
  40291. func XFcPatternEqualSubset(tls *libc.TLS, pai uintptr, pbi uintptr, os uintptr) (r TFcBool) {
  40292. var ea, eb, v2, v3 uintptr
  40293. var i int32
  40294. var object TFcObject
  40295. _, _, _, _, _, _ = ea, eb, i, object, v2, v3
  40296. i = 0
  40297. for {
  40298. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  40299. break
  40300. }
  40301. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  40302. ea = XFcPatternObjectFindElt(tls, pai, object)
  40303. eb = XFcPatternObjectFindElt(tls, pbi, object)
  40304. if ea != 0 {
  40305. if !(eb != 0) {
  40306. return m_FcFalse
  40307. }
  40308. if int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(1) != 0 {
  40309. v2 = uintptr(int64(ea) + int64((*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40310. } else {
  40311. v2 = (*TFcPatternElt)(unsafe.Pointer(ea)).Fvalues
  40312. }
  40313. if int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(1) != 0 {
  40314. v3 = uintptr(int64(eb) + int64((*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40315. } else {
  40316. v3 = (*TFcPatternElt)(unsafe.Pointer(eb)).Fvalues
  40317. }
  40318. if !(_FcValueListEqual(tls, v2, v3) != 0) {
  40319. return m_FcFalse
  40320. }
  40321. } else {
  40322. if eb != 0 {
  40323. return m_FcFalse
  40324. }
  40325. }
  40326. goto _1
  40327. _1:
  40328. ;
  40329. i++
  40330. }
  40331. return int32(m_FcTrue)
  40332. }
  40333. func XFcPatternObjectListAdd(tls *libc.TLS, p uintptr, object TFcObject, _list TFcValueListPtr, append1 TFcBool) (r TFcBool) {
  40334. bp := tls.Alloc(32)
  40335. defer tls.Free(32)
  40336. *(*TFcValueListPtr)(unsafe.Pointer(bp)) = _list
  40337. var e, prev, v4 uintptr
  40338. var l TFcValueListPtr
  40339. var v1 TFcBool
  40340. _, _, _, _, _ = e, l, prev, v1, v4
  40341. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  40342. goto _2
  40343. _2:
  40344. if v1 != 0 {
  40345. goto bail0
  40346. }
  40347. /*
  40348. * Make sure the stored type is valid for built-in objects
  40349. */
  40350. l = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  40351. for {
  40352. if !(l != libc.UintptrFromInt32(0)) {
  40353. break
  40354. }
  40355. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue.Ftype1) != 0) {
  40356. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+16, XFcObjectName(tls, object)))
  40357. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(l)).Fvalue)
  40358. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  40359. goto bail0
  40360. }
  40361. goto _3
  40362. _3:
  40363. ;
  40364. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  40365. v4 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40366. } else {
  40367. v4 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40368. }
  40369. l = v4
  40370. }
  40371. e = XFcPatternObjectInsertElt(tls, p, object)
  40372. if !(e != 0) {
  40373. goto bail0
  40374. }
  40375. if append1 != 0 {
  40376. prev = e + 8
  40377. for {
  40378. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  40379. break
  40380. }
  40381. goto _5
  40382. _5:
  40383. ;
  40384. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  40385. }
  40386. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  40387. } else {
  40388. prev = bp
  40389. for {
  40390. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  40391. break
  40392. }
  40393. goto _6
  40394. _6:
  40395. ;
  40396. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  40397. }
  40398. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  40399. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = *(*TFcValueListPtr)(unsafe.Pointer(bp))
  40400. }
  40401. return int32(m_FcTrue)
  40402. goto bail0
  40403. bail0:
  40404. ;
  40405. return m_FcFalse
  40406. return r
  40407. }
  40408. func XFcPatternObjectAddWithBinding(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, binding TFcValueBinding, append1 TFcBool) (r TFcBool) {
  40409. bp := tls.Alloc(16)
  40410. defer tls.Free(16)
  40411. var e, prev uintptr
  40412. var new1 TFcValueListPtr
  40413. var v1 TFcBool
  40414. _, _, _, _ = e, new1, prev, v1
  40415. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  40416. goto _2
  40417. _2:
  40418. if v1 != 0 {
  40419. goto bail0
  40420. }
  40421. new1 = XFcValueListCreate(tls)
  40422. if !(new1 != 0) {
  40423. goto bail0
  40424. }
  40425. (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue = XFcValueSave(tls, value)
  40426. (*T_FcValueList)(unsafe.Pointer(new1)).Fbinding = binding
  40427. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = libc.UintptrFromInt32(0)
  40428. if (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1 == int32(_FcTypeVoid) {
  40429. goto bail1
  40430. }
  40431. /*
  40432. * Make sure the stored type is valid for built-in objects
  40433. */
  40434. if !(XFcObjectValidType(tls, object, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue.Ftype1) != 0) {
  40435. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1204, libc.VaList(bp+8, XFcObjectName(tls, object)))
  40436. XFcValuePrintFile(tls, libc.X__stderrp, (*T_FcValueList)(unsafe.Pointer(new1)).Fvalue)
  40437. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  40438. goto bail1
  40439. }
  40440. e = XFcPatternObjectInsertElt(tls, p, object)
  40441. if !(e != 0) {
  40442. goto bail1
  40443. }
  40444. if append1 != 0 {
  40445. prev = e + 8
  40446. for {
  40447. if !(*(*TFcValueListPtr)(unsafe.Pointer(prev)) != 0) {
  40448. break
  40449. }
  40450. goto _3
  40451. _3:
  40452. ;
  40453. prev = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  40454. }
  40455. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = new1
  40456. } else {
  40457. (*T_FcValueList)(unsafe.Pointer(new1)).Fnext = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  40458. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = new1
  40459. }
  40460. return int32(m_FcTrue)
  40461. goto bail1
  40462. bail1:
  40463. ;
  40464. XFcValueListDestroy(tls, new1)
  40465. goto bail0
  40466. bail0:
  40467. ;
  40468. return m_FcFalse
  40469. return r
  40470. }
  40471. func XFcPatternObjectAdd(tls *libc.TLS, p uintptr, object TFcObject, value TFcValue, append1 TFcBool) (r TFcBool) {
  40472. return XFcPatternObjectAddWithBinding(tls, p, object, value, int32(_FcValueBindingStrong), append1)
  40473. }
  40474. func XFcPatternAdd(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  40475. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingStrong), append1)
  40476. }
  40477. func XFcPatternAddWeak(tls *libc.TLS, p uintptr, object uintptr, value TFcValue, append1 TFcBool) (r TFcBool) {
  40478. return XFcPatternObjectAddWithBinding(tls, p, XFcObjectFromName(tls, object), value, int32(_FcValueBindingWeak), append1)
  40479. }
  40480. func XFcPatternObjectDel(tls *libc.TLS, p uintptr, object TFcObject) (r TFcBool) {
  40481. var e uintptr
  40482. _ = e
  40483. e = XFcPatternObjectFindElt(tls, p, object)
  40484. if !(e != 0) {
  40485. return m_FcFalse
  40486. }
  40487. /* destroy value */
  40488. XFcValueListDestroy(tls, (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)
  40489. /* shuffle existing ones down */
  40490. libc.X__builtin___memmove_chk(tls, e, e+uintptr(1)*16, uint64((int64(uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset)+uintptr(XFcPatternObjectCount(tls, p))*16)-int64(e+libc.UintptrFromInt32(1)*16))/16)*uint64(16), uint64(libc.X__builtin_object_size(tls, e, 0)))
  40491. (*TFcPattern)(unsafe.Pointer(p)).Fnum--
  40492. e = uintptr(int64(p)+(*TFcPattern)(unsafe.Pointer(p)).Felts_offset) + uintptr(XFcPatternObjectCount(tls, p))*16
  40493. (*TFcPatternElt)(unsafe.Pointer(e)).Fobject = 0
  40494. (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues = libc.UintptrFromInt32(0)
  40495. return int32(m_FcTrue)
  40496. }
  40497. func XFcPatternDel(tls *libc.TLS, p uintptr, object uintptr) (r TFcBool) {
  40498. return XFcPatternObjectDel(tls, p, XFcObjectFromName(tls, object))
  40499. }
  40500. func XFcPatternRemove(tls *libc.TLS, p uintptr, object uintptr, id int32) (r TFcBool) {
  40501. var e, prev uintptr
  40502. var l, v2 TFcValueListPtr
  40503. _, _, _, _ = e, l, prev, v2
  40504. e = XFcPatternObjectFindElt(tls, p, XFcObjectFromName(tls, object))
  40505. if !(e != 0) {
  40506. return m_FcFalse
  40507. }
  40508. prev = e + 8
  40509. for {
  40510. v2 = *(*TFcValueListPtr)(unsafe.Pointer(prev))
  40511. l = v2
  40512. if !(v2 != 0) {
  40513. break
  40514. }
  40515. if !(id != 0) {
  40516. *(*TFcValueListPtr)(unsafe.Pointer(prev)) = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40517. (*T_FcValueList)(unsafe.Pointer(l)).Fnext = libc.UintptrFromInt32(0)
  40518. XFcValueListDestroy(tls, l)
  40519. if !((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues != 0) {
  40520. XFcPatternDel(tls, p, object)
  40521. }
  40522. return int32(m_FcTrue)
  40523. }
  40524. id--
  40525. goto _1
  40526. _1:
  40527. ;
  40528. prev = l
  40529. }
  40530. return m_FcFalse
  40531. }
  40532. func XFcPatternObjectAddInteger(tls *libc.TLS, p uintptr, object TFcObject, i int32) (r TFcBool) {
  40533. bp := tls.Alloc(16)
  40534. defer tls.Free(16)
  40535. var _ /* v at bp+0 */ TFcValue
  40536. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  40537. *(*int32)(unsafe.Pointer(bp + 8)) = i
  40538. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40539. }
  40540. func XFcPatternAddInteger(tls *libc.TLS, p uintptr, object uintptr, i int32) (r TFcBool) {
  40541. return XFcPatternObjectAddInteger(tls, p, XFcObjectFromName(tls, object), i)
  40542. }
  40543. func XFcPatternObjectAddDouble(tls *libc.TLS, p uintptr, object TFcObject, d float64) (r TFcBool) {
  40544. bp := tls.Alloc(16)
  40545. defer tls.Free(16)
  40546. var _ /* v at bp+0 */ TFcValue
  40547. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  40548. *(*float64)(unsafe.Pointer(bp + 8)) = d
  40549. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40550. }
  40551. func XFcPatternAddDouble(tls *libc.TLS, p uintptr, object uintptr, d float64) (r TFcBool) {
  40552. return XFcPatternObjectAddDouble(tls, p, XFcObjectFromName(tls, object), d)
  40553. }
  40554. func XFcPatternObjectAddString(tls *libc.TLS, p uintptr, object TFcObject, s uintptr) (r TFcBool) {
  40555. bp := tls.Alloc(16)
  40556. defer tls.Free(16)
  40557. var _ /* v at bp+0 */ TFcValue
  40558. if !(s != 0) {
  40559. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  40560. *(*uintptr)(unsafe.Pointer(bp + 8)) = uintptr(0)
  40561. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40562. }
  40563. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  40564. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  40565. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40566. }
  40567. func XFcPatternAddString(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  40568. return XFcPatternObjectAddString(tls, p, XFcObjectFromName(tls, object), s)
  40569. }
  40570. func XFcPatternAddMatrix(tls *libc.TLS, p uintptr, object uintptr, s uintptr) (r TFcBool) {
  40571. bp := tls.Alloc(16)
  40572. defer tls.Free(16)
  40573. var _ /* v at bp+0 */ TFcValue
  40574. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeMatrix)
  40575. *(*uintptr)(unsafe.Pointer(bp + 8)) = s
  40576. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40577. }
  40578. func XFcPatternObjectAddBool(tls *libc.TLS, p uintptr, object TFcObject, b TFcBool) (r TFcBool) {
  40579. bp := tls.Alloc(16)
  40580. defer tls.Free(16)
  40581. var _ /* v at bp+0 */ TFcValue
  40582. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  40583. *(*TFcBool)(unsafe.Pointer(bp + 8)) = b
  40584. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40585. }
  40586. func XFcPatternAddBool(tls *libc.TLS, p uintptr, object uintptr, b TFcBool) (r TFcBool) {
  40587. return XFcPatternObjectAddBool(tls, p, XFcObjectFromName(tls, object), b)
  40588. }
  40589. func XFcPatternObjectAddCharSet(tls *libc.TLS, p uintptr, object TFcObject, c uintptr) (r TFcBool) {
  40590. bp := tls.Alloc(16)
  40591. defer tls.Free(16)
  40592. var _ /* v at bp+0 */ TFcValue
  40593. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  40594. *(*uintptr)(unsafe.Pointer(bp + 8)) = c
  40595. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40596. }
  40597. func XFcPatternAddCharSet(tls *libc.TLS, p uintptr, object uintptr, c uintptr) (r TFcBool) {
  40598. return XFcPatternObjectAddCharSet(tls, p, XFcObjectFromName(tls, object), c)
  40599. }
  40600. func XFcPatternAddFTFace(tls *libc.TLS, p uintptr, object uintptr, f TFT_Face) (r TFcBool) {
  40601. bp := tls.Alloc(16)
  40602. defer tls.Free(16)
  40603. var _ /* v at bp+0 */ TFcValue
  40604. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeFTFace)
  40605. *(*uintptr)(unsafe.Pointer(bp + 8)) = f
  40606. return XFcPatternAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40607. }
  40608. func XFcPatternObjectAddLangSet(tls *libc.TLS, p uintptr, object TFcObject, ls uintptr) (r TFcBool) {
  40609. bp := tls.Alloc(16)
  40610. defer tls.Free(16)
  40611. var _ /* v at bp+0 */ TFcValue
  40612. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  40613. *(*uintptr)(unsafe.Pointer(bp + 8)) = ls
  40614. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40615. }
  40616. func XFcPatternAddLangSet(tls *libc.TLS, p uintptr, object uintptr, ls uintptr) (r TFcBool) {
  40617. return XFcPatternObjectAddLangSet(tls, p, XFcObjectFromName(tls, object), ls)
  40618. }
  40619. func XFcPatternObjectAddRange(tls *libc.TLS, p uintptr, object TFcObject, r uintptr) (r1 TFcBool) {
  40620. bp := tls.Alloc(16)
  40621. defer tls.Free(16)
  40622. var _ /* v at bp+0 */ TFcValue
  40623. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  40624. *(*uintptr)(unsafe.Pointer(bp + 8)) = r
  40625. return XFcPatternObjectAdd(tls, p, object, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue))
  40626. }
  40627. func XFcPatternAddRange(tls *libc.TLS, p uintptr, object uintptr, r uintptr) (r1 TFcBool) {
  40628. return XFcPatternObjectAddRange(tls, p, XFcObjectFromName(tls, object), r)
  40629. }
  40630. func XFcPatternObjectGetWithBinding(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr, b uintptr) (r TFcResult) {
  40631. var e, v2, v3 uintptr
  40632. var l TFcValueListPtr
  40633. _, _, _, _ = e, l, v2, v3
  40634. if !(p != 0) {
  40635. return int32(_FcResultNoMatch)
  40636. }
  40637. e = XFcPatternObjectFindElt(tls, p, object)
  40638. if !(e != 0) {
  40639. return int32(_FcResultNoMatch)
  40640. }
  40641. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  40642. v2 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  40643. } else {
  40644. v2 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  40645. }
  40646. l = v2
  40647. for {
  40648. if !(l != 0) {
  40649. break
  40650. }
  40651. if !(id != 0) {
  40652. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  40653. if b != 0 {
  40654. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  40655. }
  40656. return int32(_FcResultMatch)
  40657. }
  40658. id--
  40659. goto _1
  40660. _1:
  40661. ;
  40662. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  40663. v3 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40664. } else {
  40665. v3 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40666. }
  40667. l = v3
  40668. }
  40669. return int32(_FcResultNoId)
  40670. }
  40671. func XFcPatternObjectGet(tls *libc.TLS, p uintptr, object TFcObject, id int32, v uintptr) (r TFcResult) {
  40672. return XFcPatternObjectGetWithBinding(tls, p, object, id, v, libc.UintptrFromInt32(0))
  40673. }
  40674. func XFcPatternGetWithBinding(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  40675. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, b)
  40676. }
  40677. func XFcPatternGet(tls *libc.TLS, p uintptr, object uintptr, id int32, v uintptr) (r TFcResult) {
  40678. return XFcPatternObjectGetWithBinding(tls, p, XFcObjectFromName(tls, object), id, v, libc.UintptrFromInt32(0))
  40679. }
  40680. func XFcPatternObjectGetInteger(tls *libc.TLS, p uintptr, object TFcObject, id int32, i uintptr) (r1 TFcResult) {
  40681. bp := tls.Alloc(16)
  40682. defer tls.Free(16)
  40683. var r TFcResult
  40684. var _ /* v at bp+0 */ TFcValue
  40685. _ = r
  40686. r = XFcPatternObjectGet(tls, p, object, id, bp)
  40687. if r != int32(_FcResultMatch) {
  40688. return r
  40689. }
  40690. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40691. case int32(_FcTypeDouble):
  40692. *(*int32)(unsafe.Pointer(i)) = int32(*(*float64)(unsafe.Pointer(bp + 8)))
  40693. case int32(_FcTypeInteger):
  40694. *(*int32)(unsafe.Pointer(i)) = *(*int32)(unsafe.Pointer(bp + 8))
  40695. default:
  40696. return int32(_FcResultTypeMismatch)
  40697. }
  40698. return int32(_FcResultMatch)
  40699. }
  40700. func XFcPatternGetInteger(tls *libc.TLS, p uintptr, object uintptr, id int32, i uintptr) (r TFcResult) {
  40701. return XFcPatternObjectGetInteger(tls, p, XFcObjectFromName(tls, object), id, i)
  40702. }
  40703. func XFcPatternObjectGetDouble(tls *libc.TLS, p uintptr, object TFcObject, id int32, d uintptr) (r1 TFcResult) {
  40704. bp := tls.Alloc(16)
  40705. defer tls.Free(16)
  40706. var r TFcResult
  40707. var _ /* v at bp+0 */ TFcValue
  40708. _ = r
  40709. r = XFcPatternObjectGet(tls, p, object, id, bp)
  40710. if r != int32(_FcResultMatch) {
  40711. return r
  40712. }
  40713. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40714. case int32(_FcTypeDouble):
  40715. *(*float64)(unsafe.Pointer(d)) = *(*float64)(unsafe.Pointer(bp + 8))
  40716. case int32(_FcTypeInteger):
  40717. *(*float64)(unsafe.Pointer(d)) = float64(*(*int32)(unsafe.Pointer(bp + 8)))
  40718. default:
  40719. return int32(_FcResultTypeMismatch)
  40720. }
  40721. return int32(_FcResultMatch)
  40722. }
  40723. func XFcPatternGetDouble(tls *libc.TLS, p uintptr, object uintptr, id int32, d uintptr) (r TFcResult) {
  40724. return XFcPatternObjectGetDouble(tls, p, XFcObjectFromName(tls, object), id, d)
  40725. }
  40726. func XFcPatternObjectGetString(tls *libc.TLS, p uintptr, object TFcObject, id int32, s uintptr) (r1 TFcResult) {
  40727. bp := tls.Alloc(16)
  40728. defer tls.Free(16)
  40729. var r TFcResult
  40730. var _ /* v at bp+0 */ TFcValue
  40731. _ = r
  40732. r = XFcPatternObjectGet(tls, p, object, id, bp)
  40733. if r != int32(_FcResultMatch) {
  40734. return r
  40735. }
  40736. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeString) {
  40737. return int32(_FcResultTypeMismatch)
  40738. }
  40739. *(*uintptr)(unsafe.Pointer(s)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40740. return int32(_FcResultMatch)
  40741. }
  40742. func XFcPatternGetString(tls *libc.TLS, p uintptr, object uintptr, id int32, s uintptr) (r TFcResult) {
  40743. return XFcPatternObjectGetString(tls, p, XFcObjectFromName(tls, object), id, s)
  40744. }
  40745. func XFcPatternGetMatrix(tls *libc.TLS, p uintptr, object uintptr, id int32, m uintptr) (r1 TFcResult) {
  40746. bp := tls.Alloc(16)
  40747. defer tls.Free(16)
  40748. var r TFcResult
  40749. var _ /* v at bp+0 */ TFcValue
  40750. _ = r
  40751. r = XFcPatternGet(tls, p, object, id, bp)
  40752. if r != int32(_FcResultMatch) {
  40753. return r
  40754. }
  40755. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeMatrix) {
  40756. return int32(_FcResultTypeMismatch)
  40757. }
  40758. *(*uintptr)(unsafe.Pointer(m)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40759. return int32(_FcResultMatch)
  40760. }
  40761. func XFcPatternObjectGetBool(tls *libc.TLS, p uintptr, object TFcObject, id int32, b uintptr) (r1 TFcResult) {
  40762. bp := tls.Alloc(16)
  40763. defer tls.Free(16)
  40764. var r TFcResult
  40765. var _ /* v at bp+0 */ TFcValue
  40766. _ = r
  40767. r = XFcPatternObjectGet(tls, p, object, id, bp)
  40768. if r != int32(_FcResultMatch) {
  40769. return r
  40770. }
  40771. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeBool) {
  40772. return int32(_FcResultTypeMismatch)
  40773. }
  40774. *(*TFcBool)(unsafe.Pointer(b)) = *(*TFcBool)(unsafe.Pointer(bp + 8))
  40775. return int32(_FcResultMatch)
  40776. }
  40777. func XFcPatternGetBool(tls *libc.TLS, p uintptr, object uintptr, id int32, b uintptr) (r TFcResult) {
  40778. return XFcPatternObjectGetBool(tls, p, XFcObjectFromName(tls, object), id, b)
  40779. }
  40780. func XFcPatternGetCharSet(tls *libc.TLS, p uintptr, object uintptr, id int32, c uintptr) (r1 TFcResult) {
  40781. bp := tls.Alloc(16)
  40782. defer tls.Free(16)
  40783. var r TFcResult
  40784. var _ /* v at bp+0 */ TFcValue
  40785. _ = r
  40786. r = XFcPatternGet(tls, p, object, id, bp)
  40787. if r != int32(_FcResultMatch) {
  40788. return r
  40789. }
  40790. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeCharSet) {
  40791. return int32(_FcResultTypeMismatch)
  40792. }
  40793. *(*uintptr)(unsafe.Pointer(c)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40794. return int32(_FcResultMatch)
  40795. }
  40796. func XFcPatternGetFTFace(tls *libc.TLS, p uintptr, object uintptr, id int32, f uintptr) (r1 TFcResult) {
  40797. bp := tls.Alloc(16)
  40798. defer tls.Free(16)
  40799. var r TFcResult
  40800. var _ /* v at bp+0 */ TFcValue
  40801. _ = r
  40802. r = XFcPatternGet(tls, p, object, id, bp)
  40803. if r != int32(_FcResultMatch) {
  40804. return r
  40805. }
  40806. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeFTFace) {
  40807. return int32(_FcResultTypeMismatch)
  40808. }
  40809. *(*TFT_Face)(unsafe.Pointer(f)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40810. return int32(_FcResultMatch)
  40811. }
  40812. func XFcPatternGetLangSet(tls *libc.TLS, p uintptr, object uintptr, id int32, ls uintptr) (r1 TFcResult) {
  40813. bp := tls.Alloc(16)
  40814. defer tls.Free(16)
  40815. var r TFcResult
  40816. var _ /* v at bp+0 */ TFcValue
  40817. _ = r
  40818. r = XFcPatternGet(tls, p, object, id, bp)
  40819. if r != int32(_FcResultMatch) {
  40820. return r
  40821. }
  40822. if (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 != int32(_FcTypeLangSet) {
  40823. return int32(_FcResultTypeMismatch)
  40824. }
  40825. *(*uintptr)(unsafe.Pointer(ls)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40826. return int32(_FcResultMatch)
  40827. }
  40828. func XFcPatternObjectGetRange(tls *libc.TLS, p uintptr, object TFcObject, id int32, r uintptr) (r1 TFcResult) {
  40829. bp := tls.Alloc(16)
  40830. defer tls.Free(16)
  40831. var res TFcResult
  40832. var _ /* v at bp+0 */ TFcValue
  40833. _ = res
  40834. res = XFcPatternObjectGet(tls, p, object, id, bp)
  40835. if res != int32(_FcResultMatch) {
  40836. return res
  40837. }
  40838. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40839. case int32(_FcTypeRange):
  40840. *(*uintptr)(unsafe.Pointer(r)) = *(*uintptr)(unsafe.Pointer(bp + 8))
  40841. default:
  40842. return int32(_FcResultTypeMismatch)
  40843. }
  40844. return int32(_FcResultMatch)
  40845. }
  40846. func XFcPatternGetRange(tls *libc.TLS, p uintptr, object uintptr, id int32, r uintptr) (r1 TFcResult) {
  40847. return XFcPatternObjectGetRange(tls, p, XFcObjectFromName(tls, object), id, r)
  40848. }
  40849. func XFcPatternDuplicate(tls *libc.TLS, orig uintptr) (r uintptr) {
  40850. bp := tls.Alloc(16)
  40851. defer tls.Free(16)
  40852. var l TFcValueListPtr
  40853. var new1, v2 uintptr
  40854. var _ /* iter at bp+0 */ TFcPatternIter
  40855. _, _, _ = l, new1, v2
  40856. if !(orig != 0) {
  40857. return libc.UintptrFromInt32(0)
  40858. }
  40859. new1 = XFcPatternCreate(tls)
  40860. if !(new1 != 0) {
  40861. goto bail0
  40862. }
  40863. XFcPatternIterStart(tls, orig, bp)
  40864. for cond := true; cond; cond = XFcPatternIterNext(tls, orig, bp) != 0 {
  40865. l = XFcPatternIterGetValues(tls, orig, bp)
  40866. for {
  40867. if !(l != 0) {
  40868. break
  40869. }
  40870. if !(XFcPatternObjectAddWithBinding(tls, new1, XFcPatternIterGetObjectId(tls, orig, bp), XFcValueCanonicalize(tls, l+8), (*T_FcValueList)(unsafe.Pointer(l)).Fbinding, int32(m_FcTrue)) != 0) {
  40871. goto bail1
  40872. }
  40873. goto _1
  40874. _1:
  40875. ;
  40876. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  40877. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  40878. } else {
  40879. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  40880. }
  40881. l = v2
  40882. }
  40883. }
  40884. return new1
  40885. goto bail1
  40886. bail1:
  40887. ;
  40888. XFcPatternDestroy(tls, new1)
  40889. goto bail0
  40890. bail0:
  40891. ;
  40892. return uintptr(0)
  40893. return r
  40894. }
  40895. func XFcPatternReference(tls *libc.TLS, p uintptr) {
  40896. var v1 TFcBool
  40897. var p4 uintptr
  40898. _, _ = v1, p4
  40899. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(p+16)).Fcount == -libc.Int32FromInt32(1))
  40900. goto _2
  40901. _2:
  40902. if !(v1 != 0) {
  40903. p4 = p + 16
  40904. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  40905. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  40906. goto _3
  40907. _3:
  40908. } else {
  40909. XFcCacheObjectReference(tls, _FcPatternGetCacheObject(tls, p))
  40910. }
  40911. }
  40912. func XFcPatternVaBuild(tls *libc.TLS, p uintptr, va Tva_list) (r uintptr) {
  40913. bp := tls.Alloc(16)
  40914. defer tls.Free(16)
  40915. var __o__, __p__, ret uintptr
  40916. var _ /* __v__ at bp+0 */ TFcValue
  40917. _, _, _ = __o__, __p__, ret
  40918. __p__ = p
  40919. if !(__p__ != 0) {
  40920. __p__ = XFcPatternCreate(tls)
  40921. if !(__p__ != 0) {
  40922. goto _FcPatternVapBuild_bail0
  40923. }
  40924. }
  40925. for {
  40926. __o__ = libc.VaUintptr(&va)
  40927. if !(__o__ != 0) {
  40928. break
  40929. }
  40930. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  40931. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  40932. case int32(_FcTypeUnknown):
  40933. fallthrough
  40934. case int32(_FcTypeVoid):
  40935. goto _FcPatternVapBuild_bail1
  40936. case int32(_FcTypeInteger):
  40937. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  40938. case int32(_FcTypeDouble):
  40939. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  40940. case int32(_FcTypeString):
  40941. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40942. case int32(_FcTypeBool):
  40943. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  40944. case int32(_FcTypeMatrix):
  40945. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40946. case int32(_FcTypeCharSet):
  40947. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40948. case int32(_FcTypeFTFace):
  40949. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40950. case int32(_FcTypeLangSet):
  40951. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40952. case int32(_FcTypeRange):
  40953. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  40954. break
  40955. }
  40956. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  40957. goto _FcPatternVapBuild_bail1
  40958. }
  40959. goto _1
  40960. _1:
  40961. }
  40962. ret = __p__
  40963. goto _FcPatternVapBuild_return
  40964. goto _FcPatternVapBuild_bail1
  40965. _FcPatternVapBuild_bail1:
  40966. ;
  40967. if !(p != 0) {
  40968. XFcPatternDestroy(tls, __p__)
  40969. }
  40970. goto _FcPatternVapBuild_bail0
  40971. _FcPatternVapBuild_bail0:
  40972. ;
  40973. ret = libc.UintptrFromInt32(0)
  40974. goto _FcPatternVapBuild_return
  40975. _FcPatternVapBuild_return:
  40976. ;
  40977. return ret
  40978. }
  40979. func XFcPatternBuild(tls *libc.TLS, p uintptr, va1 uintptr) (r uintptr) {
  40980. bp := tls.Alloc(16)
  40981. defer tls.Free(16)
  40982. var __o__, __p__ uintptr
  40983. var va Tva_list
  40984. var _ /* __v__ at bp+0 */ TFcValue
  40985. _, _, _ = __o__, __p__, va
  40986. va = va1
  40987. __p__ = p
  40988. if !(__p__ != 0) {
  40989. __p__ = XFcPatternCreate(tls)
  40990. if !(__p__ != 0) {
  40991. goto _FcPatternVapBuild_bail0
  40992. }
  40993. }
  40994. for {
  40995. __o__ = libc.VaUintptr(&va)
  40996. if !(__o__ != 0) {
  40997. break
  40998. }
  40999. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = libc.VaInt32(&va)
  41000. switch (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 {
  41001. case int32(_FcTypeUnknown):
  41002. fallthrough
  41003. case int32(_FcTypeVoid):
  41004. goto _FcPatternVapBuild_bail1
  41005. case int32(_FcTypeInteger):
  41006. *(*int32)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  41007. case int32(_FcTypeDouble):
  41008. *(*float64)(unsafe.Pointer(bp + 8)) = libc.VaFloat64(&va)
  41009. case int32(_FcTypeString):
  41010. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41011. case int32(_FcTypeBool):
  41012. *(*TFcBool)(unsafe.Pointer(bp + 8)) = libc.VaInt32(&va)
  41013. case int32(_FcTypeMatrix):
  41014. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41015. case int32(_FcTypeCharSet):
  41016. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41017. case int32(_FcTypeFTFace):
  41018. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41019. case int32(_FcTypeLangSet):
  41020. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41021. case int32(_FcTypeRange):
  41022. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.VaUintptr(&va)
  41023. break
  41024. }
  41025. if !(XFcPatternAdd(tls, __p__, __o__, *(*TFcValue)(unsafe.Pointer(bp)), int32(m_FcTrue)) != 0) {
  41026. goto _FcPatternVapBuild_bail1
  41027. }
  41028. goto _1
  41029. _1:
  41030. }
  41031. p = __p__
  41032. goto _FcPatternVapBuild_return
  41033. goto _FcPatternVapBuild_bail1
  41034. _FcPatternVapBuild_bail1:
  41035. ;
  41036. if !(p != 0) {
  41037. XFcPatternDestroy(tls, __p__)
  41038. }
  41039. goto _FcPatternVapBuild_bail0
  41040. _FcPatternVapBuild_bail0:
  41041. ;
  41042. p = libc.UintptrFromInt32(0)
  41043. goto _FcPatternVapBuild_return
  41044. _FcPatternVapBuild_return:
  41045. ;
  41046. _ = va
  41047. return p
  41048. }
  41049. // C documentation
  41050. //
  41051. // /*
  41052. // * Add all of the elements in 's' to 'p'
  41053. // */
  41054. func XFcPatternAppend(tls *libc.TLS, p uintptr, s uintptr) (r TFcBool) {
  41055. bp := tls.Alloc(16)
  41056. defer tls.Free(16)
  41057. var v TFcValueListPtr
  41058. var v2 uintptr
  41059. var _ /* iter at bp+0 */ TFcPatternIter
  41060. _, _ = v, v2
  41061. XFcPatternIterStart(tls, s, bp)
  41062. for cond := true; cond; cond = XFcPatternIterNext(tls, s, bp) != 0 {
  41063. v = XFcPatternIterGetValues(tls, s, bp)
  41064. for {
  41065. if !(v != 0) {
  41066. break
  41067. }
  41068. if !(XFcPatternObjectAddWithBinding(tls, p, XFcPatternIterGetObjectId(tls, s, bp), XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  41069. return m_FcFalse
  41070. }
  41071. goto _1
  41072. _1:
  41073. ;
  41074. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  41075. v2 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41076. } else {
  41077. v2 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  41078. }
  41079. v = v2
  41080. }
  41081. }
  41082. return int32(m_FcTrue)
  41083. }
  41084. func XFcPatternFilter(tls *libc.TLS, p uintptr, os uintptr) (r uintptr) {
  41085. var e, ret, v3, v4 uintptr
  41086. var i int32
  41087. var object TFcObject
  41088. var v TFcValueListPtr
  41089. _, _, _, _, _, _, _ = e, i, object, ret, v, v3, v4
  41090. if !(os != 0) {
  41091. return XFcPatternDuplicate(tls, p)
  41092. }
  41093. ret = XFcPatternCreate(tls)
  41094. if !(ret != 0) {
  41095. return libc.UintptrFromInt32(0)
  41096. }
  41097. i = 0
  41098. for {
  41099. if !(i < (*TFcObjectSet)(unsafe.Pointer(os)).Fnobject) {
  41100. break
  41101. }
  41102. object = XFcObjectFromName(tls, *(*uintptr)(unsafe.Pointer((*TFcObjectSet)(unsafe.Pointer(os)).Fobjects + uintptr(i)*8)))
  41103. e = XFcPatternObjectFindElt(tls, p, object)
  41104. if e != 0 {
  41105. if int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(1) != 0 {
  41106. v3 = uintptr(int64(e) + int64((*TFcPatternElt)(unsafe.Pointer(e)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41107. } else {
  41108. v3 = (*TFcPatternElt)(unsafe.Pointer(e)).Fvalues
  41109. }
  41110. v = v3
  41111. for {
  41112. if !(v != 0) {
  41113. break
  41114. }
  41115. if !(XFcPatternObjectAddWithBinding(tls, ret, (*TFcPatternElt)(unsafe.Pointer(e)).Fobject, XFcValueCanonicalize(tls, v+8), (*T_FcValueList)(unsafe.Pointer(v)).Fbinding, int32(m_FcTrue)) != 0) {
  41116. goto bail0
  41117. }
  41118. goto _2
  41119. _2:
  41120. ;
  41121. if int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(1) != 0 {
  41122. v4 = uintptr(int64(v) + int64((*T_FcValueList)(unsafe.Pointer(v)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41123. } else {
  41124. v4 = (*T_FcValueList)(unsafe.Pointer(v)).Fnext
  41125. }
  41126. v = v4
  41127. }
  41128. }
  41129. goto _1
  41130. _1:
  41131. ;
  41132. i++
  41133. }
  41134. return ret
  41135. goto bail0
  41136. bail0:
  41137. ;
  41138. XFcPatternDestroy(tls, ret)
  41139. return libc.UintptrFromInt32(0)
  41140. }
  41141. type TFcPatternPrivateIter = struct {
  41142. Felt uintptr
  41143. Fpos int32
  41144. }
  41145. type T_FcPatternPrivateIter = TFcPatternPrivateIter
  41146. func _FcPatternIterSet(tls *libc.TLS, pat uintptr, iter uintptr) {
  41147. var v1 uintptr
  41148. _ = v1
  41149. if XFcPatternObjectCount(tls, pat) > 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos < XFcPatternObjectCount(tls, pat) {
  41150. v1 = uintptr(int64(pat)+(*TFcPattern)(unsafe.Pointer(pat)).Felts_offset) + uintptr((*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Fpos)*16
  41151. } else {
  41152. v1 = libc.UintptrFromInt32(0)
  41153. }
  41154. (*TFcPatternPrivateIter)(unsafe.Pointer(iter)).Felt = v1
  41155. }
  41156. func XFcPatternIterStart(tls *libc.TLS, pat uintptr, iter uintptr) {
  41157. var priv uintptr
  41158. _ = priv
  41159. priv = iter
  41160. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = 0
  41161. _FcPatternIterSet(tls, pat, priv)
  41162. }
  41163. func XFcPatternIterNext(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  41164. var priv uintptr
  41165. _ = priv
  41166. priv = iter
  41167. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos++
  41168. if (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos >= XFcPatternObjectCount(tls, pat) {
  41169. return m_FcFalse
  41170. }
  41171. _FcPatternIterSet(tls, pat, priv)
  41172. return int32(m_FcTrue)
  41173. }
  41174. func XFcPatternIterEqual(tls *libc.TLS, p1 uintptr, i1 uintptr, p2 uintptr, i2 uintptr) (r TFcBool) {
  41175. var b1, b2 TFcBool
  41176. _, _ = b1, b2
  41177. b1 = XFcPatternIterIsValid(tls, p1, i1)
  41178. b2 = XFcPatternIterIsValid(tls, p2, i2)
  41179. if !(i1 != 0) && !(i2 != 0) {
  41180. return int32(m_FcTrue)
  41181. }
  41182. if !(b1 != 0) || !(b2 != 0) {
  41183. return m_FcFalse
  41184. }
  41185. if XFcPatternIterGetObjectId(tls, p1, i1) != XFcPatternIterGetObjectId(tls, p2, i2) {
  41186. return m_FcFalse
  41187. }
  41188. return _FcValueListEqual(tls, XFcPatternIterGetValues(tls, p1, i1), XFcPatternIterGetValues(tls, p2, i2))
  41189. }
  41190. func XFcPatternFindObjectIter(tls *libc.TLS, pat uintptr, iter uintptr, object TFcObject) (r TFcBool) {
  41191. var i int32
  41192. var priv uintptr
  41193. _, _ = i, priv
  41194. priv = iter
  41195. i = _FcPatternObjectPosition(tls, pat, object)
  41196. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt = libc.UintptrFromInt32(0)
  41197. if i < 0 {
  41198. return m_FcFalse
  41199. }
  41200. (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Fpos = i
  41201. _FcPatternIterSet(tls, pat, priv)
  41202. return int32(m_FcTrue)
  41203. }
  41204. func XFcPatternFindIter(tls *libc.TLS, pat uintptr, iter uintptr, object uintptr) (r TFcBool) {
  41205. return XFcPatternFindObjectIter(tls, pat, iter, XFcObjectFromName(tls, object))
  41206. }
  41207. func XFcPatternIterIsValid(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcBool) {
  41208. var priv uintptr
  41209. _ = priv
  41210. priv = iter
  41211. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  41212. return int32(m_FcTrue)
  41213. }
  41214. return m_FcFalse
  41215. }
  41216. func XFcPatternIterGetObjectId(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcObject) {
  41217. var priv uintptr
  41218. _ = priv
  41219. priv = iter
  41220. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  41221. return (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fobject
  41222. }
  41223. return 0
  41224. }
  41225. func XFcPatternIterGetObject(tls *libc.TLS, pat uintptr, iter uintptr) (r uintptr) {
  41226. return XFcObjectName(tls, XFcPatternIterGetObjectId(tls, pat, iter))
  41227. }
  41228. func XFcPatternIterGetValues(tls *libc.TLS, pat uintptr, iter uintptr) (r TFcValueListPtr) {
  41229. var priv, v1 uintptr
  41230. _, _ = priv, v1
  41231. priv = iter
  41232. if priv != 0 && (*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt != 0 {
  41233. if int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(1) != 0 {
  41234. v1 = uintptr(int64((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt) + int64((*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41235. } else {
  41236. v1 = (*TFcPatternElt)(unsafe.Pointer((*TFcPatternPrivateIter)(unsafe.Pointer(priv)).Felt)).Fvalues
  41237. }
  41238. return v1
  41239. }
  41240. return libc.UintptrFromInt32(0)
  41241. }
  41242. func XFcPatternIterValueCount(tls *libc.TLS, pat uintptr, iter uintptr) (r int32) {
  41243. var count int32
  41244. var l TFcValueListPtr
  41245. var v2 uintptr
  41246. _, _, _ = count, l, v2
  41247. count = 0
  41248. l = XFcPatternIterGetValues(tls, pat, iter)
  41249. for {
  41250. if !(l != 0) {
  41251. break
  41252. }
  41253. count++
  41254. goto _1
  41255. _1:
  41256. ;
  41257. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41258. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41259. } else {
  41260. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41261. }
  41262. l = v2
  41263. }
  41264. return count
  41265. }
  41266. func XFcPatternIterGetValue(tls *libc.TLS, pat uintptr, iter uintptr, id int32, v uintptr, b uintptr) (r TFcResult) {
  41267. var l TFcValueListPtr
  41268. var v2 uintptr
  41269. _, _ = l, v2
  41270. l = XFcPatternIterGetValues(tls, pat, iter)
  41271. for {
  41272. if !(l != 0) {
  41273. break
  41274. }
  41275. if id == 0 {
  41276. *(*TFcValue)(unsafe.Pointer(v)) = XFcValueCanonicalize(tls, l+8)
  41277. if b != 0 {
  41278. *(*TFcValueBinding)(unsafe.Pointer(b)) = (*T_FcValueList)(unsafe.Pointer(l)).Fbinding
  41279. }
  41280. return int32(_FcResultMatch)
  41281. }
  41282. id--
  41283. goto _1
  41284. _1:
  41285. ;
  41286. if int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(1) != 0 {
  41287. v2 = uintptr(int64(l) + int64((*T_FcValueList)(unsafe.Pointer(l)).Fnext)&int64(^libc.Int32FromInt32(1)))
  41288. } else {
  41289. v2 = (*T_FcValueList)(unsafe.Pointer(l)).Fnext
  41290. }
  41291. l = v2
  41292. }
  41293. return int32(_FcResultNoId)
  41294. }
  41295. func XFcPatternSerializeAlloc(tls *libc.TLS, serialize uintptr, pat uintptr) (r TFcBool) {
  41296. var elts, v2 uintptr
  41297. var i int32
  41298. _, _, _ = elts, i, v2
  41299. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  41300. if !(XFcSerializeAlloc(tls, serialize, pat, int32(24)) != 0) {
  41301. return m_FcFalse
  41302. }
  41303. if !(XFcSerializeAlloc(tls, serialize, elts, int32(uint64(XFcPatternObjectCount(tls, pat))*uint64(16))) != 0) {
  41304. return m_FcFalse
  41305. }
  41306. i = 0
  41307. for {
  41308. if !(i < XFcPatternObjectCount(tls, pat)) {
  41309. break
  41310. }
  41311. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41312. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41313. } else {
  41314. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  41315. }
  41316. if !(XFcValueListSerializeAlloc(tls, serialize, v2) != 0) {
  41317. return m_FcFalse
  41318. }
  41319. goto _1
  41320. _1:
  41321. ;
  41322. i++
  41323. }
  41324. return int32(m_FcTrue)
  41325. }
  41326. func XFcPatternSerialize(tls *libc.TLS, serialize uintptr, pat uintptr) (r uintptr) {
  41327. var elts, elts_serialized, pat_serialized, values_serialized, v2 uintptr
  41328. var i int32
  41329. _, _, _, _, _, _ = elts, elts_serialized, i, pat_serialized, values_serialized, v2
  41330. elts = uintptr(int64(pat) + (*TFcPattern)(unsafe.Pointer(pat)).Felts_offset)
  41331. pat_serialized = XFcSerializePtr(tls, serialize, pat)
  41332. if !(pat_serialized != 0) {
  41333. return libc.UintptrFromInt32(0)
  41334. }
  41335. *(*TFcPattern)(unsafe.Pointer(pat_serialized)) = *(*TFcPattern)(unsafe.Pointer(pat))
  41336. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Fsize = XFcPatternObjectCount(tls, pat)
  41337. (*TFcRef)(unsafe.Pointer(pat_serialized + 16)).Fcount = -libc.Int32FromInt32(1)
  41338. elts_serialized = XFcSerializePtr(tls, serialize, elts)
  41339. if !(elts_serialized != 0) {
  41340. return libc.UintptrFromInt32(0)
  41341. }
  41342. (*TFcPattern)(unsafe.Pointer(pat_serialized)).Felts_offset = int64(elts_serialized) - int64(pat_serialized)
  41343. i = 0
  41344. for {
  41345. if !(i < XFcPatternObjectCount(tls, pat)) {
  41346. break
  41347. }
  41348. if int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(1) != 0 {
  41349. v2 = uintptr(int64(elts+uintptr(i)*16) + int64((*TFcPatternElt)(unsafe.Pointer(elts+uintptr(i)*16)).Fvalues)&int64(^libc.Int32FromInt32(1)))
  41350. } else {
  41351. v2 = (*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16)).Fvalues
  41352. }
  41353. values_serialized = XFcValueListSerialize(tls, serialize, v2)
  41354. if !(values_serialized != 0) {
  41355. return libc.UintptrFromInt32(0)
  41356. }
  41357. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fobject = (*(*TFcPatternElt)(unsafe.Pointer(elts + uintptr(i)*16))).Fobject
  41358. (*(*TFcPatternElt)(unsafe.Pointer(elts_serialized + uintptr(i)*16))).Fvalues = uintptr(int64(values_serialized) - Tintptr_t(elts_serialized+uintptr(i)*16) | libc.Int64FromInt32(1))
  41359. goto _1
  41360. _1:
  41361. ;
  41362. i++
  41363. }
  41364. if XFcDebugVal&int32(m_FC_DBG_CACHEV) != 0 {
  41365. libc.Xprintf(tls, __ccgo_ts+6932, 0)
  41366. XFcPatternPrint(tls, pat)
  41367. libc.Xprintf(tls, __ccgo_ts+6946, 0)
  41368. XFcPatternPrint(tls, pat_serialized)
  41369. libc.Xprintf(tls, __ccgo_ts+1266, 0)
  41370. }
  41371. return pat_serialized
  41372. }
  41373. func XFcValueListSerializeAlloc(tls *libc.TLS, serialize uintptr, vl uintptr) (r TFcBool) {
  41374. for vl != 0 {
  41375. if !(XFcSerializeAlloc(tls, serialize, vl, int32(32)) != 0) {
  41376. return m_FcFalse
  41377. }
  41378. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  41379. case int32(_FcTypeString):
  41380. if !(XFcStrSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  41381. return m_FcFalse
  41382. }
  41383. case int32(_FcTypeCharSet):
  41384. if !(XFcCharSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  41385. return m_FcFalse
  41386. }
  41387. case int32(_FcTypeLangSet):
  41388. if !(XFcLangSetSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  41389. return m_FcFalse
  41390. }
  41391. case int32(_FcTypeRange):
  41392. if !(XFcRangeSerializeAlloc(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8))) != 0) {
  41393. return m_FcFalse
  41394. }
  41395. default:
  41396. break
  41397. }
  41398. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  41399. }
  41400. return int32(m_FcTrue)
  41401. }
  41402. func XFcValueListSerialize(tls *libc.TLS, serialize uintptr, vl uintptr) (r uintptr) {
  41403. var c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized uintptr
  41404. _, _, _, _, _, _, _ = c_serialized, head_serialized, l_serialized, prev_serialized, r_serialized, s_serialized, vl_serialized
  41405. head_serialized = libc.UintptrFromInt32(0)
  41406. prev_serialized = libc.UintptrFromInt32(0)
  41407. for vl != 0 {
  41408. vl_serialized = XFcSerializePtr(tls, serialize, vl)
  41409. if !(vl_serialized != 0) {
  41410. return libc.UintptrFromInt32(0)
  41411. }
  41412. if prev_serialized != 0 {
  41413. (*TFcValueList)(unsafe.Pointer(prev_serialized)).Fnext = uintptr(int64(vl_serialized) - int64(prev_serialized) | libc.Int64FromInt32(1))
  41414. } else {
  41415. head_serialized = vl_serialized
  41416. }
  41417. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fnext = libc.UintptrFromInt32(0)
  41418. (*TFcValueList)(unsafe.Pointer(vl_serialized)).Fvalue.Ftype1 = (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1
  41419. switch (*TFcValueList)(unsafe.Pointer(vl)).Fvalue.Ftype1 {
  41420. case int32(_FcTypeInteger):
  41421. *(*int32)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*int32)(unsafe.Pointer(vl + 8 + 8))
  41422. case int32(_FcTypeDouble):
  41423. *(*float64)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*float64)(unsafe.Pointer(vl + 8 + 8))
  41424. case int32(_FcTypeString):
  41425. s_serialized = XFcStrSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  41426. if !(s_serialized != 0) {
  41427. return libc.UintptrFromInt32(0)
  41428. }
  41429. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(s_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  41430. case int32(_FcTypeBool):
  41431. *(*TFcBool)(unsafe.Pointer(vl_serialized + 8 + 8)) = *(*TFcBool)(unsafe.Pointer(vl + 8 + 8))
  41432. case int32(_FcTypeMatrix):
  41433. /* can't happen */
  41434. case int32(_FcTypeCharSet):
  41435. c_serialized = XFcCharSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  41436. if !(c_serialized != 0) {
  41437. return libc.UintptrFromInt32(0)
  41438. }
  41439. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(c_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  41440. case int32(_FcTypeFTFace):
  41441. /* can't happen */
  41442. case int32(_FcTypeLangSet):
  41443. l_serialized = XFcLangSetSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  41444. if !(l_serialized != 0) {
  41445. return libc.UintptrFromInt32(0)
  41446. }
  41447. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(l_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  41448. case int32(_FcTypeRange):
  41449. r_serialized = XFcRangeSerialize(tls, serialize, *(*uintptr)(unsafe.Pointer(vl + 8 + 8)))
  41450. if !(r_serialized != 0) {
  41451. return libc.UintptrFromInt32(0)
  41452. }
  41453. *(*uintptr)(unsafe.Pointer(vl_serialized + 8 + 8)) = uintptr(int64(r_serialized) - Tintptr_t(vl_serialized+8) | libc.Int64FromInt32(1))
  41454. default:
  41455. break
  41456. }
  41457. prev_serialized = vl_serialized
  41458. vl = (*TFcValueList)(unsafe.Pointer(vl)).Fnext
  41459. }
  41460. return head_serialized
  41461. }
  41462. func XFcRangeCreateDouble(tls *libc.TLS, begin float64, end float64) (r uintptr) {
  41463. var ret uintptr
  41464. _ = ret
  41465. ret = libc.Xmalloc(tls, uint64(16))
  41466. if ret != 0 {
  41467. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = begin
  41468. (*TFcRange)(unsafe.Pointer(ret)).Fend = end
  41469. }
  41470. return ret
  41471. }
  41472. func XFcRangeCreateInteger(tls *libc.TLS, begin TFcChar32, end TFcChar32) (r uintptr) {
  41473. var ret uintptr
  41474. _ = ret
  41475. ret = libc.Xmalloc(tls, uint64(16))
  41476. if ret != 0 {
  41477. (*TFcRange)(unsafe.Pointer(ret)).Fbegin = float64(begin)
  41478. (*TFcRange)(unsafe.Pointer(ret)).Fend = float64(end)
  41479. }
  41480. return ret
  41481. }
  41482. func XFcRangeDestroy(tls *libc.TLS, range1 uintptr) {
  41483. libc.Xfree(tls, range1)
  41484. }
  41485. func XFcRangeCopy(tls *libc.TLS, range1 uintptr) (r uintptr) {
  41486. return XFcRangeCreateDouble(tls, (*TFcRange)(unsafe.Pointer(range1)).Fbegin, (*TFcRange)(unsafe.Pointer(range1)).Fend)
  41487. }
  41488. func XFcRangeGetDouble(tls *libc.TLS, range1 uintptr, begin uintptr, end uintptr) (r TFcBool) {
  41489. if !(range1 != 0) {
  41490. return m_FcFalse
  41491. }
  41492. if begin != 0 {
  41493. *(*float64)(unsafe.Pointer(begin)) = (*TFcRange)(unsafe.Pointer(range1)).Fbegin
  41494. }
  41495. if end != 0 {
  41496. *(*float64)(unsafe.Pointer(end)) = (*TFcRange)(unsafe.Pointer(range1)).Fend
  41497. }
  41498. return int32(m_FcTrue)
  41499. }
  41500. func XFcRangePromote(tls *libc.TLS, v float64, vbuf uintptr) (r uintptr) {
  41501. var buf uintptr
  41502. _ = buf
  41503. buf = vbuf
  41504. (*struct {
  41505. Fr TFcRange
  41506. })(unsafe.Pointer(buf)).Fr.Fbegin = v
  41507. (*struct {
  41508. Fr TFcRange
  41509. })(unsafe.Pointer(buf)).Fr.Fend = v
  41510. return buf
  41511. }
  41512. func XFcRangeIsInRange(tls *libc.TLS, a uintptr, b uintptr) (r TFcBool) {
  41513. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fend)
  41514. }
  41515. func XFcRangeCompare(tls *libc.TLS, op TFcOp, a uintptr, b uintptr) (r TFcBool) {
  41516. switch op {
  41517. case int32(_FcOpEqual):
  41518. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin == (*TFcRange)(unsafe.Pointer(b)).Fbegin && (*TFcRange)(unsafe.Pointer(a)).Fend == (*TFcRange)(unsafe.Pointer(b)).Fend)
  41519. case int32(_FcOpContains):
  41520. fallthrough
  41521. case int32(_FcOpListing):
  41522. return XFcRangeIsInRange(tls, a, b)
  41523. case int32(_FcOpNotEqual):
  41524. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin != (*TFcRange)(unsafe.Pointer(b)).Fbegin || (*TFcRange)(unsafe.Pointer(a)).Fend != (*TFcRange)(unsafe.Pointer(b)).Fend)
  41525. case int32(_FcOpNotContains):
  41526. return libc.BoolInt32(!(XFcRangeIsInRange(tls, a, b) != 0))
  41527. case int32(_FcOpLess):
  41528. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend < (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  41529. case int32(_FcOpLessEqual):
  41530. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fend <= (*TFcRange)(unsafe.Pointer(b)).Fbegin)
  41531. case int32(_FcOpMore):
  41532. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin > (*TFcRange)(unsafe.Pointer(b)).Fend)
  41533. case int32(_FcOpMoreEqual):
  41534. return libc.BoolInt32((*TFcRange)(unsafe.Pointer(a)).Fbegin >= (*TFcRange)(unsafe.Pointer(b)).Fend)
  41535. default:
  41536. break
  41537. }
  41538. return m_FcFalse
  41539. }
  41540. func XFcRangeHash(tls *libc.TLS, r uintptr) (r1 TFcChar32) {
  41541. var b, e int32
  41542. _, _ = b, e
  41543. b = int32((*TFcRange)(unsafe.Pointer(r)).Fbegin * libc.Float64FromInt32(100))
  41544. e = int32((*TFcRange)(unsafe.Pointer(r)).Fend * libc.Float64FromInt32(100))
  41545. return uint32(b ^ b<<int32(1) ^ e<<int32(9))
  41546. }
  41547. func XFcRangeSerializeAlloc(tls *libc.TLS, serialize uintptr, r uintptr) (r1 TFcBool) {
  41548. if !(XFcSerializeAlloc(tls, serialize, r, int32(16)) != 0) {
  41549. return m_FcFalse
  41550. }
  41551. return int32(m_FcTrue)
  41552. }
  41553. func XFcRangeSerialize(tls *libc.TLS, serialize uintptr, r uintptr) (r1 uintptr) {
  41554. var r_serialize uintptr
  41555. _ = r_serialize
  41556. r_serialize = XFcSerializePtr(tls, serialize, r)
  41557. if !(r_serialize != 0) {
  41558. return libc.UintptrFromInt32(0)
  41559. }
  41560. libc.X__builtin___memcpy_chk(tls, r_serialize, r, uint64(16), uint64(libc.X__builtin_object_size(tls, r_serialize, 0)))
  41561. return r_serialize
  41562. }
  41563. func XFcAlignSize(tls *libc.TLS, size Tintptr_t) (r Tintptr_t) {
  41564. var rem Tintptr_t
  41565. _ = rem
  41566. rem = int64(uint64(size) % uint64(8))
  41567. if rem != 0 {
  41568. size = Tintptr_t(uint64(size) + (libc.Uint64FromInt64(8) - uint64(rem)))
  41569. }
  41570. return size
  41571. }
  41572. /*
  41573. * Serialization helper object -- allocate space in the
  41574. * yet-to-be-created linear array for a serialized font set
  41575. */
  41576. func XFcSerializeCreate(tls *libc.TLS) (r uintptr) {
  41577. var serialize uintptr
  41578. _ = serialize
  41579. serialize = libc.Xmalloc(tls, uint64(56))
  41580. if !(serialize != 0) {
  41581. return libc.UintptrFromInt32(0)
  41582. }
  41583. (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize = 0
  41584. (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear = libc.UintptrFromInt32(0)
  41585. (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer = libc.UintptrFromInt32(0)
  41586. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = libc.UintptrFromInt32(0)
  41587. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = uint64(0)
  41588. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  41589. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = uint64(0)
  41590. return serialize
  41591. }
  41592. func XFcSerializeDestroy(tls *libc.TLS, serialize uintptr) {
  41593. libc.Xfree(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets)
  41594. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer != 0 {
  41595. XFcCharSetFreezerDestroy(tls, (*TFcSerialize)(unsafe.Pointer(serialize)).Fcs_freezer)
  41596. }
  41597. libc.Xfree(tls, serialize)
  41598. }
  41599. func _FcSerializeNextBucketIndex(tls *libc.TLS, serialize uintptr, index Tsize_t) (r Tsize_t) {
  41600. if index == uint64(0) {
  41601. index = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  41602. }
  41603. index--
  41604. return index
  41605. }
  41606. // C documentation
  41607. //
  41608. // /*
  41609. // * Based on splittable64/splitmix64 from Mix13
  41610. // * https://zimbry.blogspot.com/2011/09/better-bit-mixing-improving-on.html
  41611. // * https://prng.di.unimi.it/splitmix64.c
  41612. // */
  41613. func _FcSerializeHashPtr(tls *libc.TLS, object uintptr) (r Tuintptr_t) {
  41614. var x Tuintptr_t
  41615. var v1 uint64
  41616. _, _ = x, v1
  41617. x = uint64(object)
  41618. x ^= x >> int32(30)
  41619. x *= uint64(0xbf58476d1ce4e5b9)
  41620. x ^= x >> int32(27)
  41621. x *= uint64(0x94d049bb133111eb)
  41622. x ^= x >> int32(31)
  41623. if x != 0 {
  41624. v1 = x
  41625. } else {
  41626. v1 = uint64(1)
  41627. }
  41628. return v1 /* 0 reserved to mark empty, x starts out 0 */
  41629. }
  41630. func _FcSerializeFind(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  41631. var bucket uintptr
  41632. var buckets_count, index, n Tsize_t
  41633. var hash Tuintptr_t
  41634. _, _, _, _, _ = bucket, buckets_count, hash, index, n
  41635. hash = _FcSerializeHashPtr(tls, object)
  41636. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  41637. index = hash & (buckets_count - uint64(1))
  41638. n = uint64(0)
  41639. for {
  41640. if !(n < buckets_count) {
  41641. break
  41642. }
  41643. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  41644. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  41645. return libc.UintptrFromInt32(0)
  41646. }
  41647. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  41648. return bucket
  41649. }
  41650. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  41651. goto _1
  41652. _1:
  41653. ;
  41654. n++
  41655. }
  41656. return libc.UintptrFromInt32(0)
  41657. }
  41658. func _FcSerializeUncheckedSet(tls *libc.TLS, serialize uintptr, insert uintptr) (r uintptr) {
  41659. var bucket, object uintptr
  41660. var buckets_count, index, n Tsize_t
  41661. _, _, _, _, _ = bucket, buckets_count, index, n, object
  41662. object = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fobject
  41663. buckets_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  41664. index = (*TFcSerializeBucket)(unsafe.Pointer(insert)).Fhash & (buckets_count - uint64(1))
  41665. n = uint64(0)
  41666. for {
  41667. if !(n < buckets_count) {
  41668. break
  41669. }
  41670. bucket = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets + uintptr(index)*24
  41671. if (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fhash == uint64(0) {
  41672. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  41673. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used++
  41674. return bucket
  41675. }
  41676. if object == (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Fobject {
  41677. /* FcSerializeAlloc should not allow this to happen. */
  41678. *(*TFcSerializeBucket)(unsafe.Pointer(bucket)) = *(*TFcSerializeBucket)(unsafe.Pointer(insert))
  41679. return bucket
  41680. }
  41681. index = _FcSerializeNextBucketIndex(tls, serialize, index)
  41682. goto _1
  41683. _1:
  41684. ;
  41685. n++
  41686. }
  41687. return libc.UintptrFromInt32(0)
  41688. }
  41689. func _FcSerializeResize(tls *libc.TLS, serialize uintptr, new_count Tsize_t) (r TFcBool) {
  41690. var b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end uintptr
  41691. var old_count, old_used Tsize_t
  41692. _, _, _, _, _, _, _, _ = b, b1, new_buckets, new_buckets_end, old_buckets, old_buckets_end, old_count, old_used
  41693. old_used = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used
  41694. old_count = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  41695. old_buckets = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets
  41696. old_buckets_end = old_buckets + uintptr(old_count)*24
  41697. new_buckets = libc.Xmalloc(tls, new_count*uint64(24))
  41698. if !(new_buckets != 0) {
  41699. return m_FcFalse
  41700. }
  41701. new_buckets_end = new_buckets + uintptr(new_count)*24
  41702. b = new_buckets
  41703. for {
  41704. if !(b < new_buckets_end) {
  41705. break
  41706. }
  41707. (*TFcSerializeBucket)(unsafe.Pointer(b)).Fhash = uint64(0)
  41708. goto _1
  41709. _1:
  41710. ;
  41711. b += 24
  41712. }
  41713. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = new_buckets
  41714. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = new_count
  41715. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = uint64(0)
  41716. b1 = old_buckets
  41717. for {
  41718. if !(b1 < old_buckets_end) {
  41719. break
  41720. }
  41721. if (*TFcSerializeBucket)(unsafe.Pointer(b1)).Fhash != uint64(0) && !(_FcSerializeUncheckedSet(tls, serialize, b1) != 0) {
  41722. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets = old_buckets
  41723. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count = old_count
  41724. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used = old_used
  41725. libc.Xfree(tls, new_buckets)
  41726. return m_FcFalse
  41727. }
  41728. goto _2
  41729. _2:
  41730. ;
  41731. b1 += 24
  41732. }
  41733. libc.Xfree(tls, old_buckets)
  41734. return int32(m_FcTrue)
  41735. }
  41736. func _FcSerializeSet(tls *libc.TLS, serialize uintptr, object uintptr, offset Tintptr_t) (r uintptr) {
  41737. bp := tls.Alloc(32)
  41738. defer tls.Free(32)
  41739. var capacity Tsize_t
  41740. var _ /* bucket at bp+0 */ TFcSerializeBucket
  41741. _ = capacity
  41742. if (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used >= (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max {
  41743. capacity = (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_count
  41744. if capacity == uint64(0) {
  41745. capacity = uint64(4)
  41746. } else {
  41747. if capacity > libc.Uint64FromUint64(18446744073709551615)/libc.Uint64FromUint32(2) {
  41748. return libc.UintptrFromInt32(0)
  41749. } else {
  41750. capacity *= uint64(2)
  41751. }
  41752. }
  41753. if !(_FcSerializeResize(tls, serialize, capacity) != 0) {
  41754. return libc.UintptrFromInt32(0)
  41755. }
  41756. (*TFcSerialize)(unsafe.Pointer(serialize)).Fbuckets_used_max = capacity / uint64(4) * uint64(3)
  41757. }
  41758. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fobject = object
  41759. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Foffset = offset
  41760. (*(*TFcSerializeBucket)(unsafe.Pointer(bp))).Fhash = _FcSerializeHashPtr(tls, object)
  41761. return _FcSerializeUncheckedSet(tls, serialize, bp)
  41762. }
  41763. // C documentation
  41764. //
  41765. // /*
  41766. // * Allocate space for an object in the serialized array. Keep track
  41767. // * of where the object is placed and only allocate one copy of each object
  41768. // */
  41769. func XFcSerializeAlloc(tls *libc.TLS, serialize uintptr, object uintptr, size int32) (r TFcBool) {
  41770. var bucket uintptr
  41771. _ = bucket
  41772. bucket = _FcSerializeFind(tls, serialize, object)
  41773. if bucket != 0 {
  41774. return int32(m_FcTrue)
  41775. }
  41776. if !(_FcSerializeSet(tls, serialize, object, (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize) != 0) {
  41777. return m_FcFalse
  41778. }
  41779. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  41780. return int32(m_FcTrue)
  41781. }
  41782. // C documentation
  41783. //
  41784. // /*
  41785. // * Reserve space in the serialization array
  41786. // */
  41787. func XFcSerializeReserve(tls *libc.TLS, serialize uintptr, size int32) (r Tintptr_t) {
  41788. var offset Tintptr_t
  41789. _ = offset
  41790. offset = (*TFcSerialize)(unsafe.Pointer(serialize)).Fsize
  41791. *(*Tintptr_t)(unsafe.Pointer(serialize)) += XFcAlignSize(tls, int64(size))
  41792. return offset
  41793. }
  41794. // C documentation
  41795. //
  41796. // /*
  41797. // * Given an object, return the offset in the serialized array where
  41798. // * the serialized copy of the object is stored
  41799. // */
  41800. func XFcSerializeOffset(tls *libc.TLS, serialize uintptr, object uintptr) (r Tintptr_t) {
  41801. var bucket uintptr
  41802. var v1 int64
  41803. _, _ = bucket, v1
  41804. bucket = _FcSerializeFind(tls, serialize, object)
  41805. if bucket != 0 {
  41806. v1 = (*TFcSerializeBucket)(unsafe.Pointer(bucket)).Foffset
  41807. } else {
  41808. v1 = 0
  41809. }
  41810. return v1
  41811. }
  41812. // C documentation
  41813. //
  41814. // /*
  41815. // * Given a cache and an object, return a pointer to where
  41816. // * the serialized copy of the object is stored
  41817. // */
  41818. func XFcSerializePtr(tls *libc.TLS, serialize uintptr, object uintptr) (r uintptr) {
  41819. var offset Tintptr_t
  41820. _ = offset
  41821. offset = XFcSerializeOffset(tls, serialize, object)
  41822. if !(offset != 0) {
  41823. return libc.UintptrFromInt32(0)
  41824. }
  41825. return (*TFcSerialize)(unsafe.Pointer(serialize)).Flinear + uintptr(offset)
  41826. }
  41827. func XFcStrSerializeAlloc(tls *libc.TLS, serialize uintptr, str uintptr) (r TFcBool) {
  41828. return XFcSerializeAlloc(tls, serialize, str, int32(libc.Xstrlen(tls, str)+uint64(1)))
  41829. }
  41830. func XFcStrSerialize(tls *libc.TLS, serialize uintptr, str uintptr) (r uintptr) {
  41831. var str_serialize uintptr
  41832. _ = str_serialize
  41833. str_serialize = XFcSerializePtr(tls, serialize, str)
  41834. if !(str_serialize != 0) {
  41835. return libc.UintptrFromInt32(0)
  41836. }
  41837. libc.X__builtin___strcpy_chk(tls, str_serialize, str, libc.X__builtin_object_size(tls, str_serialize, int32(1)))
  41838. return str_serialize
  41839. }
  41840. const m_ALIGNBYTES = "__DARWIN_ALIGNBYTES"
  41841. const m_AQ_BUFSZ = "MAXAUDITDATA"
  41842. const m_AQ_HIWATER = 100
  41843. const m_AQ_LOWATER = 10
  41844. const m_AQ_MAXBUFSZ = 1048576
  41845. const m_AQ_MAXHIGH = 10000
  41846. const m_ATTR_BIT_MAP_COUNT = 5
  41847. const m_ATTR_CMNEXT_ATTRIBUTION_TAG = 0x00000800
  41848. const m_ATTR_CMNEXT_CLONEID = 0x00000100
  41849. const m_ATTR_CMNEXT_CLONE_REFCNT = 0x00001000
  41850. const m_ATTR_CMNEXT_EXT_FLAGS = 0x00000200
  41851. const m_ATTR_CMNEXT_LINKID = 0x00000010
  41852. const m_ATTR_CMNEXT_NOFIRMLINKPATH = 0x00000020
  41853. const m_ATTR_CMNEXT_PRIVATESIZE = 0x00000008
  41854. const m_ATTR_CMNEXT_REALDEVID = 0x00000040
  41855. const m_ATTR_CMNEXT_REALFSID = 0x00000080
  41856. const m_ATTR_CMNEXT_RECURSIVE_GENCOUNT = 0x00000400
  41857. const m_ATTR_CMNEXT_RELPATH = 0x00000004
  41858. const m_ATTR_CMNEXT_SETMASK = 0x00000000
  41859. const m_ATTR_CMNEXT_VALIDMASK = 0x00001ffc
  41860. const m_ATTR_CMN_ACCESSMASK = 0x00020000
  41861. const m_ATTR_CMN_ACCTIME = 0x00001000
  41862. const m_ATTR_CMN_ADDEDTIME = 0x10000000
  41863. const m_ATTR_CMN_BKUPTIME = 0x00002000
  41864. const m_ATTR_CMN_CHGTIME = 0x00000800
  41865. const m_ATTR_CMN_CRTIME = 0x00000200
  41866. const m_ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
  41867. const m_ATTR_CMN_DEVID = 0x00000002
  41868. const m_ATTR_CMN_DOCUMENT_ID = 0x00100000
  41869. const m_ATTR_CMN_ERROR = 0x20000000
  41870. const m_ATTR_CMN_EXTENDED_SECURITY = 0x00400000
  41871. const m_ATTR_CMN_FILEID = 0x02000000
  41872. const m_ATTR_CMN_FLAGS = 0x00040000
  41873. const m_ATTR_CMN_FNDRINFO = 0x00004000
  41874. const m_ATTR_CMN_FSID = 0x00000004
  41875. const m_ATTR_CMN_FULLPATH = 0x08000000
  41876. const m_ATTR_CMN_GEN_COUNT = 0x00080000
  41877. const m_ATTR_CMN_GRPID = 0x00010000
  41878. const m_ATTR_CMN_GRPUUID = 0x01000000
  41879. const m_ATTR_CMN_MODTIME = 0x00000400
  41880. const m_ATTR_CMN_NAME = 0x00000001
  41881. const m_ATTR_CMN_NAMEDATTRCOUNT = 0x00080000
  41882. const m_ATTR_CMN_NAMEDATTRLIST = 0x00100000
  41883. const m_ATTR_CMN_OBJID = 0x00000020
  41884. const m_ATTR_CMN_OBJPERMANENTID = 0x00000040
  41885. const m_ATTR_CMN_OBJTAG = 0x00000010
  41886. const m_ATTR_CMN_OBJTYPE = 0x00000008
  41887. const m_ATTR_CMN_OWNERID = 0x00008000
  41888. const m_ATTR_CMN_PARENTID = 0x04000000
  41889. const m_ATTR_CMN_PAROBJID = 0x00000080
  41890. const m_ATTR_CMN_RETURNED_ATTRS = 0x80000000
  41891. const m_ATTR_CMN_SCRIPT = 0x00000100
  41892. const m_ATTR_CMN_SETMASK = 0x51C7FF00
  41893. const m_ATTR_CMN_USERACCESS = 0x00200000
  41894. const m_ATTR_CMN_UUID = 0x00800000
  41895. const m_ATTR_CMN_VALIDMASK = 0xFFFFFFFF
  41896. const m_ATTR_CMN_VOLSETMASK = 0x00006700
  41897. const m_ATTR_DIR_ALLOCSIZE = 0x00000008
  41898. const m_ATTR_DIR_DATALENGTH = 0x00000020
  41899. const m_ATTR_DIR_ENTRYCOUNT = 0x00000002
  41900. const m_ATTR_DIR_IOBLOCKSIZE = 0x00000010
  41901. const m_ATTR_DIR_LINKCOUNT = 0x00000001
  41902. const m_ATTR_DIR_MOUNTSTATUS = 0x00000004
  41903. const m_ATTR_DIR_SETMASK = 0x00000000
  41904. const m_ATTR_DIR_VALIDMASK = 0x0000003f
  41905. const m_ATTR_FILE_ALLOCSIZE = 0x00000004
  41906. const m_ATTR_FILE_CLUMPSIZE = 0x00000010
  41907. const m_ATTR_FILE_DATAALLOCSIZE = 0x00000400
  41908. const m_ATTR_FILE_DATAEXTENTS = 0x00000800
  41909. const m_ATTR_FILE_DATALENGTH = 0x00000200
  41910. const m_ATTR_FILE_DEVTYPE = 0x00000020
  41911. const m_ATTR_FILE_FILETYPE = 0x00000040
  41912. const m_ATTR_FILE_FORKCOUNT = 0x00000080
  41913. const m_ATTR_FILE_FORKLIST = 0x00000100
  41914. const m_ATTR_FILE_IOBLOCKSIZE = 0x00000008
  41915. const m_ATTR_FILE_LINKCOUNT = 0x00000001
  41916. const m_ATTR_FILE_RSRCALLOCSIZE = 0x00002000
  41917. const m_ATTR_FILE_RSRCEXTENTS = 0x00004000
  41918. const m_ATTR_FILE_RSRCLENGTH = 0x00001000
  41919. const m_ATTR_FILE_SETMASK = 0x00000020
  41920. const m_ATTR_FILE_TOTALSIZE = 0x00000002
  41921. const m_ATTR_FILE_VALIDMASK = 0x000037FF
  41922. const m_ATTR_FORK_ALLOCSIZE = 0x00000002
  41923. const m_ATTR_FORK_RESERVED = 0xffffffff
  41924. const m_ATTR_FORK_SETMASK = 0x00000000
  41925. const m_ATTR_FORK_TOTALSIZE = 0x00000001
  41926. const m_ATTR_FORK_VALIDMASK = 0x00000003
  41927. const m_ATTR_MAX_BUFFER = 8192
  41928. const m_ATTR_VOL_ALLOCATIONCLUMP = 0x00000040
  41929. const m_ATTR_VOL_ATTRIBUTES = 0x40000000
  41930. const m_ATTR_VOL_CAPABILITIES = 0x00020000
  41931. const m_ATTR_VOL_DIRCOUNT = 0x00000400
  41932. const m_ATTR_VOL_ENCODINGSUSED = 0x00010000
  41933. const m_ATTR_VOL_FILECOUNT = 0x00000200
  41934. const m_ATTR_VOL_FSSUBTYPE = 0x00200000
  41935. const m_ATTR_VOL_FSTYPE = 0x00000001
  41936. const m_ATTR_VOL_FSTYPENAME = 0x00100000
  41937. const m_ATTR_VOL_INFO = 0x80000000
  41938. const m_ATTR_VOL_IOBLOCKSIZE = 0x00000080
  41939. const m_ATTR_VOL_MAXOBJCOUNT = 0x00000800
  41940. const m_ATTR_VOL_MINALLOCATION = 0x00000020
  41941. const m_ATTR_VOL_MOUNTEDDEVICE = 0x00008000
  41942. const m_ATTR_VOL_MOUNTFLAGS = 0x00004000
  41943. const m_ATTR_VOL_MOUNTPOINT = 0x00001000
  41944. const m_ATTR_VOL_NAME = 0x00002000
  41945. const m_ATTR_VOL_OBJCOUNT = 0x00000100
  41946. const m_ATTR_VOL_QUOTA_SIZE = 0x10000000
  41947. const m_ATTR_VOL_RESERVED_SIZE = 0x20000000
  41948. const m_ATTR_VOL_SETMASK = 0x80002000
  41949. const m_ATTR_VOL_SIGNATURE = 0x00000002
  41950. const m_ATTR_VOL_SIZE = 0x00000004
  41951. const m_ATTR_VOL_SPACEAVAIL = 0x00000010
  41952. const m_ATTR_VOL_SPACEFREE = 0x00000008
  41953. const m_ATTR_VOL_SPACEUSED = 0x00800000
  41954. const m_ATTR_VOL_UUID = 0x00040000
  41955. const m_ATTR_VOL_VALIDMASK = 0xF0B7FFFF
  41956. const m_AUC_AUDITING = 1
  41957. const m_AUC_NOAUDIT = 2
  41958. const m_AUC_UNSET = 0
  41959. const m_AUDITDEV_FILENAME = "audit"
  41960. const m_AUDIT_AHLT = 0x0002
  41961. const m_AUDIT_ARGE = 0x0008
  41962. const m_AUDIT_ARGV = 0x0004
  41963. const m_AUDIT_CNT = 0x0001
  41964. const m_AUDIT_GROUP = 0x0080
  41965. const m_AUDIT_HARD_LIMIT_FREE_BLOCKS = 4
  41966. const m_AUDIT_PATH = 0x0200
  41967. const m_AUDIT_PERZONE = 0x2000
  41968. const m_AUDIT_PUBLIC = 0x0800
  41969. const m_AUDIT_RECORD_MAGIC = 0x828a0f1b
  41970. const m_AUDIT_SCNT = 0x0400
  41971. const m_AUDIT_SEQ = 0x0010
  41972. const m_AUDIT_TRAIL = 0x0100
  41973. const m_AUDIT_TRIGGER_CLOSE_AND_DIE = 4
  41974. const m_AUDIT_TRIGGER_EXPIRE_TRAILS = 8
  41975. const m_AUDIT_TRIGGER_INITIALIZE = 7
  41976. const m_AUDIT_TRIGGER_LOW_SPACE = 1
  41977. const m_AUDIT_TRIGGER_MAX = 8
  41978. const m_AUDIT_TRIGGER_MIN = 1
  41979. const m_AUDIT_TRIGGER_NO_SPACE = 5
  41980. const m_AUDIT_TRIGGER_READ_FILE = 3
  41981. const m_AUDIT_TRIGGER_ROTATE_KERNEL = 2
  41982. const m_AUDIT_TRIGGER_ROTATE_USER = 6
  41983. const m_AUDIT_USER = 0x0040
  41984. const m_AUDIT_WINDATA = 0x0020
  41985. const m_AUDIT_ZONENAME = 0x1000
  41986. const m_AU_CLASS_MASK_RESERVED = 0x10000000
  41987. const m_AU_DEFAUDITSID = 0
  41988. const m_AU_FS_MINFREE = 20
  41989. const m_AU_IPv4 = 4
  41990. const m_AU_IPv6 = 16
  41991. const m_A_GETCAR = 9
  41992. const m_A_GETCLASS = 22
  41993. const m_A_GETCOND = 37
  41994. const m_A_GETCTLMODE = 41
  41995. const m_A_GETCWD = 8
  41996. const m_A_GETEXPAFTER = 43
  41997. const m_A_GETFSIZE = 27
  41998. const m_A_GETKAUDIT = 29
  41999. const m_A_GETKMASK = 4
  42000. const m_A_GETPINFO = 24
  42001. const m_A_GETPINFO_ADDR = 28
  42002. const m_A_GETPOLICY = 33
  42003. const m_A_GETQCTRL = 35
  42004. const m_A_GETSFLAGS = 39
  42005. const m_A_GETSINFO_ADDR = 32
  42006. const m_A_GETSTAT = 12
  42007. const m_A_OLDGETCOND = 20
  42008. const m_A_OLDGETPOLICY = 2
  42009. const m_A_OLDGETQCTRL = 6
  42010. const m_A_OLDSETCOND = 21
  42011. const m_A_OLDSETPOLICY = 3
  42012. const m_A_OLDSETQCTRL = 7
  42013. const m_A_SENDTRIGGER = 31
  42014. const m_A_SETCLASS = 23
  42015. const m_A_SETCOND = 38
  42016. const m_A_SETCTLMODE = 42
  42017. const m_A_SETEXPAFTER = 44
  42018. const m_A_SETFSIZE = 26
  42019. const m_A_SETKAUDIT = 30
  42020. const m_A_SETKMASK = 5
  42021. const m_A_SETPMASK = 25
  42022. const m_A_SETPOLICY = 34
  42023. const m_A_SETQCTRL = 36
  42024. const m_A_SETSFLAGS = 40
  42025. const m_A_SETSMASK = 15
  42026. const m_A_SETSTAT = 13
  42027. const m_A_SETUMASK = 14
  42028. const m_BC_BASE_MAX = 99
  42029. const m_BC_DIM_MAX = 2048
  42030. const m_BC_SCALE_MAX = 99
  42031. const m_BC_STRING_MAX = 1000
  42032. const m_BLKDEV_IOSIZE = 2048
  42033. const m_BSD = 199506
  42034. const m_BSD4_3 = 1
  42035. const m_BSD4_4 = 1
  42036. const m_CBLOCK = 64
  42037. const m_CHARCLASS_NAME_MAX = 14
  42038. const m_CHILD_MAX = 266
  42039. const m_CLOFF = "CLOFSET"
  42040. const m_CLSIZE = 1
  42041. const m_CLSIZELOG2 = 0
  42042. const m_CMASK = 022
  42043. const m_COLL_WEIGHTS_MAX = 2
  42044. const m_CRF_MAC_ENFORCE = 0x00000002
  42045. const m_CRF_NOMEMBERD = 0x00000001
  42046. const m_CRYPTEX_AUTH_STRUCT_VERSION = 1
  42047. const m_DEV_BSHIFT = 9
  42048. const m_DEV_BSIZE = 512
  42049. const m_DIR_MNTSTATUS_MNTPOINT = 0x00000001
  42050. const m_DIR_MNTSTATUS_TRIGGER = 0x00000002
  42051. const m_EQUIV_CLASS_MAX = 2
  42052. const m_EXPR_NEST_MAX = 32
  42053. const m_FALSE = 0
  42054. const m_FC_ARCH_ENDIAN1 = "le"
  42055. const m_FC_DIR_SEPARATOR3 = 47
  42056. const m_FSHIFT = 11
  42057. const m_FSOPT_ATTR_CMN_EXTENDED = 0x00000020
  42058. const m_FSOPT_NOFOLLOW = 0x00000001
  42059. const m_FSOPT_NOFOLLOW_ANY = 0x00000800
  42060. const m_FSOPT_NOINMEMUPDATE = 0x00000002
  42061. const m_FSOPT_PACK_INVAL_ATTRS = 0x00000008
  42062. const m_FSOPT_REPORT_FULLSIZE = 0x00000004
  42063. const m_FSOPT_RETURN_REALDEV = 0x00000200
  42064. const m_GID_MAX = 2147483647
  42065. const m_GRAFTDMG_SECURE_BOOT_CRYPTEX_ARGS_VERSION = 1
  42066. const m_GUARD_TYPE_MACH_PORT = 0x1
  42067. const m_LINE_MAX = 2048
  42068. const m_LINK_MAX = 32767
  42069. const m_M16KCLSHIFT = 14
  42070. const m_MACH_MSG_TYPE_INTEGER_T = "MACH_MSG_TYPE_INTEGER_32"
  42071. const m_MACH_PORT_DENAP_RECEIVER = 6
  42072. const m_MACH_PORT_DNREQUESTS_SIZE = 3
  42073. const m_MACH_PORT_DNREQUESTS_SIZE_COUNT = 1
  42074. const m_MACH_PORT_GUARD_INFO = 8
  42075. const m_MACH_PORT_IMPORTANCE_RECEIVER = 5
  42076. const m_MACH_PORT_INFO_EXT = 7
  42077. const m_MACH_PORT_LIMITS_INFO = 1
  42078. const m_MACH_PORT_NULL = 0
  42079. const m_MACH_PORT_QLIMIT_BASIC = 5
  42080. const m_MACH_PORT_QLIMIT_DEFAULT = "MACH_PORT_QLIMIT_BASIC"
  42081. const m_MACH_PORT_QLIMIT_KERNEL = 65534
  42082. const m_MACH_PORT_QLIMIT_LARGE = 1024
  42083. const m_MACH_PORT_QLIMIT_MAX = "MACH_PORT_QLIMIT_LARGE"
  42084. const m_MACH_PORT_QLIMIT_MIN = "MACH_PORT_QLIMIT_ZERO"
  42085. const m_MACH_PORT_QLIMIT_SMALL = 16
  42086. const m_MACH_PORT_QLIMIT_ZERO = 0
  42087. const m_MACH_PORT_RECEIVE_STATUS = 2
  42088. const m_MACH_PORT_SERVICE_THROTTLED = 9
  42089. const m_MACH_PORT_SERVICE_THROTTLED_COUNT = 1
  42090. const m_MACH_PORT_SRIGHTS_NONE = 0
  42091. const m_MACH_PORT_SRIGHTS_PRESENT = 1
  42092. const m_MACH_PORT_STATUS_FLAG_GUARDED = 0x02
  42093. const m_MACH_PORT_STATUS_FLAG_GUARD_IMMOVABLE_RECEIVE = 0x40
  42094. const m_MACH_PORT_STATUS_FLAG_IMP_DONATION = 0x08
  42095. const m_MACH_PORT_STATUS_FLAG_NO_GRANT = 0x80
  42096. const m_MACH_PORT_STATUS_FLAG_REVIVE = 0x10
  42097. const m_MACH_PORT_STATUS_FLAG_STRICT_GUARD = 0x04
  42098. const m_MACH_PORT_STATUS_FLAG_TASKPTR = 0x20
  42099. const m_MACH_PORT_STATUS_FLAG_TEMPOWNER = 0x01
  42100. const m_MACH_PORT_TEMPOWNER = 4
  42101. const m_MACH_PORT_TYPE_DNREQUEST = 0x80000000
  42102. const m_MACH_PORT_TYPE_SPREQUEST = 0x40000000
  42103. const m_MACH_PORT_TYPE_SPREQUEST_DELAYED = 0x20000000
  42104. const m_MACH_SERVICE_PORT_INFO_STRING_NAME_MAX_BUF_LEN = 255
  42105. const m_MAXCOMLEN = 16
  42106. const m_MAXDOMNAMELEN = 256
  42107. const m_MAXFRAG = 8
  42108. const m_MAXHOSTNAMELEN = 256
  42109. const m_MAXINTERP = 64
  42110. const m_MAXLOGNAME = 255
  42111. const m_MAXPATHLEN = "PATH_MAX"
  42112. const m_MAXPHYSIO = "MAXPHYS"
  42113. const m_MAXPRI = 127
  42114. const m_MAXSYMLINKS = 32
  42115. const m_MAXUPRC = "CHILD_MAX"
  42116. const m_MAX_AUDIT_RECORDS = 20
  42117. const m_MAX_AUDIT_RECORD_SIZE = "MAXAUDITDATA"
  42118. const m_MAX_CANON = 1024
  42119. const m_MAX_GRAFT_ARGS_SIZE = 512
  42120. const m_MAX_INPUT = 1024
  42121. const m_MBIGCLSHIFT = 12
  42122. const m_MCLSHIFT = 11
  42123. const m_MFSNAMELEN = 15
  42124. const m_MFSTYPENAMELEN = 16
  42125. const m_MNAMELEN = "MAXPATHLEN"
  42126. const m_MNT_ASYNC = 0x00000040
  42127. const m_MNT_AUTOMOUNTED = 0x00400000
  42128. const m_MNT_CPROTECT = 0x00000080
  42129. const m_MNT_DEFWRITE = 0x02000000
  42130. const m_MNT_DONTBROWSE = 0x00100000
  42131. const m_MNT_DOVOLFS = 0x00008000
  42132. const m_MNT_DWAIT = 4
  42133. const m_MNT_EXPORTED = 0x00000100
  42134. const m_MNT_EXT_FSKIT = 0x00000002
  42135. const m_MNT_EXT_ROOT_DATA_VOL = 0x00000001
  42136. const m_MNT_FORCE = 0x00080000
  42137. const m_MNT_IGNORE_OWNERSHIP = 0x00200000
  42138. const m_MNT_JOURNALED = 0x00800000
  42139. const m_MNT_LOCAL = 4096
  42140. const m_MNT_MULTILABEL = 0x04000000
  42141. const m_MNT_NOATIME = 0x10000000
  42142. const m_MNT_NOBLOCK = 0x00020000
  42143. const m_MNT_NODEV = 0x00000010
  42144. const m_MNT_NOEXEC = 0x00000004
  42145. const m_MNT_NOFOLLOW = 0x08000000
  42146. const m_MNT_NOSUID = 0x00000008
  42147. const m_MNT_NOUSERXATTR = 0x01000000
  42148. const m_MNT_NOWAIT = 2
  42149. const m_MNT_QUARANTINE = 0x00000400
  42150. const m_MNT_QUOTA = 0x00002000
  42151. const m_MNT_RDONLY = 0x00000001
  42152. const m_MNT_RELOAD = 0x00040000
  42153. const m_MNT_REMOVABLE = 0x00000200
  42154. const m_MNT_ROOTFS = 0x00004000
  42155. const m_MNT_SNAPSHOT = 0x40000000
  42156. const m_MNT_STRICTATIME = 0x80000000
  42157. const m_MNT_SYNCHRONOUS = 0x00000002
  42158. const m_MNT_UNION = 0x00000020
  42159. const m_MNT_UNKNOWNPERMISSIONS = "MNT_IGNORE_OWNERSHIP"
  42160. const m_MNT_UPDATE = 0x00010000
  42161. const m_MNT_WAIT = 1
  42162. const m_MPG_FLAGS_NONE = "0x00ull"
  42163. const m_MPG_IMMOVABLE_RECEIVE = 0x02
  42164. const m_MPG_STRICT = 0x01
  42165. const m_MPO_CONNECTION_PORT = 0x800
  42166. const m_MPO_CONTEXT_AS_GUARD = 0x01
  42167. const m_MPO_DENAP_RECEIVER = 0x40
  42168. const m_MPO_ENFORCE_REPLY_PORT_SEMANTICS = 0x2000
  42169. const m_MPO_FILTER_MSG = 0x100
  42170. const m_MPO_IMMOVABLE_RECEIVE = 0x80
  42171. const m_MPO_IMPORTANCE_RECEIVER = 0x08
  42172. const m_MPO_INSERT_SEND_RIGHT = 0x10
  42173. const m_MPO_PROVISIONAL_ID_PROT_OPTOUT = 0x8000
  42174. const m_MPO_PROVISIONAL_REPLY_PORT = 0x4000
  42175. const m_MPO_QLIMIT = 0x02
  42176. const m_MPO_REPLY_PORT = 0x1000
  42177. const m_MPO_SERVICE_PORT = 0x400
  42178. const m_MPO_STRICT = 0x20
  42179. const m_MPO_TEMPOWNER = 0x04
  42180. const m_MPO_TG_BLOCK_TRACKING = 0x200
  42181. const m_MSIZESHIFT = 8
  42182. const m_NAME_MAX = 255
  42183. const m_NBPG = 4096
  42184. const m_NCARGS = "ARG_MAX"
  42185. const m_NFSV2_MAX_FH_SIZE = 32
  42186. const m_NFSV3_MAX_FH_SIZE = 64
  42187. const m_NFSV4_MAX_FH_SIZE = 128
  42188. const m_NFS_MAX_FH_SIZE = "NFSV4_MAX_FH_SIZE"
  42189. const m_NGROUPS = "NGROUPS_MAX"
  42190. const m_NGROUPS_MAX = 16
  42191. const m_NOFILE = 256
  42192. const m_NOGROUP = 65535
  42193. const m_NZERO = 20
  42194. const m_NeXTBSD = 1995064
  42195. const m_NeXTBSD4_0 = 0
  42196. const m_OPEN_MAX = 10240
  42197. const m_OS_ASSUME_PTR_ABI_SINGLE_BEGIN = "__ASSUME_PTR_ABI_SINGLE_BEGIN"
  42198. const m_OS_ASSUME_PTR_ABI_SINGLE_END = "__ASSUME_PTR_ABI_SINGLE_END"
  42199. const m_OS_HEADER_INDEXABLE = "__header_indexable"
  42200. const m_OS_UNSAFE_INDEXABLE = "__unsafe_indexable"
  42201. const m_O_CLOEXEC2 = 0x01000000
  42202. const m_O_CREAT1 = 0x00000200
  42203. const m_O_RDONLY2 = 0
  42204. const m_PATH_MAX = 1024
  42205. const m_PCATCH = 0x100
  42206. const m_PDROP = 0x400
  42207. const m_PGSHIFT = 12
  42208. const m_PINOD = 8
  42209. const m_PIPE_BUF = 512
  42210. const m_PLOCK = 36
  42211. const m_PPAUSE = 40
  42212. const m_PRIBIO = 16
  42213. const m_PRIMASK = 0x0ff
  42214. const m_PSOCK = 24
  42215. const m_PSPIN = 0x800
  42216. const m_PSWP = 0
  42217. const m_PTTYBLOCK = 0x200
  42218. const m_PUSER = 50
  42219. const m_PVFS = 20
  42220. const m_PVM = 4
  42221. const m_PWAIT = 32
  42222. const m_PZERO = 22
  42223. const m_RE_DUP_MAX = 255
  42224. const m_SBC_ALTERNATE_SHARED_REGION = 0x0002
  42225. const m_SBC_PANIC_ON_AUTHFAIL = 0x0008
  42226. const m_SBC_PRESERVE_GRAFT = 0x0020
  42227. const m_SBC_PRESERVE_MOUNT = 0x0001
  42228. const m_SBC_STRICT_AUTH = 0x0010
  42229. const m_SBC_SYSTEM_CONTENT = 0x0004
  42230. const m_SEARCHFS_MAX_SEARCHPARMS = 4096
  42231. const m_SRCHFS_MATCHDIRS = 0x00000004
  42232. const m_SRCHFS_MATCHFILES = 0x00000008
  42233. const m_SRCHFS_MATCHPARTIALNAMES = 0x00000002
  42234. const m_SRCHFS_NEGATEPARAMS = 0x80000000
  42235. const m_SRCHFS_SKIPINAPPROPRIATE = 0x00000080
  42236. const m_SRCHFS_SKIPINVISIBLE = 0x00000020
  42237. const m_SRCHFS_SKIPLINKS = 0x00000010
  42238. const m_SRCHFS_SKIPPACKAGES = 0x00000040
  42239. const m_SRCHFS_START = 0x00000001
  42240. const m_SRCHFS_VALIDOPTIONSMASK = 0x800000FF
  42241. const m_ST_NOSUID = 0x00000002
  42242. const m_ST_RDONLY = 0x00000001
  42243. const m_S_IFDIR3 = 16384
  42244. const m_S_IFMT5 = 61440
  42245. const m_TRUE = 1
  42246. const m_UID_MAX = 2147483647
  42247. const m_VFS_CONF = 2
  42248. const m_VFS_CTL_DISC = 0x00010008
  42249. const m_VFS_CTL_NEWADDR = 0x00010004
  42250. const m_VFS_CTL_NOLOCKS = 0x00010006
  42251. const m_VFS_CTL_NSTATUS = 0x0001000A
  42252. const m_VFS_CTL_OSTATFS = 0x00010001
  42253. const m_VFS_CTL_QUERY = 0x00010003
  42254. const m_VFS_CTL_SADDR = 0x00010007
  42255. const m_VFS_CTL_SERVERINFO = 0x00010009
  42256. const m_VFS_CTL_STATFS = "VFS_CTL_STATFS64"
  42257. const m_VFS_CTL_STATFS64 = 0x0001000B
  42258. const m_VFS_CTL_TIMEO = 0x00010005
  42259. const m_VFS_CTL_UMOUNT = 0x00010002
  42260. const m_VFS_CTL_VERS1 = 0x01
  42261. const m_VFS_GENERIC = 0
  42262. const m_VFS_MAXTYPENUM = 1
  42263. const m_VFS_NUMMNTOPS = 1
  42264. const m_VOL_CAPABILITIES_FORMAT = 0
  42265. const m_VOL_CAPABILITIES_INTERFACES = 1
  42266. const m_VOL_CAPABILITIES_RESERVED1 = 2
  42267. const m_VOL_CAPABILITIES_RESERVED2 = 3
  42268. const m_VOL_CAP_FMT_2TB_FILESIZE = 0x00000800
  42269. const m_VOL_CAP_FMT_64BIT_OBJECT_IDS = 0x00020000
  42270. const m_VOL_CAP_FMT_CASE_PRESERVING = 0x00000200
  42271. const m_VOL_CAP_FMT_CASE_SENSITIVE = 0x00000100
  42272. const m_VOL_CAP_FMT_CLONE_MAPPING = 0x04000000
  42273. const m_VOL_CAP_FMT_DECMPFS_COMPRESSION = 0x00010000
  42274. const m_VOL_CAP_FMT_DIR_HARDLINKS = 0x00040000
  42275. const m_VOL_CAP_FMT_DOCUMENT_ID = 0x00080000
  42276. const m_VOL_CAP_FMT_FAST_STATFS = 0x00000400
  42277. const m_VOL_CAP_FMT_HARDLINKS = 0x00000004
  42278. const m_VOL_CAP_FMT_HIDDEN_FILES = 0x00002000
  42279. const m_VOL_CAP_FMT_JOURNAL = 0x00000008
  42280. const m_VOL_CAP_FMT_JOURNAL_ACTIVE = 0x00000010
  42281. const m_VOL_CAP_FMT_NO_IMMUTABLE_FILES = 0x00200000
  42282. const m_VOL_CAP_FMT_NO_PERMISSIONS = 0x00400000
  42283. const m_VOL_CAP_FMT_NO_ROOT_TIMES = 0x00000020
  42284. const m_VOL_CAP_FMT_NO_VOLUME_SIZES = 0x00008000
  42285. const m_VOL_CAP_FMT_OPENDENYMODES = 0x00001000
  42286. const m_VOL_CAP_FMT_PATH_FROM_ID = 0x00004000
  42287. const m_VOL_CAP_FMT_PERSISTENTOBJECTIDS = 0x00000001
  42288. const m_VOL_CAP_FMT_SEALED = 0x02000000
  42289. const m_VOL_CAP_FMT_SHARED_SPACE = 0x00800000
  42290. const m_VOL_CAP_FMT_SPARSE_FILES = 0x00000040
  42291. const m_VOL_CAP_FMT_SYMBOLICLINKS = 0x00000002
  42292. const m_VOL_CAP_FMT_VOL_GROUPS = 0x01000000
  42293. const m_VOL_CAP_FMT_WRITE_GENERATION_COUNT = 0x00100000
  42294. const m_VOL_CAP_FMT_ZERO_RUNS = 0x00000080
  42295. const m_VOL_CAP_INT_ADVLOCK = 0x00000100
  42296. const m_VOL_CAP_INT_ALLOCATE = 0x00000040
  42297. const m_VOL_CAP_INT_ATTRIBUTION_TAG = 0x00400000
  42298. const m_VOL_CAP_INT_ATTRLIST = 0x00000002
  42299. const m_VOL_CAP_INT_CLONE = 0x00010000
  42300. const m_VOL_CAP_INT_COPYFILE = 0x00000020
  42301. const m_VOL_CAP_INT_EXCHANGEDATA = 0x00000010
  42302. const m_VOL_CAP_INT_EXTENDED_ATTR = 0x00004000
  42303. const m_VOL_CAP_INT_EXTENDED_SECURITY = 0x00000400
  42304. const m_VOL_CAP_INT_FLOCK = 0x00000200
  42305. const m_VOL_CAP_INT_MANLOCK = 0x00001000
  42306. const m_VOL_CAP_INT_NAMEDSTREAMS = 0x00002000
  42307. const m_VOL_CAP_INT_NFSEXPORT = 0x00000004
  42308. const m_VOL_CAP_INT_READDIRATTR = 0x00000008
  42309. const m_VOL_CAP_INT_RENAME_EXCL = 0x00080000
  42310. const m_VOL_CAP_INT_RENAME_OPENFAIL = 0x00100000
  42311. const m_VOL_CAP_INT_RENAME_SECLUDE = 0x00200000
  42312. const m_VOL_CAP_INT_RENAME_SWAP = 0x00040000
  42313. const m_VOL_CAP_INT_SEARCHFS = 0x00000001
  42314. const m_VOL_CAP_INT_SNAPSHOT = 0x00020000
  42315. const m_VOL_CAP_INT_USERACCESS = 0x00000800
  42316. const m_VOL_CAP_INT_VOL_RENAME = 0x00000080
  42317. const m_VQ_ASSIST = 0x0040
  42318. const m_VQ_DEAD = 0x0020
  42319. const m_VQ_DESIRED_DISK = 0x4000
  42320. const m_VQ_FLAG10000 = 0x10000
  42321. const m_VQ_FREE_SPACE_CHANGE = 0x8000
  42322. const m_VQ_LOWDISK = 0x0004
  42323. const m_VQ_MOUNT = 0x0008
  42324. const m_VQ_NEARLOWDISK = 0x2000
  42325. const m_VQ_NEEDAUTH = 0x0002
  42326. const m_VQ_NOTRESP = 0x0001
  42327. const m_VQ_NOTRESPLOCK = 0x0080
  42328. const m_VQ_QUOTA = 0x1000
  42329. const m_VQ_SERVEREVENT = 0x0800
  42330. const m_VQ_SYNCEVENT = 0x0400
  42331. const m_VQ_UNMOUNT = 0x0010
  42332. const m_VQ_UPDATE = 0x0100
  42333. const m_VQ_VERYLOWDISK = 0x0200
  42334. const m_XUCRED_VERSION = 0
  42335. type Tfssearchblock = struct {
  42336. Freturnattrs uintptr
  42337. Freturnbuffer uintptr
  42338. Freturnbuffersize Tsize_t
  42339. Fmaxmatches Tu_long
  42340. Ftimelimit Ttimeval
  42341. Fsearchparams1 uintptr
  42342. Fsizeofsearchparams1 Tsize_t
  42343. Fsearchparams2 uintptr
  42344. Fsizeofsearchparams2 Tsize_t
  42345. Fsearchattrs Tattrlist
  42346. }
  42347. type Tsearchstate = struct {
  42348. Fss_union_flags Tuint32_t
  42349. Fss_union_layer Tuint32_t
  42350. Fss_fsstate [548]Tu_char
  42351. }
  42352. type Tstatvfs = struct {
  42353. Ff_bsize uint64
  42354. Ff_frsize uint64
  42355. Ff_blocks Tfsblkcnt_t
  42356. Ff_bfree Tfsblkcnt_t
  42357. Ff_bavail Tfsblkcnt_t
  42358. Ff_files Tfsfilcnt_t
  42359. Ff_ffree Tfsfilcnt_t
  42360. Ff_favail Tfsfilcnt_t
  42361. Ff_fsid uint64
  42362. Ff_flag uint64
  42363. Ff_namemax uint64
  42364. }
  42365. type Tau_id_t = uint32
  42366. type Tau_asid_t = int32
  42367. type Tau_event_t = uint16
  42368. type Tau_emod_t = uint16
  42369. type Tau_class_t = uint32
  42370. type Tau_asflgs_t = uint64
  42371. type Tau_ctlmode_t = uint8
  42372. type Tau_tid = struct {
  42373. Fport Tdev_t
  42374. Fmachine Tu_int32_t
  42375. }
  42376. type Tau_tid_t = struct {
  42377. Fport Tdev_t
  42378. Fmachine Tu_int32_t
  42379. }
  42380. type Tau_tid_addr = struct {
  42381. Fat_port Tdev_t
  42382. Fat_type Tu_int32_t
  42383. Fat_addr [4]Tu_int32_t
  42384. }
  42385. type Tau_tid_addr_t = struct {
  42386. Fat_port Tdev_t
  42387. Fat_type Tu_int32_t
  42388. Fat_addr [4]Tu_int32_t
  42389. }
  42390. type Tau_mask = struct {
  42391. Fam_success uint32
  42392. Fam_failure uint32
  42393. }
  42394. type Tau_mask_t = struct {
  42395. Fam_success uint32
  42396. Fam_failure uint32
  42397. }
  42398. type Tauditinfo = struct {
  42399. Fai_auid Tau_id_t
  42400. Fai_mask Tau_mask_t
  42401. Fai_termid Tau_tid_t
  42402. Fai_asid Tau_asid_t
  42403. }
  42404. type Tauditinfo_t = struct {
  42405. Fai_auid Tau_id_t
  42406. Fai_mask Tau_mask_t
  42407. Fai_termid Tau_tid_t
  42408. Fai_asid Tau_asid_t
  42409. }
  42410. type Tauditinfo_addr = struct {
  42411. Fai_auid Tau_id_t
  42412. Fai_mask Tau_mask_t
  42413. Fai_termid Tau_tid_addr_t
  42414. Fai_asid Tau_asid_t
  42415. Fai_flags Tau_asflgs_t
  42416. }
  42417. type Tauditinfo_addr_t = struct {
  42418. Fai_auid Tau_id_t
  42419. Fai_mask Tau_mask_t
  42420. Fai_termid Tau_tid_addr_t
  42421. Fai_asid Tau_asid_t
  42422. Fai_flags Tau_asflgs_t
  42423. }
  42424. type Tauditpinfo = struct {
  42425. Fap_pid Tpid_t
  42426. Fap_auid Tau_id_t
  42427. Fap_mask Tau_mask_t
  42428. Fap_termid Tau_tid_t
  42429. Fap_asid Tau_asid_t
  42430. }
  42431. type Tauditpinfo_t = struct {
  42432. Fap_pid Tpid_t
  42433. Fap_auid Tau_id_t
  42434. Fap_mask Tau_mask_t
  42435. Fap_termid Tau_tid_t
  42436. Fap_asid Tau_asid_t
  42437. }
  42438. type Tauditpinfo_addr = struct {
  42439. Fap_pid Tpid_t
  42440. Fap_auid Tau_id_t
  42441. Fap_mask Tau_mask_t
  42442. Fap_termid Tau_tid_addr_t
  42443. Fap_asid Tau_asid_t
  42444. Fap_flags Tau_asflgs_t
  42445. }
  42446. type Tauditpinfo_addr_t = struct {
  42447. Fap_pid Tpid_t
  42448. Fap_auid Tau_id_t
  42449. Fap_mask Tau_mask_t
  42450. Fap_termid Tau_tid_addr_t
  42451. Fap_asid Tau_asid_t
  42452. Fap_flags Tau_asflgs_t
  42453. }
  42454. type Tau_session = struct {
  42455. Fas_aia_p uintptr
  42456. Fas_mask Tau_mask_t
  42457. }
  42458. type Tau_session_t = struct {
  42459. Fas_aia_p uintptr
  42460. Fas_mask Tau_mask_t
  42461. }
  42462. type Tau_expire_after = struct {
  42463. Fage Ttime_t
  42464. Fsize Tsize_t
  42465. Fop_type uint8
  42466. }
  42467. type Tau_expire_after_t = struct {
  42468. Fage Ttime_t
  42469. Fsize Tsize_t
  42470. Fop_type uint8
  42471. }
  42472. type Tau_qctrl = struct {
  42473. Faq_hiwater int32
  42474. Faq_lowater int32
  42475. Faq_bufsz int32
  42476. Faq_delay int32
  42477. Faq_minfree int32
  42478. }
  42479. type Tau_qctrl_t = struct {
  42480. Faq_hiwater int32
  42481. Faq_lowater int32
  42482. Faq_bufsz int32
  42483. Faq_delay int32
  42484. Faq_minfree int32
  42485. }
  42486. type Taudit_stat = struct {
  42487. Fas_version uint32
  42488. Fas_numevent uint32
  42489. Fas_generated int32
  42490. Fas_nonattrib int32
  42491. Fas_kernel int32
  42492. Fas_audit int32
  42493. Fas_auditctl int32
  42494. Fas_enqueue int32
  42495. Fas_written int32
  42496. Fas_wblocked int32
  42497. Fas_rblocked int32
  42498. Fas_dropped int32
  42499. Fas_totalsize int32
  42500. Fas_memused uint32
  42501. }
  42502. type Tau_stat_t = struct {
  42503. Fas_version uint32
  42504. Fas_numevent uint32
  42505. Fas_generated int32
  42506. Fas_nonattrib int32
  42507. Fas_kernel int32
  42508. Fas_audit int32
  42509. Fas_auditctl int32
  42510. Fas_enqueue int32
  42511. Fas_written int32
  42512. Fas_wblocked int32
  42513. Fas_rblocked int32
  42514. Fas_dropped int32
  42515. Fas_totalsize int32
  42516. Fas_memused uint32
  42517. }
  42518. type Taudit_fstat = struct {
  42519. Faf_filesz Tu_int64_t
  42520. Faf_currsz Tu_int64_t
  42521. }
  42522. type Tau_fstat_t = struct {
  42523. Faf_filesz Tu_int64_t
  42524. Faf_currsz Tu_int64_t
  42525. }
  42526. type Tau_evclass_map = struct {
  42527. Fec_number Tau_event_t
  42528. Fec_class Tau_class_t
  42529. }
  42530. type Tau_evclass_map_t = struct {
  42531. Fec_number Tau_event_t
  42532. Fec_class Tau_class_t
  42533. }
  42534. type _audit_session_flags = int32
  42535. const _AU_SESSION_FLAG_IS_INITIAL = 1
  42536. const _AU_SESSION_FLAG_HAS_GRAPHIC_ACCESS = 16
  42537. const _AU_SESSION_FLAG_HAS_TTY = 32
  42538. const _AU_SESSION_FLAG_IS_REMOTE = 4096
  42539. const _AU_SESSION_FLAG_HAS_CONSOLE_ACCESS = 8192
  42540. const _AU_SESSION_FLAG_HAS_AUTHENTICATED = 16384
  42541. type Tboolean_t = uint32
  42542. type Tnatural_t = uint32
  42543. type Tinteger_t = int32
  42544. type Tvm_offset_t = uint64
  42545. type Tvm_size_t = uint64
  42546. type Tmach_vm_address_t = uint64
  42547. type Tmach_vm_offset_t = uint64
  42548. type Tmach_vm_size_t = uint64
  42549. type Tvm_map_offset_t = uint64
  42550. type Tvm_map_address_t = uint64
  42551. type Tvm_map_size_t = uint64
  42552. type Tmach_port_context_t = uint64
  42553. type Tmach_port_name_t = uint32
  42554. type Tmach_port_name_array_t = uintptr
  42555. type Tmach_port_t = uint32
  42556. type Tmach_port_array_t = uintptr
  42557. type Tmach_port_right_t = uint32
  42558. type Tmach_port_type_t = uint32
  42559. type Tmach_port_type_array_t = uintptr
  42560. type Tmach_port_urefs_t = uint32
  42561. type Tmach_port_delta_t = int32
  42562. type Tmach_port_seqno_t = uint32
  42563. type Tmach_port_mscount_t = uint32
  42564. type Tmach_port_msgcount_t = uint32
  42565. type Tmach_port_rights_t = uint32
  42566. type Tmach_port_srights_t = uint32
  42567. type Tmach_port_status_t = struct {
  42568. Fmps_pset Tmach_port_rights_t
  42569. Fmps_seqno Tmach_port_seqno_t
  42570. Fmps_mscount Tmach_port_mscount_t
  42571. Fmps_qlimit Tmach_port_msgcount_t
  42572. Fmps_msgcount Tmach_port_msgcount_t
  42573. Fmps_sorights Tmach_port_rights_t
  42574. Fmps_srights Tboolean_t
  42575. Fmps_pdrequest Tboolean_t
  42576. Fmps_nsrequest Tboolean_t
  42577. Fmps_flags Tnatural_t
  42578. }
  42579. type Tmach_port_status = Tmach_port_status_t
  42580. type Tmach_port_limits_t = struct {
  42581. Fmpl_qlimit Tmach_port_msgcount_t
  42582. }
  42583. type Tmach_port_limits = Tmach_port_limits_t
  42584. type Tmach_port_info_ext_t = struct {
  42585. Fmpie_status Tmach_port_status_t
  42586. Fmpie_boost_cnt Tmach_port_msgcount_t
  42587. Freserved [6]Tuint32_t
  42588. }
  42589. type Tmach_port_info_ext = Tmach_port_info_ext_t
  42590. type Tmach_port_guard_info_t = struct {
  42591. Fmpgi_guard Tuint64_t
  42592. }
  42593. type Tmach_port_guard_info = Tmach_port_guard_info_t
  42594. type Tmach_port_info_t = uintptr
  42595. type Tmach_port_flavor_t = int32
  42596. type Tmach_port_qos_t = struct {
  42597. F__ccgo0 uint32
  42598. Flen1 Tnatural_t
  42599. }
  42600. type Tmach_port_qos = Tmach_port_qos_t
  42601. type Tmach_service_port_info_data_t = struct {
  42602. Fmspi_string_name [255]int8
  42603. Fmspi_domain_type Tuint8_t
  42604. }
  42605. type Tmach_service_port_info = Tmach_service_port_info_data_t
  42606. type Tmach_service_port_info_t = uintptr
  42607. type Tmach_port_options_t = struct {
  42608. Fflags Tuint32_t
  42609. Fmpl Tmach_port_limits_t
  42610. F__ccgo2_8 struct {
  42611. Fwork_interval_port [0]Tmach_port_name_t
  42612. Fservice_port_info [0]Tmach_service_port_info_t
  42613. Fservice_port_name [0]Tmach_port_name_t
  42614. Freserved [2]Tuint64_t
  42615. }
  42616. }
  42617. type Tmach_port_options = Tmach_port_options_t
  42618. type Tmach_port_options_ptr_t = uintptr
  42619. type _mach_port_guard_exception_codes = int32
  42620. const _kGUARD_EXC_DESTROY = 1
  42621. const _kGUARD_EXC_MOD_REFS = 2
  42622. const _kGUARD_EXC_INVALID_OPTIONS = 3
  42623. const _kGUARD_EXC_SET_CONTEXT = 4
  42624. const _kGUARD_EXC_THREAD_SET_STATE = 5
  42625. const _kGUARD_EXC_EXCEPTION_BEHAVIOR_ENFORCE = 6
  42626. const _kGUARD_EXC_UNGUARDED = 8
  42627. const _kGUARD_EXC_INCORRECT_GUARD = 16
  42628. const _kGUARD_EXC_IMMOVABLE = 32
  42629. const _kGUARD_EXC_STRICT_REPLY = 64
  42630. const _kGUARD_EXC_MSG_FILTERED = 128
  42631. const _kGUARD_EXC_INVALID_RIGHT = 256
  42632. const _kGUARD_EXC_INVALID_NAME = 512
  42633. const _kGUARD_EXC_INVALID_VALUE = 1024
  42634. const _kGUARD_EXC_INVALID_ARGUMENT = 2048
  42635. const _kGUARD_EXC_RIGHT_EXISTS = 4096
  42636. const _kGUARD_EXC_KERN_NO_SPACE = 8192
  42637. const _kGUARD_EXC_KERN_FAILURE = 16384
  42638. const _kGUARD_EXC_KERN_RESOURCE = 32768
  42639. const _kGUARD_EXC_SEND_INVALID_REPLY = 65536
  42640. const _kGUARD_EXC_SEND_INVALID_VOUCHER = 131072
  42641. const _kGUARD_EXC_SEND_INVALID_RIGHT = 262144
  42642. const _kGUARD_EXC_RCV_INVALID_NAME = 524288
  42643. const _kGUARD_EXC_RCV_GUARDED_DESC = 1048576
  42644. const _kGUARD_EXC_MOD_REFS_NON_FATAL = 2097152
  42645. const _kGUARD_EXC_IMMOVABLE_NON_FATAL = 4194304
  42646. const _kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 8388608
  42647. type Tkauth_cred_t = uintptr
  42648. type Tposix_cred_t = uintptr
  42649. type Txucred = struct {
  42650. Fcr_version Tu_int
  42651. Fcr_uid Tuid_t
  42652. Fcr_ngroups int16
  42653. Fcr_groups [16]Tgid_t
  42654. }
  42655. type Ttext_encoding_t = uint32
  42656. type Tfsobj_type_t = uint32
  42657. type Tfsobj_tag_t = uint32
  42658. type Tfsfile_type_t = uint32
  42659. type Tfsvolid_t = uint32
  42660. type Tfsobj_id_t = struct {
  42661. Ffid_objno Tu_int32_t
  42662. Ffid_generation Tu_int32_t
  42663. }
  42664. type Tfsobj_id = Tfsobj_id_t
  42665. type Tattrgroup_t = uint32
  42666. type Tattrlist = struct {
  42667. Fbitmapcount Tu_short
  42668. Freserved Tu_int16_t
  42669. Fcommonattr Tattrgroup_t
  42670. Fvolattr Tattrgroup_t
  42671. Fdirattr Tattrgroup_t
  42672. Ffileattr Tattrgroup_t
  42673. Fforkattr Tattrgroup_t
  42674. }
  42675. type Tattribute_set_t = struct {
  42676. Fcommonattr Tattrgroup_t
  42677. Fvolattr Tattrgroup_t
  42678. Fdirattr Tattrgroup_t
  42679. Ffileattr Tattrgroup_t
  42680. Fforkattr Tattrgroup_t
  42681. }
  42682. type Tattribute_set = Tattribute_set_t
  42683. type Tattrreference_t = struct {
  42684. Fattr_dataoffset Tint32_t
  42685. Fattr_length Tu_int32_t
  42686. }
  42687. type Tattrreference = Tattrreference_t
  42688. type Tdiskextent = struct {
  42689. Fstartblock Tu_int32_t
  42690. Fblockcount Tu_int32_t
  42691. }
  42692. type Textentrecord = [8]Tdiskextent
  42693. type Tvol_capabilities_set_t = [4]Tu_int32_t
  42694. type Tvol_capabilities_attr_t = struct {
  42695. Fcapabilities Tvol_capabilities_set_t
  42696. Fvalid Tvol_capabilities_set_t
  42697. }
  42698. type Tvol_capabilities_attr = Tvol_capabilities_attr_t
  42699. type Tvol_attributes_attr_t = struct {
  42700. Fvalidattr Tattribute_set_t
  42701. Fnativeattr Tattribute_set_t
  42702. }
  42703. type Tvol_attributes_attr = Tvol_attributes_attr_t
  42704. type Tos_function_t = uintptr
  42705. type Tos_block_t = uintptr
  42706. type Tfsid_t = struct {
  42707. Fval [2]Tint32_t
  42708. }
  42709. type Tfsid = Tfsid_t
  42710. type Tsecure_boot_cryptex_args_t = struct {
  42711. Fsbc_version Tu_int32_t
  42712. Fsbc_4cc Tu_int32_t
  42713. Fsbc_authentic_manifest_fd int32
  42714. Fsbc_user_manifest_fd int32
  42715. Fsbc_payload_fd int32
  42716. Fsbc_flags Tu_int64_t
  42717. }
  42718. type Tsecure_boot_cryptex_args = Tsecure_boot_cryptex_args_t
  42719. type Tgraftdmg_args_un = struct {
  42720. Fsbc_args [0]Tsecure_boot_cryptex_args_t
  42721. Fmax_size [512]Tu_int8_t
  42722. }
  42723. type Tgraft_args = Tgraftdmg_args_un
  42724. type Tmount_t = uintptr
  42725. type Tvnode_t = uintptr
  42726. type Tstatfs64 = struct {
  42727. Ff_bsize Tuint32_t
  42728. Ff_iosize Tint32_t
  42729. Ff_blocks Tuint64_t
  42730. Ff_bfree Tuint64_t
  42731. Ff_bavail Tuint64_t
  42732. Ff_files Tuint64_t
  42733. Ff_ffree Tuint64_t
  42734. Ff_fsid Tfsid_t
  42735. Ff_owner Tuid_t
  42736. Ff_type Tuint32_t
  42737. Ff_flags Tuint32_t
  42738. Ff_fssubtype Tuint32_t
  42739. Ff_fstypename [16]int8
  42740. Ff_mntonname [1024]int8
  42741. Ff_mntfromname [1024]int8
  42742. Ff_flags_ext Tuint32_t
  42743. Ff_reserved [7]Tuint32_t
  42744. }
  42745. type Tstatfs = struct {
  42746. Ff_bsize Tuint32_t
  42747. Ff_iosize Tint32_t
  42748. Ff_blocks Tuint64_t
  42749. Ff_bfree Tuint64_t
  42750. Ff_bavail Tuint64_t
  42751. Ff_files Tuint64_t
  42752. Ff_ffree Tuint64_t
  42753. Ff_fsid Tfsid_t
  42754. Ff_owner Tuid_t
  42755. Ff_type Tuint32_t
  42756. Ff_flags Tuint32_t
  42757. Ff_fssubtype Tuint32_t
  42758. Ff_fstypename [16]int8
  42759. Ff_mntonname [1024]int8
  42760. Ff_mntfromname [1024]int8
  42761. Ff_flags_ext Tuint32_t
  42762. Ff_reserved [7]Tuint32_t
  42763. }
  42764. type Tvfsstatfs = struct {
  42765. Ff_bsize Tuint32_t
  42766. Ff_iosize Tsize_t
  42767. Ff_blocks Tuint64_t
  42768. Ff_bfree Tuint64_t
  42769. Ff_bavail Tuint64_t
  42770. Ff_bused Tuint64_t
  42771. Ff_files Tuint64_t
  42772. Ff_ffree Tuint64_t
  42773. Ff_fsid Tfsid_t
  42774. Ff_owner Tuid_t
  42775. Ff_flags Tuint64_t
  42776. Ff_fstypename [16]int8
  42777. Ff_mntonname [1024]int8
  42778. Ff_mntfromname [1024]int8
  42779. Ff_fssubtype Tuint32_t
  42780. Ff_reserved [2]uintptr
  42781. }
  42782. type Tvfsconf = struct {
  42783. Fvfc_reserved1 Tuint32_t
  42784. Fvfc_name [15]int8
  42785. Fvfc_typenum int32
  42786. Fvfc_refcount int32
  42787. Fvfc_flags int32
  42788. Fvfc_reserved2 Tuint32_t
  42789. Fvfc_reserved3 Tuint32_t
  42790. }
  42791. type Tvfsidctl = struct {
  42792. Fvc_vers int32
  42793. Fvc_fsid Tfsid_t
  42794. Fvc_ptr uintptr
  42795. Fvc_len Tsize_t
  42796. Fvc_spare [12]Tu_int32_t
  42797. }
  42798. type Tvfsquery = struct {
  42799. Fvq_flags Tu_int32_t
  42800. Fvq_spare [31]Tu_int32_t
  42801. }
  42802. type Tvfs_server = struct {
  42803. Fvs_minutes Tint32_t
  42804. Fvs_server_name [768]Tu_int8_t
  42805. }
  42806. type Tnetfs_status = struct {
  42807. F__ccgo_align [0]uint64
  42808. Fns_status Tu_int32_t
  42809. Fns_mountopts [512]int8
  42810. Fns_waittime Tuint32_t
  42811. Fns_threadcount Tuint32_t
  42812. }
  42813. type Tfhandle = struct {
  42814. Ffh_len uint32
  42815. Ffh_data [128]uint8
  42816. }
  42817. type Tfhandle_t = struct {
  42818. Ffh_len uint32
  42819. Ffh_data [128]uint8
  42820. }
  42821. type Tgraftdmg_type_t = uint32
  42822. const _GRAFTDMG_CRYPTEX_BOOT = 1
  42823. const _GRAFTDMG_CRYPTEX_PREBOOT = 2
  42824. const _GRAFTDMG_CRYPTEX_DOWNLEVEL = 3
  42825. const _GRAFTDMG_CRYPTEX_PDI_NONCE = 6
  42826. const _GRAFTDMG_CRYPTEX_EFFECTIVE_AP = 7
  42827. const _GRAFTDMG_CRYPTEX_MAX = 7
  42828. type Tcryptex_auth_type_t = uint32
  42829. const _CRYPTEX1_AUTH_ENV_GENERIC = 4
  42830. const _CRYPTEX1_AUTH_ENV_GENERIC_SUPPLEMENTAL = 5
  42831. const _CRYPTEX_AUTH_PDI_NONCE = 6
  42832. const _CRYPTEX_AUTH_MAX = 7
  42833. /*
  42834. * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
  42835. *
  42836. * @APPLE_LICENSE_HEADER_START@
  42837. *
  42838. * This file contains Original Code and/or Modifications of Original Code
  42839. * as defined in and that are subject to the Apple Public Source License
  42840. * Version 2.0 (the 'License'). You may not use this file except in
  42841. * compliance with the License. Please obtain a copy of the License at
  42842. * http://www.opensource.apple.com/apsl/ and read it before using this
  42843. * file.
  42844. *
  42845. * The Original Code and all software distributed under the License are
  42846. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  42847. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  42848. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  42849. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  42850. * Please see the License for the specific language governing rights and
  42851. * limitations under the License.
  42852. *
  42853. * @APPLE_LICENSE_HEADER_END@
  42854. */
  42855. /*
  42856. * Copyright (c) 2000-2012 Apple, Inc. All rights reserved.
  42857. *
  42858. * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  42859. *
  42860. * This file contains Original Code and/or Modifications of Original Code
  42861. * as defined in and that are subject to the Apple Public Source License
  42862. * Version 2.0 (the 'License'). You may not use this file except in
  42863. * compliance with the License. The rights granted to you under the License
  42864. * may not be used to create, or enable the creation or redistribution of,
  42865. * unlawful or unlicensed copies of an Apple operating system, or to
  42866. * circumvent, violate, or enable the circumvention or violation of, any
  42867. * terms of an Apple operating system software license agreement.
  42868. *
  42869. * Please obtain a copy of the License at
  42870. * http://www.opensource.apple.com/apsl/ and read it before using this file.
  42871. *
  42872. * The Original Code and all software distributed under the License are
  42873. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  42874. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  42875. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  42876. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  42877. * Please see the License for the specific language governing rights and
  42878. * limitations under the License.
  42879. *
  42880. * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  42881. */
  42882. /* Copyright (c) 1995 NeXT Computer, Inc. All Rights Reserved */
  42883. /*
  42884. * Copyright (c) 1982, 1986, 1989, 1993
  42885. * The Regents of the University of California. All rights reserved.
  42886. * (c) UNIX System Laboratories, Inc.
  42887. * All or some portions of this file are derived from material licensed
  42888. * to the University of California by American Telephone and Telegraph
  42889. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  42890. * the permission of UNIX System Laboratories, Inc.
  42891. *
  42892. * Redistribution and use in source and binary forms, with or without
  42893. * modification, are permitted provided that the following conditions
  42894. * are met:
  42895. * 1. Redistributions of source code must retain the above copyright
  42896. * notice, this list of conditions and the following disclaimer.
  42897. * 2. Redistributions in binary form must reproduce the above copyright
  42898. * notice, this list of conditions and the following disclaimer in the
  42899. * documentation and/or other materials provided with the distribution.
  42900. * 3. All advertising materials mentioning features or use of this software
  42901. * must display the following acknowledgement:
  42902. * This product includes software developed by the University of
  42903. * California, Berkeley and its contributors.
  42904. * 4. Neither the name of the University nor the names of its contributors
  42905. * may be used to endorse or promote products derived from this software
  42906. * without specific prior written permission.
  42907. *
  42908. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  42909. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  42910. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  42911. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  42912. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  42913. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  42914. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  42915. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  42916. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  42917. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  42918. * SUCH DAMAGE.
  42919. *
  42920. * @(#)errno.h 8.5 (Berkeley) 1/21/94
  42921. */
  42922. func XFcStat(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  42923. return libc.Xstat(tls, file, statb)
  42924. }
  42925. /* Adler-32 checksum implementation */
  42926. type TAdler32 = struct {
  42927. Fa int32
  42928. Fb int32
  42929. }
  42930. func _Adler32Init(tls *libc.TLS, ctx uintptr) {
  42931. (*TAdler32)(unsafe.Pointer(ctx)).Fa = int32(1)
  42932. (*TAdler32)(unsafe.Pointer(ctx)).Fb = 0
  42933. }
  42934. func _Adler32Update(tls *libc.TLS, ctx uintptr, data uintptr, data_len int32) {
  42935. var v1 int32
  42936. var v2 uintptr
  42937. _, _ = v1, v2
  42938. for {
  42939. v1 = data_len
  42940. data_len--
  42941. if !(v1 != 0) {
  42942. break
  42943. }
  42944. v2 = data
  42945. data++
  42946. (*TAdler32)(unsafe.Pointer(ctx)).Fa = ((*TAdler32)(unsafe.Pointer(ctx)).Fa + int32(*(*int8)(unsafe.Pointer(v2)))) % int32(65521)
  42947. (*TAdler32)(unsafe.Pointer(ctx)).Fb = ((*TAdler32)(unsafe.Pointer(ctx)).Fb + (*TAdler32)(unsafe.Pointer(ctx)).Fa) % int32(65521)
  42948. }
  42949. }
  42950. func _Adler32Finish(tls *libc.TLS, ctx uintptr) (r int32) {
  42951. return (*TAdler32)(unsafe.Pointer(ctx)).Fa + (*TAdler32)(unsafe.Pointer(ctx)).Fb<<int32(16)
  42952. }
  42953. // C documentation
  42954. //
  42955. // /* dirent.d_type can be relied upon on FAT filesystem */
  42956. func _FcDirChecksumScandirFilter(tls *libc.TLS, entry uintptr) (r TFcBool) {
  42957. return libc.BoolInt32(int32((*Tdirent)(unsafe.Pointer(entry)).Fd_type) != int32(m_DT_DIR))
  42958. }
  42959. func _FcDirChecksumScandirSorter(tls *libc.TLS, lhs uintptr, rhs uintptr) (r int32) {
  42960. return libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(lhs))+21, *(*uintptr)(unsafe.Pointer(rhs))+21)
  42961. }
  42962. func _free_dirent(tls *libc.TLS, p uintptr) {
  42963. var x uintptr
  42964. _ = x
  42965. x = p
  42966. for {
  42967. if !(*(*uintptr)(unsafe.Pointer(x)) != libc.UintptrFromInt32(0)) {
  42968. break
  42969. }
  42970. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(x)))
  42971. goto _1
  42972. _1:
  42973. ;
  42974. x += 8
  42975. }
  42976. libc.Xfree(tls, p)
  42977. }
  42978. func XFcScandir(tls *libc.TLS, dirp uintptr, namelist uintptr, filter uintptr, compar uintptr) (r int32) {
  42979. var d, dent, dlist, dlp, p, v1 uintptr
  42980. var dentlen, lsize, n, v2 Tsize_t
  42981. _, _, _, _, _, _, _, _, _, _ = d, dent, dentlen, dlist, dlp, lsize, n, p, v1, v2
  42982. lsize = uint64(128)
  42983. n = uint64(0)
  42984. d = libc.Xopendir(tls, dirp)
  42985. if !(d != 0) {
  42986. return -int32(1)
  42987. }
  42988. dlist = libc.Xmalloc(tls, uint64(8)*lsize)
  42989. if !(dlist != 0) {
  42990. libc.Xclosedir(tls, d)
  42991. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  42992. return -int32(1)
  42993. }
  42994. *(*uintptr)(unsafe.Pointer(dlist)) = libc.UintptrFromInt32(0)
  42995. for {
  42996. v1 = libc.Xreaddir(tls, d)
  42997. dent = v1
  42998. if !(v1 != 0) {
  42999. break
  43000. }
  43001. if !(filter != 0) || (*(*func(*libc.TLS, uintptr) int32)(unsafe.Pointer(&struct{ uintptr }{filter})))(tls, dent) != 0 {
  43002. dentlen = uint64(Tintptr_t(dent+21)-int64(dent)) + libc.Xstrlen(tls, dent+21) + uint64(1)
  43003. dentlen = (dentlen + libc.Uint64FromInt32(m_ALIGNOF_VOID_P) - libc.Uint64FromInt32(1)) & uint64(^(libc.Int32FromInt32(m_ALIGNOF_VOID_P) - libc.Int32FromInt32(1)))
  43004. p = libc.Xmalloc(tls, dentlen)
  43005. if !(p != 0) {
  43006. _free_dirent(tls, dlist)
  43007. libc.Xclosedir(tls, d)
  43008. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  43009. return -int32(1)
  43010. }
  43011. libc.X__builtin___memcpy_chk(tls, p, dent, dentlen, uint64(libc.X__builtin_object_size(tls, p, 0)))
  43012. if n+uint64(1) >= lsize {
  43013. lsize += uint64(128)
  43014. dlp = libc.Xrealloc(tls, dlist, uint64(8)*lsize)
  43015. if !(dlp != 0) {
  43016. libc.Xfree(tls, p)
  43017. _free_dirent(tls, dlist)
  43018. libc.Xclosedir(tls, d)
  43019. *(*int32)(unsafe.Pointer(libc.X__error(tls))) = int32(m_ENOMEM)
  43020. return -int32(1)
  43021. }
  43022. dlist = dlp
  43023. }
  43024. v2 = n
  43025. n++
  43026. *(*uintptr)(unsafe.Pointer(dlist + uintptr(v2)*8)) = p
  43027. *(*uintptr)(unsafe.Pointer(dlist + uintptr(n)*8)) = libc.UintptrFromInt32(0)
  43028. }
  43029. }
  43030. libc.Xclosedir(tls, d)
  43031. libc.Xqsort(tls, dlist, n, uint64(8), compar)
  43032. *(*uintptr)(unsafe.Pointer(namelist)) = dlist
  43033. return int32(n)
  43034. }
  43035. func _FcDirChecksum1(tls *libc.TLS, dir uintptr, checksum uintptr) (r int32) {
  43036. bp := tls.Alloc(176)
  43037. defer tls.Free(176)
  43038. var dlen, len1 Tsize_t
  43039. var f uintptr
  43040. var n, ret, v1 int32
  43041. var _ /* ctx at bp+0 */ TAdler32
  43042. var _ /* dtype at bp+16 */ int32
  43043. var _ /* files at bp+8 */ uintptr
  43044. var _ /* statb at bp+24 */ Tstat
  43045. _, _, _, _, _, _ = dlen, f, len1, n, ret, v1
  43046. ret = 0
  43047. len1 = libc.Xstrlen(tls, dir)
  43048. _Adler32Init(tls, bp)
  43049. n = XFcScandir(tls, dir, bp+8, __ccgo_fp(_FcDirChecksumScandirFilter), __ccgo_fp(_FcDirChecksumScandirSorter))
  43050. if n == -int32(1) {
  43051. return -int32(1)
  43052. }
  43053. for {
  43054. v1 = n
  43055. n--
  43056. if !(v1 != 0) {
  43057. break
  43058. }
  43059. dlen = libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21)
  43060. *(*int32)(unsafe.Pointer(bp + 16)) = int32((*Tdirent)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))).Fd_type)
  43061. if *(*int32)(unsafe.Pointer(bp + 16)) == m_DT_UNKNOWN {
  43062. f = libc.Xmalloc(tls, len1+uint64(1)+dlen+uint64(1))
  43063. if !(f != 0) {
  43064. ret = -int32(1)
  43065. goto bail
  43066. }
  43067. libc.X__builtin___memcpy_chk(tls, f, dir, len1, uint64(libc.X__builtin_object_size(tls, f, 0)))
  43068. *(*int8)(unsafe.Pointer(f + uintptr(len1))) = int8('/')
  43069. libc.X__builtin___memcpy_chk(tls, f+uintptr(len1+uint64(1)), *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, dlen, uint64(libc.X__builtin_object_size(tls, f+uintptr(len1+uint64(1)), 0)))
  43070. *(*int8)(unsafe.Pointer(f + uintptr(len1+uint64(1)+dlen))) = 0
  43071. if libc.Xlstat(tls, f, bp+24) < 0 {
  43072. ret = -int32(1)
  43073. libc.Xfree(tls, f)
  43074. goto bail
  43075. }
  43076. if int32((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)&int32(m_S_IFMT5) == int32(m_S_IFDIR3) {
  43077. libc.Xfree(tls, f)
  43078. goto bail
  43079. }
  43080. libc.Xfree(tls, f)
  43081. *(*int32)(unsafe.Pointer(bp + 16)) = int32((*(*Tstat)(unsafe.Pointer(bp + 24))).Fst_mode)
  43082. }
  43083. _Adler32Update(tls, bp, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8))+21, int32(dlen+uint64(1)))
  43084. _Adler32Update(tls, bp, bp+16, int32(4))
  43085. goto bail
  43086. bail:
  43087. ;
  43088. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(bp + 8)) + uintptr(n)*8)))
  43089. }
  43090. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(bp + 8)))
  43091. if ret == -int32(1) {
  43092. return -int32(1)
  43093. }
  43094. *(*Ttime_t)(unsafe.Pointer(checksum)) = int64(_Adler32Finish(tls, bp))
  43095. return 0
  43096. }
  43097. func XFcStatChecksum(tls *libc.TLS, file uintptr, statb uintptr) (r int32) {
  43098. if XFcStat(tls, file, statb) == -int32(1) {
  43099. return -int32(1)
  43100. }
  43101. /* We have a workaround of the broken stat() in FcStat() for Win32.
  43102. * No need to do something further more.
  43103. */
  43104. if XFcIsFsMtimeBroken(tls, file) != 0 {
  43105. if _FcDirChecksum1(tls, file, statb+48) == -int32(1) {
  43106. return -int32(1)
  43107. }
  43108. }
  43109. return 0
  43110. }
  43111. func _FcFStatFs(tls *libc.TLS, fd int32, statb uintptr) (r int32) {
  43112. bp := tls.Alloc(2176)
  43113. defer tls.Free(2176)
  43114. var flag TFcBool
  43115. var p uintptr
  43116. var ret, v1 int32
  43117. var _ /* buf at bp+0 */ Tstatfs
  43118. _, _, _, _ = flag, p, ret, v1
  43119. p = libc.UintptrFromInt32(0)
  43120. ret = -int32(1)
  43121. flag = m_FcFalse
  43122. libc.X__builtin___memset_chk(tls, statb, 0, uint64(8), uint64(libc.X__builtin_object_size(tls, statb, 0)))
  43123. v1 = libc.Xfstatfs(tls, fd, bp)
  43124. ret = v1
  43125. if v1 == 0 {
  43126. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = libc.BoolInt32(!((*(*Tstatfs)(unsafe.Pointer(bp))).Ff_flags&libc.Uint32FromInt32(m_MNT_LOCAL) != 0))
  43127. flag = int32(m_FcTrue)
  43128. p = bp + 72
  43129. }
  43130. if p != 0 {
  43131. if !(flag != 0) && libc.Xstrcmp(tls, p, __ccgo_ts+6967) == 0 {
  43132. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_remote_fs = int32(m_FcTrue)
  43133. }
  43134. if libc.Xstrcmp(tls, p, __ccgo_ts+6971) == 0 || libc.Xstrcmp(tls, p, __ccgo_ts+6979) == 0 {
  43135. (*TFcStatFS)(unsafe.Pointer(statb)).Fis_mtime_broken = int32(m_FcTrue)
  43136. }
  43137. }
  43138. return ret
  43139. }
  43140. func XFcIsFsMmapSafe(tls *libc.TLS, fd int32) (r TFcBool) {
  43141. bp := tls.Alloc(16)
  43142. defer tls.Free(16)
  43143. var _ /* statb at bp+0 */ TFcStatFS
  43144. if _FcFStatFs(tls, fd, bp) < 0 {
  43145. return int32(m_FcTrue)
  43146. }
  43147. return libc.BoolInt32(!((*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_remote_fs != 0))
  43148. }
  43149. func XFcIsFsMtimeBroken(tls *libc.TLS, dir uintptr) (r TFcBool) {
  43150. bp := tls.Alloc(16)
  43151. defer tls.Free(16)
  43152. var fd, ret int32
  43153. var _ /* statb at bp+0 */ TFcStatFS
  43154. _, _ = fd, ret
  43155. fd = XFcOpen(tls, dir, m_O_RDONLY2, 0)
  43156. if fd != -int32(1) {
  43157. ret = _FcFStatFs(tls, fd, bp)
  43158. libc.Xclose(tls, fd)
  43159. if ret < 0 {
  43160. return m_FcFalse
  43161. }
  43162. return (*(*TFcStatFS)(unsafe.Pointer(bp))).Fis_mtime_broken
  43163. }
  43164. return m_FcFalse
  43165. }
  43166. const m_FC_MAX_CASE_FOLD_CHARS = 6
  43167. const m_FC_MAX_CASE_FOLD_EXPAND = 4
  43168. const m_FC_MAX_FOLD_CHAR = 125217
  43169. const m_FC_MIN_FOLD_CHAR = 65
  43170. const m_FC_NUM_CASE_FOLD = 302
  43171. const m_FC_NUM_CASE_FOLD_CHARS = 471
  43172. const m_S_IFDIR4 = 0040000
  43173. const m_S_IFMT6 = 0170000
  43174. /*
  43175. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  43176. *
  43177. * @APPLE_LICENSE_HEADER_START@
  43178. *
  43179. * This file contains Original Code and/or Modifications of Original Code
  43180. * as defined in and that are subject to the Apple Public Source License
  43181. * Version 2.0 (the 'License'). You may not use this file except in
  43182. * compliance with the License. Please obtain a copy of the License at
  43183. * http://www.opensource.apple.com/apsl/ and read it before using this
  43184. * file.
  43185. *
  43186. * The Original Code and all software distributed under the License are
  43187. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  43188. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  43189. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  43190. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  43191. * Please see the License for the specific language governing rights and
  43192. * limitations under the License.
  43193. *
  43194. * @APPLE_LICENSE_HEADER_END@
  43195. */
  43196. /*-
  43197. * Copyright (c) 1990, 1993
  43198. * The Regents of the University of California. All rights reserved.
  43199. *
  43200. * Redistribution and use in source and binary forms, with or without
  43201. * modification, are permitted provided that the following conditions
  43202. * are met:
  43203. * 1. Redistributions of source code must retain the above copyright
  43204. * notice, this list of conditions and the following disclaimer.
  43205. * 2. Redistributions in binary form must reproduce the above copyright
  43206. * notice, this list of conditions and the following disclaimer in the
  43207. * documentation and/or other materials provided with the distribution.
  43208. * 3. All advertising materials mentioning features or use of this software
  43209. * must display the following acknowledgement:
  43210. * This product includes software developed by the University of
  43211. * California, Berkeley and its contributors.
  43212. * 4. Neither the name of the University nor the names of its contributors
  43213. * may be used to endorse or promote products derived from this software
  43214. * without specific prior written permission.
  43215. *
  43216. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  43217. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  43218. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  43219. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  43220. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  43221. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  43222. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  43223. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  43224. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  43225. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  43226. * SUCH DAMAGE.
  43227. *
  43228. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  43229. */
  43230. /*
  43231. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  43232. *
  43233. * @APPLE_LICENSE_HEADER_START@
  43234. *
  43235. * This file contains Original Code and/or Modifications of Original Code
  43236. * as defined in and that are subject to the Apple Public Source License
  43237. * Version 2.0 (the 'License'). You may not use this file except in
  43238. * compliance with the License. Please obtain a copy of the License at
  43239. * http://www.opensource.apple.com/apsl/ and read it before using this
  43240. * file.
  43241. *
  43242. * The Original Code and all software distributed under the License are
  43243. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  43244. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  43245. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  43246. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  43247. * Please see the License for the specific language governing rights and
  43248. * limitations under the License.
  43249. *
  43250. * @APPLE_LICENSE_HEADER_END@
  43251. */
  43252. /*
  43253. * Copyright (c) 1989, 1993
  43254. * The Regents of the University of California. All rights reserved.
  43255. * (c) UNIX System Laboratories, Inc.
  43256. * All or some portions of this file are derived from material licensed
  43257. * to the University of California by American Telephone and Telegraph
  43258. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  43259. * the permission of UNIX System Laboratories, Inc.
  43260. *
  43261. * This code is derived from software contributed to Berkeley by
  43262. * Paul Borman at Krystal Technologies.
  43263. *
  43264. * Redistribution and use in source and binary forms, with or without
  43265. * modification, are permitted provided that the following conditions
  43266. * are met:
  43267. * 1. Redistributions of source code must retain the above copyright
  43268. * notice, this list of conditions and the following disclaimer.
  43269. * 2. Redistributions in binary form must reproduce the above copyright
  43270. * notice, this list of conditions and the following disclaimer in the
  43271. * documentation and/or other materials provided with the distribution.
  43272. * 3. All advertising materials mentioning features or use of this software
  43273. * must display the following acknowledgement:
  43274. * This product includes software developed by the University of
  43275. * California, Berkeley and its contributors.
  43276. * 4. Neither the name of the University nor the names of its contributors
  43277. * may be used to endorse or promote products derived from this software
  43278. * without specific prior written permission.
  43279. *
  43280. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  43281. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  43282. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  43283. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  43284. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  43285. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  43286. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  43287. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  43288. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  43289. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  43290. * SUCH DAMAGE.
  43291. *
  43292. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  43293. */
  43294. /*
  43295. * Copyright (c) 2000, 2007, 2010 Apple Inc. All rights reserved.
  43296. *
  43297. * @APPLE_LICENSE_HEADER_START@
  43298. *
  43299. * This file contains Original Code and/or Modifications of Original Code
  43300. * as defined in and that are subject to the Apple Public Source License
  43301. * Version 2.0 (the 'License'). You may not use this file except in
  43302. * compliance with the License. Please obtain a copy of the License at
  43303. * http://www.opensource.apple.com/apsl/ and read it before using this
  43304. * file.
  43305. *
  43306. * The Original Code and all software distributed under the License are
  43307. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  43308. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  43309. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  43310. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  43311. * Please see the License for the specific language governing rights and
  43312. * limitations under the License.
  43313. *
  43314. * @APPLE_LICENSE_HEADER_END@
  43315. */
  43316. /*-
  43317. * Copyright (c) 1990, 1993
  43318. * The Regents of the University of California. All rights reserved.
  43319. *
  43320. * Redistribution and use in source and binary forms, with or without
  43321. * modification, are permitted provided that the following conditions
  43322. * are met:
  43323. * 1. Redistributions of source code must retain the above copyright
  43324. * notice, this list of conditions and the following disclaimer.
  43325. * 2. Redistributions in binary form must reproduce the above copyright
  43326. * notice, this list of conditions and the following disclaimer in the
  43327. * documentation and/or other materials provided with the distribution.
  43328. * 3. All advertising materials mentioning features or use of this software
  43329. * must display the following acknowledgement:
  43330. * This product includes software developed by the University of
  43331. * California, Berkeley and its contributors.
  43332. * 4. Neither the name of the University nor the names of its contributors
  43333. * may be used to endorse or promote products derived from this software
  43334. * without specific prior written permission.
  43335. *
  43336. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  43337. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  43338. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  43339. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  43340. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  43341. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  43342. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  43343. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  43344. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  43345. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  43346. * SUCH DAMAGE.
  43347. *
  43348. * @(#)string.h 8.1 (Berkeley) 6/2/93
  43349. */
  43350. /* Objects MT-safe for readonly access. */
  43351. func XFcStrCopy(tls *libc.TLS, s uintptr) (r uintptr) {
  43352. return libc.Xstrdup(tls, s)
  43353. }
  43354. func _FcStrMakeTriple(tls *libc.TLS, s1 uintptr, s2 uintptr, s3 uintptr) (r uintptr) {
  43355. var l, s1l, s2l, s3l int32
  43356. var s uintptr
  43357. var v1, v2, v3 uint64
  43358. _, _, _, _, _, _, _, _ = l, s, s1l, s2l, s3l, v1, v2, v3
  43359. if s1 != 0 {
  43360. v1 = libc.Xstrlen(tls, s1)
  43361. } else {
  43362. v1 = uint64(0)
  43363. }
  43364. s1l = int32(v1)
  43365. if s2 != 0 {
  43366. v2 = libc.Xstrlen(tls, s2)
  43367. } else {
  43368. v2 = uint64(0)
  43369. }
  43370. s2l = int32(v2)
  43371. if s3 != 0 {
  43372. v3 = libc.Xstrlen(tls, s3)
  43373. } else {
  43374. v3 = uint64(0)
  43375. }
  43376. s3l = int32(v3)
  43377. l = s1l + int32(1) + s2l + int32(1) + s3l + int32(1)
  43378. s = libc.Xmalloc(tls, uint64(l))
  43379. if !(s != 0) {
  43380. return uintptr(0)
  43381. }
  43382. if s1 != 0 {
  43383. libc.X__builtin___memcpy_chk(tls, s, s1, uint64(s1l+int32(1)), uint64(libc.X__builtin_object_size(tls, s, 0)))
  43384. } else {
  43385. *(*TFcChar8)(unsafe.Pointer(s)) = uint8('\000')
  43386. }
  43387. if s2 != 0 {
  43388. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1), s2, uint64(s2l+int32(1)), uint64(libc.X__builtin_object_size(tls, s+uintptr(s1l)+uintptr(1), 0)))
  43389. } else {
  43390. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)))) = uint8('\000')
  43391. }
  43392. if s3 != 0 {
  43393. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), s3, uint64(s3l+int32(1)), uint64(libc.X__builtin_object_size(tls, s+uintptr(s1l)+uintptr(1)+uintptr(s2l)+uintptr(1), 0)))
  43394. } else {
  43395. *(*TFcChar8)(unsafe.Pointer(s + uintptr(s1l+int32(1)+s2l+int32(1)))) = uint8('\000')
  43396. }
  43397. return s
  43398. }
  43399. func XFcStrPlus(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  43400. var l, s1l, s2l int32
  43401. var s uintptr
  43402. _, _, _, _ = l, s, s1l, s2l
  43403. s1l = int32(libc.Xstrlen(tls, s1))
  43404. s2l = int32(libc.Xstrlen(tls, s2))
  43405. l = s1l + s2l + int32(1)
  43406. s = libc.Xmalloc(tls, uint64(l))
  43407. if !(s != 0) {
  43408. return uintptr(0)
  43409. }
  43410. libc.X__builtin___memcpy_chk(tls, s, s1, uint64(s1l), uint64(libc.X__builtin_object_size(tls, s, 0)))
  43411. libc.X__builtin___memcpy_chk(tls, s+uintptr(s1l), s2, uint64(s2l+int32(1)), uint64(libc.X__builtin_object_size(tls, s+uintptr(s1l), 0)))
  43412. return s
  43413. }
  43414. func XFcStrFree(tls *libc.TLS, s uintptr) {
  43415. libc.Xfree(tls, s)
  43416. }
  43417. var _fcCaseFold = [302]TFcCaseFold{
  43418. 0: {
  43419. Fupper: uint32(0x00000041),
  43420. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  43421. Foffset: int16(32),
  43422. },
  43423. 1: {
  43424. Fupper: uint32(0x000000b5),
  43425. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43426. Foffset: int16(775),
  43427. },
  43428. 2: {
  43429. Fupper: uint32(0x000000c0),
  43430. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  43431. Foffset: int16(32),
  43432. },
  43433. 3: {
  43434. Fupper: uint32(0x000000d8),
  43435. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  43436. Foffset: int16(32),
  43437. },
  43438. 4: {
  43439. Fupper: uint32(0x000000df),
  43440. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  43441. },
  43442. 5: {
  43443. Fupper: uint32(0x00000100),
  43444. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002f)&0x3fff<<2,
  43445. Foffset: int16(1),
  43446. },
  43447. 6: {
  43448. Fupper: uint32(0x00000130),
  43449. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43450. Foffset: int16(2),
  43451. },
  43452. 7: {
  43453. Fupper: uint32(0x00000132),
  43454. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  43455. Foffset: int16(1),
  43456. },
  43457. 8: {
  43458. Fupper: uint32(0x00000139),
  43459. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  43460. Foffset: int16(1),
  43461. },
  43462. 9: {
  43463. Fupper: uint32(0x00000149),
  43464. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43465. Foffset: int16(5),
  43466. },
  43467. 10: {
  43468. Fupper: uint32(0x0000014a),
  43469. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  43470. Foffset: int16(1),
  43471. },
  43472. 11: {
  43473. Fupper: uint32(0x00000178),
  43474. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43475. Foffset: int16(-int32(121)),
  43476. },
  43477. 12: {
  43478. Fupper: uint32(0x00000179),
  43479. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  43480. Foffset: int16(1),
  43481. },
  43482. 13: {
  43483. Fupper: uint32(0x0000017f),
  43484. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43485. Foffset: int16(-int32(268)),
  43486. },
  43487. 14: {
  43488. Fupper: uint32(0x00000181),
  43489. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43490. Foffset: int16(210),
  43491. },
  43492. 15: {
  43493. Fupper: uint32(0x00000182),
  43494. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43495. Foffset: int16(1),
  43496. },
  43497. 16: {
  43498. Fupper: uint32(0x00000186),
  43499. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43500. Foffset: int16(206),
  43501. },
  43502. 17: {
  43503. Fupper: uint32(0x00000187),
  43504. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43505. Foffset: int16(1),
  43506. },
  43507. 18: {
  43508. Fupper: uint32(0x00000189),
  43509. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  43510. Foffset: int16(205),
  43511. },
  43512. 19: {
  43513. Fupper: uint32(0x0000018b),
  43514. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43515. Foffset: int16(1),
  43516. },
  43517. 20: {
  43518. Fupper: uint32(0x0000018e),
  43519. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43520. Foffset: int16(79),
  43521. },
  43522. 21: {
  43523. Fupper: uint32(0x0000018f),
  43524. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43525. Foffset: int16(202),
  43526. },
  43527. 22: {
  43528. Fupper: uint32(0x00000190),
  43529. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43530. Foffset: int16(203),
  43531. },
  43532. 23: {
  43533. Fupper: uint32(0x00000191),
  43534. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43535. Foffset: int16(1),
  43536. },
  43537. 24: {
  43538. Fupper: uint32(0x00000193),
  43539. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43540. Foffset: int16(205),
  43541. },
  43542. 25: {
  43543. Fupper: uint32(0x00000194),
  43544. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43545. Foffset: int16(207),
  43546. },
  43547. 26: {
  43548. Fupper: uint32(0x00000196),
  43549. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43550. Foffset: int16(211),
  43551. },
  43552. 27: {
  43553. Fupper: uint32(0x00000197),
  43554. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43555. Foffset: int16(209),
  43556. },
  43557. 28: {
  43558. Fupper: uint32(0x00000198),
  43559. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43560. Foffset: int16(1),
  43561. },
  43562. 29: {
  43563. Fupper: uint32(0x0000019c),
  43564. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43565. Foffset: int16(211),
  43566. },
  43567. 30: {
  43568. Fupper: uint32(0x0000019d),
  43569. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43570. Foffset: int16(213),
  43571. },
  43572. 31: {
  43573. Fupper: uint32(0x0000019f),
  43574. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43575. Foffset: int16(214),
  43576. },
  43577. 32: {
  43578. Fupper: uint32(0x000001a0),
  43579. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  43580. Foffset: int16(1),
  43581. },
  43582. 33: {
  43583. Fupper: uint32(0x000001a6),
  43584. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43585. Foffset: int16(218),
  43586. },
  43587. 34: {
  43588. Fupper: uint32(0x000001a7),
  43589. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43590. Foffset: int16(1),
  43591. },
  43592. 35: {
  43593. Fupper: uint32(0x000001a9),
  43594. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43595. Foffset: int16(218),
  43596. },
  43597. 36: {
  43598. Fupper: uint32(0x000001ac),
  43599. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43600. Foffset: int16(1),
  43601. },
  43602. 37: {
  43603. Fupper: uint32(0x000001ae),
  43604. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43605. Foffset: int16(218),
  43606. },
  43607. 38: {
  43608. Fupper: uint32(0x000001af),
  43609. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43610. Foffset: int16(1),
  43611. },
  43612. 39: {
  43613. Fupper: uint32(0x000001b1),
  43614. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  43615. Foffset: int16(217),
  43616. },
  43617. 40: {
  43618. Fupper: uint32(0x000001b3),
  43619. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43620. Foffset: int16(1),
  43621. },
  43622. 41: {
  43623. Fupper: uint32(0x000001b7),
  43624. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43625. Foffset: int16(219),
  43626. },
  43627. 42: {
  43628. Fupper: uint32(0x000001b8),
  43629. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43630. Foffset: int16(1),
  43631. },
  43632. 43: {
  43633. Fupper: uint32(0x000001bc),
  43634. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43635. Foffset: int16(1),
  43636. },
  43637. 44: {
  43638. Fupper: uint32(0x000001c4),
  43639. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43640. Foffset: int16(2),
  43641. },
  43642. 45: {
  43643. Fupper: uint32(0x000001c5),
  43644. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43645. Foffset: int16(1),
  43646. },
  43647. 46: {
  43648. Fupper: uint32(0x000001c7),
  43649. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43650. Foffset: int16(2),
  43651. },
  43652. 47: {
  43653. Fupper: uint32(0x000001c8),
  43654. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43655. Foffset: int16(1),
  43656. },
  43657. 48: {
  43658. Fupper: uint32(0x000001ca),
  43659. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43660. Foffset: int16(2),
  43661. },
  43662. 49: {
  43663. Fupper: uint32(0x000001cb),
  43664. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  43665. Foffset: int16(1),
  43666. },
  43667. 50: {
  43668. Fupper: uint32(0x000001de),
  43669. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  43670. Foffset: int16(1),
  43671. },
  43672. 51: {
  43673. Fupper: uint32(0x000001f0),
  43674. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43675. Foffset: int16(8),
  43676. },
  43677. 52: {
  43678. Fupper: uint32(0x000001f1),
  43679. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43680. Foffset: int16(2),
  43681. },
  43682. 53: {
  43683. Fupper: uint32(0x000001f2),
  43684. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43685. Foffset: int16(1),
  43686. },
  43687. 54: {
  43688. Fupper: uint32(0x000001f6),
  43689. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43690. Foffset: int16(-int32(97)),
  43691. },
  43692. 55: {
  43693. Fupper: uint32(0x000001f7),
  43694. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43695. Foffset: int16(-int32(56)),
  43696. },
  43697. 56: {
  43698. Fupper: uint32(0x000001f8),
  43699. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0027)&0x3fff<<2,
  43700. Foffset: int16(1),
  43701. },
  43702. 57: {
  43703. Fupper: uint32(0x00000220),
  43704. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43705. Foffset: int16(-int32(130)),
  43706. },
  43707. 58: {
  43708. Fupper: uint32(0x00000222),
  43709. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  43710. Foffset: int16(1),
  43711. },
  43712. 59: {
  43713. Fupper: uint32(0x0000023a),
  43714. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43715. Foffset: int16(10795),
  43716. },
  43717. 60: {
  43718. Fupper: uint32(0x0000023b),
  43719. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43720. Foffset: int16(1),
  43721. },
  43722. 61: {
  43723. Fupper: uint32(0x0000023d),
  43724. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43725. Foffset: int16(-int32(163)),
  43726. },
  43727. 62: {
  43728. Fupper: uint32(0x0000023e),
  43729. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43730. Foffset: int16(10792),
  43731. },
  43732. 63: {
  43733. Fupper: uint32(0x00000241),
  43734. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43735. Foffset: int16(1),
  43736. },
  43737. 64: {
  43738. Fupper: uint32(0x00000243),
  43739. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43740. Foffset: int16(-int32(195)),
  43741. },
  43742. 65: {
  43743. Fupper: uint32(0x00000244),
  43744. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43745. Foffset: int16(69),
  43746. },
  43747. 66: {
  43748. Fupper: uint32(0x00000245),
  43749. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43750. Foffset: int16(71),
  43751. },
  43752. 67: {
  43753. Fupper: uint32(0x00000246),
  43754. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  43755. Foffset: int16(1),
  43756. },
  43757. 68: {
  43758. Fupper: uint32(0x00000345),
  43759. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43760. Foffset: int16(116),
  43761. },
  43762. 69: {
  43763. Fupper: uint32(0x00000370),
  43764. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43765. Foffset: int16(1),
  43766. },
  43767. 70: {
  43768. Fupper: uint32(0x00000376),
  43769. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43770. Foffset: int16(1),
  43771. },
  43772. 71: {
  43773. Fupper: uint32(0x0000037f),
  43774. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43775. Foffset: int16(116),
  43776. },
  43777. 72: {
  43778. Fupper: uint32(0x00000386),
  43779. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43780. Foffset: int16(38),
  43781. },
  43782. 73: {
  43783. Fupper: uint32(0x00000388),
  43784. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43785. Foffset: int16(37),
  43786. },
  43787. 74: {
  43788. Fupper: uint32(0x0000038c),
  43789. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43790. Foffset: int16(64),
  43791. },
  43792. 75: {
  43793. Fupper: uint32(0x0000038e),
  43794. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  43795. Foffset: int16(63),
  43796. },
  43797. 76: {
  43798. Fupper: uint32(0x00000390),
  43799. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  43800. Foffset: int16(11),
  43801. },
  43802. 77: {
  43803. Fupper: uint32(0x00000391),
  43804. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0011)&0x3fff<<2,
  43805. Foffset: int16(32),
  43806. },
  43807. 78: {
  43808. Fupper: uint32(0x000003a3),
  43809. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  43810. Foffset: int16(32),
  43811. },
  43812. 79: {
  43813. Fupper: uint32(0x000003b0),
  43814. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  43815. Foffset: int16(17),
  43816. },
  43817. 80: {
  43818. Fupper: uint32(0x000003c2),
  43819. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43820. Foffset: int16(1),
  43821. },
  43822. 81: {
  43823. Fupper: uint32(0x000003cf),
  43824. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43825. Foffset: int16(8),
  43826. },
  43827. 82: {
  43828. Fupper: uint32(0x000003d0),
  43829. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43830. Foffset: int16(-int32(30)),
  43831. },
  43832. 83: {
  43833. Fupper: uint32(0x000003d1),
  43834. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43835. Foffset: int16(-int32(25)),
  43836. },
  43837. 84: {
  43838. Fupper: uint32(0x000003d5),
  43839. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43840. Foffset: int16(-int32(15)),
  43841. },
  43842. 85: {
  43843. Fupper: uint32(0x000003d6),
  43844. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43845. Foffset: int16(-int32(22)),
  43846. },
  43847. 86: {
  43848. Fupper: uint32(0x000003d8),
  43849. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0017)&0x3fff<<2,
  43850. Foffset: int16(1),
  43851. },
  43852. 87: {
  43853. Fupper: uint32(0x000003f0),
  43854. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43855. Foffset: int16(-int32(54)),
  43856. },
  43857. 88: {
  43858. Fupper: uint32(0x000003f1),
  43859. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43860. Foffset: int16(-int32(48)),
  43861. },
  43862. 89: {
  43863. Fupper: uint32(0x000003f4),
  43864. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43865. Foffset: int16(-int32(60)),
  43866. },
  43867. 90: {
  43868. Fupper: uint32(0x000003f5),
  43869. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43870. Foffset: int16(-int32(64)),
  43871. },
  43872. 91: {
  43873. Fupper: uint32(0x000003f7),
  43874. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43875. Foffset: int16(1),
  43876. },
  43877. 92: {
  43878. Fupper: uint32(0x000003f9),
  43879. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43880. Foffset: int16(-int32(7)),
  43881. },
  43882. 93: {
  43883. Fupper: uint32(0x000003fa),
  43884. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43885. Foffset: int16(1),
  43886. },
  43887. 94: {
  43888. Fupper: uint32(0x000003fd),
  43889. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  43890. Foffset: int16(-int32(130)),
  43891. },
  43892. 95: {
  43893. Fupper: uint32(0x00000400),
  43894. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  43895. Foffset: int16(80),
  43896. },
  43897. 96: {
  43898. Fupper: uint32(0x00000410),
  43899. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  43900. Foffset: int16(32),
  43901. },
  43902. 97: {
  43903. Fupper: uint32(0x00000460),
  43904. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0021)&0x3fff<<2,
  43905. Foffset: int16(1),
  43906. },
  43907. 98: {
  43908. Fupper: uint32(0x0000048a),
  43909. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0035)&0x3fff<<2,
  43910. Foffset: int16(1),
  43911. },
  43912. 99: {
  43913. Fupper: uint32(0x000004c0),
  43914. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43915. Foffset: int16(15),
  43916. },
  43917. 100: {
  43918. Fupper: uint32(0x000004c1),
  43919. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  43920. Foffset: int16(1),
  43921. },
  43922. 101: {
  43923. Fupper: uint32(0x000004d0),
  43924. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  43925. Foffset: int16(1),
  43926. },
  43927. 102: {
  43928. Fupper: uint32(0x00000531),
  43929. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  43930. Foffset: int16(48),
  43931. },
  43932. 103: {
  43933. Fupper: uint32(0x00000587),
  43934. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  43935. Foffset: int16(23),
  43936. },
  43937. 104: {
  43938. Fupper: uint32(0x000010a0),
  43939. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0026)&0x3fff<<2,
  43940. Foffset: int16(7264),
  43941. },
  43942. 105: {
  43943. Fupper: uint32(0x000010c7),
  43944. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43945. Foffset: int16(7264),
  43946. },
  43947. 106: {
  43948. Fupper: uint32(0x000010cd),
  43949. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43950. Foffset: int16(7264),
  43951. },
  43952. 107: {
  43953. Fupper: uint32(0x000013f8),
  43954. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  43955. Foffset: int16(-int32(8)),
  43956. },
  43957. 108: {
  43958. Fupper: uint32(0x00001c80),
  43959. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43960. Foffset: int16(-int32(6222)),
  43961. },
  43962. 109: {
  43963. Fupper: uint32(0x00001c81),
  43964. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43965. Foffset: int16(-int32(6221)),
  43966. },
  43967. 110: {
  43968. Fupper: uint32(0x00001c82),
  43969. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43970. Foffset: int16(-int32(6212)),
  43971. },
  43972. 111: {
  43973. Fupper: uint32(0x00001c83),
  43974. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  43975. Foffset: int16(-int32(6210)),
  43976. },
  43977. 112: {
  43978. Fupper: uint32(0x00001c85),
  43979. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43980. Foffset: int16(-int32(6211)),
  43981. },
  43982. 113: {
  43983. Fupper: uint32(0x00001c86),
  43984. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43985. Foffset: int16(-int32(6204)),
  43986. },
  43987. 114: {
  43988. Fupper: uint32(0x00001c87),
  43989. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43990. Foffset: int16(-int32(6180)),
  43991. },
  43992. 115: {
  43993. Fupper: uint32(0x00001c88),
  43994. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  43995. Foffset: int16(-int32(30269)),
  43996. },
  43997. 116: {
  43998. Fupper: uint32(0x00001c90),
  43999. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x002b)&0x3fff<<2,
  44000. Foffset: int16(-int32(3008)),
  44001. },
  44002. 117: {
  44003. Fupper: uint32(0x00001cbd),
  44004. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44005. Foffset: int16(-int32(3008)),
  44006. },
  44007. 118: {
  44008. Fupper: uint32(0x00001e00),
  44009. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0095)&0x3fff<<2,
  44010. Foffset: int16(1),
  44011. },
  44012. 119: {
  44013. Fupper: uint32(0x00001e96),
  44014. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44015. Foffset: int16(27),
  44016. },
  44017. 120: {
  44018. Fupper: uint32(0x00001e97),
  44019. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44020. Foffset: int16(30),
  44021. },
  44022. 121: {
  44023. Fupper: uint32(0x00001e98),
  44024. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44025. Foffset: int16(33),
  44026. },
  44027. 122: {
  44028. Fupper: uint32(0x00001e99),
  44029. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44030. Foffset: int16(36),
  44031. },
  44032. 123: {
  44033. Fupper: uint32(0x00001e9a),
  44034. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44035. Foffset: int16(39),
  44036. },
  44037. 124: {
  44038. Fupper: uint32(0x00001e9b),
  44039. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44040. Foffset: int16(-int32(58)),
  44041. },
  44042. 125: {
  44043. Fupper: uint32(0x00001e9e),
  44044. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44045. Foffset: int16(42),
  44046. },
  44047. 126: {
  44048. Fupper: uint32(0x00001ea0),
  44049. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x005f)&0x3fff<<2,
  44050. Foffset: int16(1),
  44051. },
  44052. 127: {
  44053. Fupper: uint32(0x00001f08),
  44054. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  44055. Foffset: int16(-int32(8)),
  44056. },
  44057. 128: {
  44058. Fupper: uint32(0x00001f18),
  44059. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44060. Foffset: int16(-int32(8)),
  44061. },
  44062. 129: {
  44063. Fupper: uint32(0x00001f28),
  44064. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  44065. Foffset: int16(-int32(8)),
  44066. },
  44067. 130: {
  44068. Fupper: uint32(0x00001f38),
  44069. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  44070. Foffset: int16(-int32(8)),
  44071. },
  44072. 131: {
  44073. Fupper: uint32(0x00001f48),
  44074. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44075. Foffset: int16(-int32(8)),
  44076. },
  44077. 132: {
  44078. Fupper: uint32(0x00001f50),
  44079. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44080. Foffset: int16(44),
  44081. },
  44082. 133: {
  44083. Fupper: uint32(0x00001f52),
  44084. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44085. Foffset: int16(48),
  44086. },
  44087. 134: {
  44088. Fupper: uint32(0x00001f54),
  44089. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44090. Foffset: int16(54),
  44091. },
  44092. 135: {
  44093. Fupper: uint32(0x00001f56),
  44094. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44095. Foffset: int16(60),
  44096. },
  44097. 136: {
  44098. Fupper: uint32(0x00001f59),
  44099. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44100. Foffset: int16(-int32(8)),
  44101. },
  44102. 137: {
  44103. Fupper: uint32(0x00001f5b),
  44104. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44105. Foffset: int16(-int32(8)),
  44106. },
  44107. 138: {
  44108. Fupper: uint32(0x00001f5d),
  44109. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44110. Foffset: int16(-int32(8)),
  44111. },
  44112. 139: {
  44113. Fupper: uint32(0x00001f5f),
  44114. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44115. Foffset: int16(-int32(8)),
  44116. },
  44117. 140: {
  44118. Fupper: uint32(0x00001f68),
  44119. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0008)&0x3fff<<2,
  44120. Foffset: int16(-int32(8)),
  44121. },
  44122. 141: {
  44123. Fupper: uint32(0x00001f80),
  44124. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44125. Foffset: int16(66),
  44126. },
  44127. 142: {
  44128. Fupper: uint32(0x00001f81),
  44129. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44130. Foffset: int16(71),
  44131. },
  44132. 143: {
  44133. Fupper: uint32(0x00001f82),
  44134. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44135. Foffset: int16(76),
  44136. },
  44137. 144: {
  44138. Fupper: uint32(0x00001f83),
  44139. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44140. Foffset: int16(81),
  44141. },
  44142. 145: {
  44143. Fupper: uint32(0x00001f84),
  44144. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44145. Foffset: int16(86),
  44146. },
  44147. 146: {
  44148. Fupper: uint32(0x00001f85),
  44149. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44150. Foffset: int16(91),
  44151. },
  44152. 147: {
  44153. Fupper: uint32(0x00001f86),
  44154. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44155. Foffset: int16(96),
  44156. },
  44157. 148: {
  44158. Fupper: uint32(0x00001f87),
  44159. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44160. Foffset: int16(101),
  44161. },
  44162. 149: {
  44163. Fupper: uint32(0x00001f88),
  44164. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44165. Foffset: int16(106),
  44166. },
  44167. 150: {
  44168. Fupper: uint32(0x00001f89),
  44169. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44170. Foffset: int16(111),
  44171. },
  44172. 151: {
  44173. Fupper: uint32(0x00001f8a),
  44174. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44175. Foffset: int16(116),
  44176. },
  44177. 152: {
  44178. Fupper: uint32(0x00001f8b),
  44179. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44180. Foffset: int16(121),
  44181. },
  44182. 153: {
  44183. Fupper: uint32(0x00001f8c),
  44184. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44185. Foffset: int16(126),
  44186. },
  44187. 154: {
  44188. Fupper: uint32(0x00001f8d),
  44189. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44190. Foffset: int16(131),
  44191. },
  44192. 155: {
  44193. Fupper: uint32(0x00001f8e),
  44194. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44195. Foffset: int16(136),
  44196. },
  44197. 156: {
  44198. Fupper: uint32(0x00001f8f),
  44199. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44200. Foffset: int16(141),
  44201. },
  44202. 157: {
  44203. Fupper: uint32(0x00001f90),
  44204. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44205. Foffset: int16(146),
  44206. },
  44207. 158: {
  44208. Fupper: uint32(0x00001f91),
  44209. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44210. Foffset: int16(151),
  44211. },
  44212. 159: {
  44213. Fupper: uint32(0x00001f92),
  44214. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44215. Foffset: int16(156),
  44216. },
  44217. 160: {
  44218. Fupper: uint32(0x00001f93),
  44219. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44220. Foffset: int16(161),
  44221. },
  44222. 161: {
  44223. Fupper: uint32(0x00001f94),
  44224. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44225. Foffset: int16(166),
  44226. },
  44227. 162: {
  44228. Fupper: uint32(0x00001f95),
  44229. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44230. Foffset: int16(171),
  44231. },
  44232. 163: {
  44233. Fupper: uint32(0x00001f96),
  44234. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44235. Foffset: int16(176),
  44236. },
  44237. 164: {
  44238. Fupper: uint32(0x00001f97),
  44239. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44240. Foffset: int16(181),
  44241. },
  44242. 165: {
  44243. Fupper: uint32(0x00001f98),
  44244. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44245. Foffset: int16(186),
  44246. },
  44247. 166: {
  44248. Fupper: uint32(0x00001f99),
  44249. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44250. Foffset: int16(191),
  44251. },
  44252. 167: {
  44253. Fupper: uint32(0x00001f9a),
  44254. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44255. Foffset: int16(196),
  44256. },
  44257. 168: {
  44258. Fupper: uint32(0x00001f9b),
  44259. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44260. Foffset: int16(201),
  44261. },
  44262. 169: {
  44263. Fupper: uint32(0x00001f9c),
  44264. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44265. Foffset: int16(206),
  44266. },
  44267. 170: {
  44268. Fupper: uint32(0x00001f9d),
  44269. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44270. Foffset: int16(211),
  44271. },
  44272. 171: {
  44273. Fupper: uint32(0x00001f9e),
  44274. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44275. Foffset: int16(216),
  44276. },
  44277. 172: {
  44278. Fupper: uint32(0x00001f9f),
  44279. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44280. Foffset: int16(221),
  44281. },
  44282. 173: {
  44283. Fupper: uint32(0x00001fa0),
  44284. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44285. Foffset: int16(226),
  44286. },
  44287. 174: {
  44288. Fupper: uint32(0x00001fa1),
  44289. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44290. Foffset: int16(231),
  44291. },
  44292. 175: {
  44293. Fupper: uint32(0x00001fa2),
  44294. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44295. Foffset: int16(236),
  44296. },
  44297. 176: {
  44298. Fupper: uint32(0x00001fa3),
  44299. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44300. Foffset: int16(241),
  44301. },
  44302. 177: {
  44303. Fupper: uint32(0x00001fa4),
  44304. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44305. Foffset: int16(246),
  44306. },
  44307. 178: {
  44308. Fupper: uint32(0x00001fa5),
  44309. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44310. Foffset: int16(251),
  44311. },
  44312. 179: {
  44313. Fupper: uint32(0x00001fa6),
  44314. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44315. Foffset: int16(256),
  44316. },
  44317. 180: {
  44318. Fupper: uint32(0x00001fa7),
  44319. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44320. Foffset: int16(261),
  44321. },
  44322. 181: {
  44323. Fupper: uint32(0x00001fa8),
  44324. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44325. Foffset: int16(266),
  44326. },
  44327. 182: {
  44328. Fupper: uint32(0x00001fa9),
  44329. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44330. Foffset: int16(271),
  44331. },
  44332. 183: {
  44333. Fupper: uint32(0x00001faa),
  44334. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44335. Foffset: int16(276),
  44336. },
  44337. 184: {
  44338. Fupper: uint32(0x00001fab),
  44339. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44340. Foffset: int16(281),
  44341. },
  44342. 185: {
  44343. Fupper: uint32(0x00001fac),
  44344. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44345. Foffset: int16(286),
  44346. },
  44347. 186: {
  44348. Fupper: uint32(0x00001fad),
  44349. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44350. Foffset: int16(291),
  44351. },
  44352. 187: {
  44353. Fupper: uint32(0x00001fae),
  44354. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44355. Foffset: int16(296),
  44356. },
  44357. 188: {
  44358. Fupper: uint32(0x00001faf),
  44359. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44360. Foffset: int16(301),
  44361. },
  44362. 189: {
  44363. Fupper: uint32(0x00001fb2),
  44364. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44365. Foffset: int16(306),
  44366. },
  44367. 190: {
  44368. Fupper: uint32(0x00001fb3),
  44369. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44370. Foffset: int16(311),
  44371. },
  44372. 191: {
  44373. Fupper: uint32(0x00001fb4),
  44374. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44375. Foffset: int16(315),
  44376. },
  44377. 192: {
  44378. Fupper: uint32(0x00001fb6),
  44379. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44380. Foffset: int16(319),
  44381. },
  44382. 193: {
  44383. Fupper: uint32(0x00001fb7),
  44384. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44385. Foffset: int16(323),
  44386. },
  44387. 194: {
  44388. Fupper: uint32(0x00001fb8),
  44389. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44390. Foffset: int16(-int32(8)),
  44391. },
  44392. 195: {
  44393. Fupper: uint32(0x00001fba),
  44394. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44395. Foffset: int16(-int32(74)),
  44396. },
  44397. 196: {
  44398. Fupper: uint32(0x00001fbc),
  44399. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44400. Foffset: int16(329),
  44401. },
  44402. 197: {
  44403. Fupper: uint32(0x00001fbe),
  44404. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44405. Foffset: int16(-int32(7173)),
  44406. },
  44407. 198: {
  44408. Fupper: uint32(0x00001fc2),
  44409. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44410. Foffset: int16(333),
  44411. },
  44412. 199: {
  44413. Fupper: uint32(0x00001fc3),
  44414. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44415. Foffset: int16(338),
  44416. },
  44417. 200: {
  44418. Fupper: uint32(0x00001fc4),
  44419. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44420. Foffset: int16(342),
  44421. },
  44422. 201: {
  44423. Fupper: uint32(0x00001fc6),
  44424. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44425. Foffset: int16(346),
  44426. },
  44427. 202: {
  44428. Fupper: uint32(0x00001fc7),
  44429. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44430. Foffset: int16(350),
  44431. },
  44432. 203: {
  44433. Fupper: uint32(0x00001fc8),
  44434. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44435. Foffset: int16(-int32(86)),
  44436. },
  44437. 204: {
  44438. Fupper: uint32(0x00001fcc),
  44439. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44440. Foffset: int16(356),
  44441. },
  44442. 205: {
  44443. Fupper: uint32(0x00001fd2),
  44444. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44445. Foffset: int16(360),
  44446. },
  44447. 206: {
  44448. Fupper: uint32(0x00001fd3),
  44449. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44450. Foffset: int16(366),
  44451. },
  44452. 207: {
  44453. Fupper: uint32(0x00001fd6),
  44454. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44455. Foffset: int16(372),
  44456. },
  44457. 208: {
  44458. Fupper: uint32(0x00001fd7),
  44459. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44460. Foffset: int16(376),
  44461. },
  44462. 209: {
  44463. Fupper: uint32(0x00001fd8),
  44464. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44465. Foffset: int16(-int32(8)),
  44466. },
  44467. 210: {
  44468. Fupper: uint32(0x00001fda),
  44469. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44470. Foffset: int16(-int32(100)),
  44471. },
  44472. 211: {
  44473. Fupper: uint32(0x00001fe2),
  44474. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44475. Foffset: int16(382),
  44476. },
  44477. 212: {
  44478. Fupper: uint32(0x00001fe3),
  44479. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44480. Foffset: int16(388),
  44481. },
  44482. 213: {
  44483. Fupper: uint32(0x00001fe4),
  44484. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44485. Foffset: int16(394),
  44486. },
  44487. 214: {
  44488. Fupper: uint32(0x00001fe6),
  44489. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44490. Foffset: int16(398),
  44491. },
  44492. 215: {
  44493. Fupper: uint32(0x00001fe7),
  44494. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44495. Foffset: int16(402),
  44496. },
  44497. 216: {
  44498. Fupper: uint32(0x00001fe8),
  44499. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44500. Foffset: int16(-int32(8)),
  44501. },
  44502. 217: {
  44503. Fupper: uint32(0x00001fea),
  44504. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44505. Foffset: int16(-int32(112)),
  44506. },
  44507. 218: {
  44508. Fupper: uint32(0x00001fec),
  44509. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44510. Foffset: int16(-int32(7)),
  44511. },
  44512. 219: {
  44513. Fupper: uint32(0x00001ff2),
  44514. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44515. Foffset: int16(408),
  44516. },
  44517. 220: {
  44518. Fupper: uint32(0x00001ff3),
  44519. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44520. Foffset: int16(413),
  44521. },
  44522. 221: {
  44523. Fupper: uint32(0x00001ff4),
  44524. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44525. Foffset: int16(417),
  44526. },
  44527. 222: {
  44528. Fupper: uint32(0x00001ff6),
  44529. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44530. Foffset: int16(421),
  44531. },
  44532. 223: {
  44533. Fupper: uint32(0x00001ff7),
  44534. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0006)&0x3fff<<2,
  44535. Foffset: int16(425),
  44536. },
  44537. 224: {
  44538. Fupper: uint32(0x00001ff8),
  44539. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44540. Foffset: int16(-int32(128)),
  44541. },
  44542. 225: {
  44543. Fupper: uint32(0x00001ffa),
  44544. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44545. Foffset: int16(-int32(126)),
  44546. },
  44547. 226: {
  44548. Fupper: uint32(0x00001ffc),
  44549. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44550. Foffset: int16(431),
  44551. },
  44552. 227: {
  44553. Fupper: uint32(0x00002126),
  44554. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44555. Foffset: int16(-int32(7517)),
  44556. },
  44557. 228: {
  44558. Fupper: uint32(0x0000212a),
  44559. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44560. Foffset: int16(-int32(8383)),
  44561. },
  44562. 229: {
  44563. Fupper: uint32(0x0000212b),
  44564. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44565. Foffset: int16(-int32(8262)),
  44566. },
  44567. 230: {
  44568. Fupper: uint32(0x00002132),
  44569. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44570. Foffset: int16(28),
  44571. },
  44572. 231: {
  44573. Fupper: uint32(0x00002160),
  44574. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0010)&0x3fff<<2,
  44575. Foffset: int16(16),
  44576. },
  44577. 232: {
  44578. Fupper: uint32(0x00002183),
  44579. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44580. Foffset: int16(1),
  44581. },
  44582. 233: {
  44583. Fupper: uint32(0x000024b6),
  44584. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  44585. Foffset: int16(26),
  44586. },
  44587. 234: {
  44588. Fupper: uint32(0x00002c00),
  44589. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0030)&0x3fff<<2,
  44590. Foffset: int16(48),
  44591. },
  44592. 235: {
  44593. Fupper: uint32(0x00002c60),
  44594. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44595. Foffset: int16(1),
  44596. },
  44597. 236: {
  44598. Fupper: uint32(0x00002c62),
  44599. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44600. Foffset: int16(-int32(10743)),
  44601. },
  44602. 237: {
  44603. Fupper: uint32(0x00002c63),
  44604. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44605. Foffset: int16(-int32(3814)),
  44606. },
  44607. 238: {
  44608. Fupper: uint32(0x00002c64),
  44609. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44610. Foffset: int16(-int32(10727)),
  44611. },
  44612. 239: {
  44613. Fupper: uint32(0x00002c67),
  44614. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0005)&0x3fff<<2,
  44615. Foffset: int16(1),
  44616. },
  44617. 240: {
  44618. Fupper: uint32(0x00002c6d),
  44619. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44620. Foffset: int16(-int32(10780)),
  44621. },
  44622. 241: {
  44623. Fupper: uint32(0x00002c6e),
  44624. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44625. Foffset: int16(-int32(10749)),
  44626. },
  44627. 242: {
  44628. Fupper: uint32(0x00002c6f),
  44629. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44630. Foffset: int16(-int32(10783)),
  44631. },
  44632. 243: {
  44633. Fupper: uint32(0x00002c70),
  44634. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44635. Foffset: int16(-int32(10782)),
  44636. },
  44637. 244: {
  44638. Fupper: uint32(0x00002c72),
  44639. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44640. Foffset: int16(1),
  44641. },
  44642. 245: {
  44643. Fupper: uint32(0x00002c75),
  44644. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44645. Foffset: int16(1),
  44646. },
  44647. 246: {
  44648. Fupper: uint32(0x00002c7e),
  44649. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44650. Foffset: int16(-int32(10815)),
  44651. },
  44652. 247: {
  44653. Fupper: uint32(0x00002c80),
  44654. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0063)&0x3fff<<2,
  44655. Foffset: int16(1),
  44656. },
  44657. 248: {
  44658. Fupper: uint32(0x00002ceb),
  44659. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44660. Foffset: int16(1),
  44661. },
  44662. 249: {
  44663. Fupper: uint32(0x00002cf2),
  44664. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44665. Foffset: int16(1),
  44666. },
  44667. 250: {
  44668. Fupper: uint32(0x0000a640),
  44669. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x002d)&0x3fff<<2,
  44670. Foffset: int16(1),
  44671. },
  44672. 251: {
  44673. Fupper: uint32(0x0000a680),
  44674. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x001b)&0x3fff<<2,
  44675. Foffset: int16(1),
  44676. },
  44677. 252: {
  44678. Fupper: uint32(0x0000a722),
  44679. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000d)&0x3fff<<2,
  44680. Foffset: int16(1),
  44681. },
  44682. 253: {
  44683. Fupper: uint32(0x0000a732),
  44684. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x003d)&0x3fff<<2,
  44685. Foffset: int16(1),
  44686. },
  44687. 254: {
  44688. Fupper: uint32(0x0000a779),
  44689. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44690. Foffset: int16(1),
  44691. },
  44692. 255: {
  44693. Fupper: uint32(0x0000a77d),
  44694. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44695. Foffset: int16(30204),
  44696. },
  44697. 256: {
  44698. Fupper: uint32(0x0000a77e),
  44699. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0009)&0x3fff<<2,
  44700. Foffset: int16(1),
  44701. },
  44702. 257: {
  44703. Fupper: uint32(0x0000a78b),
  44704. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44705. Foffset: int16(1),
  44706. },
  44707. 258: {
  44708. Fupper: uint32(0x0000a78d),
  44709. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44710. Foffset: int16(23256),
  44711. },
  44712. 259: {
  44713. Fupper: uint32(0x0000a790),
  44714. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44715. Foffset: int16(1),
  44716. },
  44717. 260: {
  44718. Fupper: uint32(0x0000a796),
  44719. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0013)&0x3fff<<2,
  44720. Foffset: int16(1),
  44721. },
  44722. 261: {
  44723. Fupper: uint32(0x0000a7aa),
  44724. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44725. Foffset: int16(23228),
  44726. },
  44727. 262: {
  44728. Fupper: uint32(0x0000a7ab),
  44729. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44730. Foffset: int16(23217),
  44731. },
  44732. 263: {
  44733. Fupper: uint32(0x0000a7ac),
  44734. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44735. Foffset: int16(23221),
  44736. },
  44737. 264: {
  44738. Fupper: uint32(0x0000a7ad),
  44739. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44740. Foffset: int16(23231),
  44741. },
  44742. 265: {
  44743. Fupper: uint32(0x0000a7ae),
  44744. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44745. Foffset: int16(23228),
  44746. },
  44747. 266: {
  44748. Fupper: uint32(0x0000a7b0),
  44749. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44750. Foffset: int16(23278),
  44751. },
  44752. 267: {
  44753. Fupper: uint32(0x0000a7b1),
  44754. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44755. Foffset: int16(23254),
  44756. },
  44757. 268: {
  44758. Fupper: uint32(0x0000a7b2),
  44759. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44760. Foffset: int16(23275),
  44761. },
  44762. 269: {
  44763. Fupper: uint32(0x0000a7b3),
  44764. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44765. Foffset: int16(928),
  44766. },
  44767. 270: {
  44768. Fupper: uint32(0x0000a7b4),
  44769. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  44770. Foffset: int16(1),
  44771. },
  44772. 271: {
  44773. Fupper: uint32(0x0000a7c4),
  44774. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44775. Foffset: int16(-int32(48)),
  44776. },
  44777. 272: {
  44778. Fupper: uint32(0x0000a7c5),
  44779. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44780. Foffset: int16(23229),
  44781. },
  44782. 273: {
  44783. Fupper: uint32(0x0000a7c6),
  44784. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44785. Foffset: int16(30152),
  44786. },
  44787. 274: {
  44788. Fupper: uint32(0x0000a7c7),
  44789. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44790. Foffset: int16(1),
  44791. },
  44792. 275: {
  44793. Fupper: uint32(0x0000a7d0),
  44794. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44795. Foffset: int16(1),
  44796. },
  44797. 276: {
  44798. Fupper: uint32(0x0000a7d6),
  44799. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44800. Foffset: int16(1),
  44801. },
  44802. 277: {
  44803. Fupper: uint32(0x0000a7f5),
  44804. F__ccgo4: uint16(m_FC_CASE_FOLD_EVEN_ODD)&0x3<<0 | uint16(0x0001)&0x3fff<<2,
  44805. Foffset: int16(1),
  44806. },
  44807. 278: {
  44808. Fupper: uint32(0x0000ab70),
  44809. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0050)&0x3fff<<2,
  44810. Foffset: int16(26672),
  44811. },
  44812. 279: {
  44813. Fupper: uint32(0x0000fb00),
  44814. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44815. Foffset: int16(435),
  44816. },
  44817. 280: {
  44818. Fupper: uint32(0x0000fb01),
  44819. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44820. Foffset: int16(437),
  44821. },
  44822. 281: {
  44823. Fupper: uint32(0x0000fb02),
  44824. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44825. Foffset: int16(439),
  44826. },
  44827. 282: {
  44828. Fupper: uint32(0x0000fb03),
  44829. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44830. Foffset: int16(441),
  44831. },
  44832. 283: {
  44833. Fupper: uint32(0x0000fb04),
  44834. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0003)&0x3fff<<2,
  44835. Foffset: int16(444),
  44836. },
  44837. 284: {
  44838. Fupper: uint32(0x0000fb05),
  44839. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44840. Foffset: int16(447),
  44841. },
  44842. 285: {
  44843. Fupper: uint32(0x0000fb06),
  44844. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44845. Foffset: int16(449),
  44846. },
  44847. 286: {
  44848. Fupper: uint32(0x0000fb13),
  44849. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44850. Foffset: int16(451),
  44851. },
  44852. 287: {
  44853. Fupper: uint32(0x0000fb14),
  44854. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44855. Foffset: int16(455),
  44856. },
  44857. 288: {
  44858. Fupper: uint32(0x0000fb15),
  44859. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44860. Foffset: int16(459),
  44861. },
  44862. 289: {
  44863. Fupper: uint32(0x0000fb16),
  44864. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44865. Foffset: int16(463),
  44866. },
  44867. 290: {
  44868. Fupper: uint32(0x0000fb17),
  44869. F__ccgo4: uint16(m_FC_CASE_FOLD_FULL)&0x3<<0 | uint16(0x0004)&0x3fff<<2,
  44870. Foffset: int16(467),
  44871. },
  44872. 291: {
  44873. Fupper: uint32(0x0000ff21),
  44874. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x001a)&0x3fff<<2,
  44875. Foffset: int16(32),
  44876. },
  44877. 292: {
  44878. Fupper: uint32(0x00010400),
  44879. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0028)&0x3fff<<2,
  44880. Foffset: int16(40),
  44881. },
  44882. 293: {
  44883. Fupper: uint32(0x000104b0),
  44884. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0024)&0x3fff<<2,
  44885. Foffset: int16(40),
  44886. },
  44887. 294: {
  44888. Fupper: uint32(0x00010570),
  44889. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000b)&0x3fff<<2,
  44890. Foffset: int16(39),
  44891. },
  44892. 295: {
  44893. Fupper: uint32(0x0001057c),
  44894. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x000f)&0x3fff<<2,
  44895. Foffset: int16(39),
  44896. },
  44897. 296: {
  44898. Fupper: uint32(0x0001058c),
  44899. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0007)&0x3fff<<2,
  44900. Foffset: int16(39),
  44901. },
  44902. 297: {
  44903. Fupper: uint32(0x00010594),
  44904. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0002)&0x3fff<<2,
  44905. Foffset: int16(39),
  44906. },
  44907. 298: {
  44908. Fupper: uint32(0x00010c80),
  44909. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0033)&0x3fff<<2,
  44910. Foffset: int16(64),
  44911. },
  44912. 299: {
  44913. Fupper: uint32(0x000118a0),
  44914. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  44915. Foffset: int16(32),
  44916. },
  44917. 300: {
  44918. Fupper: uint32(0x00016e40),
  44919. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0020)&0x3fff<<2,
  44920. Foffset: int16(32),
  44921. },
  44922. 301: {
  44923. Fupper: uint32(0x0001e900),
  44924. F__ccgo4: uint16(m_FC_CASE_FOLD_RANGE)&0x3<<0 | uint16(0x0022)&0x3fff<<2,
  44925. Foffset: int16(34),
  44926. },
  44927. }
  44928. var _fcCaseFoldChars = [471]TFcChar8{
  44929. 0: uint8(0x73),
  44930. 1: uint8(0x73),
  44931. 2: uint8(0x69),
  44932. 3: uint8(0xcc),
  44933. 4: uint8(0x87),
  44934. 5: uint8(0xca),
  44935. 6: uint8(0xbc),
  44936. 7: uint8(0x6e),
  44937. 8: uint8(0x6a),
  44938. 9: uint8(0xcc),
  44939. 10: uint8(0x8c),
  44940. 11: uint8(0xce),
  44941. 12: uint8(0xb9),
  44942. 13: uint8(0xcc),
  44943. 14: uint8(0x88),
  44944. 15: uint8(0xcc),
  44945. 16: uint8(0x81),
  44946. 17: uint8(0xcf),
  44947. 18: uint8(0x85),
  44948. 19: uint8(0xcc),
  44949. 20: uint8(0x88),
  44950. 21: uint8(0xcc),
  44951. 22: uint8(0x81),
  44952. 23: uint8(0xd5),
  44953. 24: uint8(0xa5),
  44954. 25: uint8(0xd6),
  44955. 26: uint8(0x82),
  44956. 27: uint8(0x68),
  44957. 28: uint8(0xcc),
  44958. 29: uint8(0xb1),
  44959. 30: uint8(0x74),
  44960. 31: uint8(0xcc),
  44961. 32: uint8(0x88),
  44962. 33: uint8(0x77),
  44963. 34: uint8(0xcc),
  44964. 35: uint8(0x8a),
  44965. 36: uint8(0x79),
  44966. 37: uint8(0xcc),
  44967. 38: uint8(0x8a),
  44968. 39: uint8(0x61),
  44969. 40: uint8(0xca),
  44970. 41: uint8(0xbe),
  44971. 42: uint8(0x73),
  44972. 43: uint8(0x73),
  44973. 44: uint8(0xcf),
  44974. 45: uint8(0x85),
  44975. 46: uint8(0xcc),
  44976. 47: uint8(0x93),
  44977. 48: uint8(0xcf),
  44978. 49: uint8(0x85),
  44979. 50: uint8(0xcc),
  44980. 51: uint8(0x93),
  44981. 52: uint8(0xcc),
  44982. 53: uint8(0x80),
  44983. 54: uint8(0xcf),
  44984. 55: uint8(0x85),
  44985. 56: uint8(0xcc),
  44986. 57: uint8(0x93),
  44987. 58: uint8(0xcc),
  44988. 59: uint8(0x81),
  44989. 60: uint8(0xcf),
  44990. 61: uint8(0x85),
  44991. 62: uint8(0xcc),
  44992. 63: uint8(0x93),
  44993. 64: uint8(0xcd),
  44994. 65: uint8(0x82),
  44995. 66: uint8(0xe1),
  44996. 67: uint8(0xbc),
  44997. 68: uint8(0x80),
  44998. 69: uint8(0xce),
  44999. 70: uint8(0xb9),
  45000. 71: uint8(0xe1),
  45001. 72: uint8(0xbc),
  45002. 73: uint8(0x81),
  45003. 74: uint8(0xce),
  45004. 75: uint8(0xb9),
  45005. 76: uint8(0xe1),
  45006. 77: uint8(0xbc),
  45007. 78: uint8(0x82),
  45008. 79: uint8(0xce),
  45009. 80: uint8(0xb9),
  45010. 81: uint8(0xe1),
  45011. 82: uint8(0xbc),
  45012. 83: uint8(0x83),
  45013. 84: uint8(0xce),
  45014. 85: uint8(0xb9),
  45015. 86: uint8(0xe1),
  45016. 87: uint8(0xbc),
  45017. 88: uint8(0x84),
  45018. 89: uint8(0xce),
  45019. 90: uint8(0xb9),
  45020. 91: uint8(0xe1),
  45021. 92: uint8(0xbc),
  45022. 93: uint8(0x85),
  45023. 94: uint8(0xce),
  45024. 95: uint8(0xb9),
  45025. 96: uint8(0xe1),
  45026. 97: uint8(0xbc),
  45027. 98: uint8(0x86),
  45028. 99: uint8(0xce),
  45029. 100: uint8(0xb9),
  45030. 101: uint8(0xe1),
  45031. 102: uint8(0xbc),
  45032. 103: uint8(0x87),
  45033. 104: uint8(0xce),
  45034. 105: uint8(0xb9),
  45035. 106: uint8(0xe1),
  45036. 107: uint8(0xbc),
  45037. 108: uint8(0x80),
  45038. 109: uint8(0xce),
  45039. 110: uint8(0xb9),
  45040. 111: uint8(0xe1),
  45041. 112: uint8(0xbc),
  45042. 113: uint8(0x81),
  45043. 114: uint8(0xce),
  45044. 115: uint8(0xb9),
  45045. 116: uint8(0xe1),
  45046. 117: uint8(0xbc),
  45047. 118: uint8(0x82),
  45048. 119: uint8(0xce),
  45049. 120: uint8(0xb9),
  45050. 121: uint8(0xe1),
  45051. 122: uint8(0xbc),
  45052. 123: uint8(0x83),
  45053. 124: uint8(0xce),
  45054. 125: uint8(0xb9),
  45055. 126: uint8(0xe1),
  45056. 127: uint8(0xbc),
  45057. 128: uint8(0x84),
  45058. 129: uint8(0xce),
  45059. 130: uint8(0xb9),
  45060. 131: uint8(0xe1),
  45061. 132: uint8(0xbc),
  45062. 133: uint8(0x85),
  45063. 134: uint8(0xce),
  45064. 135: uint8(0xb9),
  45065. 136: uint8(0xe1),
  45066. 137: uint8(0xbc),
  45067. 138: uint8(0x86),
  45068. 139: uint8(0xce),
  45069. 140: uint8(0xb9),
  45070. 141: uint8(0xe1),
  45071. 142: uint8(0xbc),
  45072. 143: uint8(0x87),
  45073. 144: uint8(0xce),
  45074. 145: uint8(0xb9),
  45075. 146: uint8(0xe1),
  45076. 147: uint8(0xbc),
  45077. 148: uint8(0xa0),
  45078. 149: uint8(0xce),
  45079. 150: uint8(0xb9),
  45080. 151: uint8(0xe1),
  45081. 152: uint8(0xbc),
  45082. 153: uint8(0xa1),
  45083. 154: uint8(0xce),
  45084. 155: uint8(0xb9),
  45085. 156: uint8(0xe1),
  45086. 157: uint8(0xbc),
  45087. 158: uint8(0xa2),
  45088. 159: uint8(0xce),
  45089. 160: uint8(0xb9),
  45090. 161: uint8(0xe1),
  45091. 162: uint8(0xbc),
  45092. 163: uint8(0xa3),
  45093. 164: uint8(0xce),
  45094. 165: uint8(0xb9),
  45095. 166: uint8(0xe1),
  45096. 167: uint8(0xbc),
  45097. 168: uint8(0xa4),
  45098. 169: uint8(0xce),
  45099. 170: uint8(0xb9),
  45100. 171: uint8(0xe1),
  45101. 172: uint8(0xbc),
  45102. 173: uint8(0xa5),
  45103. 174: uint8(0xce),
  45104. 175: uint8(0xb9),
  45105. 176: uint8(0xe1),
  45106. 177: uint8(0xbc),
  45107. 178: uint8(0xa6),
  45108. 179: uint8(0xce),
  45109. 180: uint8(0xb9),
  45110. 181: uint8(0xe1),
  45111. 182: uint8(0xbc),
  45112. 183: uint8(0xa7),
  45113. 184: uint8(0xce),
  45114. 185: uint8(0xb9),
  45115. 186: uint8(0xe1),
  45116. 187: uint8(0xbc),
  45117. 188: uint8(0xa0),
  45118. 189: uint8(0xce),
  45119. 190: uint8(0xb9),
  45120. 191: uint8(0xe1),
  45121. 192: uint8(0xbc),
  45122. 193: uint8(0xa1),
  45123. 194: uint8(0xce),
  45124. 195: uint8(0xb9),
  45125. 196: uint8(0xe1),
  45126. 197: uint8(0xbc),
  45127. 198: uint8(0xa2),
  45128. 199: uint8(0xce),
  45129. 200: uint8(0xb9),
  45130. 201: uint8(0xe1),
  45131. 202: uint8(0xbc),
  45132. 203: uint8(0xa3),
  45133. 204: uint8(0xce),
  45134. 205: uint8(0xb9),
  45135. 206: uint8(0xe1),
  45136. 207: uint8(0xbc),
  45137. 208: uint8(0xa4),
  45138. 209: uint8(0xce),
  45139. 210: uint8(0xb9),
  45140. 211: uint8(0xe1),
  45141. 212: uint8(0xbc),
  45142. 213: uint8(0xa5),
  45143. 214: uint8(0xce),
  45144. 215: uint8(0xb9),
  45145. 216: uint8(0xe1),
  45146. 217: uint8(0xbc),
  45147. 218: uint8(0xa6),
  45148. 219: uint8(0xce),
  45149. 220: uint8(0xb9),
  45150. 221: uint8(0xe1),
  45151. 222: uint8(0xbc),
  45152. 223: uint8(0xa7),
  45153. 224: uint8(0xce),
  45154. 225: uint8(0xb9),
  45155. 226: uint8(0xe1),
  45156. 227: uint8(0xbd),
  45157. 228: uint8(0xa0),
  45158. 229: uint8(0xce),
  45159. 230: uint8(0xb9),
  45160. 231: uint8(0xe1),
  45161. 232: uint8(0xbd),
  45162. 233: uint8(0xa1),
  45163. 234: uint8(0xce),
  45164. 235: uint8(0xb9),
  45165. 236: uint8(0xe1),
  45166. 237: uint8(0xbd),
  45167. 238: uint8(0xa2),
  45168. 239: uint8(0xce),
  45169. 240: uint8(0xb9),
  45170. 241: uint8(0xe1),
  45171. 242: uint8(0xbd),
  45172. 243: uint8(0xa3),
  45173. 244: uint8(0xce),
  45174. 245: uint8(0xb9),
  45175. 246: uint8(0xe1),
  45176. 247: uint8(0xbd),
  45177. 248: uint8(0xa4),
  45178. 249: uint8(0xce),
  45179. 250: uint8(0xb9),
  45180. 251: uint8(0xe1),
  45181. 252: uint8(0xbd),
  45182. 253: uint8(0xa5),
  45183. 254: uint8(0xce),
  45184. 255: uint8(0xb9),
  45185. 256: uint8(0xe1),
  45186. 257: uint8(0xbd),
  45187. 258: uint8(0xa6),
  45188. 259: uint8(0xce),
  45189. 260: uint8(0xb9),
  45190. 261: uint8(0xe1),
  45191. 262: uint8(0xbd),
  45192. 263: uint8(0xa7),
  45193. 264: uint8(0xce),
  45194. 265: uint8(0xb9),
  45195. 266: uint8(0xe1),
  45196. 267: uint8(0xbd),
  45197. 268: uint8(0xa0),
  45198. 269: uint8(0xce),
  45199. 270: uint8(0xb9),
  45200. 271: uint8(0xe1),
  45201. 272: uint8(0xbd),
  45202. 273: uint8(0xa1),
  45203. 274: uint8(0xce),
  45204. 275: uint8(0xb9),
  45205. 276: uint8(0xe1),
  45206. 277: uint8(0xbd),
  45207. 278: uint8(0xa2),
  45208. 279: uint8(0xce),
  45209. 280: uint8(0xb9),
  45210. 281: uint8(0xe1),
  45211. 282: uint8(0xbd),
  45212. 283: uint8(0xa3),
  45213. 284: uint8(0xce),
  45214. 285: uint8(0xb9),
  45215. 286: uint8(0xe1),
  45216. 287: uint8(0xbd),
  45217. 288: uint8(0xa4),
  45218. 289: uint8(0xce),
  45219. 290: uint8(0xb9),
  45220. 291: uint8(0xe1),
  45221. 292: uint8(0xbd),
  45222. 293: uint8(0xa5),
  45223. 294: uint8(0xce),
  45224. 295: uint8(0xb9),
  45225. 296: uint8(0xe1),
  45226. 297: uint8(0xbd),
  45227. 298: uint8(0xa6),
  45228. 299: uint8(0xce),
  45229. 300: uint8(0xb9),
  45230. 301: uint8(0xe1),
  45231. 302: uint8(0xbd),
  45232. 303: uint8(0xa7),
  45233. 304: uint8(0xce),
  45234. 305: uint8(0xb9),
  45235. 306: uint8(0xe1),
  45236. 307: uint8(0xbd),
  45237. 308: uint8(0xb0),
  45238. 309: uint8(0xce),
  45239. 310: uint8(0xb9),
  45240. 311: uint8(0xce),
  45241. 312: uint8(0xb1),
  45242. 313: uint8(0xce),
  45243. 314: uint8(0xb9),
  45244. 315: uint8(0xce),
  45245. 316: uint8(0xac),
  45246. 317: uint8(0xce),
  45247. 318: uint8(0xb9),
  45248. 319: uint8(0xce),
  45249. 320: uint8(0xb1),
  45250. 321: uint8(0xcd),
  45251. 322: uint8(0x82),
  45252. 323: uint8(0xce),
  45253. 324: uint8(0xb1),
  45254. 325: uint8(0xcd),
  45255. 326: uint8(0x82),
  45256. 327: uint8(0xce),
  45257. 328: uint8(0xb9),
  45258. 329: uint8(0xce),
  45259. 330: uint8(0xb1),
  45260. 331: uint8(0xce),
  45261. 332: uint8(0xb9),
  45262. 333: uint8(0xe1),
  45263. 334: uint8(0xbd),
  45264. 335: uint8(0xb4),
  45265. 336: uint8(0xce),
  45266. 337: uint8(0xb9),
  45267. 338: uint8(0xce),
  45268. 339: uint8(0xb7),
  45269. 340: uint8(0xce),
  45270. 341: uint8(0xb9),
  45271. 342: uint8(0xce),
  45272. 343: uint8(0xae),
  45273. 344: uint8(0xce),
  45274. 345: uint8(0xb9),
  45275. 346: uint8(0xce),
  45276. 347: uint8(0xb7),
  45277. 348: uint8(0xcd),
  45278. 349: uint8(0x82),
  45279. 350: uint8(0xce),
  45280. 351: uint8(0xb7),
  45281. 352: uint8(0xcd),
  45282. 353: uint8(0x82),
  45283. 354: uint8(0xce),
  45284. 355: uint8(0xb9),
  45285. 356: uint8(0xce),
  45286. 357: uint8(0xb7),
  45287. 358: uint8(0xce),
  45288. 359: uint8(0xb9),
  45289. 360: uint8(0xce),
  45290. 361: uint8(0xb9),
  45291. 362: uint8(0xcc),
  45292. 363: uint8(0x88),
  45293. 364: uint8(0xcc),
  45294. 365: uint8(0x80),
  45295. 366: uint8(0xce),
  45296. 367: uint8(0xb9),
  45297. 368: uint8(0xcc),
  45298. 369: uint8(0x88),
  45299. 370: uint8(0xcc),
  45300. 371: uint8(0x81),
  45301. 372: uint8(0xce),
  45302. 373: uint8(0xb9),
  45303. 374: uint8(0xcd),
  45304. 375: uint8(0x82),
  45305. 376: uint8(0xce),
  45306. 377: uint8(0xb9),
  45307. 378: uint8(0xcc),
  45308. 379: uint8(0x88),
  45309. 380: uint8(0xcd),
  45310. 381: uint8(0x82),
  45311. 382: uint8(0xcf),
  45312. 383: uint8(0x85),
  45313. 384: uint8(0xcc),
  45314. 385: uint8(0x88),
  45315. 386: uint8(0xcc),
  45316. 387: uint8(0x80),
  45317. 388: uint8(0xcf),
  45318. 389: uint8(0x85),
  45319. 390: uint8(0xcc),
  45320. 391: uint8(0x88),
  45321. 392: uint8(0xcc),
  45322. 393: uint8(0x81),
  45323. 394: uint8(0xcf),
  45324. 395: uint8(0x81),
  45325. 396: uint8(0xcc),
  45326. 397: uint8(0x93),
  45327. 398: uint8(0xcf),
  45328. 399: uint8(0x85),
  45329. 400: uint8(0xcd),
  45330. 401: uint8(0x82),
  45331. 402: uint8(0xcf),
  45332. 403: uint8(0x85),
  45333. 404: uint8(0xcc),
  45334. 405: uint8(0x88),
  45335. 406: uint8(0xcd),
  45336. 407: uint8(0x82),
  45337. 408: uint8(0xe1),
  45338. 409: uint8(0xbd),
  45339. 410: uint8(0xbc),
  45340. 411: uint8(0xce),
  45341. 412: uint8(0xb9),
  45342. 413: uint8(0xcf),
  45343. 414: uint8(0x89),
  45344. 415: uint8(0xce),
  45345. 416: uint8(0xb9),
  45346. 417: uint8(0xcf),
  45347. 418: uint8(0x8e),
  45348. 419: uint8(0xce),
  45349. 420: uint8(0xb9),
  45350. 421: uint8(0xcf),
  45351. 422: uint8(0x89),
  45352. 423: uint8(0xcd),
  45353. 424: uint8(0x82),
  45354. 425: uint8(0xcf),
  45355. 426: uint8(0x89),
  45356. 427: uint8(0xcd),
  45357. 428: uint8(0x82),
  45358. 429: uint8(0xce),
  45359. 430: uint8(0xb9),
  45360. 431: uint8(0xcf),
  45361. 432: uint8(0x89),
  45362. 433: uint8(0xce),
  45363. 434: uint8(0xb9),
  45364. 435: uint8(0x66),
  45365. 436: uint8(0x66),
  45366. 437: uint8(0x66),
  45367. 438: uint8(0x69),
  45368. 439: uint8(0x66),
  45369. 440: uint8(0x6c),
  45370. 441: uint8(0x66),
  45371. 442: uint8(0x66),
  45372. 443: uint8(0x69),
  45373. 444: uint8(0x66),
  45374. 445: uint8(0x66),
  45375. 446: uint8(0x6c),
  45376. 447: uint8(0x73),
  45377. 448: uint8(0x74),
  45378. 449: uint8(0x73),
  45379. 450: uint8(0x74),
  45380. 451: uint8(0xd5),
  45381. 452: uint8(0xb4),
  45382. 453: uint8(0xd5),
  45383. 454: uint8(0xb6),
  45384. 455: uint8(0xd5),
  45385. 456: uint8(0xb4),
  45386. 457: uint8(0xd5),
  45387. 458: uint8(0xa5),
  45388. 459: uint8(0xd5),
  45389. 460: uint8(0xb4),
  45390. 461: uint8(0xd5),
  45391. 462: uint8(0xab),
  45392. 463: uint8(0xd5),
  45393. 464: uint8(0xbe),
  45394. 465: uint8(0xd5),
  45395. 466: uint8(0xb6),
  45396. 467: uint8(0xd5),
  45397. 468: uint8(0xb4),
  45398. 469: uint8(0xd5),
  45399. 470: uint8(0xad),
  45400. }
  45401. type TFcCaseWalker = struct {
  45402. Fread uintptr
  45403. Fsrc uintptr
  45404. Futf8 [7]TFcChar8
  45405. }
  45406. type T_FcCaseWalker = TFcCaseWalker
  45407. func _FcStrCaseWalkerInit(tls *libc.TLS, src uintptr, w uintptr) {
  45408. (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc = src
  45409. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  45410. }
  45411. func _FcStrCaseWalkerLong(tls *libc.TLS, w uintptr, r TFcChar8) (r1 TFcChar8) {
  45412. bp := tls.Alloc(16)
  45413. defer tls.Free(16)
  45414. var dlen, len1, max, mid, min, slen, v1 int32
  45415. var fold, v2, v3 uintptr
  45416. var high, low TFcChar32
  45417. var _ /* ucs4 at bp+0 */ TFcChar32
  45418. _, _, _, _, _, _, _, _, _, _, _, _ = dlen, fold, high, len1, low, max, mid, min, slen, v1, v2, v3
  45419. len1 = int32(libc.Xstrlen(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc))
  45420. slen = XFcUtf8ToUcs4(tls, (*TFcCaseWalker)(unsafe.Pointer(w)).Fsrc-uintptr(1), bp, len1+int32(1))
  45421. if slen <= 0 {
  45422. return r
  45423. }
  45424. if uint32(m_FC_MIN_FOLD_CHAR) <= *(*TFcChar32)(unsafe.Pointer(bp)) && *(*TFcChar32)(unsafe.Pointer(bp)) <= uint32(m_FC_MAX_FOLD_CHAR) {
  45425. min = 0
  45426. max = int32(m_FC_NUM_CASE_FOLD)
  45427. for min <= max {
  45428. mid = (min + max) >> int32(1)
  45429. low = _fcCaseFold[mid].Fupper
  45430. if int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4))&0x3>>0) == int32(m_FC_CASE_FOLD_FULL) {
  45431. v1 = int32(1)
  45432. } else {
  45433. v1 = int32(*(*uint16)(unsafe.Pointer(uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8 + 4)) & 0xfffc >> 2)
  45434. }
  45435. high = low + uint32(v1)
  45436. if high <= *(*TFcChar32)(unsafe.Pointer(bp)) {
  45437. min = mid + int32(1)
  45438. } else {
  45439. if *(*TFcChar32)(unsafe.Pointer(bp)) < low {
  45440. max = mid - int32(1)
  45441. } else {
  45442. fold = uintptr(unsafe.Pointer(&_fcCaseFold)) + uintptr(mid)*8
  45443. switch int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0x3 >> 0) {
  45444. case int32(m_FC_CASE_FOLD_EVEN_ODD):
  45445. if *(*TFcChar32)(unsafe.Pointer(bp))&uint32(1) != (*TFcCaseFold)(unsafe.Pointer(fold)).Fupper&uint32(1) {
  45446. return r
  45447. }
  45448. /* fall through ... */
  45449. fallthrough
  45450. default:
  45451. dlen = XFcUcs4ToUtf8(tls, *(*TFcChar32)(unsafe.Pointer(bp))+uint32((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), w+16)
  45452. case int32(m_FC_CASE_FOLD_FULL):
  45453. dlen = int32(*(*uint16)(unsafe.Pointer(fold + 4)) & 0xfffc >> 2)
  45454. libc.X__builtin___memcpy_chk(tls, w+16, uintptr(unsafe.Pointer(&_fcCaseFoldChars))+uintptr((*TFcCaseFold)(unsafe.Pointer(fold)).Foffset), uint64(dlen), uint64(libc.X__builtin_object_size(tls, w+16, 0)))
  45455. break
  45456. }
  45457. /* consume rest of src utf-8 bytes */
  45458. *(*uintptr)(unsafe.Pointer(w + 8)) += uintptr(slen - int32(1))
  45459. /* read from temp buffer */
  45460. *(*TFcChar8)(unsafe.Pointer(w + 16 + uintptr(dlen))) = uint8('\000')
  45461. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = w + 16
  45462. v3 = w
  45463. v2 = *(*uintptr)(unsafe.Pointer(v3))
  45464. *(*uintptr)(unsafe.Pointer(v3))++
  45465. return *(*TFcChar8)(unsafe.Pointer(v2))
  45466. }
  45467. }
  45468. }
  45469. }
  45470. return r
  45471. }
  45472. func _FcStrCaseWalkerNextNonDelim(tls *libc.TLS, w uintptr, delims uintptr) (r1 TFcChar8) {
  45473. var r, v2 TFcChar8
  45474. var v1, v7 int32
  45475. var v3, v4, v5, v6 uintptr
  45476. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  45477. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  45478. v1 = int32(1)
  45479. } else {
  45480. v1 = 0
  45481. }
  45482. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  45483. v4 = w
  45484. v3 = *(*uintptr)(unsafe.Pointer(v4))
  45485. *(*uintptr)(unsafe.Pointer(v4))++
  45486. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  45487. r = v2
  45488. if v2 != 0 {
  45489. return r
  45490. }
  45491. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  45492. }
  45493. for cond := true; cond; cond = int32(r) != 0 && delims != 0 && libc.Xstrchr(tls, delims, int32(r)) != 0 {
  45494. v6 = w + 8
  45495. v5 = *(*uintptr)(unsafe.Pointer(v6))
  45496. *(*uintptr)(unsafe.Pointer(v6))++
  45497. r = *(*TFcChar8)(unsafe.Pointer(v5))
  45498. }
  45499. if int32(r)&int32(0xc0) == int32(0xc0) {
  45500. v7 = int32(1)
  45501. } else {
  45502. v7 = 0
  45503. }
  45504. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  45505. return _FcStrCaseWalkerLong(tls, w, r)
  45506. }
  45507. if int32('A') <= int32(r) && int32(r) <= int32('Z') {
  45508. r = uint8(int32(r) - int32('A') + int32('a'))
  45509. }
  45510. return r
  45511. }
  45512. func _FcStrCaseWalkerNextNonBlank(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  45513. var r, v2 TFcChar8
  45514. var v1, v7 int32
  45515. var v3, v4, v5, v6 uintptr
  45516. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  45517. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  45518. v1 = int32(1)
  45519. } else {
  45520. v1 = 0
  45521. }
  45522. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  45523. v4 = w
  45524. v3 = *(*uintptr)(unsafe.Pointer(v4))
  45525. *(*uintptr)(unsafe.Pointer(v4))++
  45526. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  45527. r = v2
  45528. if v2 != 0 {
  45529. return r
  45530. }
  45531. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  45532. }
  45533. for cond := true; cond; cond = int32(r) == int32(' ') {
  45534. v6 = w + 8
  45535. v5 = *(*uintptr)(unsafe.Pointer(v6))
  45536. *(*uintptr)(unsafe.Pointer(v6))++
  45537. r = *(*TFcChar8)(unsafe.Pointer(v5))
  45538. }
  45539. if int32(r)&int32(0xc0) == int32(0xc0) {
  45540. v7 = int32(1)
  45541. } else {
  45542. v7 = 0
  45543. }
  45544. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  45545. return _FcStrCaseWalkerLong(tls, w, r)
  45546. }
  45547. if int32('A') <= int32(r) && int32(r) <= int32('Z') {
  45548. r = uint8(int32(r) - int32('A') + int32('a'))
  45549. }
  45550. return r
  45551. }
  45552. func _FcStrCaseWalkerNext(tls *libc.TLS, w uintptr) (r1 TFcChar8) {
  45553. var r, v2 TFcChar8
  45554. var v1, v7 int32
  45555. var v3, v4, v5, v6 uintptr
  45556. _, _, _, _, _, _, _, _ = r, v1, v2, v3, v4, v5, v6, v7
  45557. if (*TFcCaseWalker)(unsafe.Pointer(w)).Fread != libc.UintptrFromInt32(0) {
  45558. v1 = int32(1)
  45559. } else {
  45560. v1 = 0
  45561. }
  45562. if libc.X__builtin_expect(tls, int64(v1), 0) != 0 {
  45563. v4 = w
  45564. v3 = *(*uintptr)(unsafe.Pointer(v4))
  45565. *(*uintptr)(unsafe.Pointer(v4))++
  45566. v2 = *(*TFcChar8)(unsafe.Pointer(v3))
  45567. r = v2
  45568. if v2 != 0 {
  45569. return r
  45570. }
  45571. (*TFcCaseWalker)(unsafe.Pointer(w)).Fread = uintptr(0)
  45572. }
  45573. v6 = w + 8
  45574. v5 = *(*uintptr)(unsafe.Pointer(v6))
  45575. *(*uintptr)(unsafe.Pointer(v6))++
  45576. r = *(*TFcChar8)(unsafe.Pointer(v5))
  45577. if int32(r)&int32(0xc0) == int32(0xc0) {
  45578. v7 = int32(1)
  45579. } else {
  45580. v7 = 0
  45581. }
  45582. if libc.X__builtin_expect(tls, int64(v7), 0) != 0 {
  45583. return _FcStrCaseWalkerLong(tls, w, r)
  45584. }
  45585. if int32('A') <= int32(r) && int32(r) <= int32('Z') {
  45586. r = uint8(int32(r) - int32('A') + int32('a'))
  45587. }
  45588. return r
  45589. }
  45590. func XFcStrDowncase(tls *libc.TLS, s uintptr) (r uintptr) {
  45591. bp := tls.Alloc(32)
  45592. defer tls.Free(32)
  45593. var d, dst, v1, v3 uintptr
  45594. var len1 int32
  45595. var v2 TFcChar8
  45596. var _ /* w at bp+0 */ TFcCaseWalker
  45597. _, _, _, _, _, _ = d, dst, len1, v1, v2, v3
  45598. len1 = 0
  45599. _FcStrCaseWalkerInit(tls, s, bp)
  45600. for _FcStrCaseWalkerNext(tls, bp) != 0 {
  45601. len1++
  45602. }
  45603. v1 = libc.Xmalloc(tls, uint64(len1+int32(1)))
  45604. dst = v1
  45605. d = v1
  45606. if !(d != 0) {
  45607. return uintptr(0)
  45608. }
  45609. _FcStrCaseWalkerInit(tls, s, bp)
  45610. for {
  45611. v2 = _FcStrCaseWalkerNext(tls, bp)
  45612. v3 = d
  45613. d++
  45614. *(*TFcChar8)(unsafe.Pointer(v3)) = v2
  45615. if !(v2 != 0) {
  45616. break
  45617. }
  45618. }
  45619. return dst
  45620. }
  45621. func XFcStrCmpIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  45622. bp := tls.Alloc(48)
  45623. defer tls.Free(48)
  45624. var c1, c2 TFcChar8
  45625. var _ /* w1 at bp+0 */ TFcCaseWalker
  45626. var _ /* w2 at bp+24 */ TFcCaseWalker
  45627. _, _ = c1, c2
  45628. if s1 == s2 {
  45629. return 0
  45630. }
  45631. _FcStrCaseWalkerInit(tls, s1, bp)
  45632. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45633. for {
  45634. c1 = _FcStrCaseWalkerNext(tls, bp)
  45635. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  45636. if !(c1 != 0) || int32(c1) != int32(c2) {
  45637. break
  45638. }
  45639. goto _1
  45640. _1:
  45641. }
  45642. return int32(c1) - int32(c2)
  45643. }
  45644. func XFcStrCmpIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  45645. bp := tls.Alloc(48)
  45646. defer tls.Free(48)
  45647. var c1, c2 TFcChar8
  45648. var _ /* w1 at bp+0 */ TFcCaseWalker
  45649. var _ /* w2 at bp+24 */ TFcCaseWalker
  45650. _, _ = c1, c2
  45651. if s1 == s2 {
  45652. return 0
  45653. }
  45654. _FcStrCaseWalkerInit(tls, s1, bp)
  45655. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45656. for {
  45657. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  45658. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  45659. if !(c1 != 0) || int32(c1) != int32(c2) {
  45660. break
  45661. }
  45662. goto _1
  45663. _1:
  45664. }
  45665. return int32(c1) - int32(c2)
  45666. }
  45667. func XFcStrCmp(tls *libc.TLS, s1 uintptr, s2 uintptr) (r int32) {
  45668. var c1, c2 TFcChar8
  45669. var v2, v3 uintptr
  45670. _, _, _, _ = c1, c2, v2, v3
  45671. if s1 == s2 {
  45672. return 0
  45673. }
  45674. for {
  45675. v2 = s1
  45676. s1++
  45677. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  45678. v3 = s2
  45679. s2++
  45680. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  45681. if !(c1 != 0) || int32(c1) != int32(c2) {
  45682. break
  45683. }
  45684. goto _1
  45685. _1:
  45686. }
  45687. return int32(c1) - int32(c2)
  45688. }
  45689. /*
  45690. * Return a hash value for a string
  45691. */
  45692. func XFcStrHashIgnoreCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  45693. bp := tls.Alloc(32)
  45694. defer tls.Free(32)
  45695. var c, v1 TFcChar8
  45696. var h TFcChar32
  45697. var _ /* w at bp+0 */ TFcCaseWalker
  45698. _, _, _ = c, h, v1
  45699. h = uint32(0)
  45700. _FcStrCaseWalkerInit(tls, s, bp)
  45701. for {
  45702. v1 = _FcStrCaseWalkerNext(tls, bp)
  45703. c = v1
  45704. if !(v1 != 0) {
  45705. break
  45706. }
  45707. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  45708. }
  45709. return h
  45710. }
  45711. func XFcStrHashIgnoreBlanksAndCase(tls *libc.TLS, s uintptr) (r TFcChar32) {
  45712. bp := tls.Alloc(32)
  45713. defer tls.Free(32)
  45714. var c, v1 TFcChar8
  45715. var h TFcChar32
  45716. var _ /* w at bp+0 */ TFcCaseWalker
  45717. _, _, _ = c, h, v1
  45718. h = uint32(0)
  45719. _FcStrCaseWalkerInit(tls, s, bp)
  45720. for {
  45721. v1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  45722. c = v1
  45723. if !(v1 != 0) {
  45724. break
  45725. }
  45726. h = h<<libc.Int32FromInt32(3) ^ h>>libc.Int32FromInt32(3) ^ uint32(c)
  45727. }
  45728. return h
  45729. }
  45730. /*
  45731. * Is the head of s1 equal to s2?
  45732. */
  45733. func _FcStrIsAtIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  45734. bp := tls.Alloc(48)
  45735. defer tls.Free(48)
  45736. var c1, c2 TFcChar8
  45737. var _ /* w1 at bp+0 */ TFcCaseWalker
  45738. var _ /* w2 at bp+24 */ TFcCaseWalker
  45739. _, _ = c1, c2
  45740. _FcStrCaseWalkerInit(tls, s1, bp)
  45741. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45742. for {
  45743. c1 = _FcStrCaseWalkerNextNonBlank(tls, bp)
  45744. c2 = _FcStrCaseWalkerNextNonBlank(tls, bp+24)
  45745. if !(c1 != 0) || int32(c1) != int32(c2) {
  45746. break
  45747. }
  45748. goto _1
  45749. _1:
  45750. }
  45751. return libc.BoolInt32(int32(c1) == int32(c2) || !(c2 != 0))
  45752. }
  45753. /*
  45754. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  45755. */
  45756. func XFcStrContainsIgnoreBlanksAndCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45757. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  45758. if _FcStrIsAtIgnoreBlanksAndCase(tls, s1, s2) != 0 {
  45759. return s1
  45760. }
  45761. s1++
  45762. }
  45763. return uintptr(0)
  45764. }
  45765. func _FcCharIsPunct1(tls *libc.TLS, c TFcChar8) (r TFcBool) {
  45766. if int32(c) < int32('0') {
  45767. return int32(m_FcTrue)
  45768. }
  45769. if int32(c) <= int32('9') {
  45770. return m_FcFalse
  45771. }
  45772. if int32(c) < int32('A') {
  45773. return int32(m_FcTrue)
  45774. }
  45775. if int32(c) <= int32('Z') {
  45776. return m_FcFalse
  45777. }
  45778. if int32(c) < int32('a') {
  45779. return int32(m_FcTrue)
  45780. }
  45781. if int32(c) <= int32('z') {
  45782. return m_FcFalse
  45783. }
  45784. if int32(c) <= int32('~') {
  45785. return int32(m_FcTrue)
  45786. }
  45787. return m_FcFalse
  45788. }
  45789. /*
  45790. * Is the head of s1 equal to s2?
  45791. */
  45792. func _FcStrIsAtIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r TFcBool) {
  45793. bp := tls.Alloc(48)
  45794. defer tls.Free(48)
  45795. var c1, c2 TFcChar8
  45796. var _ /* w1 at bp+0 */ TFcCaseWalker
  45797. var _ /* w2 at bp+24 */ TFcCaseWalker
  45798. _, _ = c1, c2
  45799. _FcStrCaseWalkerInit(tls, s1, bp)
  45800. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45801. for {
  45802. c1 = _FcStrCaseWalkerNext(tls, bp)
  45803. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  45804. if !(c1 != 0) || int32(c1) != int32(c2) {
  45805. break
  45806. }
  45807. goto _1
  45808. _1:
  45809. }
  45810. return libc.BoolInt32(int32(c1) == int32(c2) || !(c2 != 0))
  45811. }
  45812. /*
  45813. * Does s1 contain an instance of s2 (ignoring blanks and case)?
  45814. */
  45815. func XFcStrContainsIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45816. for *(*TFcChar8)(unsafe.Pointer(s1)) != 0 {
  45817. if _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 {
  45818. return s1
  45819. }
  45820. s1++
  45821. }
  45822. return uintptr(0)
  45823. }
  45824. /*
  45825. * Does s1 contain an instance of s2 on a word boundary (ignoring case)?
  45826. */
  45827. func XFcStrContainsWord(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45828. var s1len, s2len int32
  45829. var wordStart TFcBool
  45830. _, _, _ = s1len, s2len, wordStart
  45831. wordStart = int32(m_FcTrue)
  45832. s1len = int32(libc.Xstrlen(tls, s1))
  45833. s2len = int32(libc.Xstrlen(tls, s2))
  45834. for s1len >= s2len {
  45835. if wordStart != 0 && _FcStrIsAtIgnoreCase(tls, s1, s2) != 0 && (s1len == s2len || _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1 + uintptr(s2len)))) != 0) {
  45836. return s1
  45837. }
  45838. wordStart = m_FcFalse
  45839. if _FcCharIsPunct1(tls, *(*TFcChar8)(unsafe.Pointer(s1))) != 0 {
  45840. wordStart = int32(m_FcTrue)
  45841. }
  45842. s1++
  45843. s1len--
  45844. }
  45845. return uintptr(0)
  45846. }
  45847. /*
  45848. * returns the number of strings (ignoring delimiters and case) being matched
  45849. */
  45850. func XFcStrMatchIgnoreCaseAndDelims(tls *libc.TLS, s1 uintptr, s2 uintptr, delims uintptr) (r int32) {
  45851. bp := tls.Alloc(48)
  45852. defer tls.Free(48)
  45853. var c1, c2 TFcChar8
  45854. var _ /* w1 at bp+0 */ TFcCaseWalker
  45855. var _ /* w2 at bp+24 */ TFcCaseWalker
  45856. _, _ = c1, c2
  45857. if s1 == s2 {
  45858. return 0
  45859. }
  45860. _FcStrCaseWalkerInit(tls, s1, bp)
  45861. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45862. for {
  45863. c1 = _FcStrCaseWalkerNextNonDelim(tls, bp, delims)
  45864. c2 = _FcStrCaseWalkerNextNonDelim(tls, bp+24, delims)
  45865. if !(c1 != 0) || int32(c1) != int32(c2) {
  45866. break
  45867. }
  45868. goto _1
  45869. _1:
  45870. }
  45871. return int32(int64((*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc) - int64(s1) - int64(1))
  45872. }
  45873. func XFcStrGlobMatch(tls *libc.TLS, glob uintptr, string1 uintptr) (r TFcBool) {
  45874. var c, v1 TFcChar8
  45875. var l1, l2 Tsize_t
  45876. var v2, v3, v4 uintptr
  45877. _, _, _, _, _, _, _ = c, l1, l2, v1, v2, v3, v4
  45878. for {
  45879. v2 = glob
  45880. glob++
  45881. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  45882. c = v1
  45883. if !(v1 != 0) {
  45884. break
  45885. }
  45886. switch int32(c) {
  45887. case int32('*'):
  45888. /* short circuit common case */
  45889. if !(*(*TFcChar8)(unsafe.Pointer(glob)) != 0) {
  45890. return int32(m_FcTrue)
  45891. }
  45892. /* short circuit another common case */
  45893. if libc.Xstrchr(tls, glob, int32('*')) == uintptr(0) {
  45894. l1 = libc.Xstrlen(tls, string1)
  45895. l2 = libc.Xstrlen(tls, glob)
  45896. if l1 < l2 {
  45897. return m_FcFalse
  45898. }
  45899. string1 += uintptr(l1 - l2)
  45900. }
  45901. for *(*TFcChar8)(unsafe.Pointer(string1)) != 0 {
  45902. if XFcStrGlobMatch(tls, glob, string1) != 0 {
  45903. return int32(m_FcTrue)
  45904. }
  45905. string1++
  45906. }
  45907. return m_FcFalse
  45908. case int32('?'):
  45909. v3 = string1
  45910. string1++
  45911. if int32(*(*TFcChar8)(unsafe.Pointer(v3))) == int32('\000') {
  45912. return m_FcFalse
  45913. }
  45914. default:
  45915. v4 = string1
  45916. string1++
  45917. if int32(*(*TFcChar8)(unsafe.Pointer(v4))) != int32(c) {
  45918. return m_FcFalse
  45919. }
  45920. break
  45921. }
  45922. }
  45923. return libc.BoolInt32(int32(*(*TFcChar8)(unsafe.Pointer(string1))) == int32('\000'))
  45924. }
  45925. func XFcStrStrIgnoreCase(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45926. bp := tls.Alloc(96)
  45927. defer tls.Free(96)
  45928. var c1, c1t, c2, c2t TFcChar8
  45929. var cur uintptr
  45930. var _ /* w1 at bp+0 */ TFcCaseWalker
  45931. var _ /* w1t at bp+48 */ TFcCaseWalker
  45932. var _ /* w2 at bp+24 */ TFcCaseWalker
  45933. var _ /* w2t at bp+72 */ TFcCaseWalker
  45934. _, _, _, _, _ = c1, c1t, c2, c2t, cur
  45935. if !(s1 != 0) || !(s2 != 0) {
  45936. return uintptr(0)
  45937. }
  45938. if s1 == s2 {
  45939. return s1
  45940. }
  45941. _FcStrCaseWalkerInit(tls, s1, bp)
  45942. _FcStrCaseWalkerInit(tls, s2, bp+24)
  45943. c2 = _FcStrCaseWalkerNext(tls, bp+24)
  45944. for {
  45945. cur = (*(*TFcCaseWalker)(unsafe.Pointer(bp))).Fsrc
  45946. c1 = _FcStrCaseWalkerNext(tls, bp)
  45947. if !(c1 != 0) {
  45948. break
  45949. }
  45950. if int32(c1) == int32(c2) {
  45951. *(*TFcCaseWalker)(unsafe.Pointer(bp + 48)) = *(*TFcCaseWalker)(unsafe.Pointer(bp))
  45952. *(*TFcCaseWalker)(unsafe.Pointer(bp + 72)) = *(*TFcCaseWalker)(unsafe.Pointer(bp + 24))
  45953. for {
  45954. c1t = _FcStrCaseWalkerNext(tls, bp+48)
  45955. c2t = _FcStrCaseWalkerNext(tls, bp+72)
  45956. if !(c2t != 0) {
  45957. return cur
  45958. }
  45959. if int32(c2t) != int32(c1t) {
  45960. break
  45961. }
  45962. goto _2
  45963. _2:
  45964. }
  45965. }
  45966. goto _1
  45967. _1:
  45968. }
  45969. return uintptr(0)
  45970. }
  45971. func XFcStrStr(tls *libc.TLS, s1 uintptr, s2 uintptr) (r uintptr) {
  45972. var b, p, v1, v3 uintptr
  45973. var c1, c2 TFcChar8
  45974. _, _, _, _, _, _ = b, c1, c2, p, v1, v3
  45975. p = s1
  45976. b = s2
  45977. if !(s1 != 0) || !(s2 != 0) {
  45978. return uintptr(0)
  45979. }
  45980. if s1 == s2 {
  45981. return s1
  45982. }
  45983. goto again
  45984. again:
  45985. ;
  45986. v1 = s2
  45987. s2++
  45988. c2 = *(*TFcChar8)(unsafe.Pointer(v1))
  45989. if !(c2 != 0) {
  45990. return uintptr(0)
  45991. }
  45992. for {
  45993. p = s1
  45994. v3 = s1
  45995. s1++
  45996. c1 = *(*TFcChar8)(unsafe.Pointer(v3))
  45997. if !(c1 != 0) || int32(c1) == int32(c2) {
  45998. break
  45999. }
  46000. goto _2
  46001. _2:
  46002. }
  46003. if int32(c1) != int32(c2) {
  46004. return uintptr(0)
  46005. }
  46006. for {
  46007. c1 = *(*TFcChar8)(unsafe.Pointer(s1))
  46008. c2 = *(*TFcChar8)(unsafe.Pointer(s2))
  46009. if c1 != 0 && c2 != 0 && int32(c1) != int32(c2) {
  46010. s1 = p + uintptr(1)
  46011. s2 = b
  46012. goto again
  46013. }
  46014. if !(c2 != 0) {
  46015. return p
  46016. }
  46017. if !(c1 != 0) {
  46018. return uintptr(0)
  46019. }
  46020. s1++
  46021. s2++
  46022. goto _4
  46023. _4:
  46024. }
  46025. /* never reached. */
  46026. return r
  46027. }
  46028. func XFcUtf8ToUcs4(tls *libc.TLS, src_orig uintptr, dst uintptr, len1 int32) (r int32) {
  46029. var extra, v2 int32
  46030. var result TFcChar32
  46031. var s TFcChar8
  46032. var src, v1, v3 uintptr
  46033. _, _, _, _, _, _, _ = extra, result, s, src, v1, v2, v3
  46034. src = src_orig
  46035. if len1 == 0 {
  46036. return 0
  46037. }
  46038. v1 = src
  46039. src++
  46040. s = *(*TFcChar8)(unsafe.Pointer(v1))
  46041. len1--
  46042. if !(int32(s)&libc.Int32FromInt32(0x80) != 0) {
  46043. result = uint32(s)
  46044. extra = 0
  46045. } else {
  46046. if !(int32(s)&libc.Int32FromInt32(0x40) != 0) {
  46047. return -int32(1)
  46048. } else {
  46049. if !(int32(s)&libc.Int32FromInt32(0x20) != 0) {
  46050. result = uint32(int32(s) & int32(0x1f))
  46051. extra = int32(1)
  46052. } else {
  46053. if !(int32(s)&libc.Int32FromInt32(0x10) != 0) {
  46054. result = uint32(int32(s) & int32(0xf))
  46055. extra = int32(2)
  46056. } else {
  46057. if !(int32(s)&libc.Int32FromInt32(0x08) != 0) {
  46058. result = uint32(int32(s) & int32(0x07))
  46059. extra = int32(3)
  46060. } else {
  46061. if !(int32(s)&libc.Int32FromInt32(0x04) != 0) {
  46062. result = uint32(int32(s) & int32(0x03))
  46063. extra = int32(4)
  46064. } else {
  46065. if !(int32(s)&libc.Int32FromInt32(0x02) != 0) {
  46066. result = uint32(int32(s) & int32(0x01))
  46067. extra = int32(5)
  46068. } else {
  46069. return -int32(1)
  46070. }
  46071. }
  46072. }
  46073. }
  46074. }
  46075. }
  46076. }
  46077. if extra > len1 {
  46078. return -int32(1)
  46079. }
  46080. for {
  46081. v2 = extra
  46082. extra--
  46083. if !(v2 != 0) {
  46084. break
  46085. }
  46086. result <<= uint32(6)
  46087. v3 = src
  46088. src++
  46089. s = *(*TFcChar8)(unsafe.Pointer(v3))
  46090. if int32(s)&int32(0xc0) != int32(0x80) {
  46091. return -int32(1)
  46092. }
  46093. result |= uint32(int32(s) & int32(0x3f))
  46094. }
  46095. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  46096. return int32(int64(src) - int64(src_orig))
  46097. }
  46098. func XFcUtf8Len(tls *libc.TLS, string1 uintptr, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  46099. bp := tls.Alloc(16)
  46100. defer tls.Free(16)
  46101. var clen, n int32
  46102. var max TFcChar32
  46103. var _ /* c at bp+0 */ TFcChar32
  46104. _, _, _ = clen, max, n
  46105. n = 0
  46106. max = uint32(0)
  46107. for len1 != 0 {
  46108. clen = XFcUtf8ToUcs4(tls, string1, bp, len1)
  46109. if clen <= 0 { /* malformed UTF8 string */
  46110. return m_FcFalse
  46111. }
  46112. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  46113. max = *(*TFcChar32)(unsafe.Pointer(bp))
  46114. }
  46115. string1 += uintptr(clen)
  46116. len1 -= clen
  46117. n++
  46118. }
  46119. *(*int32)(unsafe.Pointer(nchar)) = n
  46120. if max >= uint32(0x10000) {
  46121. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  46122. } else {
  46123. if max > uint32(0x100) {
  46124. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  46125. } else {
  46126. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  46127. }
  46128. }
  46129. return int32(m_FcTrue)
  46130. }
  46131. func XFcUcs4ToUtf8(tls *libc.TLS, ucs4 TFcChar32, dest uintptr) (r int32) {
  46132. var bits int32
  46133. var d, v1, v2, v3, v4, v5, v6, v8 uintptr
  46134. _, _, _, _, _, _, _, _, _ = bits, d, v1, v2, v3, v4, v5, v6, v8
  46135. d = dest
  46136. if ucs4 < uint32(0x80) {
  46137. v1 = d
  46138. d++
  46139. *(*TFcChar8)(unsafe.Pointer(v1)) = uint8(ucs4)
  46140. bits = -int32(6)
  46141. } else {
  46142. if ucs4 < uint32(0x800) {
  46143. v2 = d
  46144. d++
  46145. *(*TFcChar8)(unsafe.Pointer(v2)) = uint8(ucs4>>libc.Int32FromInt32(6)&uint32(0x1F) | uint32(0xC0))
  46146. bits = 0
  46147. } else {
  46148. if ucs4 < uint32(0x10000) {
  46149. v3 = d
  46150. d++
  46151. *(*TFcChar8)(unsafe.Pointer(v3)) = uint8(ucs4>>libc.Int32FromInt32(12)&uint32(0x0F) | uint32(0xE0))
  46152. bits = int32(6)
  46153. } else {
  46154. if ucs4 < uint32(0x200000) {
  46155. v4 = d
  46156. d++
  46157. *(*TFcChar8)(unsafe.Pointer(v4)) = uint8(ucs4>>libc.Int32FromInt32(18)&uint32(0x07) | uint32(0xF0))
  46158. bits = int32(12)
  46159. } else {
  46160. if ucs4 < uint32(0x4000000) {
  46161. v5 = d
  46162. d++
  46163. *(*TFcChar8)(unsafe.Pointer(v5)) = uint8(ucs4>>libc.Int32FromInt32(24)&uint32(0x03) | uint32(0xF8))
  46164. bits = int32(18)
  46165. } else {
  46166. if ucs4 < uint32(0x80000000) {
  46167. v6 = d
  46168. d++
  46169. *(*TFcChar8)(unsafe.Pointer(v6)) = uint8(ucs4>>libc.Int32FromInt32(30)&uint32(0x01) | uint32(0xFC))
  46170. bits = int32(24)
  46171. } else {
  46172. return 0
  46173. }
  46174. }
  46175. }
  46176. }
  46177. }
  46178. }
  46179. for {
  46180. if !(bits >= 0) {
  46181. break
  46182. }
  46183. v8 = d
  46184. d++
  46185. *(*TFcChar8)(unsafe.Pointer(v8)) = uint8(ucs4>>bits&uint32(0x3F) | uint32(0x80))
  46186. goto _7
  46187. _7:
  46188. ;
  46189. bits -= int32(6)
  46190. }
  46191. return int32(int64(d) - int64(dest))
  46192. }
  46193. func XFcUtf16ToUcs4(tls *libc.TLS, src_orig uintptr, endian TFcEndian, dst uintptr, len1 int32) (r int32) {
  46194. /* in bytes */
  46195. var a, b TFcChar16
  46196. var result TFcChar32
  46197. var src uintptr
  46198. var v1, v2, v3, v4 int32
  46199. _, _, _, _, _, _, _, _ = a, b, result, src, v1, v2, v3, v4
  46200. src = src_orig
  46201. if len1 < int32(2) {
  46202. return 0
  46203. }
  46204. if endian == int32(_FcEndianBig) {
  46205. v1 = 0
  46206. } else {
  46207. v1 = int32(1)
  46208. }
  46209. if endian == int32(_FcEndianBig) {
  46210. v2 = int32(1)
  46211. } else {
  46212. v2 = 0
  46213. }
  46214. a = uint16(int32(uint16(int32(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v1))))<<libc.Int32FromInt32(8))) | int32(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v2))))))
  46215. src += uintptr(2)
  46216. len1 -= int32(2)
  46217. /*
  46218. * Check for surrogate
  46219. */
  46220. if int32(a)&int32(0xfc00) == int32(0xd800) {
  46221. if len1 < int32(2) {
  46222. return 0
  46223. }
  46224. if endian == int32(_FcEndianBig) {
  46225. v3 = 0
  46226. } else {
  46227. v3 = int32(1)
  46228. }
  46229. if endian == int32(_FcEndianBig) {
  46230. v4 = int32(1)
  46231. } else {
  46232. v4 = 0
  46233. }
  46234. b = uint16(int32(uint16(int32(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v3))))<<libc.Int32FromInt32(8))) | int32(uint16(*(*TFcChar8)(unsafe.Pointer(src + uintptr(v4))))))
  46235. src += uintptr(2)
  46236. len1 -= int32(2)
  46237. /*
  46238. * Check for invalid surrogate sequence
  46239. */
  46240. if int32(b)&int32(0xfc00) != int32(0xdc00) {
  46241. return 0
  46242. }
  46243. result = uint32(a)&uint32(0x3ff)<<int32(10) | uint32(b)&uint32(0x3ff) + uint32(0x10000)
  46244. } else {
  46245. result = uint32(a)
  46246. }
  46247. *(*TFcChar32)(unsafe.Pointer(dst)) = result
  46248. return int32(int64(src) - int64(src_orig))
  46249. }
  46250. func XFcUtf16Len(tls *libc.TLS, string1 uintptr, endian TFcEndian, len1 int32, nchar uintptr, wchar uintptr) (r TFcBool) {
  46251. bp := tls.Alloc(16)
  46252. defer tls.Free(16)
  46253. var clen, n int32
  46254. var max TFcChar32
  46255. var _ /* c at bp+0 */ TFcChar32
  46256. _, _, _ = clen, max, n
  46257. n = 0
  46258. max = uint32(0)
  46259. for len1 != 0 {
  46260. clen = XFcUtf16ToUcs4(tls, string1, endian, bp, len1)
  46261. if clen <= 0 { /* malformed UTF8 string */
  46262. return m_FcFalse
  46263. }
  46264. if *(*TFcChar32)(unsafe.Pointer(bp)) > max {
  46265. max = *(*TFcChar32)(unsafe.Pointer(bp))
  46266. }
  46267. string1 += uintptr(clen)
  46268. len1 -= clen
  46269. n++
  46270. }
  46271. *(*int32)(unsafe.Pointer(nchar)) = n
  46272. if max >= uint32(0x10000) {
  46273. *(*int32)(unsafe.Pointer(wchar)) = int32(4)
  46274. } else {
  46275. if max > uint32(0x100) {
  46276. *(*int32)(unsafe.Pointer(wchar)) = int32(2)
  46277. } else {
  46278. *(*int32)(unsafe.Pointer(wchar)) = int32(1)
  46279. }
  46280. }
  46281. return int32(m_FcTrue)
  46282. }
  46283. func XFcStrBufInit(tls *libc.TLS, buf uintptr, init1 uintptr, size int32) {
  46284. if init1 != 0 {
  46285. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = init1
  46286. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  46287. } else {
  46288. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = buf + 24
  46289. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = int32(128)
  46290. }
  46291. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = m_FcFalse
  46292. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = m_FcFalse
  46293. (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 = 0
  46294. }
  46295. func XFcStrBufDestroy(tls *libc.TLS, buf uintptr) {
  46296. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  46297. libc.Xfree(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf)
  46298. XFcStrBufInit(tls, buf, uintptr(0), 0)
  46299. }
  46300. }
  46301. func XFcStrBufDone(tls *libc.TLS, buf uintptr) (r uintptr) {
  46302. var ret uintptr
  46303. _ = ret
  46304. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  46305. ret = libc.UintptrFromInt32(0)
  46306. } else {
  46307. ret = libc.Xmalloc(tls, uint64((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1+int32(1)))
  46308. }
  46309. if ret != 0 {
  46310. libc.X__builtin___memcpy_chk(tls, ret, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, uint64((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), uint64(libc.X__builtin_object_size(tls, ret, 0)))
  46311. *(*TFcChar8)(unsafe.Pointer(ret + uintptr((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1))) = uint8('\000')
  46312. }
  46313. XFcStrBufDestroy(tls, buf)
  46314. return ret
  46315. }
  46316. func XFcStrBufDoneStatic(tls *libc.TLS, buf uintptr) (r uintptr) {
  46317. XFcStrBufChar(tls, buf, uint8('\000'))
  46318. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  46319. return libc.UintptrFromInt32(0)
  46320. }
  46321. return (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf
  46322. }
  46323. func XFcStrBufChar(tls *libc.TLS, buf uintptr, c TFcChar8) (r TFcBool) {
  46324. var new1, v2 uintptr
  46325. var size, v1 int32
  46326. _, _, _, _ = new1, size, v1, v2
  46327. if (*TFcStrBuf)(unsafe.Pointer(buf)).Flen1 == (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize {
  46328. if (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed != 0 {
  46329. return m_FcFalse
  46330. }
  46331. if (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated != 0 {
  46332. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize * int32(2)
  46333. new1 = libc.Xrealloc(tls, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, uint64(size))
  46334. } else {
  46335. size = (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize + int32(64)
  46336. new1 = libc.Xmalloc(tls, uint64(size))
  46337. if new1 != 0 {
  46338. (*TFcStrBuf)(unsafe.Pointer(buf)).Fallocated = int32(m_FcTrue)
  46339. libc.X__builtin___memcpy_chk(tls, new1, (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf, uint64((*TFcStrBuf)(unsafe.Pointer(buf)).Flen1), uint64(libc.X__builtin_object_size(tls, new1, 0)))
  46340. }
  46341. }
  46342. if !(new1 != 0) {
  46343. (*TFcStrBuf)(unsafe.Pointer(buf)).Ffailed = int32(m_FcTrue)
  46344. return m_FcFalse
  46345. }
  46346. (*TFcStrBuf)(unsafe.Pointer(buf)).Fsize = size
  46347. (*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf = new1
  46348. }
  46349. v2 = buf + 16
  46350. v1 = *(*int32)(unsafe.Pointer(v2))
  46351. *(*int32)(unsafe.Pointer(v2))++
  46352. *(*TFcChar8)(unsafe.Pointer((*TFcStrBuf)(unsafe.Pointer(buf)).Fbuf + uintptr(v1))) = c
  46353. return int32(m_FcTrue)
  46354. }
  46355. func XFcStrBufString(tls *libc.TLS, buf uintptr, s uintptr) (r TFcBool) {
  46356. var c, v1 TFcChar8
  46357. var v2 uintptr
  46358. _, _, _ = c, v1, v2
  46359. for {
  46360. v2 = s
  46361. s++
  46362. v1 = *(*TFcChar8)(unsafe.Pointer(v2))
  46363. c = v1
  46364. if !(v1 != 0) {
  46365. break
  46366. }
  46367. if !(XFcStrBufChar(tls, buf, c) != 0) {
  46368. return m_FcFalse
  46369. }
  46370. }
  46371. return int32(m_FcTrue)
  46372. }
  46373. func XFcStrBufData(tls *libc.TLS, buf uintptr, s uintptr, len1 int32) (r TFcBool) {
  46374. var v1 int32
  46375. var v2 uintptr
  46376. _, _ = v1, v2
  46377. for {
  46378. v1 = len1
  46379. len1--
  46380. if !(v1 > 0) {
  46381. break
  46382. }
  46383. v2 = s
  46384. s++
  46385. if !(XFcStrBufChar(tls, buf, *(*TFcChar8)(unsafe.Pointer(v2))) != 0) {
  46386. return m_FcFalse
  46387. }
  46388. }
  46389. return int32(m_FcTrue)
  46390. }
  46391. func XFcStrUsesHome(tls *libc.TLS, s uintptr) (r TFcBool) {
  46392. return libc.BoolInt32(int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~'))
  46393. }
  46394. func XFcStrIsAbsoluteFilename(tls *libc.TLS, s uintptr) (r TFcBool) {
  46395. return libc.BoolInt32(int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/'))
  46396. }
  46397. func XFcStrBuildFilename(tls *libc.TLS, path uintptr, va uintptr) (r uintptr) {
  46398. var ap Tva_list
  46399. var len1 Tsize_t
  46400. var list, p, ret, s, sset, v1, v2 uintptr
  46401. _, _, _, _, _, _, _, _, _ = ap, len1, list, p, ret, s, sset, v1, v2
  46402. ret = libc.UintptrFromInt32(0)
  46403. len1 = uint64(0)
  46404. if !(path != 0) {
  46405. return libc.UintptrFromInt32(0)
  46406. }
  46407. sset = XFcStrSetCreateEx(tls, uint32(libc.Int32FromInt32(m_FCSS_ALLOW_DUPLICATES)|libc.Int32FromInt32(m_FCSS_GROW_BY_64)))
  46408. if !(sset != 0) {
  46409. return libc.UintptrFromInt32(0)
  46410. }
  46411. if !(XFcStrSetAdd(tls, sset, path) != 0) {
  46412. goto bail0
  46413. }
  46414. ap = va
  46415. for int32(1) != 0 {
  46416. s = libc.VaUintptr(&ap)
  46417. if !(s != 0) {
  46418. break
  46419. }
  46420. if !(XFcStrSetAdd(tls, sset, s) != 0) {
  46421. goto bail1
  46422. }
  46423. }
  46424. list = XFcStrListCreate(tls, sset)
  46425. for {
  46426. v1 = XFcStrListNext(tls, list)
  46427. s = v1
  46428. if !(v1 != 0) {
  46429. break
  46430. }
  46431. len1 += libc.Xstrlen(tls, s) + uint64(1)
  46432. }
  46433. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  46434. ret = libc.Xmalloc(tls, uint64(1)*(len1+uint64(1)))
  46435. if !(ret != 0) {
  46436. goto bail2
  46437. }
  46438. p = ret
  46439. for {
  46440. v2 = XFcStrListNext(tls, list)
  46441. s = v2
  46442. if !(v2 != 0) {
  46443. break
  46444. }
  46445. if p != ret {
  46446. *(*TFcChar8)(unsafe.Pointer(p)) = uint8('/')
  46447. p++
  46448. }
  46449. len1 = libc.Xstrlen(tls, s)
  46450. libc.X__builtin___memcpy_chk(tls, p, s, len1, uint64(libc.X__builtin_object_size(tls, p, 0)))
  46451. p += uintptr(len1)
  46452. }
  46453. *(*TFcChar8)(unsafe.Pointer(p)) = uint8(0)
  46454. goto bail2
  46455. bail2:
  46456. ;
  46457. XFcStrListDone(tls, list)
  46458. goto bail1
  46459. bail1:
  46460. ;
  46461. _ = ap
  46462. goto bail0
  46463. bail0:
  46464. ;
  46465. XFcStrSetDestroy(tls, sset)
  46466. return ret
  46467. }
  46468. func XFcStrCopyFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  46469. var full, home, new1 uintptr
  46470. var size int32
  46471. _, _, _, _ = full, home, new1, size
  46472. if int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('~') {
  46473. home = XFcConfigHome(tls)
  46474. if !(home != 0) {
  46475. return libc.UintptrFromInt32(0)
  46476. }
  46477. size = int32(libc.Xstrlen(tls, home) + libc.Xstrlen(tls, s))
  46478. full = libc.Xmalloc(tls, uint64(size+int32(1)))
  46479. if !(full != 0) {
  46480. return libc.UintptrFromInt32(0)
  46481. }
  46482. libc.X__builtin___strcpy_chk(tls, full, home, libc.X__builtin_object_size(tls, full, int32(1)))
  46483. libc.X__builtin___strcat_chk(tls, full, s+uintptr(1), libc.X__builtin_object_size(tls, full, int32(1)))
  46484. new1 = XFcStrCanonFilename(tls, full)
  46485. libc.Xfree(tls, full)
  46486. } else {
  46487. new1 = XFcStrCanonFilename(tls, s)
  46488. }
  46489. return new1
  46490. }
  46491. func XFcStrLastSlash(tls *libc.TLS, path uintptr) (r uintptr) {
  46492. var slash uintptr
  46493. _ = slash
  46494. slash = libc.Xstrrchr(tls, path, int32('/'))
  46495. return slash
  46496. }
  46497. func XFcStrDirname(tls *libc.TLS, file uintptr) (r uintptr) {
  46498. var dir, slash uintptr
  46499. _, _ = dir, slash
  46500. slash = XFcStrLastSlash(tls, file)
  46501. if !(slash != 0) {
  46502. return XFcStrCopy(tls, __ccgo_ts+6984)
  46503. }
  46504. dir = libc.Xmalloc(tls, uint64(int64(slash)-int64(file)+int64(1)))
  46505. if !(dir != 0) {
  46506. return uintptr(0)
  46507. }
  46508. libc.X__builtin___strncpy_chk(tls, dir, file, uint64(int64(slash)-int64(file)), uint64(libc.X__builtin_object_size(tls, dir, int32(1))))
  46509. *(*TFcChar8)(unsafe.Pointer(dir + uintptr(int64(slash)-int64(file)))) = uint8('\000')
  46510. return dir
  46511. }
  46512. func XFcStrBasename(tls *libc.TLS, file uintptr) (r uintptr) {
  46513. var slash uintptr
  46514. _ = slash
  46515. slash = XFcStrLastSlash(tls, file)
  46516. if !(slash != 0) {
  46517. return XFcStrCopy(tls, file)
  46518. }
  46519. return XFcStrCopy(tls, slash+uintptr(1))
  46520. }
  46521. func XFcStrRealPath(tls *libc.TLS, path uintptr) (r uintptr) {
  46522. bp := tls.Alloc(144)
  46523. defer tls.Free(144)
  46524. var resolved_ret uintptr
  46525. var _ /* resolved_name at bp+0 */ [129]int8
  46526. _ = resolved_ret
  46527. if !(path != 0) {
  46528. return libc.UintptrFromInt32(0)
  46529. }
  46530. resolved_ret = libc.Xrealpath(tls, path, bp)
  46531. if resolved_ret != 0 {
  46532. path = resolved_ret
  46533. }
  46534. return XFcStrCopyFilename(tls, path)
  46535. }
  46536. func _FcStrCanonAbsoluteFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  46537. var f, file, slash, v2, v4, v5 uintptr
  46538. var size int32
  46539. var v3 TFcChar8
  46540. _, _, _, _, _, _, _, _ = f, file, size, slash, v2, v3, v4, v5
  46541. size = int32(libc.Xstrlen(tls, s) + uint64(1))
  46542. file = libc.Xmalloc(tls, uint64(size))
  46543. if !(file != 0) {
  46544. return libc.UintptrFromInt32(0)
  46545. }
  46546. slash = libc.UintptrFromInt32(0)
  46547. f = file
  46548. for {
  46549. if int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') || int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('\000') {
  46550. if slash != 0 {
  46551. switch int64(s) - int64(slash) {
  46552. case int64(1):
  46553. f -= uintptr(1) /* squash // and trim final / from file */
  46554. case int64(2):
  46555. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6986, uint64(2)) != 0) {
  46556. f -= uintptr(2) /* trim /. from file */
  46557. }
  46558. case int64(3):
  46559. if !(libc.Xstrncmp(tls, slash, __ccgo_ts+6989, uint64(3)) != 0) {
  46560. f -= uintptr(3) /* trim /.. from file */
  46561. for f > file {
  46562. f--
  46563. v2 = f
  46564. if int32(*(*TFcChar8)(unsafe.Pointer(v2))) == int32('/') {
  46565. break
  46566. }
  46567. }
  46568. }
  46569. break
  46570. }
  46571. }
  46572. slash = s
  46573. }
  46574. v4 = s
  46575. s++
  46576. v3 = *(*TFcChar8)(unsafe.Pointer(v4))
  46577. v5 = f
  46578. f++
  46579. *(*TFcChar8)(unsafe.Pointer(v5)) = v3
  46580. if !(v3 != 0) {
  46581. break
  46582. }
  46583. goto _1
  46584. _1:
  46585. }
  46586. return file
  46587. }
  46588. func XFcStrCanonFilename(tls *libc.TLS, s uintptr) (r uintptr) {
  46589. bp := tls.Alloc(4128)
  46590. defer tls.Free(4128)
  46591. var file, full uintptr
  46592. var _ /* cwd at bp+0 */ [4098]TFcChar8
  46593. _, _ = file, full
  46594. if int32(*(*TFcChar8)(unsafe.Pointer(s))) == int32('/') {
  46595. return _FcStrCanonAbsoluteFilename(tls, s)
  46596. } else {
  46597. if libc.Xgetcwd(tls, bp, uint64(m_FC_MAX_FILE_LEN)) == libc.UintptrFromInt32(0) {
  46598. return libc.UintptrFromInt32(0)
  46599. }
  46600. full = XFcStrBuildFilename(tls, bp, libc.VaList(bp+4112, s, libc.UintptrFromInt32(0)))
  46601. file = _FcStrCanonAbsoluteFilename(tls, full)
  46602. XFcStrFree(tls, full)
  46603. return file
  46604. }
  46605. return r
  46606. }
  46607. func XFcStrSetCreate(tls *libc.TLS) (r uintptr) {
  46608. return XFcStrSetCreateEx(tls, uint32(m_FCSS_DEFAULT))
  46609. }
  46610. func XFcStrSetCreateEx(tls *libc.TLS, control uint32) (r uintptr) {
  46611. var set uintptr
  46612. _ = set
  46613. set = libc.Xmalloc(tls, uint64(32))
  46614. if !(set != 0) {
  46615. return uintptr(0)
  46616. }
  46617. (*TFcRef)(unsafe.Pointer(set)).Fcount = int32(1)
  46618. (*TFcStrSet)(unsafe.Pointer(set)).Fnum = 0
  46619. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = 0
  46620. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = uintptr(0)
  46621. (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol = control
  46622. return set
  46623. }
  46624. func __FcStrSetGrow(tls *libc.TLS, set uintptr, growElements int32) (r TFcBool) {
  46625. var strs uintptr
  46626. _ = strs
  46627. /* accommodate an additional NULL entry at the end of the array */
  46628. strs = libc.Xmalloc(tls, uint64((*TFcStrSet)(unsafe.Pointer(set)).Fsize+growElements+libc.Int32FromInt32(1))*uint64(8))
  46629. if !(strs != 0) {
  46630. return m_FcFalse
  46631. }
  46632. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum != 0 {
  46633. libc.X__builtin___memcpy_chk(tls, strs, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs, uint64((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*uint64(8), uint64(libc.X__builtin_object_size(tls, strs, 0)))
  46634. }
  46635. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  46636. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  46637. }
  46638. (*TFcStrSet)(unsafe.Pointer(set)).Fsize = (*TFcStrSet)(unsafe.Pointer(set)).Fsize + growElements
  46639. (*TFcStrSet)(unsafe.Pointer(set)).Fstrs = strs
  46640. return int32(m_FcTrue)
  46641. }
  46642. func __FcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  46643. var growElements, i, v1, v2 int32
  46644. var v3 uintptr
  46645. _, _, _, _, _ = growElements, i, v1, v2, v3
  46646. if !((*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&libc.Uint32FromInt32(m_FCSS_ALLOW_DUPLICATES) != 0) {
  46647. if XFcStrSetMember(tls, set, s) != 0 {
  46648. XFcStrFree(tls, s)
  46649. return int32(m_FcTrue)
  46650. }
  46651. }
  46652. if (*TFcStrSet)(unsafe.Pointer(set)).Fnum == (*TFcStrSet)(unsafe.Pointer(set)).Fsize {
  46653. if (*TFcStrSet)(unsafe.Pointer(set)).Fcontrol&uint32(m_FCSS_GROW_BY_64) != 0 {
  46654. v1 = int32(64)
  46655. } else {
  46656. v1 = int32(1)
  46657. }
  46658. growElements = v1
  46659. if !(__FcStrSetGrow(tls, set, growElements) != 0) {
  46660. return m_FcFalse
  46661. }
  46662. }
  46663. if pos >= (*TFcStrSet)(unsafe.Pointer(set)).Fnum {
  46664. v3 = set + 4
  46665. v2 = *(*int32)(unsafe.Pointer(v3))
  46666. *(*int32)(unsafe.Pointer(v3))++
  46667. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(v2)*8)) = s
  46668. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  46669. } else {
  46670. (*TFcStrSet)(unsafe.Pointer(set)).Fnum++
  46671. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr((*TFcStrSet)(unsafe.Pointer(set)).Fnum)*8)) = uintptr(0)
  46672. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum - int32(1)
  46673. for {
  46674. if !(i > pos) {
  46675. break
  46676. }
  46677. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8))
  46678. goto _4
  46679. _4:
  46680. ;
  46681. i--
  46682. }
  46683. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(pos)*8)) = s
  46684. }
  46685. return int32(m_FcTrue)
  46686. }
  46687. func XFcStrSetMember(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  46688. var i int32
  46689. _ = i
  46690. i = 0
  46691. for {
  46692. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  46693. break
  46694. }
  46695. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  46696. return int32(m_FcTrue)
  46697. }
  46698. goto _1
  46699. _1:
  46700. ;
  46701. i++
  46702. }
  46703. return m_FcFalse
  46704. }
  46705. func _fc_strcmp_r(tls *libc.TLS, s1 uintptr, s2 uintptr, ret uintptr) (r int32) {
  46706. var c1, c2 TFcChar8
  46707. var v2, v3 uintptr
  46708. _, _, _, _ = c1, c2, v2, v3
  46709. if s1 == s2 {
  46710. if ret != 0 {
  46711. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  46712. }
  46713. return 0
  46714. }
  46715. for {
  46716. if s1 != 0 {
  46717. v2 = s1
  46718. s1++
  46719. c1 = *(*TFcChar8)(unsafe.Pointer(v2))
  46720. } else {
  46721. c1 = uint8(0)
  46722. }
  46723. if s2 != 0 {
  46724. v3 = s2
  46725. s2++
  46726. c2 = *(*TFcChar8)(unsafe.Pointer(v3))
  46727. } else {
  46728. c2 = uint8(0)
  46729. }
  46730. if !(c1 != 0) || int32(c1) != int32(c2) {
  46731. break
  46732. }
  46733. goto _1
  46734. _1:
  46735. }
  46736. if ret != 0 {
  46737. *(*uintptr)(unsafe.Pointer(ret)) = s1
  46738. }
  46739. return int32(c1) - int32(c2)
  46740. }
  46741. func XFcStrSetMemberAB(tls *libc.TLS, set uintptr, a uintptr, b uintptr, ret uintptr) (r TFcBool) {
  46742. bp := tls.Alloc(16)
  46743. defer tls.Free(16)
  46744. var i int32
  46745. var _ /* s at bp+0 */ uintptr
  46746. _ = i
  46747. *(*uintptr)(unsafe.Pointer(bp)) = libc.UintptrFromInt32(0)
  46748. i = 0
  46749. for {
  46750. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  46751. break
  46752. }
  46753. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), a, bp) != 0) && *(*uintptr)(unsafe.Pointer(bp)) != 0 {
  46754. if !(_fc_strcmp_r(tls, *(*uintptr)(unsafe.Pointer(bp)), b, libc.UintptrFromInt32(0)) != 0) {
  46755. if ret != 0 {
  46756. *(*uintptr)(unsafe.Pointer(ret)) = *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8))
  46757. }
  46758. return int32(m_FcTrue)
  46759. }
  46760. }
  46761. goto _1
  46762. _1:
  46763. ;
  46764. i++
  46765. }
  46766. if ret != 0 {
  46767. *(*uintptr)(unsafe.Pointer(ret)) = libc.UintptrFromInt32(0)
  46768. }
  46769. return m_FcFalse
  46770. }
  46771. func XFcStrSetEqual(tls *libc.TLS, sa uintptr, sb uintptr) (r TFcBool) {
  46772. var i int32
  46773. _ = i
  46774. if (*TFcStrSet)(unsafe.Pointer(sa)).Fnum != (*TFcStrSet)(unsafe.Pointer(sb)).Fnum {
  46775. return m_FcFalse
  46776. }
  46777. i = 0
  46778. for {
  46779. if !(i < (*TFcStrSet)(unsafe.Pointer(sa)).Fnum) {
  46780. break
  46781. }
  46782. if !(XFcStrSetMember(tls, sb, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(sa)).Fstrs + uintptr(i)*8))) != 0) {
  46783. return m_FcFalse
  46784. }
  46785. goto _1
  46786. _1:
  46787. ;
  46788. i++
  46789. }
  46790. return int32(m_FcTrue)
  46791. }
  46792. func XFcStrSetAdd(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  46793. var new1 uintptr
  46794. _ = new1
  46795. new1 = XFcStrCopy(tls, s)
  46796. if !(new1 != 0) {
  46797. return m_FcFalse
  46798. }
  46799. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  46800. XFcStrFree(tls, new1)
  46801. return m_FcFalse
  46802. }
  46803. return int32(m_FcTrue)
  46804. }
  46805. func XFcStrSetInsert(tls *libc.TLS, set uintptr, s uintptr, pos int32) (r TFcBool) {
  46806. var new1 uintptr
  46807. _ = new1
  46808. new1 = XFcStrCopy(tls, s)
  46809. if !(new1 != 0) {
  46810. return m_FcFalse
  46811. }
  46812. if !(__FcStrSetInsert(tls, set, new1, pos) != 0) {
  46813. XFcStrFree(tls, new1)
  46814. return m_FcFalse
  46815. }
  46816. return int32(m_FcTrue)
  46817. }
  46818. func XFcStrSetAddTriple(tls *libc.TLS, set uintptr, a uintptr, b uintptr, c uintptr) (r TFcBool) {
  46819. var new1 uintptr
  46820. _ = new1
  46821. new1 = _FcStrMakeTriple(tls, a, b, c)
  46822. if !(new1 != 0) {
  46823. return m_FcFalse
  46824. }
  46825. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  46826. XFcStrFree(tls, new1)
  46827. return m_FcFalse
  46828. }
  46829. return int32(m_FcTrue)
  46830. }
  46831. func XFcStrTripleSecond(tls *libc.TLS, str uintptr) (r uintptr) {
  46832. var second uintptr
  46833. _ = second
  46834. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  46835. if int32(*(*TFcChar8)(unsafe.Pointer(second))) == int32('\000') {
  46836. return uintptr(0)
  46837. }
  46838. return second
  46839. }
  46840. func XFcStrTripleThird(tls *libc.TLS, str uintptr) (r uintptr) {
  46841. var second, third uintptr
  46842. _, _ = second, third
  46843. second = str + uintptr(libc.Xstrlen(tls, str)) + uintptr(1)
  46844. third = second + uintptr(libc.Xstrlen(tls, second)) + uintptr(1)
  46845. if int32(*(*TFcChar8)(unsafe.Pointer(third))) == int32('\000') {
  46846. return uintptr(0)
  46847. }
  46848. return third
  46849. }
  46850. func XFcStrSetAddFilename(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  46851. var new1 uintptr
  46852. _ = new1
  46853. new1 = XFcStrCopyFilename(tls, s)
  46854. if !(new1 != 0) {
  46855. return m_FcFalse
  46856. }
  46857. if !(__FcStrSetInsert(tls, set, new1, (*TFcStrSet)(unsafe.Pointer(set)).Fnum) != 0) {
  46858. XFcStrFree(tls, new1)
  46859. return m_FcFalse
  46860. }
  46861. return int32(m_FcTrue)
  46862. }
  46863. func XFcStrSetAddFilenamePairWithSalt(tls *libc.TLS, set uintptr, a uintptr, b uintptr, salt uintptr) (r TFcBool) {
  46864. var new_a, new_b uintptr
  46865. var ret TFcBool
  46866. _, _, _ = new_a, new_b, ret
  46867. new_a = libc.UintptrFromInt32(0)
  46868. new_b = libc.UintptrFromInt32(0)
  46869. if a != 0 {
  46870. new_a = XFcStrCopyFilename(tls, a)
  46871. if !(new_a != 0) {
  46872. return m_FcFalse
  46873. }
  46874. }
  46875. if b != 0 {
  46876. new_b = XFcStrCopyFilename(tls, b)
  46877. if !(new_b != 0) {
  46878. if new_a != 0 {
  46879. XFcStrFree(tls, new_a)
  46880. }
  46881. return m_FcFalse
  46882. }
  46883. }
  46884. /* Override maps with new one if exists */
  46885. XFcStrSetDel(tls, set, new_a)
  46886. ret = XFcStrSetAddTriple(tls, set, new_a, new_b, salt)
  46887. if new_a != 0 {
  46888. XFcStrFree(tls, new_a)
  46889. }
  46890. if new_b != 0 {
  46891. XFcStrFree(tls, new_b)
  46892. }
  46893. return ret
  46894. }
  46895. func XFcStrSetAddLangs(tls *libc.TLS, strs uintptr, languages uintptr) (r TFcBool) {
  46896. bp := tls.Alloc(128)
  46897. defer tls.Free(128)
  46898. var len1 Tsize_t
  46899. var next, normalized_lang, p, v1 uintptr
  46900. var ret TFcBool
  46901. var v2 uint64
  46902. var _ /* lang at bp+0 */ [128]TFcChar8
  46903. _, _, _, _, _, _, _ = len1, next, normalized_lang, p, ret, v1, v2
  46904. p = languages
  46905. *(*[128]TFcChar8)(unsafe.Pointer(bp)) = [128]TFcChar8{}
  46906. ret = m_FcFalse
  46907. if !(languages != 0) {
  46908. return m_FcFalse
  46909. }
  46910. for {
  46911. v1 = libc.Xstrchr(tls, p, int32(':'))
  46912. next = v1
  46913. if !(v1 != 0) {
  46914. break
  46915. }
  46916. len1 = uint64(int64(next) - int64(p))
  46917. if len1 < uint64(libc.Int32FromInt32(127)) {
  46918. v2 = len1
  46919. } else {
  46920. v2 = uint64(libc.Int32FromInt32(127))
  46921. }
  46922. len1 = v2
  46923. libc.X__builtin___strncpy_chk(tls, bp, p, len1, uint64(libc.X__builtin_object_size(tls, bp, int32(1))))
  46924. (*(*[128]TFcChar8)(unsafe.Pointer(bp)))[len1] = uint8(0)
  46925. /* ignore an empty item */
  46926. if *(*TFcChar8)(unsafe.Pointer(bp)) != 0 {
  46927. normalized_lang = XFcLangNormalize(tls, bp)
  46928. if normalized_lang != 0 {
  46929. XFcStrSetAdd(tls, strs, normalized_lang)
  46930. XFcStrFree(tls, normalized_lang)
  46931. ret = int32(m_FcTrue)
  46932. }
  46933. }
  46934. p = next + uintptr(1)
  46935. }
  46936. if *(*int8)(unsafe.Pointer(p)) != 0 {
  46937. normalized_lang = XFcLangNormalize(tls, p)
  46938. if normalized_lang != 0 {
  46939. XFcStrSetAdd(tls, strs, normalized_lang)
  46940. XFcStrFree(tls, normalized_lang)
  46941. ret = int32(m_FcTrue)
  46942. }
  46943. }
  46944. return ret
  46945. }
  46946. func XFcStrSetDel(tls *libc.TLS, set uintptr, s uintptr) (r TFcBool) {
  46947. var i int32
  46948. _ = i
  46949. i = 0
  46950. for {
  46951. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  46952. break
  46953. }
  46954. if !(XFcStrCmp(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)), s) != 0) {
  46955. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  46956. /*
  46957. * copy remaining string pointers and trailing
  46958. * NULL
  46959. */
  46960. libc.X__builtin___memmove_chk(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i+int32(1))*8, uint64((*TFcStrSet)(unsafe.Pointer(set)).Fnum-i)*uint64(8), uint64(libc.X__builtin_object_size(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs+uintptr(i)*8, 0)))
  46961. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  46962. return int32(m_FcTrue)
  46963. }
  46964. goto _1
  46965. _1:
  46966. ;
  46967. i++
  46968. }
  46969. return m_FcFalse
  46970. }
  46971. func XFcStrSetDeleteAll(tls *libc.TLS, set uintptr) (r TFcBool) {
  46972. var i int32
  46973. var v1 TFcBool
  46974. _, _ = i, v1
  46975. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  46976. goto _2
  46977. _2:
  46978. if v1 != 0 {
  46979. return m_FcFalse
  46980. }
  46981. i = (*TFcStrSet)(unsafe.Pointer(set)).Fnum
  46982. for {
  46983. if !(i > 0) {
  46984. break
  46985. }
  46986. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i-int32(1))*8)))
  46987. (*TFcStrSet)(unsafe.Pointer(set)).Fnum--
  46988. goto _3
  46989. _3:
  46990. ;
  46991. i--
  46992. }
  46993. return int32(m_FcTrue)
  46994. }
  46995. // C documentation
  46996. //
  46997. // /* TODO Make public */
  46998. func _FcStrSetReference(tls *libc.TLS, set uintptr) (r uintptr) {
  46999. var v1 TFcBool
  47000. var p4 uintptr
  47001. _, _ = v1, p4
  47002. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  47003. goto _2
  47004. _2:
  47005. if v1 != 0 {
  47006. return set
  47007. }
  47008. p4 = set
  47009. *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) += +libc.Int32FromInt32(1)
  47010. _ = *(*Tfc_atomic_int_t)(unsafe.Pointer(p4)) - +libc.Int32FromInt32(1)
  47011. goto _3
  47012. _3:
  47013. ;
  47014. return set
  47015. }
  47016. func XFcStrSetDestroy(tls *libc.TLS, set uintptr) {
  47017. var i, v3 int32
  47018. var v1 TFcBool
  47019. var p5 uintptr
  47020. _, _, _, _ = i, v1, v3, p5
  47021. /* We rely on this in FcGetDefaultLangs for caching. */
  47022. v1 = libc.BoolInt32((*TFcRef)(unsafe.Pointer(set)).Fcount == -libc.Int32FromInt32(1))
  47023. goto _2
  47024. _2:
  47025. if v1 != 0 {
  47026. return
  47027. }
  47028. p5 = set
  47029. *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) += -int32(1)
  47030. v3 = *(*Tfc_atomic_int_t)(unsafe.Pointer(p5)) - -int32(1)
  47031. goto _4
  47032. _4:
  47033. if v3 != int32(1) {
  47034. return
  47035. }
  47036. i = 0
  47037. for {
  47038. if !(i < (*TFcStrSet)(unsafe.Pointer(set)).Fnum) {
  47039. break
  47040. }
  47041. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(set)).Fstrs + uintptr(i)*8)))
  47042. goto _6
  47043. _6:
  47044. ;
  47045. i++
  47046. }
  47047. if (*TFcStrSet)(unsafe.Pointer(set)).Fstrs != 0 {
  47048. libc.Xfree(tls, (*TFcStrSet)(unsafe.Pointer(set)).Fstrs)
  47049. }
  47050. libc.Xfree(tls, set)
  47051. }
  47052. func XFcStrListCreate(tls *libc.TLS, set uintptr) (r uintptr) {
  47053. var list uintptr
  47054. _ = list
  47055. list = libc.Xmalloc(tls, uint64(16))
  47056. if !(list != 0) {
  47057. return uintptr(0)
  47058. }
  47059. (*TFcStrList)(unsafe.Pointer(list)).Fset = set
  47060. _FcStrSetReference(tls, set)
  47061. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  47062. return list
  47063. }
  47064. func XFcStrListFirst(tls *libc.TLS, list uintptr) {
  47065. (*TFcStrList)(unsafe.Pointer(list)).Fn = 0
  47066. }
  47067. func XFcStrListNext(tls *libc.TLS, list uintptr) (r uintptr) {
  47068. var v1 int32
  47069. var v2 uintptr
  47070. _, _ = v1, v2
  47071. if (*TFcStrList)(unsafe.Pointer(list)).Fn >= (*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fnum {
  47072. return uintptr(0)
  47073. }
  47074. v2 = list + 8
  47075. v1 = *(*int32)(unsafe.Pointer(v2))
  47076. *(*int32)(unsafe.Pointer(v2))++
  47077. return *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer((*TFcStrList)(unsafe.Pointer(list)).Fset)).Fstrs + uintptr(v1)*8))
  47078. }
  47079. func XFcStrListDone(tls *libc.TLS, list uintptr) {
  47080. XFcStrSetDestroy(tls, (*TFcStrList)(unsafe.Pointer(list)).Fset)
  47081. libc.Xfree(tls, list)
  47082. }
  47083. const m_FC_DIR_SEPARATOR4 = '/'
  47084. var _map = [13]struct {
  47085. Fot int32
  47086. Ffc int32
  47087. }{
  47088. 0: {},
  47089. 1: {
  47090. Fot: int32(100),
  47091. },
  47092. 2: {
  47093. Fot: int32(200),
  47094. Ffc: int32(m_FC_WEIGHT_EXTRALIGHT),
  47095. },
  47096. 3: {
  47097. Fot: int32(300),
  47098. Ffc: int32(m_FC_WEIGHT_LIGHT),
  47099. },
  47100. 4: {
  47101. Fot: int32(350),
  47102. Ffc: int32(m_FC_WEIGHT_DEMILIGHT),
  47103. },
  47104. 5: {
  47105. Fot: int32(380),
  47106. Ffc: int32(m_FC_WEIGHT_BOOK),
  47107. },
  47108. 6: {
  47109. Fot: int32(400),
  47110. Ffc: int32(m_FC_WEIGHT_REGULAR),
  47111. },
  47112. 7: {
  47113. Fot: int32(500),
  47114. Ffc: int32(m_FC_WEIGHT_MEDIUM),
  47115. },
  47116. 8: {
  47117. Fot: int32(600),
  47118. Ffc: int32(m_FC_WEIGHT_DEMIBOLD),
  47119. },
  47120. 9: {
  47121. Fot: int32(700),
  47122. Ffc: int32(m_FC_WEIGHT_BOLD),
  47123. },
  47124. 10: {
  47125. Fot: int32(800),
  47126. Ffc: int32(m_FC_WEIGHT_EXTRABOLD),
  47127. },
  47128. 11: {
  47129. Fot: int32(900),
  47130. Ffc: int32(m_FC_WEIGHT_BLACK),
  47131. },
  47132. 12: {
  47133. Fot: int32(1000),
  47134. Ffc: int32(m_FC_WEIGHT_EXTRABLACK),
  47135. },
  47136. }
  47137. func _lerp(tls *libc.TLS, x float64, x1 int32, x2 int32, y1 int32, y2 int32) (r float64) {
  47138. var dx, dy int32
  47139. _, _ = dx, dy
  47140. dx = x2 - x1
  47141. dy = y2 - y1
  47142. return float64(y1) + (x-float64(x1))*float64(dy)/float64(dx)
  47143. }
  47144. func XFcWeightFromOpenTypeDouble(tls *libc.TLS, ot_weight float64) (r float64) {
  47145. var i int32
  47146. var v1 float64
  47147. _, _ = i, v1
  47148. if ot_weight < libc.Float64FromInt32(0) {
  47149. return float64(-libc.Int32FromInt32(1))
  47150. }
  47151. if ot_weight < float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot) {
  47152. v1 = ot_weight
  47153. } else {
  47154. v1 = float64(_map[libc.Uint64FromInt64(104)/libc.Uint64FromInt64(8)-libc.Uint64FromInt32(1)].Fot)
  47155. }
  47156. ot_weight = v1
  47157. i = int32(1)
  47158. for {
  47159. if !(ot_weight > float64(_map[i].Fot)) {
  47160. break
  47161. }
  47162. goto _2
  47163. _2:
  47164. ;
  47165. i++
  47166. }
  47167. if ot_weight == float64(_map[i].Fot) {
  47168. return float64(_map[i].Ffc)
  47169. }
  47170. /* Interpolate between two items. */
  47171. return _lerp(tls, ot_weight, _map[i-int32(1)].Fot, _map[i].Fot, _map[i-int32(1)].Ffc, _map[i].Ffc)
  47172. }
  47173. func XFcWeightToOpenTypeDouble(tls *libc.TLS, fc_weight float64) (r float64) {
  47174. var i int32
  47175. _ = i
  47176. if fc_weight < libc.Float64FromInt32(0) || fc_weight > libc.Float64FromInt32(m_FC_WEIGHT_EXTRABLACK) {
  47177. return float64(-libc.Int32FromInt32(1))
  47178. }
  47179. i = int32(1)
  47180. for {
  47181. if !(fc_weight > float64(_map[i].Ffc)) {
  47182. break
  47183. }
  47184. goto _1
  47185. _1:
  47186. ;
  47187. i++
  47188. }
  47189. if fc_weight == float64(_map[i].Ffc) {
  47190. return float64(_map[i].Fot)
  47191. }
  47192. /* Interpolate between two items. */
  47193. return _lerp(tls, fc_weight, _map[i-int32(1)].Ffc, _map[i].Ffc, _map[i-int32(1)].Fot, _map[i].Fot)
  47194. }
  47195. func XFcWeightFromOpenType(tls *libc.TLS, ot_weight int32) (r int32) {
  47196. return int32(XFcWeightFromOpenTypeDouble(tls, float64(ot_weight)) + float64(0.5))
  47197. }
  47198. func XFcWeightToOpenType(tls *libc.TLS, fc_weight int32) (r int32) {
  47199. return int32(XFcWeightToOpenTypeDouble(tls, float64(fc_weight)) + float64(0.5))
  47200. }
  47201. const m_API_TO_BE_DEPRECATED = 100000
  47202. const m_API_TO_BE_DEPRECATED_DRIVERKIT = 100000
  47203. const m_API_TO_BE_DEPRECATED_IOS = 100000
  47204. const m_API_TO_BE_DEPRECATED_MACOS = 100000
  47205. const m_API_TO_BE_DEPRECATED_TVOS = 100000
  47206. const m_API_TO_BE_DEPRECATED_VISIONOS = 100000
  47207. const m_API_TO_BE_DEPRECATED_WATCHOS = 100000
  47208. const m_Expat_External_INCLUDED = 1
  47209. const m_Expat_INCLUDED = 1
  47210. const m_FC_DIR_SEPARATOR5 = 47
  47211. const m_HAVE_XMLPARSE_H = 0
  47212. const m_LC_ALL = 0
  47213. const m_LC_COLLATE = 1
  47214. const m_LC_CTYPE = 2
  47215. const m_LC_MESSAGES = 6
  47216. const m_LC_MONETARY = 3
  47217. const m_LC_NUMERIC = 4
  47218. const m_LC_TIME = 5
  47219. const m_TAIL = ".conf"
  47220. const m_TAIL_LEN = 5
  47221. const m_XML_ENABLE_VISIBILITY = 0
  47222. const m_XML_GetErrorByteIndex = "XML_GetCurrentByteIndex"
  47223. const m_XML_GetErrorColumnNumber = "XML_GetCurrentColumnNumber"
  47224. const m_XML_GetErrorLineNumber = "XML_GetCurrentLineNumber"
  47225. const m_XML_MAJOR_VERSION = 2
  47226. const m_XML_MICRO_VERSION = 0
  47227. const m_XML_MINOR_VERSION = 5
  47228. const m__LC_LAST = 7
  47229. type TXML_Char = int8
  47230. type TXML_LChar = int8
  47231. type TXML_Index = int64
  47232. type TXML_Size = uint64
  47233. type TXML_Parser = uintptr
  47234. type TXML_Bool = uint8
  47235. type _XML_Status = int32
  47236. const _XML_STATUS_ERROR = 0
  47237. const _XML_STATUS_OK = 1
  47238. const _XML_STATUS_SUSPENDED = 2
  47239. type _XML_Error = int32
  47240. const _XML_ERROR_NONE = 0
  47241. const _XML_ERROR_NO_MEMORY = 1
  47242. const _XML_ERROR_SYNTAX = 2
  47243. const _XML_ERROR_NO_ELEMENTS = 3
  47244. const _XML_ERROR_INVALID_TOKEN = 4
  47245. const _XML_ERROR_UNCLOSED_TOKEN = 5
  47246. const _XML_ERROR_PARTIAL_CHAR = 6
  47247. const _XML_ERROR_TAG_MISMATCH = 7
  47248. const _XML_ERROR_DUPLICATE_ATTRIBUTE = 8
  47249. const _XML_ERROR_JUNK_AFTER_DOC_ELEMENT = 9
  47250. const _XML_ERROR_PARAM_ENTITY_REF = 10
  47251. const _XML_ERROR_UNDEFINED_ENTITY = 11
  47252. const _XML_ERROR_RECURSIVE_ENTITY_REF = 12
  47253. const _XML_ERROR_ASYNC_ENTITY = 13
  47254. const _XML_ERROR_BAD_CHAR_REF = 14
  47255. const _XML_ERROR_BINARY_ENTITY_REF = 15
  47256. const _XML_ERROR_ATTRIBUTE_EXTERNAL_ENTITY_REF = 16
  47257. const _XML_ERROR_MISPLACED_XML_PI = 17
  47258. const _XML_ERROR_UNKNOWN_ENCODING = 18
  47259. const _XML_ERROR_INCORRECT_ENCODING = 19
  47260. const _XML_ERROR_UNCLOSED_CDATA_SECTION = 20
  47261. const _XML_ERROR_EXTERNAL_ENTITY_HANDLING = 21
  47262. const _XML_ERROR_NOT_STANDALONE = 22
  47263. const _XML_ERROR_UNEXPECTED_STATE = 23
  47264. const _XML_ERROR_ENTITY_DECLARED_IN_PE = 24
  47265. const _XML_ERROR_FEATURE_REQUIRES_XML_DTD = 25
  47266. const _XML_ERROR_CANT_CHANGE_FEATURE_ONCE_PARSING = 26
  47267. const _XML_ERROR_UNBOUND_PREFIX = 27
  47268. const _XML_ERROR_UNDECLARING_PREFIX = 28
  47269. const _XML_ERROR_INCOMPLETE_PE = 29
  47270. const _XML_ERROR_XML_DECL = 30
  47271. const _XML_ERROR_TEXT_DECL = 31
  47272. const _XML_ERROR_PUBLICID = 32
  47273. const _XML_ERROR_SUSPENDED = 33
  47274. const _XML_ERROR_NOT_SUSPENDED = 34
  47275. const _XML_ERROR_ABORTED = 35
  47276. const _XML_ERROR_FINISHED = 36
  47277. const _XML_ERROR_SUSPEND_PE = 37
  47278. const _XML_ERROR_RESERVED_PREFIX_XML = 38
  47279. const _XML_ERROR_RESERVED_PREFIX_XMLNS = 39
  47280. const _XML_ERROR_RESERVED_NAMESPACE_URI = 40
  47281. const _XML_ERROR_INVALID_ARGUMENT = 41
  47282. const _XML_ERROR_NO_BUFFER = 42
  47283. const _XML_ERROR_AMPLIFICATION_LIMIT_BREACH = 43
  47284. type _XML_Content_Type = int32
  47285. const _XML_CTYPE_EMPTY = 1
  47286. const _XML_CTYPE_ANY = 2
  47287. const _XML_CTYPE_MIXED = 3
  47288. const _XML_CTYPE_NAME = 4
  47289. const _XML_CTYPE_CHOICE = 5
  47290. const _XML_CTYPE_SEQ = 6
  47291. type _XML_Content_Quant = int32
  47292. const _XML_CQUANT_NONE = 0
  47293. const _XML_CQUANT_OPT = 1
  47294. const _XML_CQUANT_REP = 2
  47295. const _XML_CQUANT_PLUS = 3
  47296. type TXML_Content = struct {
  47297. Ftype1 _XML_Content_Type
  47298. Fquant _XML_Content_Quant
  47299. Fname uintptr
  47300. Fnumchildren uint32
  47301. Fchildren uintptr
  47302. }
  47303. type TXML_cp = TXML_Content
  47304. type TXML_ElementDeclHandler = uintptr
  47305. type TXML_AttlistDeclHandler = uintptr
  47306. type TXML_XmlDeclHandler = uintptr
  47307. type TXML_Memory_Handling_Suite = struct {
  47308. Fmalloc_fcn uintptr
  47309. Frealloc_fcn uintptr
  47310. Ffree_fcn uintptr
  47311. }
  47312. type TXML_StartElementHandler = uintptr
  47313. type TXML_EndElementHandler = uintptr
  47314. type TXML_CharacterDataHandler = uintptr
  47315. type TXML_ProcessingInstructionHandler = uintptr
  47316. type TXML_CommentHandler = uintptr
  47317. type TXML_StartCdataSectionHandler = uintptr
  47318. type TXML_EndCdataSectionHandler = uintptr
  47319. type TXML_DefaultHandler = uintptr
  47320. type TXML_StartDoctypeDeclHandler = uintptr
  47321. type TXML_EndDoctypeDeclHandler = uintptr
  47322. type TXML_EntityDeclHandler = uintptr
  47323. type TXML_UnparsedEntityDeclHandler = uintptr
  47324. type TXML_NotationDeclHandler = uintptr
  47325. type TXML_StartNamespaceDeclHandler = uintptr
  47326. type TXML_EndNamespaceDeclHandler = uintptr
  47327. type TXML_NotStandaloneHandler = uintptr
  47328. type TXML_ExternalEntityRefHandler = uintptr
  47329. type TXML_SkippedEntityHandler = uintptr
  47330. type TXML_Encoding = struct {
  47331. Fmap1 [256]int32
  47332. Fdata uintptr
  47333. Fconvert uintptr
  47334. Frelease uintptr
  47335. }
  47336. type TXML_UnknownEncodingHandler = uintptr
  47337. type _XML_Parsing = int32
  47338. const _XML_INITIALIZED = 0
  47339. const _XML_PARSING = 1
  47340. const _XML_FINISHED = 2
  47341. const _XML_SUSPENDED = 3
  47342. type TXML_ParsingStatus = struct {
  47343. Fparsing _XML_Parsing
  47344. FfinalBuffer TXML_Bool
  47345. }
  47346. type _XML_ParamEntityParsing = int32
  47347. const _XML_PARAM_ENTITY_PARSING_NEVER = 0
  47348. const _XML_PARAM_ENTITY_PARSING_UNLESS_STANDALONE = 1
  47349. const _XML_PARAM_ENTITY_PARSING_ALWAYS = 2
  47350. type TXML_Expat_Version = struct {
  47351. Fmajor int32
  47352. Fminor int32
  47353. Fmicro int32
  47354. }
  47355. type _XML_FeatureEnum = int32
  47356. const _XML_FEATURE_END = 0
  47357. const _XML_FEATURE_UNICODE = 1
  47358. const _XML_FEATURE_UNICODE_WCHAR_T = 2
  47359. const _XML_FEATURE_DTD = 3
  47360. const _XML_FEATURE_CONTEXT_BYTES = 4
  47361. const _XML_FEATURE_MIN_SIZE = 5
  47362. const _XML_FEATURE_SIZEOF_XML_CHAR = 6
  47363. const _XML_FEATURE_SIZEOF_XML_LCHAR = 7
  47364. const _XML_FEATURE_NS = 8
  47365. const _XML_FEATURE_LARGE_SIZE = 9
  47366. const _XML_FEATURE_ATTR_INFO = 10
  47367. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_MAXIMUM_AMPLIFICATION_DEFAULT = 11
  47368. const _XML_FEATURE_BILLION_LAUGHS_ATTACK_PROTECTION_ACTIVATION_THRESHOLD_DEFAULT = 12
  47369. type TXML_Feature = struct {
  47370. Ffeature _XML_FeatureEnum
  47371. Fname uintptr
  47372. Fvalue int64
  47373. }
  47374. /* Expat follows the semantic versioning convention.
  47375. See http://semver.org.
  47376. */
  47377. var ___fc_userdir = libc.UintptrFromInt32(0)
  47378. var ___fc_userconf = libc.UintptrFromInt32(0)
  47379. func XFcTestDestroy(tls *libc.TLS, test uintptr) {
  47380. _FcExprDestroy(tls, (*TFcTest)(unsafe.Pointer(test)).Fexpr)
  47381. libc.Xfree(tls, test)
  47382. }
  47383. func XFcRuleDestroy(tls *libc.TLS, rule uintptr) {
  47384. var n uintptr
  47385. _ = n
  47386. n = (*TFcRule)(unsafe.Pointer(rule)).Fnext
  47387. switch (*TFcRule)(unsafe.Pointer(rule)).Ftype1 {
  47388. case int32(_FcRuleTest):
  47389. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  47390. case int32(_FcRuleEdit):
  47391. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(rule + 16)))
  47392. case int32(_FcRuleUnknown):
  47393. fallthrough
  47394. default:
  47395. break
  47396. }
  47397. libc.Xfree(tls, rule)
  47398. if n != 0 {
  47399. XFcRuleDestroy(tls, n)
  47400. }
  47401. }
  47402. func _FcExprCreateInteger(tls *libc.TLS, config uintptr, i int32) (r uintptr) {
  47403. var e uintptr
  47404. _ = e
  47405. e = XFcConfigAllocExpr(tls, config)
  47406. if e != 0 {
  47407. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpInteger)
  47408. (*TFcExpr)(unsafe.Pointer(e)).Fu.Fival = i
  47409. }
  47410. return e
  47411. }
  47412. func _FcExprCreateDouble(tls *libc.TLS, config uintptr, d float64) (r uintptr) {
  47413. var e uintptr
  47414. _ = e
  47415. e = XFcConfigAllocExpr(tls, config)
  47416. if e != 0 {
  47417. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpDouble)
  47418. *(*float64)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = d
  47419. }
  47420. return e
  47421. }
  47422. func _FcExprCreateString(tls *libc.TLS, config uintptr, s uintptr) (r uintptr) {
  47423. var e uintptr
  47424. _ = e
  47425. e = XFcConfigAllocExpr(tls, config)
  47426. if e != 0 {
  47427. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpString)
  47428. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, s)
  47429. }
  47430. return e
  47431. }
  47432. func _FcExprMatrixCopyShallow(tls *libc.TLS, matrix uintptr) (r uintptr) {
  47433. var m uintptr
  47434. _ = m
  47435. m = libc.Xmalloc(tls, uint64(32))
  47436. if m != 0 {
  47437. *(*TFcExprMatrix)(unsafe.Pointer(m)) = *(*TFcExprMatrix)(unsafe.Pointer(matrix))
  47438. }
  47439. return m
  47440. }
  47441. func _FcExprMatrixFreeShallow(tls *libc.TLS, m uintptr) {
  47442. if !(m != 0) {
  47443. return
  47444. }
  47445. libc.Xfree(tls, m)
  47446. }
  47447. func _FcExprMatrixFree(tls *libc.TLS, m uintptr) {
  47448. if !(m != 0) {
  47449. return
  47450. }
  47451. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxx)
  47452. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fxy)
  47453. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyx)
  47454. _FcExprDestroy(tls, (*TFcExprMatrix)(unsafe.Pointer(m)).Fyy)
  47455. libc.Xfree(tls, m)
  47456. }
  47457. func _FcExprCreateMatrix(tls *libc.TLS, config uintptr, matrix uintptr) (r uintptr) {
  47458. var e uintptr
  47459. _ = e
  47460. e = XFcConfigAllocExpr(tls, config)
  47461. if e != 0 {
  47462. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpMatrix)
  47463. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = _FcExprMatrixCopyShallow(tls, matrix)
  47464. }
  47465. return e
  47466. }
  47467. func _FcExprCreateRange(tls *libc.TLS, config uintptr, range1 uintptr) (r uintptr) {
  47468. var e uintptr
  47469. _ = e
  47470. e = XFcConfigAllocExpr(tls, config)
  47471. if e != 0 {
  47472. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpRange)
  47473. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcRangeCopy(tls, range1)
  47474. }
  47475. return e
  47476. }
  47477. func _FcExprCreateBool(tls *libc.TLS, config uintptr, b TFcBool) (r uintptr) {
  47478. var e uintptr
  47479. _ = e
  47480. e = XFcConfigAllocExpr(tls, config)
  47481. if e != 0 {
  47482. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpBool)
  47483. *(*TFcBool)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = b
  47484. }
  47485. return e
  47486. }
  47487. func _FcExprCreateCharSet(tls *libc.TLS, config uintptr, charset uintptr) (r uintptr) {
  47488. var e uintptr
  47489. _ = e
  47490. e = XFcConfigAllocExpr(tls, config)
  47491. if e != 0 {
  47492. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpCharSet)
  47493. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcCharSetCopy(tls, charset)
  47494. }
  47495. return e
  47496. }
  47497. func _FcExprCreateLangSet(tls *libc.TLS, config uintptr, langset uintptr) (r uintptr) {
  47498. var e uintptr
  47499. _ = e
  47500. e = XFcConfigAllocExpr(tls, config)
  47501. if e != 0 {
  47502. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpLangSet)
  47503. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = XFcLangSetCopy(tls, langset)
  47504. }
  47505. return e
  47506. }
  47507. func _FcExprCreateName(tls *libc.TLS, config uintptr, name TFcExprName) (r uintptr) {
  47508. var e uintptr
  47509. _ = e
  47510. e = XFcConfigAllocExpr(tls, config)
  47511. if e != 0 {
  47512. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpField)
  47513. *(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = name
  47514. }
  47515. return e
  47516. }
  47517. func _FcExprCreateConst(tls *libc.TLS, config uintptr, constant uintptr) (r uintptr) {
  47518. var e uintptr
  47519. _ = e
  47520. e = XFcConfigAllocExpr(tls, config)
  47521. if e != 0 {
  47522. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpConst)
  47523. *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)) = libc.Xstrdup(tls, constant)
  47524. }
  47525. return e
  47526. }
  47527. func _FcExprCreateOp(tls *libc.TLS, config uintptr, left uintptr, op TFcOp, right uintptr) (r uintptr) {
  47528. var e uintptr
  47529. _ = e
  47530. e = XFcConfigAllocExpr(tls, config)
  47531. if e != 0 {
  47532. (*TFcExpr)(unsafe.Pointer(e)).Fop = op
  47533. (*(*struct {
  47534. Fleft uintptr
  47535. Fright uintptr
  47536. })(unsafe.Pointer(e + 8))).Fleft = left
  47537. (*(*struct {
  47538. Fleft uintptr
  47539. Fright uintptr
  47540. })(unsafe.Pointer(e + 8))).Fright = right
  47541. }
  47542. return e
  47543. }
  47544. func _FcExprDestroy(tls *libc.TLS, e uintptr) {
  47545. if !(e != 0) {
  47546. return
  47547. }
  47548. switch (*TFcExpr)(unsafe.Pointer(e)).Fop & libc.Int32FromInt32(0xffff) {
  47549. case int32(_FcOpInteger):
  47550. case int32(_FcOpDouble):
  47551. case int32(_FcOpString):
  47552. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47553. case int32(_FcOpMatrix):
  47554. _FcExprMatrixFree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47555. case int32(_FcOpRange):
  47556. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47557. case int32(_FcOpCharSet):
  47558. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47559. case int32(_FcOpLangSet):
  47560. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47561. case int32(_FcOpBool):
  47562. case int32(_FcOpField):
  47563. case int32(_FcOpConst):
  47564. libc.Xfree(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(e)).Fu)))
  47565. case int32(_FcOpAssign):
  47566. fallthrough
  47567. case int32(_FcOpAssignReplace):
  47568. fallthrough
  47569. case int32(_FcOpPrepend):
  47570. fallthrough
  47571. case int32(_FcOpPrependFirst):
  47572. fallthrough
  47573. case int32(_FcOpAppend):
  47574. fallthrough
  47575. case int32(_FcOpAppendLast):
  47576. fallthrough
  47577. case int32(_FcOpDelete):
  47578. fallthrough
  47579. case int32(_FcOpDeleteAll):
  47580. case int32(_FcOpOr):
  47581. fallthrough
  47582. case int32(_FcOpAnd):
  47583. fallthrough
  47584. case int32(_FcOpEqual):
  47585. fallthrough
  47586. case int32(_FcOpNotEqual):
  47587. fallthrough
  47588. case int32(_FcOpLess):
  47589. fallthrough
  47590. case int32(_FcOpLessEqual):
  47591. fallthrough
  47592. case int32(_FcOpMore):
  47593. fallthrough
  47594. case int32(_FcOpMoreEqual):
  47595. fallthrough
  47596. case int32(_FcOpContains):
  47597. fallthrough
  47598. case int32(_FcOpListing):
  47599. fallthrough
  47600. case int32(_FcOpNotContains):
  47601. fallthrough
  47602. case int32(_FcOpPlus):
  47603. fallthrough
  47604. case int32(_FcOpMinus):
  47605. fallthrough
  47606. case int32(_FcOpTimes):
  47607. fallthrough
  47608. case int32(_FcOpDivide):
  47609. fallthrough
  47610. case int32(_FcOpQuest):
  47611. fallthrough
  47612. case int32(_FcOpComma):
  47613. _FcExprDestroy(tls, (*(*struct {
  47614. Fleft uintptr
  47615. Fright uintptr
  47616. })(unsafe.Pointer(e + 8))).Fright)
  47617. /* fall through */
  47618. fallthrough
  47619. case int32(_FcOpNot):
  47620. fallthrough
  47621. case int32(_FcOpFloor):
  47622. fallthrough
  47623. case int32(_FcOpCeil):
  47624. fallthrough
  47625. case int32(_FcOpRound):
  47626. fallthrough
  47627. case int32(_FcOpTrunc):
  47628. _FcExprDestroy(tls, (*(*struct {
  47629. Fleft uintptr
  47630. Fright uintptr
  47631. })(unsafe.Pointer(e + 8))).Fleft)
  47632. case int32(_FcOpNil):
  47633. fallthrough
  47634. case int32(_FcOpInvalid):
  47635. break
  47636. }
  47637. (*TFcExpr)(unsafe.Pointer(e)).Fop = int32(_FcOpNil)
  47638. }
  47639. func XFcEditDestroy(tls *libc.TLS, e uintptr) {
  47640. if (*TFcEdit)(unsafe.Pointer(e)).Fexpr != 0 {
  47641. _FcExprDestroy(tls, (*TFcEdit)(unsafe.Pointer(e)).Fexpr)
  47642. }
  47643. libc.Xfree(tls, e)
  47644. }
  47645. type TFcElement = int32
  47646. type __FcElement = int32
  47647. const _FcElementNone = 0
  47648. const _FcElementFontconfig = 1
  47649. const _FcElementDir = 2
  47650. const _FcElementCacheDir = 3
  47651. const _FcElementCache = 4
  47652. const _FcElementInclude = 5
  47653. const _FcElementConfig = 6
  47654. const _FcElementMatch = 7
  47655. const _FcElementAlias = 8
  47656. const _FcElementDescription = 9
  47657. const _FcElementRemapDir = 10
  47658. const _FcElementResetDirs = 11
  47659. const _FcElementRescan = 12
  47660. const _FcElementPrefer = 13
  47661. const _FcElementAccept = 14
  47662. const _FcElementDefault = 15
  47663. const _FcElementFamily = 16
  47664. const _FcElementSelectfont = 17
  47665. const _FcElementAcceptfont = 18
  47666. const _FcElementRejectfont = 19
  47667. const _FcElementGlob = 20
  47668. const _FcElementPattern = 21
  47669. const _FcElementPatelt = 22
  47670. const _FcElementTest = 23
  47671. const _FcElementEdit = 24
  47672. const _FcElementInt = 25
  47673. const _FcElementDouble = 26
  47674. const _FcElementString = 27
  47675. const _FcElementMatrix = 28
  47676. const _FcElementRange = 29
  47677. const _FcElementBool = 30
  47678. const _FcElementCharSet = 31
  47679. const _FcElementLangSet = 32
  47680. const _FcElementName = 33
  47681. const _FcElementConst = 34
  47682. const _FcElementOr = 35
  47683. const _FcElementAnd = 36
  47684. const _FcElementEq = 37
  47685. const _FcElementNotEq = 38
  47686. const _FcElementLess = 39
  47687. const _FcElementLessEq = 40
  47688. const _FcElementMore = 41
  47689. const _FcElementMoreEq = 42
  47690. const _FcElementContains = 43
  47691. const _FcElementNotContains = 44
  47692. const _FcElementPlus = 45
  47693. const _FcElementMinus = 46
  47694. const _FcElementTimes = 47
  47695. const _FcElementDivide = 48
  47696. const _FcElementNot = 49
  47697. const _FcElementIf = 50
  47698. const _FcElementFloor = 51
  47699. const _FcElementCeil = 52
  47700. const _FcElementRound = 53
  47701. const _FcElementTrunc = 54
  47702. const _FcElementUnknown = 55
  47703. var _fcElementMap = [54]struct {
  47704. Fname [16]int8
  47705. Felement TFcElement
  47706. }{
  47707. 0: {
  47708. Fname: [16]int8{'f', 'o', 'n', 't', 'c', 'o', 'n', 'f', 'i', 'g'},
  47709. Felement: int32(_FcElementFontconfig),
  47710. },
  47711. 1: {
  47712. Fname: [16]int8{'d', 'i', 'r'},
  47713. Felement: int32(_FcElementDir),
  47714. },
  47715. 2: {
  47716. Fname: [16]int8{'c', 'a', 'c', 'h', 'e', 'd', 'i', 'r'},
  47717. Felement: int32(_FcElementCacheDir),
  47718. },
  47719. 3: {
  47720. Fname: [16]int8{'c', 'a', 'c', 'h', 'e'},
  47721. Felement: int32(_FcElementCache),
  47722. },
  47723. 4: {
  47724. Fname: [16]int8{'i', 'n', 'c', 'l', 'u', 'd', 'e'},
  47725. Felement: int32(_FcElementInclude),
  47726. },
  47727. 5: {
  47728. Fname: [16]int8{'c', 'o', 'n', 'f', 'i', 'g'},
  47729. Felement: int32(_FcElementConfig),
  47730. },
  47731. 6: {
  47732. Fname: [16]int8{'m', 'a', 't', 'c', 'h'},
  47733. Felement: int32(_FcElementMatch),
  47734. },
  47735. 7: {
  47736. Fname: [16]int8{'a', 'l', 'i', 'a', 's'},
  47737. Felement: int32(_FcElementAlias),
  47738. },
  47739. 8: {
  47740. Fname: [16]int8{'d', 'e', 's', 'c', 'r', 'i', 'p', 't', 'i', 'o', 'n'},
  47741. Felement: int32(_FcElementDescription),
  47742. },
  47743. 9: {
  47744. Fname: [16]int8{'r', 'e', 'm', 'a', 'p', '-', 'd', 'i', 'r'},
  47745. Felement: int32(_FcElementRemapDir),
  47746. },
  47747. 10: {
  47748. Fname: [16]int8{'r', 'e', 's', 'e', 't', '-', 'd', 'i', 'r', 's'},
  47749. Felement: int32(_FcElementResetDirs),
  47750. },
  47751. 11: {
  47752. Fname: [16]int8{'r', 'e', 's', 'c', 'a', 'n'},
  47753. Felement: int32(_FcElementRescan),
  47754. },
  47755. 12: {
  47756. Fname: [16]int8{'p', 'r', 'e', 'f', 'e', 'r'},
  47757. Felement: int32(_FcElementPrefer),
  47758. },
  47759. 13: {
  47760. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't'},
  47761. Felement: int32(_FcElementAccept),
  47762. },
  47763. 14: {
  47764. Fname: [16]int8{'d', 'e', 'f', 'a', 'u', 'l', 't'},
  47765. Felement: int32(_FcElementDefault),
  47766. },
  47767. 15: {
  47768. Fname: [16]int8{'f', 'a', 'm', 'i', 'l', 'y'},
  47769. Felement: int32(_FcElementFamily),
  47770. },
  47771. 16: {
  47772. Fname: [16]int8{'s', 'e', 'l', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  47773. Felement: int32(_FcElementSelectfont),
  47774. },
  47775. 17: {
  47776. Fname: [16]int8{'a', 'c', 'c', 'e', 'p', 't', 'f', 'o', 'n', 't'},
  47777. Felement: int32(_FcElementAcceptfont),
  47778. },
  47779. 18: {
  47780. Fname: [16]int8{'r', 'e', 'j', 'e', 'c', 't', 'f', 'o', 'n', 't'},
  47781. Felement: int32(_FcElementRejectfont),
  47782. },
  47783. 19: {
  47784. Fname: [16]int8{'g', 'l', 'o', 'b'},
  47785. Felement: int32(_FcElementGlob),
  47786. },
  47787. 20: {
  47788. Fname: [16]int8{'p', 'a', 't', 't', 'e', 'r', 'n'},
  47789. Felement: int32(_FcElementPattern),
  47790. },
  47791. 21: {
  47792. Fname: [16]int8{'p', 'a', 't', 'e', 'l', 't'},
  47793. Felement: int32(_FcElementPatelt),
  47794. },
  47795. 22: {
  47796. Fname: [16]int8{'t', 'e', 's', 't'},
  47797. Felement: int32(_FcElementTest),
  47798. },
  47799. 23: {
  47800. Fname: [16]int8{'e', 'd', 'i', 't'},
  47801. Felement: int32(_FcElementEdit),
  47802. },
  47803. 24: {
  47804. Fname: [16]int8{'i', 'n', 't'},
  47805. Felement: int32(_FcElementInt),
  47806. },
  47807. 25: {
  47808. Fname: [16]int8{'d', 'o', 'u', 'b', 'l', 'e'},
  47809. Felement: int32(_FcElementDouble),
  47810. },
  47811. 26: {
  47812. Fname: [16]int8{'s', 't', 'r', 'i', 'n', 'g'},
  47813. Felement: int32(_FcElementString),
  47814. },
  47815. 27: {
  47816. Fname: [16]int8{'m', 'a', 't', 'r', 'i', 'x'},
  47817. Felement: int32(_FcElementMatrix),
  47818. },
  47819. 28: {
  47820. Fname: [16]int8{'r', 'a', 'n', 'g', 'e'},
  47821. Felement: int32(_FcElementRange),
  47822. },
  47823. 29: {
  47824. Fname: [16]int8{'b', 'o', 'o', 'l'},
  47825. Felement: int32(_FcElementBool),
  47826. },
  47827. 30: {
  47828. Fname: [16]int8{'c', 'h', 'a', 'r', 's', 'e', 't'},
  47829. Felement: int32(_FcElementCharSet),
  47830. },
  47831. 31: {
  47832. Fname: [16]int8{'l', 'a', 'n', 'g', 's', 'e', 't'},
  47833. Felement: int32(_FcElementLangSet),
  47834. },
  47835. 32: {
  47836. Fname: [16]int8{'n', 'a', 'm', 'e'},
  47837. Felement: int32(_FcElementName),
  47838. },
  47839. 33: {
  47840. Fname: [16]int8{'c', 'o', 'n', 's', 't'},
  47841. Felement: int32(_FcElementConst),
  47842. },
  47843. 34: {
  47844. Fname: [16]int8{'o', 'r'},
  47845. Felement: int32(_FcElementOr),
  47846. },
  47847. 35: {
  47848. Fname: [16]int8{'a', 'n', 'd'},
  47849. Felement: int32(_FcElementAnd),
  47850. },
  47851. 36: {
  47852. Fname: [16]int8{'e', 'q'},
  47853. Felement: int32(_FcElementEq),
  47854. },
  47855. 37: {
  47856. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  47857. Felement: int32(_FcElementNotEq),
  47858. },
  47859. 38: {
  47860. Fname: [16]int8{'l', 'e', 's', 's'},
  47861. Felement: int32(_FcElementLess),
  47862. },
  47863. 39: {
  47864. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  47865. Felement: int32(_FcElementLessEq),
  47866. },
  47867. 40: {
  47868. Fname: [16]int8{'m', 'o', 'r', 'e'},
  47869. Felement: int32(_FcElementMore),
  47870. },
  47871. 41: {
  47872. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  47873. Felement: int32(_FcElementMoreEq),
  47874. },
  47875. 42: {
  47876. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  47877. Felement: int32(_FcElementContains),
  47878. },
  47879. 43: {
  47880. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  47881. Felement: int32(_FcElementNotContains),
  47882. },
  47883. 44: {
  47884. Fname: [16]int8{'p', 'l', 'u', 's'},
  47885. Felement: int32(_FcElementPlus),
  47886. },
  47887. 45: {
  47888. Fname: [16]int8{'m', 'i', 'n', 'u', 's'},
  47889. Felement: int32(_FcElementMinus),
  47890. },
  47891. 46: {
  47892. Fname: [16]int8{'t', 'i', 'm', 'e', 's'},
  47893. Felement: int32(_FcElementTimes),
  47894. },
  47895. 47: {
  47896. Fname: [16]int8{'d', 'i', 'v', 'i', 'd', 'e'},
  47897. Felement: int32(_FcElementDivide),
  47898. },
  47899. 48: {
  47900. Fname: [16]int8{'n', 'o', 't'},
  47901. Felement: int32(_FcElementNot),
  47902. },
  47903. 49: {
  47904. Fname: [16]int8{'i', 'f'},
  47905. Felement: int32(_FcElementIf),
  47906. },
  47907. 50: {
  47908. Fname: [16]int8{'f', 'l', 'o', 'o', 'r'},
  47909. Felement: int32(_FcElementFloor),
  47910. },
  47911. 51: {
  47912. Fname: [16]int8{'c', 'e', 'i', 'l'},
  47913. Felement: int32(_FcElementCeil),
  47914. },
  47915. 52: {
  47916. Fname: [16]int8{'r', 'o', 'u', 'n', 'd'},
  47917. Felement: int32(_FcElementRound),
  47918. },
  47919. 53: {
  47920. Fname: [16]int8{'t', 'r', 'u', 'n', 'c'},
  47921. Felement: int32(_FcElementTrunc),
  47922. },
  47923. }
  47924. var _fcElementIgnoreName = [16]uintptr{
  47925. 0: __ccgo_ts + 6993,
  47926. 1: libc.UintptrFromInt32(0),
  47927. }
  47928. func _FcElementMap(tls *libc.TLS, name uintptr) (r TFcElement) {
  47929. var i int32
  47930. _ = i
  47931. i = 0
  47932. for {
  47933. if !(i < int32(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  47934. break
  47935. }
  47936. if !(libc.Xstrcmp(tls, name, uintptr(unsafe.Pointer(&_fcElementMap))+uintptr(i)*20) != 0) {
  47937. return _fcElementMap[i].Felement
  47938. }
  47939. goto _1
  47940. _1:
  47941. ;
  47942. i++
  47943. }
  47944. i = 0
  47945. for {
  47946. if !(_fcElementIgnoreName[i] != libc.UintptrFromInt32(0)) {
  47947. break
  47948. }
  47949. if !(libc.Xstrncmp(tls, name, _fcElementIgnoreName[i], libc.Xstrlen(tls, _fcElementIgnoreName[i])) != 0) {
  47950. return int32(_FcElementNone)
  47951. }
  47952. goto _2
  47953. _2:
  47954. ;
  47955. i++
  47956. }
  47957. return int32(_FcElementUnknown)
  47958. }
  47959. func _FcElementReverseMap(tls *libc.TLS, e TFcElement) (r uintptr) {
  47960. var i int32
  47961. _ = i
  47962. i = 0
  47963. for {
  47964. if !(i < int32(libc.Uint64FromInt64(1080)/libc.Uint64FromInt64(20))) {
  47965. break
  47966. }
  47967. if _fcElementMap[i].Felement == e {
  47968. return uintptr(unsafe.Pointer(&_fcElementMap)) + uintptr(i)*20
  47969. }
  47970. goto _1
  47971. _1:
  47972. ;
  47973. i++
  47974. }
  47975. return libc.UintptrFromInt32(0)
  47976. }
  47977. type TFcPStack = struct {
  47978. Fprev uintptr
  47979. Felement TFcElement
  47980. Fattr uintptr
  47981. Fstr TFcStrBuf
  47982. Fattr_buf_static [16]uintptr
  47983. }
  47984. type T_FcPStack = TFcPStack
  47985. type TFcVStackTag = int32
  47986. type __FcVStackTag = int32
  47987. const _FcVStackNone = 0
  47988. const _FcVStackString = 1
  47989. const _FcVStackFamily = 2
  47990. const _FcVStackConstant = 3
  47991. const _FcVStackGlob = 4
  47992. const _FcVStackName = 5
  47993. const _FcVStackPattern = 6
  47994. const _FcVStackPrefer = 7
  47995. const _FcVStackAccept = 8
  47996. const _FcVStackDefault = 9
  47997. const _FcVStackInteger = 10
  47998. const _FcVStackDouble = 11
  47999. const _FcVStackMatrix = 12
  48000. const _FcVStackRange = 13
  48001. const _FcVStackBool = 14
  48002. const _FcVStackCharSet = 15
  48003. const _FcVStackLangSet = 16
  48004. const _FcVStackTest = 17
  48005. const _FcVStackExpr = 18
  48006. const _FcVStackEdit = 19
  48007. type TFcVStack = struct {
  48008. Fprev uintptr
  48009. Fpstack uintptr
  48010. Ftag TFcVStackTag
  48011. Fu struct {
  48012. Finteger [0]int32
  48013. F_double [0]float64
  48014. Fmatrix [0]uintptr
  48015. Frange1 [0]uintptr
  48016. Fbool_ [0]TFcBool
  48017. Fcharset [0]uintptr
  48018. Flangset [0]uintptr
  48019. Fname [0]TFcExprName
  48020. Ftest [0]uintptr
  48021. Fqual [0]TFcQual
  48022. Fop [0]TFcOp
  48023. Fexpr [0]uintptr
  48024. Fedit [0]uintptr
  48025. Fpattern [0]uintptr
  48026. Fstring1 uintptr
  48027. }
  48028. }
  48029. type T_FcVStack = TFcVStack
  48030. type TFcConfigParse = struct {
  48031. Fpstack uintptr
  48032. Fvstack uintptr
  48033. Ferror1 TFcBool
  48034. Fname uintptr
  48035. Fconfig uintptr
  48036. Fruleset uintptr
  48037. Fparser TXML_Parser
  48038. Fpstack_static_used uint32
  48039. Fpstack_static [8]TFcPStack
  48040. Fvstack_static_used uint32
  48041. Fvstack_static [64]TFcVStack
  48042. FscanOnly TFcBool
  48043. }
  48044. type T_FcConfigParse = TFcConfigParse
  48045. type TFcConfigSeverity = int32
  48046. type __FcConfigSeverity = int32
  48047. const _FcSevereInfo = 0
  48048. const _FcSevereWarning = 1
  48049. const _FcSevereError = 2
  48050. func _FcConfigMessage(tls *libc.TLS, parse uintptr, severe TFcConfigSeverity, fmt uintptr, va uintptr) {
  48051. bp := tls.Alloc(32)
  48052. defer tls.Free(32)
  48053. var args Tva_list
  48054. var s uintptr
  48055. _, _ = args, s
  48056. s = __ccgo_ts + 4707
  48057. args = va
  48058. switch severe {
  48059. case int32(_FcSevereInfo):
  48060. s = __ccgo_ts + 6998
  48061. case int32(_FcSevereWarning):
  48062. s = __ccgo_ts + 7003
  48063. case int32(_FcSevereError):
  48064. s = __ccgo_ts + 7011
  48065. break
  48066. }
  48067. if parse != 0 {
  48068. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fname != 0 {
  48069. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7017, libc.VaList(bp+8, s, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname, int32(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  48070. } else {
  48071. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7048, libc.VaList(bp+8, s, int32(libexpat.XXML_GetCurrentLineNumber(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser))))
  48072. }
  48073. if severe >= int32(_FcSevereError) {
  48074. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  48075. }
  48076. } else {
  48077. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+7073, libc.VaList(bp+8, s))
  48078. }
  48079. libc.Xvfprintf(tls, libc.X__stderrp, fmt, args)
  48080. libc.Xfprintf(tls, libc.X__stderrp, __ccgo_ts+1266, 0)
  48081. _ = args
  48082. }
  48083. func _FcTypeName(tls *libc.TLS, type1 TFcType) (r uintptr) {
  48084. switch type1 {
  48085. case int32(_FcTypeVoid):
  48086. return __ccgo_ts + 7089
  48087. case int32(_FcTypeInteger):
  48088. fallthrough
  48089. case int32(_FcTypeDouble):
  48090. return __ccgo_ts + 7094
  48091. case int32(_FcTypeString):
  48092. return __ccgo_ts + 7101
  48093. case int32(_FcTypeBool):
  48094. return __ccgo_ts + 7108
  48095. case int32(_FcTypeMatrix):
  48096. return __ccgo_ts + 6400
  48097. case int32(_FcTypeCharSet):
  48098. return __ccgo_ts + 6125
  48099. case int32(_FcTypeFTFace):
  48100. return __ccgo_ts + 7113
  48101. case int32(_FcTypeLangSet):
  48102. return __ccgo_ts + 7121
  48103. case int32(_FcTypeRange):
  48104. return __ccgo_ts + 7129
  48105. case int32(_FcTypeUnknown):
  48106. fallthrough
  48107. default:
  48108. return __ccgo_ts + 4707
  48109. }
  48110. return r
  48111. }
  48112. func _FcTypecheckValue(tls *libc.TLS, parse uintptr, value TFcType, type1 TFcType) {
  48113. bp := tls.Alloc(32)
  48114. defer tls.Free(32)
  48115. if value == int32(_FcTypeInteger) {
  48116. value = int32(_FcTypeDouble)
  48117. }
  48118. if type1 == int32(_FcTypeInteger) {
  48119. type1 = int32(_FcTypeDouble)
  48120. }
  48121. if value != type1 {
  48122. if value == int32(_FcTypeLangSet) && type1 == int32(_FcTypeString) || value == int32(_FcTypeString) && type1 == int32(_FcTypeLangSet) || value == int32(_FcTypeDouble) && type1 == int32(_FcTypeRange) {
  48123. return
  48124. }
  48125. if type1 == int32(_FcTypeUnknown) {
  48126. return
  48127. }
  48128. /* It's perfectly fine to use user-define elements in expressions,
  48129. * so don't warn in that case. */
  48130. if value == int32(_FcTypeUnknown) {
  48131. return
  48132. }
  48133. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7135, libc.VaList(bp+8, _FcTypeName(tls, value), _FcTypeName(tls, type1)))
  48134. }
  48135. }
  48136. func _FcTypecheckExpr(tls *libc.TLS, parse uintptr, expr uintptr, type1 TFcType) {
  48137. bp := tls.Alloc(16)
  48138. defer tls.Free(16)
  48139. var c, o uintptr
  48140. _, _ = c, o
  48141. /* If parsing the expression failed, some nodes may be NULL */
  48142. if !(expr != 0) {
  48143. return
  48144. }
  48145. switch (*TFcExpr)(unsafe.Pointer(expr)).Fop & libc.Int32FromInt32(0xffff) {
  48146. case int32(_FcOpInteger):
  48147. fallthrough
  48148. case int32(_FcOpDouble):
  48149. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  48150. case int32(_FcOpString):
  48151. _FcTypecheckValue(tls, parse, int32(_FcTypeString), type1)
  48152. case int32(_FcOpMatrix):
  48153. _FcTypecheckValue(tls, parse, int32(_FcTypeMatrix), type1)
  48154. case int32(_FcOpBool):
  48155. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  48156. case int32(_FcOpCharSet):
  48157. _FcTypecheckValue(tls, parse, int32(_FcTypeCharSet), type1)
  48158. case int32(_FcOpLangSet):
  48159. _FcTypecheckValue(tls, parse, int32(_FcTypeLangSet), type1)
  48160. case int32(_FcOpRange):
  48161. _FcTypecheckValue(tls, parse, int32(_FcTypeRange), type1)
  48162. case int32(_FcOpNil):
  48163. case int32(_FcOpField):
  48164. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*(*TFcExprName)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))).Fobject))
  48165. if o != 0 {
  48166. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  48167. }
  48168. case int32(_FcOpConst):
  48169. c = XFcNameGetConstant(tls, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu)))
  48170. if c != 0 {
  48171. o = XFcNameGetObjectType(tls, (*TFcConstant)(unsafe.Pointer(c)).Fobject)
  48172. if o != 0 {
  48173. _FcTypecheckValue(tls, parse, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1, type1)
  48174. }
  48175. } else {
  48176. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7155, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(&(*TFcExpr)(unsafe.Pointer(expr)).Fu))))
  48177. }
  48178. case int32(_FcOpQuest):
  48179. _FcTypecheckExpr(tls, parse, (*(*struct {
  48180. Fleft uintptr
  48181. Fright uintptr
  48182. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  48183. _FcTypecheckExpr(tls, parse, (*(*struct {
  48184. Fleft uintptr
  48185. Fright uintptr
  48186. })(unsafe.Pointer((*(*struct {
  48187. Fleft uintptr
  48188. Fright uintptr
  48189. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fleft, type1)
  48190. _FcTypecheckExpr(tls, parse, (*(*struct {
  48191. Fleft uintptr
  48192. Fright uintptr
  48193. })(unsafe.Pointer((*(*struct {
  48194. Fleft uintptr
  48195. Fright uintptr
  48196. })(unsafe.Pointer(expr + 8))).Fright + 8))).Fright, type1)
  48197. case int32(_FcOpAssign):
  48198. fallthrough
  48199. case int32(_FcOpAssignReplace):
  48200. case int32(_FcOpEqual):
  48201. fallthrough
  48202. case int32(_FcOpNotEqual):
  48203. fallthrough
  48204. case int32(_FcOpLess):
  48205. fallthrough
  48206. case int32(_FcOpLessEqual):
  48207. fallthrough
  48208. case int32(_FcOpMore):
  48209. fallthrough
  48210. case int32(_FcOpMoreEqual):
  48211. fallthrough
  48212. case int32(_FcOpContains):
  48213. fallthrough
  48214. case int32(_FcOpNotContains):
  48215. fallthrough
  48216. case int32(_FcOpListing):
  48217. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  48218. case int32(_FcOpComma):
  48219. fallthrough
  48220. case int32(_FcOpOr):
  48221. fallthrough
  48222. case int32(_FcOpAnd):
  48223. fallthrough
  48224. case int32(_FcOpPlus):
  48225. fallthrough
  48226. case int32(_FcOpMinus):
  48227. fallthrough
  48228. case int32(_FcOpTimes):
  48229. fallthrough
  48230. case int32(_FcOpDivide):
  48231. _FcTypecheckExpr(tls, parse, (*(*struct {
  48232. Fleft uintptr
  48233. Fright uintptr
  48234. })(unsafe.Pointer(expr + 8))).Fleft, type1)
  48235. _FcTypecheckExpr(tls, parse, (*(*struct {
  48236. Fleft uintptr
  48237. Fright uintptr
  48238. })(unsafe.Pointer(expr + 8))).Fright, type1)
  48239. case int32(_FcOpNot):
  48240. _FcTypecheckValue(tls, parse, int32(_FcTypeBool), type1)
  48241. _FcTypecheckExpr(tls, parse, (*(*struct {
  48242. Fleft uintptr
  48243. Fright uintptr
  48244. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeBool))
  48245. case int32(_FcOpFloor):
  48246. fallthrough
  48247. case int32(_FcOpCeil):
  48248. fallthrough
  48249. case int32(_FcOpRound):
  48250. fallthrough
  48251. case int32(_FcOpTrunc):
  48252. _FcTypecheckValue(tls, parse, int32(_FcTypeDouble), type1)
  48253. _FcTypecheckExpr(tls, parse, (*(*struct {
  48254. Fleft uintptr
  48255. Fright uintptr
  48256. })(unsafe.Pointer(expr + 8))).Fleft, int32(_FcTypeDouble))
  48257. default:
  48258. break
  48259. }
  48260. }
  48261. func _FcTestCreate(tls *libc.TLS, parse uintptr, kind TFcMatchKind, qual TFcQual, field uintptr, compare uint32, expr uintptr) (r uintptr) {
  48262. var o, test uintptr
  48263. _, _ = o, test
  48264. test = libc.Xmalloc(tls, uint64(24))
  48265. if test != 0 {
  48266. (*TFcTest)(unsafe.Pointer(test)).Fkind = kind
  48267. (*TFcTest)(unsafe.Pointer(test)).Fqual = qual
  48268. (*TFcTest)(unsafe.Pointer(test)).Fobject = XFcObjectFromName(tls, field)
  48269. (*TFcTest)(unsafe.Pointer(test)).Fop = int32(compare)
  48270. (*TFcTest)(unsafe.Pointer(test)).Fexpr = expr
  48271. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcTest)(unsafe.Pointer(test)).Fobject))
  48272. if o != 0 {
  48273. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  48274. }
  48275. }
  48276. return test
  48277. }
  48278. func _FcEditCreate(tls *libc.TLS, parse uintptr, object TFcObject, op TFcOp, expr uintptr, binding TFcValueBinding) (r uintptr) {
  48279. var e, o uintptr
  48280. _, _ = e, o
  48281. e = libc.Xmalloc(tls, uint64(24))
  48282. if e != 0 {
  48283. (*TFcEdit)(unsafe.Pointer(e)).Fobject = object
  48284. (*TFcEdit)(unsafe.Pointer(e)).Fop = op
  48285. (*TFcEdit)(unsafe.Pointer(e)).Fexpr = expr
  48286. (*TFcEdit)(unsafe.Pointer(e)).Fbinding = binding
  48287. o = XFcNameGetObjectType(tls, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(e)).Fobject))
  48288. if o != 0 {
  48289. _FcTypecheckExpr(tls, parse, expr, (*TFcObjectType)(unsafe.Pointer(o)).Ftype1)
  48290. }
  48291. }
  48292. return e
  48293. }
  48294. func _FcRuleCreate(tls *libc.TLS, type1 TFcRuleType, p uintptr) (r1 uintptr) {
  48295. var r uintptr
  48296. _ = r
  48297. r = libc.Xmalloc(tls, uint64(24))
  48298. if !(r != 0) {
  48299. return libc.UintptrFromInt32(0)
  48300. }
  48301. (*TFcRule)(unsafe.Pointer(r)).Fnext = libc.UintptrFromInt32(0)
  48302. (*TFcRule)(unsafe.Pointer(r)).Ftype1 = type1
  48303. switch type1 {
  48304. case int32(_FcRuleTest):
  48305. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  48306. case int32(_FcRuleEdit):
  48307. *(*uintptr)(unsafe.Pointer(r + 16)) = p
  48308. case int32(_FcRuleUnknown):
  48309. fallthrough
  48310. default:
  48311. libc.Xfree(tls, r)
  48312. r = libc.UintptrFromInt32(0)
  48313. break
  48314. }
  48315. return r
  48316. }
  48317. func _FcVStackCreateAndPush(tls *libc.TLS, parse uintptr) (r uintptr) {
  48318. var new1, v2, v3 uintptr
  48319. var v1 uint32
  48320. _, _, _, _ = new1, v1, v2, v3
  48321. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used) < libc.Uint64FromInt64(2048)/libc.Uint64FromInt64(32) {
  48322. v2 = parse + 2496
  48323. v1 = *(*uint32)(unsafe.Pointer(v2))
  48324. *(*uint32)(unsafe.Pointer(v2))++
  48325. new1 = parse + 2504 + uintptr(v1)*32
  48326. } else {
  48327. new1 = libc.Xmalloc(tls, uint64(32))
  48328. if !(new1 != 0) {
  48329. return uintptr(0)
  48330. }
  48331. }
  48332. (*TFcVStack)(unsafe.Pointer(new1)).Ftag = int32(_FcVStackNone)
  48333. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = uintptr(0)
  48334. (*TFcVStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  48335. if (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  48336. v3 = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fprev
  48337. } else {
  48338. v3 = uintptr(0)
  48339. }
  48340. (*TFcVStack)(unsafe.Pointer(new1)).Fpstack = v3
  48341. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = new1
  48342. return new1
  48343. }
  48344. func _FcVStackPushString(tls *libc.TLS, parse uintptr, tag TFcVStackTag, string1 uintptr) (r TFcBool) {
  48345. var vstack uintptr
  48346. _ = vstack
  48347. vstack = _FcVStackCreateAndPush(tls, parse)
  48348. if !(vstack != 0) {
  48349. return m_FcFalse
  48350. }
  48351. *(*uintptr)(unsafe.Pointer(vstack + 24)) = string1
  48352. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  48353. return int32(m_FcTrue)
  48354. }
  48355. func _FcVStackPushInteger(tls *libc.TLS, parse uintptr, integer int32) (r TFcBool) {
  48356. var vstack uintptr
  48357. _ = vstack
  48358. vstack = _FcVStackCreateAndPush(tls, parse)
  48359. if !(vstack != 0) {
  48360. return m_FcFalse
  48361. }
  48362. *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = integer
  48363. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackInteger)
  48364. return int32(m_FcTrue)
  48365. }
  48366. func _FcVStackPushDouble(tls *libc.TLS, parse uintptr, _double float64) (r TFcBool) {
  48367. var vstack uintptr
  48368. _ = vstack
  48369. vstack = _FcVStackCreateAndPush(tls, parse)
  48370. if !(vstack != 0) {
  48371. return m_FcFalse
  48372. }
  48373. *(*float64)(unsafe.Pointer(vstack + 24)) = _double
  48374. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackDouble)
  48375. return int32(m_FcTrue)
  48376. }
  48377. func _FcVStackPushMatrix(tls *libc.TLS, parse uintptr, matrix uintptr) (r TFcBool) {
  48378. var vstack uintptr
  48379. _ = vstack
  48380. vstack = _FcVStackCreateAndPush(tls, parse)
  48381. if !(vstack != 0) {
  48382. return m_FcFalse
  48383. }
  48384. *(*uintptr)(unsafe.Pointer(vstack + 24)) = _FcExprMatrixCopyShallow(tls, matrix)
  48385. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackMatrix)
  48386. return int32(m_FcTrue)
  48387. }
  48388. func _FcVStackPushRange(tls *libc.TLS, parse uintptr, range1 uintptr) (r TFcBool) {
  48389. var vstack uintptr
  48390. _ = vstack
  48391. vstack = _FcVStackCreateAndPush(tls, parse)
  48392. if !(vstack != 0) {
  48393. return m_FcFalse
  48394. }
  48395. *(*uintptr)(unsafe.Pointer(vstack + 24)) = range1
  48396. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackRange)
  48397. return int32(m_FcTrue)
  48398. }
  48399. func _FcVStackPushBool(tls *libc.TLS, parse uintptr, bool_ TFcBool) (r TFcBool) {
  48400. var vstack uintptr
  48401. _ = vstack
  48402. vstack = _FcVStackCreateAndPush(tls, parse)
  48403. if !(vstack != 0) {
  48404. return m_FcFalse
  48405. }
  48406. *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)) = bool_
  48407. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackBool)
  48408. return int32(m_FcTrue)
  48409. }
  48410. func _FcVStackPushCharSet(tls *libc.TLS, parse uintptr, charset uintptr) (r TFcBool) {
  48411. var vstack uintptr
  48412. _ = vstack
  48413. if !(charset != 0) {
  48414. return m_FcFalse
  48415. }
  48416. vstack = _FcVStackCreateAndPush(tls, parse)
  48417. if !(vstack != 0) {
  48418. return m_FcFalse
  48419. }
  48420. *(*uintptr)(unsafe.Pointer(vstack + 24)) = charset
  48421. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackCharSet)
  48422. return int32(m_FcTrue)
  48423. }
  48424. func _FcVStackPushLangSet(tls *libc.TLS, parse uintptr, langset uintptr) (r TFcBool) {
  48425. var vstack uintptr
  48426. _ = vstack
  48427. if !(langset != 0) {
  48428. return m_FcFalse
  48429. }
  48430. vstack = _FcVStackCreateAndPush(tls, parse)
  48431. if !(vstack != 0) {
  48432. return m_FcFalse
  48433. }
  48434. *(*uintptr)(unsafe.Pointer(vstack + 24)) = langset
  48435. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackLangSet)
  48436. return int32(m_FcTrue)
  48437. }
  48438. func _FcVStackPushName(tls *libc.TLS, parse uintptr, kind TFcMatchKind, object TFcObject) (r TFcBool) {
  48439. var vstack uintptr
  48440. _ = vstack
  48441. vstack = _FcVStackCreateAndPush(tls, parse)
  48442. if !(vstack != 0) {
  48443. return m_FcFalse
  48444. }
  48445. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fobject = object
  48446. (*(*TFcExprName)(unsafe.Pointer(vstack + 24))).Fkind = kind
  48447. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackName)
  48448. return int32(m_FcTrue)
  48449. }
  48450. func _FcVStackPushTest(tls *libc.TLS, parse uintptr, test uintptr) (r TFcBool) {
  48451. var vstack uintptr
  48452. _ = vstack
  48453. vstack = _FcVStackCreateAndPush(tls, parse)
  48454. if !(vstack != 0) {
  48455. return m_FcFalse
  48456. }
  48457. *(*uintptr)(unsafe.Pointer(vstack + 24)) = test
  48458. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackTest)
  48459. return int32(m_FcTrue)
  48460. }
  48461. func _FcVStackPushExpr(tls *libc.TLS, parse uintptr, tag TFcVStackTag, expr uintptr) (r TFcBool) {
  48462. var vstack uintptr
  48463. _ = vstack
  48464. vstack = _FcVStackCreateAndPush(tls, parse)
  48465. if !(vstack != 0) {
  48466. return m_FcFalse
  48467. }
  48468. *(*uintptr)(unsafe.Pointer(vstack + 24)) = expr
  48469. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = tag
  48470. return int32(m_FcTrue)
  48471. }
  48472. func _FcVStackPushEdit(tls *libc.TLS, parse uintptr, edit uintptr) (r TFcBool) {
  48473. var vstack uintptr
  48474. _ = vstack
  48475. vstack = _FcVStackCreateAndPush(tls, parse)
  48476. if !(vstack != 0) {
  48477. return m_FcFalse
  48478. }
  48479. *(*uintptr)(unsafe.Pointer(vstack + 24)) = edit
  48480. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackEdit)
  48481. return int32(m_FcTrue)
  48482. }
  48483. func _FcVStackPushPattern(tls *libc.TLS, parse uintptr, pattern uintptr) (r TFcBool) {
  48484. var vstack uintptr
  48485. _ = vstack
  48486. vstack = _FcVStackCreateAndPush(tls, parse)
  48487. if !(vstack != 0) {
  48488. return m_FcFalse
  48489. }
  48490. *(*uintptr)(unsafe.Pointer(vstack + 24)) = pattern
  48491. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackPattern)
  48492. return int32(m_FcTrue)
  48493. }
  48494. func _FcVStackFetch(tls *libc.TLS, parse uintptr, off int32) (r uintptr) {
  48495. var vstack uintptr
  48496. var v2 int32
  48497. var v3 bool
  48498. _, _, _ = vstack, v2, v3
  48499. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  48500. for {
  48501. if v3 = vstack != 0; v3 {
  48502. v2 = off
  48503. off--
  48504. }
  48505. if !(v3 && v2 > 0) {
  48506. break
  48507. }
  48508. goto _1
  48509. _1:
  48510. ;
  48511. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  48512. }
  48513. return vstack
  48514. }
  48515. func _FcVStackPeek(tls *libc.TLS, parse uintptr) (r uintptr) {
  48516. var vstack, v1 uintptr
  48517. _, _ = vstack, v1
  48518. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  48519. if vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  48520. v1 = vstack
  48521. } else {
  48522. v1 = uintptr(0)
  48523. }
  48524. return v1
  48525. }
  48526. func _FcVStackPopAndDestroy(tls *libc.TLS, parse uintptr) {
  48527. var vstack uintptr
  48528. _ = vstack
  48529. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  48530. if !(vstack != 0) || (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack != (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  48531. return
  48532. }
  48533. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  48534. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  48535. case int32(_FcVStackNone):
  48536. case int32(_FcVStackName):
  48537. case int32(_FcVStackFamily):
  48538. case int32(_FcVStackString):
  48539. fallthrough
  48540. case int32(_FcVStackConstant):
  48541. fallthrough
  48542. case int32(_FcVStackGlob):
  48543. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48544. case int32(_FcVStackPattern):
  48545. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48546. case int32(_FcVStackInteger):
  48547. fallthrough
  48548. case int32(_FcVStackDouble):
  48549. case int32(_FcVStackMatrix):
  48550. _FcExprMatrixFreeShallow(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48551. case int32(_FcVStackBool):
  48552. case int32(_FcVStackRange):
  48553. XFcRangeDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48554. case int32(_FcVStackCharSet):
  48555. XFcCharSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48556. case int32(_FcVStackLangSet):
  48557. XFcLangSetDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48558. case int32(_FcVStackTest):
  48559. XFcTestDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48560. case int32(_FcVStackExpr):
  48561. fallthrough
  48562. case int32(_FcVStackPrefer):
  48563. fallthrough
  48564. case int32(_FcVStackAccept):
  48565. fallthrough
  48566. case int32(_FcVStackDefault):
  48567. _FcExprDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48568. case int32(_FcVStackEdit):
  48569. XFcEditDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  48570. break
  48571. }
  48572. if vstack == parse+2504+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used-uint32(1))*32 {
  48573. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used--
  48574. } else {
  48575. libc.Xfree(tls, vstack)
  48576. }
  48577. }
  48578. func _FcVStackClear(tls *libc.TLS, parse uintptr) {
  48579. for _FcVStackPeek(tls, parse) != 0 {
  48580. _FcVStackPopAndDestroy(tls, parse)
  48581. }
  48582. }
  48583. func _FcVStackElements(tls *libc.TLS, parse uintptr) (r int32) {
  48584. var h int32
  48585. var vstack uintptr
  48586. _, _ = h, vstack
  48587. h = 0
  48588. vstack = (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack
  48589. for vstack != 0 && (*TFcVStack)(unsafe.Pointer(vstack)).Fpstack == (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack {
  48590. h++
  48591. vstack = (*TFcVStack)(unsafe.Pointer(vstack)).Fprev
  48592. }
  48593. return h
  48594. }
  48595. func _FcConfigSaveAttr(tls *libc.TLS, attr uintptr, buf uintptr, size_bytes int32) (r uintptr) {
  48596. var i, slen int32
  48597. var new1, s uintptr
  48598. _, _, _, _ = i, new1, s, slen
  48599. if !(attr != 0) {
  48600. return uintptr(0)
  48601. }
  48602. slen = 0
  48603. i = 0
  48604. for {
  48605. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  48606. break
  48607. }
  48608. slen = int32(uint64(slen) + (libc.Xstrlen(tls, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8))) + libc.Uint64FromInt32(1)))
  48609. goto _1
  48610. _1:
  48611. ;
  48612. i++
  48613. }
  48614. if i == 0 {
  48615. return uintptr(0)
  48616. }
  48617. slen = int32(uint64(slen) + uint64(i+libc.Int32FromInt32(1))*libc.Uint64FromInt64(8))
  48618. if slen <= size_bytes {
  48619. new1 = buf
  48620. } else {
  48621. new1 = libc.Xmalloc(tls, uint64(slen))
  48622. if !(new1 != 0) {
  48623. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+7182, 0)
  48624. return uintptr(0)
  48625. }
  48626. }
  48627. s = new1 + uintptr(i+libc.Int32FromInt32(1))*8
  48628. i = 0
  48629. for {
  48630. if !(*(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)) != 0) {
  48631. break
  48632. }
  48633. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = s
  48634. libc.X__builtin___strcpy_chk(tls, s, *(*uintptr)(unsafe.Pointer(attr + uintptr(i)*8)), libc.X__builtin_object_size(tls, s, int32(1)))
  48635. s += uintptr(libc.Xstrlen(tls, s) + uint64(1))
  48636. goto _2
  48637. _2:
  48638. ;
  48639. i++
  48640. }
  48641. *(*uintptr)(unsafe.Pointer(new1 + uintptr(i)*8)) = uintptr(0)
  48642. return new1
  48643. }
  48644. func _FcPStackPush(tls *libc.TLS, parse uintptr, element TFcElement, attr uintptr) (r TFcBool) {
  48645. var new1, v2 uintptr
  48646. var v1 uint32
  48647. _, _, _ = new1, v1, v2
  48648. if uint64((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used) < libc.Uint64FromInt64(2432)/libc.Uint64FromInt64(304) {
  48649. v2 = parse + 56
  48650. v1 = *(*uint32)(unsafe.Pointer(v2))
  48651. *(*uint32)(unsafe.Pointer(v2))++
  48652. new1 = parse + 64 + uintptr(v1)*304
  48653. } else {
  48654. new1 = libc.Xmalloc(tls, uint64(304))
  48655. if !(new1 != 0) {
  48656. return m_FcFalse
  48657. }
  48658. }
  48659. (*TFcPStack)(unsafe.Pointer(new1)).Fprev = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  48660. (*TFcPStack)(unsafe.Pointer(new1)).Felement = element
  48661. (*TFcPStack)(unsafe.Pointer(new1)).Fattr = _FcConfigSaveAttr(tls, attr, new1+176, int32(128))
  48662. XFcStrBufInit(tls, new1+24, uintptr(0), 0)
  48663. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = new1
  48664. return int32(m_FcTrue)
  48665. }
  48666. func _FcPStackPop(tls *libc.TLS, parse uintptr) (r TFcBool) {
  48667. bp := tls.Alloc(16)
  48668. defer tls.Free(16)
  48669. var attrs, old uintptr
  48670. _, _ = attrs, old
  48671. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  48672. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7196, 0)
  48673. return m_FcFalse
  48674. }
  48675. /* Don't check the attributes for FcElementNone */
  48676. if (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement != int32(_FcElementNone) && (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr != 0 {
  48677. /* Warn about unused attrs. */
  48678. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  48679. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  48680. if *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) != 0 {
  48681. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7216, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(attrs))))
  48682. }
  48683. attrs += uintptr(2) * 8
  48684. }
  48685. }
  48686. _FcVStackClear(tls, parse)
  48687. old = (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack
  48688. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = (*TFcPStack)(unsafe.Pointer(old)).Fprev
  48689. XFcStrBufDestroy(tls, old+24)
  48690. if (*TFcPStack)(unsafe.Pointer(old)).Fattr != 0 && (*TFcPStack)(unsafe.Pointer(old)).Fattr != old+176 {
  48691. libc.Xfree(tls, (*TFcPStack)(unsafe.Pointer(old)).Fattr)
  48692. }
  48693. if old == parse+64+uintptr((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used-uint32(1))*304 {
  48694. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used--
  48695. } else {
  48696. libc.Xfree(tls, old)
  48697. }
  48698. return int32(m_FcTrue)
  48699. }
  48700. func _FcConfigParseInit(tls *libc.TLS, parse uintptr, name uintptr, config uintptr, parser TXML_Parser, enabled TFcBool) (r TFcBool) {
  48701. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack = uintptr(0)
  48702. (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack_static_used = uint32(0)
  48703. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack = uintptr(0)
  48704. (*TFcConfigParse)(unsafe.Pointer(parse)).Fvstack_static_used = uint32(0)
  48705. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = m_FcFalse
  48706. (*TFcConfigParse)(unsafe.Pointer(parse)).Fname = name
  48707. (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig = config
  48708. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, name)
  48709. (*TFcConfigParse)(unsafe.Pointer(parse)).Fparser = parser
  48710. (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly = libc.BoolInt32(!(enabled != 0))
  48711. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, enabled)
  48712. return int32(m_FcTrue)
  48713. }
  48714. func _FcConfigCleanup(tls *libc.TLS, parse uintptr) {
  48715. for (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0 {
  48716. _FcPStackPop(tls, parse)
  48717. }
  48718. XFcRuleSetDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset)
  48719. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = libc.UintptrFromInt32(0)
  48720. }
  48721. func _FcConfigGetAttribute(tls *libc.TLS, parse uintptr, attr uintptr) (r uintptr) {
  48722. var attrs uintptr
  48723. _ = attrs
  48724. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  48725. return uintptr(0)
  48726. }
  48727. attrs = (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Fattr
  48728. if !(attrs != 0) {
  48729. return uintptr(0)
  48730. }
  48731. for *(*uintptr)(unsafe.Pointer(attrs)) != 0 {
  48732. if !(libc.Xstrcmp(tls, *(*uintptr)(unsafe.Pointer(attrs)), attr) != 0) {
  48733. *(*TFcChar8)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(attrs)))) = uint8('\000') /* Mark as used. */
  48734. return *(*uintptr)(unsafe.Pointer(attrs + 1*8))
  48735. }
  48736. attrs += uintptr(2) * 8
  48737. }
  48738. return uintptr(0)
  48739. }
  48740. func __get_real_paths_from_prefix(tls *libc.TLS, parse uintptr, path uintptr, prefix uintptr) (r uintptr) {
  48741. bp := tls.Alloc(32)
  48742. defer tls.Free(32)
  48743. var e, p, parent, retval, s uintptr
  48744. var i int32
  48745. _, _, _, _, _, _ = e, i, p, parent, retval, s
  48746. parent = libc.UintptrFromInt32(0)
  48747. retval = libc.UintptrFromInt32(0)
  48748. e = libc.UintptrFromInt32(0)
  48749. if prefix != 0 {
  48750. if XFcStrCmp(tls, prefix, __ccgo_ts+7239) == 0 {
  48751. parent = XFcConfigXdgDataHome(tls)
  48752. if !(parent != 0) {
  48753. /* Home directory might be disabled */
  48754. return libc.UintptrFromInt32(0)
  48755. }
  48756. e = XFcConfigXdgDataDirs(tls)
  48757. if !(e != 0) {
  48758. XFcStrFree(tls, parent)
  48759. return libc.UintptrFromInt32(0)
  48760. }
  48761. } else {
  48762. if XFcStrCmp(tls, prefix, __ccgo_ts+7243) == 0 || XFcStrCmp(tls, prefix, __ccgo_ts+7251) == 0 {
  48763. /* Nothing to do */
  48764. } else {
  48765. if XFcStrCmp(tls, prefix, __ccgo_ts+7255) == 0 {
  48766. p = XFcStrRealPath(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fname)
  48767. if !(p != 0) {
  48768. return libc.UintptrFromInt32(0)
  48769. }
  48770. parent = XFcStrDirname(tls, p)
  48771. if !(parent != 0) {
  48772. libc.Xfree(tls, p)
  48773. return libc.UintptrFromInt32(0)
  48774. }
  48775. }
  48776. }
  48777. }
  48778. } else {
  48779. if !(XFcStrIsAbsoluteFilename(tls, path) != 0) && int32(*(*TFcChar8)(unsafe.Pointer(path))) != int32('~') {
  48780. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7264, libc.VaList(bp+8, _FcElementReverseMap(tls, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)))
  48781. }
  48782. }
  48783. if parent != 0 {
  48784. retval = XFcStrBuildFilename(tls, parent, libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  48785. XFcStrFree(tls, parent)
  48786. } else {
  48787. retval = libc.Xstrdup(tls, path)
  48788. }
  48789. if !(e != 0) {
  48790. e = XFcStrSetCreate(tls)
  48791. } else {
  48792. i = 0
  48793. for {
  48794. if !(i < (*TFcStrSet)(unsafe.Pointer(e)).Fnum) {
  48795. break
  48796. }
  48797. s = XFcStrBuildFilename(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)), libc.VaList(bp+8, path, libc.UintptrFromInt32(0)))
  48798. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)))
  48799. *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(e)).Fstrs + uintptr(i)*8)) = s
  48800. goto _1
  48801. _1:
  48802. ;
  48803. i++
  48804. }
  48805. }
  48806. if !(XFcStrSetInsert(tls, e, retval, 0) != 0) {
  48807. XFcStrSetDestroy(tls, e)
  48808. e = libc.UintptrFromInt32(0)
  48809. }
  48810. XFcStrFree(tls, retval)
  48811. return e
  48812. }
  48813. func _FcStartElement(tls *libc.TLS, userData uintptr, name uintptr, attr uintptr) {
  48814. bp := tls.Alloc(16)
  48815. defer tls.Free(16)
  48816. var element TFcElement
  48817. var parse uintptr
  48818. _, _ = element, parse
  48819. parse = userData
  48820. element = _FcElementMap(tls, name)
  48821. if element == int32(_FcElementUnknown) {
  48822. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7359, libc.VaList(bp+8, name))
  48823. }
  48824. if !(_FcPStackPush(tls, parse, element, attr) != 0) {
  48825. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  48826. return
  48827. }
  48828. return
  48829. }
  48830. func _FcParseRescan(tls *libc.TLS, parse uintptr) {
  48831. var n, v1 int32
  48832. var v uintptr
  48833. _, _, _ = n, v, v1
  48834. n = _FcVStackElements(tls, parse)
  48835. for {
  48836. v1 = n
  48837. n--
  48838. if !(v1 > 0) {
  48839. break
  48840. }
  48841. v = _FcVStackFetch(tls, parse, n)
  48842. if (*TFcVStack)(unsafe.Pointer(v)).Ftag != int32(_FcVStackInteger) {
  48843. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7380, 0)
  48844. } else {
  48845. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FrescanInterval = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(v)).Fu))
  48846. }
  48847. }
  48848. }
  48849. func _FcParseInt(tls *libc.TLS, parse uintptr) {
  48850. bp := tls.Alloc(32)
  48851. defer tls.Free(32)
  48852. var l int32
  48853. var s uintptr
  48854. var _ /* end at bp+0 */ uintptr
  48855. _, _ = l, s
  48856. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  48857. return
  48858. }
  48859. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  48860. if !(s != 0) {
  48861. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  48862. return
  48863. }
  48864. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  48865. l = int32(libc.Xstrtol(tls, s, bp, 0))
  48866. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  48867. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7399, libc.VaList(bp+16, s))
  48868. } else {
  48869. _FcVStackPushInteger(tls, parse, l)
  48870. }
  48871. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  48872. }
  48873. type Tlconv = struct {
  48874. Fdecimal_point uintptr
  48875. Fthousands_sep uintptr
  48876. Fgrouping uintptr
  48877. Fint_curr_symbol uintptr
  48878. Fcurrency_symbol uintptr
  48879. Fmon_decimal_point uintptr
  48880. Fmon_thousands_sep uintptr
  48881. Fmon_grouping uintptr
  48882. Fpositive_sign uintptr
  48883. Fnegative_sign uintptr
  48884. Fint_frac_digits int8
  48885. Ffrac_digits int8
  48886. Fp_cs_precedes int8
  48887. Fp_sep_by_space int8
  48888. Fn_cs_precedes int8
  48889. Fn_sep_by_space int8
  48890. Fp_sign_posn int8
  48891. Fn_sign_posn int8
  48892. Fint_p_cs_precedes int8
  48893. Fint_n_cs_precedes int8
  48894. Fint_p_sep_by_space int8
  48895. Fint_n_sep_by_space int8
  48896. Fint_p_sign_posn int8
  48897. Fint_n_sign_posn int8
  48898. }
  48899. func _FcStrtod(tls *libc.TLS, s uintptr, end uintptr) (r float64) {
  48900. bp := tls.Alloc(144)
  48901. defer tls.Free(144)
  48902. var decimal_point, dot, locale_data, v1 uintptr
  48903. var dlen, slen int32
  48904. var v float64
  48905. var _ /* buf at bp+0 */ [128]int8
  48906. var _ /* buf_end at bp+128 */ uintptr
  48907. _, _, _, _, _, _, _ = decimal_point, dlen, dot, locale_data, slen, v, v1
  48908. /*
  48909. * Have to swap the decimal point to match the current locale
  48910. * if that locale doesn't use 0x2e
  48911. */
  48912. locale_data = libc.Xlocaleconv(tls)
  48913. decimal_point = (*Tlconv)(unsafe.Pointer(locale_data)).Fdecimal_point
  48914. dlen = int32(libc.Xstrlen(tls, decimal_point))
  48915. v1 = libc.Xstrchr(tls, s, int32(0x2e))
  48916. dot = v1
  48917. if v1 != 0 && (int32(*(*int8)(unsafe.Pointer(decimal_point))) != int32(0x2e) || int32(*(*int8)(unsafe.Pointer(decimal_point + 1))) != 0) {
  48918. slen = int32(libc.Xstrlen(tls, s))
  48919. if slen+dlen > libc.Int32FromInt64(128) {
  48920. if end != 0 {
  48921. *(*uintptr)(unsafe.Pointer(end)) = s
  48922. }
  48923. v = libc.Float64FromInt32(0)
  48924. } else {
  48925. /* mantissa */
  48926. libc.X__builtin___strncpy_chk(tls, bp, s, uint64(int64(dot)-int64(s)), uint64(libc.X__builtin_object_size(tls, bp, int32(1))))
  48927. /* decimal point */
  48928. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s)), decimal_point, libc.X__builtin_object_size(tls, bp+uintptr(int64(dot)-int64(s)), int32(1)))
  48929. /* rest of number */
  48930. libc.X__builtin___strcpy_chk(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), dot+uintptr(1), libc.X__builtin_object_size(tls, bp+uintptr(int64(dot)-int64(s))+uintptr(dlen), int32(1)))
  48931. *(*uintptr)(unsafe.Pointer(bp + 128)) = uintptr(0)
  48932. v = libc.Xstrtod(tls, bp, bp+128)
  48933. if *(*uintptr)(unsafe.Pointer(bp + 128)) != 0 {
  48934. *(*uintptr)(unsafe.Pointer(bp + 128)) = s + uintptr(int64(*(*uintptr)(unsafe.Pointer(bp + 128)))-t__predefined_ptrdiff_t(bp))
  48935. if *(*uintptr)(unsafe.Pointer(bp + 128)) > dot {
  48936. *(*uintptr)(unsafe.Pointer(bp + 128)) -= uintptr(dlen - int32(1))
  48937. }
  48938. }
  48939. if end != 0 {
  48940. *(*uintptr)(unsafe.Pointer(end)) = *(*uintptr)(unsafe.Pointer(bp + 128))
  48941. }
  48942. }
  48943. } else {
  48944. v = libc.Xstrtod(tls, s, end)
  48945. }
  48946. return v
  48947. }
  48948. func _FcParseDouble(tls *libc.TLS, parse uintptr) {
  48949. bp := tls.Alloc(32)
  48950. defer tls.Free(32)
  48951. var d float64
  48952. var s uintptr
  48953. var _ /* end at bp+0 */ uintptr
  48954. _, _ = d, s
  48955. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  48956. return
  48957. }
  48958. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  48959. if !(s != 0) {
  48960. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  48961. return
  48962. }
  48963. *(*uintptr)(unsafe.Pointer(bp)) = uintptr(0)
  48964. d = _FcStrtod(tls, s, bp)
  48965. if *(*uintptr)(unsafe.Pointer(bp)) != s+uintptr(libc.Xstrlen(tls, s)) {
  48966. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7425, libc.VaList(bp+16, s))
  48967. } else {
  48968. _FcVStackPushDouble(tls, parse, d)
  48969. }
  48970. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  48971. }
  48972. func _FcParseString(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  48973. var s uintptr
  48974. _ = s
  48975. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  48976. return
  48977. }
  48978. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  48979. if !(s != 0) {
  48980. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  48981. return
  48982. }
  48983. if !(_FcVStackPushString(tls, parse, tag, s) != 0) {
  48984. XFcStrFree(tls, s)
  48985. }
  48986. }
  48987. func _FcParseName(tls *libc.TLS, parse uintptr) {
  48988. bp := tls.Alloc(16)
  48989. defer tls.Free(16)
  48990. var kind TFcMatchKind
  48991. var kind_string, s uintptr
  48992. var object TFcObject
  48993. _, _, _, _ = kind, kind_string, object, s
  48994. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  48995. if !(kind_string != 0) {
  48996. kind = -libc.Int32FromInt32(1)
  48997. } else {
  48998. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7457) != 0) {
  48999. kind = int32(_FcMatchPattern)
  49000. } else {
  49001. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7465) != 0) {
  49002. kind = int32(_FcMatchFont)
  49003. } else {
  49004. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7243) != 0) {
  49005. kind = -libc.Int32FromInt32(1)
  49006. } else {
  49007. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7470, libc.VaList(bp+8, kind_string))
  49008. return
  49009. }
  49010. }
  49011. }
  49012. }
  49013. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  49014. return
  49015. }
  49016. s = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49017. if !(s != 0) {
  49018. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49019. return
  49020. }
  49021. object = XFcObjectFromName(tls, s)
  49022. _FcVStackPushName(tls, parse, kind, object)
  49023. XFcStrFree(tls, s)
  49024. }
  49025. func _FcParseMatrix(tls *libc.TLS, parse uintptr) {
  49026. bp := tls.Alloc(32)
  49027. defer tls.Free(32)
  49028. var _ /* m at bp+0 */ TFcExprMatrix
  49029. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy = _FcPopExpr(tls, parse)
  49030. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx = _FcPopExpr(tls, parse)
  49031. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy = _FcPopExpr(tls, parse)
  49032. (*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx = _FcPopExpr(tls, parse)
  49033. if !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fyx != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxy != 0) || !((*(*TFcExprMatrix)(unsafe.Pointer(bp))).Fxx != 0) {
  49034. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7495, 0)
  49035. return
  49036. }
  49037. if _FcPopExpr(tls, parse) != 0 {
  49038. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7528, 0)
  49039. } else {
  49040. _FcVStackPushMatrix(tls, parse, bp)
  49041. }
  49042. }
  49043. func _FcParseRange(tls *libc.TLS, parse uintptr) {
  49044. var count int32
  49045. var d [2]float64
  49046. var dflag TFcBool
  49047. var n [2]TFcChar32
  49048. var r, vstack, v1 uintptr
  49049. _, _, _, _, _, _, _ = count, d, dflag, n, r, vstack, v1
  49050. n = [2]TFcChar32{}
  49051. count = int32(1)
  49052. d = [2]float64{}
  49053. dflag = m_FcFalse
  49054. for {
  49055. v1 = _FcVStackPeek(tls, parse)
  49056. vstack = v1
  49057. if !(v1 != 0) {
  49058. break
  49059. }
  49060. if count < 0 {
  49061. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7560, 0)
  49062. return
  49063. }
  49064. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49065. case int32(_FcVStackInteger):
  49066. if dflag != 0 {
  49067. d[count] = float64(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  49068. } else {
  49069. n[count] = uint32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  49070. }
  49071. case int32(_FcVStackDouble):
  49072. if count == 0 && !(dflag != 0) {
  49073. d[int32(1)] = float64(n[int32(1)])
  49074. }
  49075. d[count] = *(*float64)(unsafe.Pointer(vstack + 24))
  49076. dflag = int32(m_FcTrue)
  49077. default:
  49078. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7587, 0)
  49079. if dflag != 0 {
  49080. d[count] = libc.Float64FromFloat64(0)
  49081. } else {
  49082. n[count] = uint32(0)
  49083. }
  49084. break
  49085. }
  49086. count--
  49087. _FcVStackPopAndDestroy(tls, parse)
  49088. }
  49089. if count >= 0 {
  49090. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  49091. return
  49092. }
  49093. if dflag != 0 {
  49094. if d[0] > d[int32(1)] {
  49095. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  49096. return
  49097. }
  49098. r = XFcRangeCreateDouble(tls, d[0], d[int32(1)])
  49099. } else {
  49100. if n[0] > n[int32(1)] {
  49101. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7612, 0)
  49102. return
  49103. }
  49104. r = XFcRangeCreateInteger(tls, n[0], n[int32(1)])
  49105. }
  49106. _FcVStackPushRange(tls, parse, r)
  49107. }
  49108. func _FcConfigLexBool(tls *libc.TLS, parse uintptr, bool_ uintptr) (r TFcBool) {
  49109. bp := tls.Alloc(32)
  49110. defer tls.Free(32)
  49111. var _ /* result at bp+0 */ TFcBool
  49112. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  49113. if !(XFcNameBool(tls, bool_, bp) != 0) {
  49114. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7626, libc.VaList(bp+16, bool_))
  49115. }
  49116. return *(*TFcBool)(unsafe.Pointer(bp))
  49117. }
  49118. func _FcParseBool(tls *libc.TLS, parse uintptr) {
  49119. var s uintptr
  49120. _ = s
  49121. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  49122. return
  49123. }
  49124. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49125. if !(s != 0) {
  49126. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49127. return
  49128. }
  49129. _FcVStackPushBool(tls, parse, _FcConfigLexBool(tls, parse, s))
  49130. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49131. }
  49132. func _FcParseCharSet(tls *libc.TLS, parse uintptr) {
  49133. bp := tls.Alloc(16)
  49134. defer tls.Free(16)
  49135. var begin, end, i TFcChar32
  49136. var charset, vstack, v1 uintptr
  49137. var n int32
  49138. _, _, _, _, _, _, _ = begin, charset, end, i, n, vstack, v1
  49139. charset = XFcCharSetCreate(tls)
  49140. n = 0
  49141. for {
  49142. v1 = _FcVStackPeek(tls, parse)
  49143. vstack = v1
  49144. if !(v1 != 0) {
  49145. break
  49146. }
  49147. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49148. case int32(_FcVStackInteger):
  49149. if !(XFcCharSetAddChar(tls, charset, uint32(*(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))) != 0) {
  49150. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7652, libc.VaList(bp+8, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))))
  49151. } else {
  49152. n++
  49153. }
  49154. case int32(_FcVStackRange):
  49155. begin = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fbegin)
  49156. end = uint32((*TFcRange)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fend)
  49157. if begin <= end {
  49158. i = begin
  49159. for {
  49160. if !(i <= end) {
  49161. break
  49162. }
  49163. if !(XFcCharSetAddChar(tls, charset, i) != 0) {
  49164. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7652, libc.VaList(bp+8, i))
  49165. } else {
  49166. n++
  49167. }
  49168. goto _2
  49169. _2:
  49170. ;
  49171. i++
  49172. }
  49173. }
  49174. default:
  49175. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7678, 0)
  49176. break
  49177. }
  49178. _FcVStackPopAndDestroy(tls, parse)
  49179. }
  49180. if n > 0 {
  49181. _FcVStackPushCharSet(tls, parse, charset)
  49182. } else {
  49183. XFcCharSetDestroy(tls, charset)
  49184. }
  49185. }
  49186. func _FcParseLangSet(tls *libc.TLS, parse uintptr) {
  49187. bp := tls.Alloc(16)
  49188. defer tls.Free(16)
  49189. var langset, vstack, v1 uintptr
  49190. var n int32
  49191. _, _, _, _ = langset, n, vstack, v1
  49192. langset = XFcLangSetCreate(tls)
  49193. n = 0
  49194. for {
  49195. v1 = _FcVStackPeek(tls, parse)
  49196. vstack = v1
  49197. if !(v1 != 0) {
  49198. break
  49199. }
  49200. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49201. case int32(_FcVStackString):
  49202. if !(XFcLangSetAdd(tls, langset, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  49203. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7705, libc.VaList(bp+8, *(*uintptr)(unsafe.Pointer(vstack + 24))))
  49204. } else {
  49205. n++
  49206. }
  49207. default:
  49208. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7725, 0)
  49209. break
  49210. }
  49211. _FcVStackPopAndDestroy(tls, parse)
  49212. }
  49213. if n > 0 {
  49214. _FcVStackPushLangSet(tls, parse, langset)
  49215. } else {
  49216. XFcLangSetDestroy(tls, langset)
  49217. }
  49218. }
  49219. func _FcConfigLexBinding(tls *libc.TLS, parse uintptr, binding_string uintptr, binding_ret uintptr) (r TFcBool) {
  49220. bp := tls.Alloc(16)
  49221. defer tls.Free(16)
  49222. var binding TFcValueBinding
  49223. _ = binding
  49224. if !(binding_string != 0) {
  49225. binding = int32(_FcValueBindingWeak)
  49226. } else {
  49227. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7752) != 0) {
  49228. binding = int32(_FcValueBindingWeak)
  49229. } else {
  49230. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7757) != 0) {
  49231. binding = int32(_FcValueBindingStrong)
  49232. } else {
  49233. if !(libc.Xstrcmp(tls, binding_string, __ccgo_ts+7764) != 0) {
  49234. binding = int32(_FcValueBindingSame)
  49235. } else {
  49236. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7769, libc.VaList(bp+8, binding_string))
  49237. return m_FcFalse
  49238. }
  49239. }
  49240. }
  49241. }
  49242. *(*TFcValueBinding)(unsafe.Pointer(binding_ret)) = binding
  49243. return int32(m_FcTrue)
  49244. }
  49245. func _FcParseFamilies(tls *libc.TLS, parse uintptr, tag TFcVStackTag) {
  49246. var expr, left, new1, vstack, v1 uintptr
  49247. _, _, _, _, _ = expr, left, new1, vstack, v1
  49248. expr = uintptr(0)
  49249. for {
  49250. v1 = _FcVStackPeek(tls, parse)
  49251. vstack = v1
  49252. if !(v1 != 0) {
  49253. break
  49254. }
  49255. if (*TFcVStack)(unsafe.Pointer(vstack)).Ftag != int32(_FcVStackFamily) {
  49256. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7790, 0)
  49257. _FcVStackPopAndDestroy(tls, parse)
  49258. continue
  49259. }
  49260. left = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49261. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49262. _FcVStackPopAndDestroy(tls, parse)
  49263. if expr != 0 {
  49264. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, int32(_FcOpComma), expr)
  49265. if !(new1 != 0) {
  49266. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49267. _FcExprDestroy(tls, left)
  49268. _FcExprDestroy(tls, expr)
  49269. break
  49270. }
  49271. expr = new1
  49272. } else {
  49273. expr = left
  49274. }
  49275. }
  49276. if expr != 0 {
  49277. if !(_FcVStackPushExpr(tls, parse, tag, expr) != 0) {
  49278. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49279. _FcExprDestroy(tls, expr)
  49280. }
  49281. }
  49282. }
  49283. func _FcParseFamily(tls *libc.TLS, parse uintptr) {
  49284. var expr, s uintptr
  49285. _, _ = expr, s
  49286. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  49287. return
  49288. }
  49289. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49290. if !(s != 0) {
  49291. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49292. return
  49293. }
  49294. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  49295. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49296. if expr != 0 {
  49297. _FcVStackPushExpr(tls, parse, int32(_FcVStackFamily), expr)
  49298. }
  49299. }
  49300. func _FcParseAlias(tls *libc.TLS, parse uintptr) {
  49301. bp := tls.Alloc(16)
  49302. defer tls.Free(16)
  49303. var accept, def, edit, family, new1, prefer, r, rule, t, vstack, v1, v3 uintptr
  49304. var n, v4 int32
  49305. var _ /* binding at bp+0 */ TFcValueBinding
  49306. _, _, _, _, _, _, _, _, _, _, _, _, _, _ = accept, def, edit, family, n, new1, prefer, r, rule, t, vstack, v1, v3, v4
  49307. family = uintptr(0)
  49308. accept = uintptr(0)
  49309. prefer = uintptr(0)
  49310. def = uintptr(0)
  49311. new1 = uintptr(0)
  49312. edit = uintptr(0)
  49313. rule = libc.UintptrFromInt32(0)
  49314. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7801), bp) != 0) {
  49315. return
  49316. }
  49317. for {
  49318. v1 = _FcVStackPeek(tls, parse)
  49319. vstack = v1
  49320. if !(v1 != 0) {
  49321. break
  49322. }
  49323. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49324. case int32(_FcVStackFamily):
  49325. if family != 0 {
  49326. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7809, 0)
  49327. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)), int32(_FcOpComma), family)
  49328. if !(new1 != 0) {
  49329. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49330. } else {
  49331. family = new1
  49332. }
  49333. } else {
  49334. new1 = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49335. }
  49336. if new1 != 0 {
  49337. family = new1
  49338. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49339. }
  49340. case int32(_FcVStackPrefer):
  49341. if prefer != 0 {
  49342. _FcExprDestroy(tls, prefer)
  49343. }
  49344. prefer = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49345. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49346. case int32(_FcVStackAccept):
  49347. if accept != 0 {
  49348. _FcExprDestroy(tls, accept)
  49349. }
  49350. accept = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49351. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49352. case int32(_FcVStackDefault):
  49353. if def != 0 {
  49354. _FcExprDestroy(tls, def)
  49355. }
  49356. def = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49357. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49358. case int32(_FcVStackTest):
  49359. if rule != 0 {
  49360. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49361. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  49362. rule = r
  49363. } else {
  49364. rule = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49365. }
  49366. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49367. default:
  49368. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7890, 0)
  49369. break
  49370. }
  49371. _FcVStackPopAndDestroy(tls, parse)
  49372. }
  49373. if !(family != 0) {
  49374. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7900, 0)
  49375. if prefer != 0 {
  49376. _FcExprDestroy(tls, prefer)
  49377. }
  49378. if accept != 0 {
  49379. _FcExprDestroy(tls, accept)
  49380. }
  49381. if def != 0 {
  49382. _FcExprDestroy(tls, def)
  49383. }
  49384. if rule != 0 {
  49385. XFcRuleDestroy(tls, rule)
  49386. }
  49387. return
  49388. }
  49389. if !(prefer != 0) && !(accept != 0) && !(def != 0) {
  49390. _FcExprDestroy(tls, family)
  49391. if rule != 0 {
  49392. XFcRuleDestroy(tls, rule)
  49393. }
  49394. return
  49395. } else {
  49396. t = _FcTestCreate(tls, parse, int32(_FcMatchPattern), int32(_FcQualAny), __ccgo_ts+5977, uint32(int32(_FcOpEqual)&libc.Int32FromInt32(0xffff)|int32(_FcOpFlagIgnoreBlanks)<<libc.Int32FromInt32(16)), family)
  49397. if rule != 0 {
  49398. r = rule
  49399. for {
  49400. if !((*TFcRule)(unsafe.Pointer(r)).Fnext != 0) {
  49401. break
  49402. }
  49403. goto _2
  49404. _2:
  49405. ;
  49406. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  49407. }
  49408. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  49409. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  49410. } else {
  49411. v3 = _FcRuleCreate(tls, int32(_FcRuleTest), t)
  49412. rule = v3
  49413. r = v3
  49414. }
  49415. }
  49416. if prefer != 0 {
  49417. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpPrepend), prefer, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  49418. if !(edit != 0) {
  49419. _FcExprDestroy(tls, prefer)
  49420. } else {
  49421. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  49422. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  49423. }
  49424. }
  49425. if accept != 0 {
  49426. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppend), accept, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  49427. if !(edit != 0) {
  49428. _FcExprDestroy(tls, accept)
  49429. } else {
  49430. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  49431. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  49432. }
  49433. }
  49434. if def != 0 {
  49435. edit = _FcEditCreate(tls, parse, int32(_FC_FAMILY_OBJECT), int32(_FcOpAppendLast), def, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  49436. if !(edit != 0) {
  49437. _FcExprDestroy(tls, def)
  49438. } else {
  49439. (*TFcRule)(unsafe.Pointer(r)).Fnext = _FcRuleCreate(tls, int32(_FcRuleEdit), edit)
  49440. r = (*TFcRule)(unsafe.Pointer(r)).Fnext
  49441. }
  49442. }
  49443. v4 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, int32(_FcMatchPattern))
  49444. n = v4
  49445. if v4 == -int32(1) {
  49446. XFcRuleDestroy(tls, rule)
  49447. } else {
  49448. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  49449. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  49450. }
  49451. }
  49452. }
  49453. func _FcParseDescription(tls *libc.TLS, parse uintptr) {
  49454. var desc, domain uintptr
  49455. _, _ = desc, domain
  49456. domain = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7924)
  49457. desc = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49458. if !(desc != 0) {
  49459. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49460. return
  49461. }
  49462. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, domain, desc)
  49463. XFcStrFree(tls, desc)
  49464. }
  49465. func _FcParseRemapDir(tls *libc.TLS, parse uintptr) {
  49466. bp := tls.Alloc(32)
  49467. defer tls.Free(32)
  49468. var attr, data, l, path, prefix, prefix_dirs, salt, v1 uintptr
  49469. _, _, _, _, _, _, _, _ = attr, data, l, path, prefix, prefix_dirs, salt, v1
  49470. prefix_dirs = libc.UintptrFromInt32(0)
  49471. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49472. if !(data != 0) {
  49473. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49474. return
  49475. }
  49476. if int32(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  49477. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7931, 0)
  49478. return
  49479. }
  49480. path = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7975)
  49481. if !(path != 0) {
  49482. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+7983, 0)
  49483. return
  49484. }
  49485. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  49486. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8019)
  49487. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  49488. if prefix_dirs != 0 {
  49489. l = XFcStrListCreate(tls, prefix_dirs)
  49490. XFcStrSetDestroy(tls, prefix_dirs)
  49491. for {
  49492. v1 = XFcStrListNext(tls, l)
  49493. prefix = v1
  49494. if !(v1 != 0) {
  49495. break
  49496. }
  49497. if !(prefix != 0) || int32(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  49498. /* nop */
  49499. } else {
  49500. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  49501. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, path, salt) != 0) {
  49502. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8024, libc.VaList(bp+8, prefix, path))
  49503. }
  49504. }
  49505. }
  49506. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49507. }
  49508. XFcStrListDone(tls, l)
  49509. }
  49510. }
  49511. func _FcParseResetDirs(tls *libc.TLS, parse uintptr) {
  49512. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) {
  49513. if !(XFcConfigResetFontDirs(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig) != 0) {
  49514. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8077, 0)
  49515. }
  49516. }
  49517. }
  49518. func _FcPopExpr(tls *libc.TLS, parse uintptr) (r uintptr) {
  49519. var expr, vstack uintptr
  49520. _, _ = expr, vstack
  49521. vstack = _FcVStackPeek(tls, parse)
  49522. expr = uintptr(0)
  49523. if !(vstack != 0) {
  49524. return uintptr(0)
  49525. }
  49526. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  49527. case int32(_FcVStackNone):
  49528. case int32(_FcVStackString):
  49529. fallthrough
  49530. case int32(_FcVStackFamily):
  49531. expr = _FcExprCreateString(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49532. case int32(_FcVStackName):
  49533. expr = _FcExprCreateName(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcExprName)(unsafe.Pointer(vstack + 24)))
  49534. case int32(_FcVStackConstant):
  49535. expr = _FcExprCreateConst(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49536. case int32(_FcVStackGlob):
  49537. /* XXX: What's the correct action here? (CDW) */
  49538. case int32(_FcVStackPrefer):
  49539. fallthrough
  49540. case int32(_FcVStackAccept):
  49541. fallthrough
  49542. case int32(_FcVStackDefault):
  49543. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49544. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49545. case int32(_FcVStackInteger):
  49546. expr = _FcExprCreateInteger(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  49547. case int32(_FcVStackDouble):
  49548. expr = _FcExprCreateDouble(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*float64)(unsafe.Pointer(vstack + 24)))
  49549. case int32(_FcVStackMatrix):
  49550. expr = _FcExprCreateMatrix(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49551. case int32(_FcVStackRange):
  49552. expr = _FcExprCreateRange(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49553. case int32(_FcVStackBool):
  49554. expr = _FcExprCreateBool(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu)))
  49555. case int32(_FcVStackCharSet):
  49556. expr = _FcExprCreateCharSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49557. case int32(_FcVStackLangSet):
  49558. expr = _FcExprCreateLangSet(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  49559. case int32(_FcVStackTest):
  49560. case int32(_FcVStackExpr):
  49561. expr = *(*uintptr)(unsafe.Pointer(vstack + 24))
  49562. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  49563. case int32(_FcVStackEdit):
  49564. default:
  49565. break
  49566. }
  49567. _FcVStackPopAndDestroy(tls, parse)
  49568. return expr
  49569. }
  49570. // C documentation
  49571. //
  49572. // /*
  49573. // * This builds a tree of binary operations. Note
  49574. // * that every operator is defined so that if only
  49575. // * a single operand is contained, the value of the
  49576. // * whole expression is the value of the operand.
  49577. // *
  49578. // * This code reduces in that case to returning that
  49579. // * operand.
  49580. // */
  49581. func _FcPopBinary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  49582. var expr, left, new1, v1 uintptr
  49583. _, _, _, _ = expr, left, new1, v1
  49584. expr = uintptr(0)
  49585. for {
  49586. v1 = _FcPopExpr(tls, parse)
  49587. left = v1
  49588. if !(v1 != 0) {
  49589. break
  49590. }
  49591. if expr != 0 {
  49592. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, left, op, expr)
  49593. if !(new1 != 0) {
  49594. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49595. _FcExprDestroy(tls, left)
  49596. _FcExprDestroy(tls, expr)
  49597. return uintptr(0)
  49598. }
  49599. expr = new1
  49600. } else {
  49601. expr = left
  49602. }
  49603. }
  49604. return expr
  49605. }
  49606. func _FcParseBinary(tls *libc.TLS, parse uintptr, op TFcOp) {
  49607. var expr uintptr
  49608. _ = expr
  49609. expr = _FcPopBinary(tls, parse, op)
  49610. if expr != 0 {
  49611. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  49612. }
  49613. }
  49614. /*
  49615. * This builds a a unary operator, it consumes only
  49616. * a single operand
  49617. */
  49618. func _FcPopUnary(tls *libc.TLS, parse uintptr, op TFcOp) (r uintptr) {
  49619. var new1, operand, v1 uintptr
  49620. _, _, _ = new1, operand, v1
  49621. new1 = uintptr(0)
  49622. v1 = _FcPopExpr(tls, parse)
  49623. operand = v1
  49624. if v1 != 0 {
  49625. new1 = _FcExprCreateOp(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, operand, op, uintptr(0))
  49626. if !(new1 != 0) {
  49627. _FcExprDestroy(tls, operand)
  49628. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49629. }
  49630. }
  49631. return new1
  49632. }
  49633. func _FcParseUnary(tls *libc.TLS, parse uintptr, op TFcOp) {
  49634. var expr uintptr
  49635. _ = expr
  49636. expr = _FcPopUnary(tls, parse, op)
  49637. if expr != 0 {
  49638. _FcVStackPushExpr(tls, parse, int32(_FcVStackExpr), expr)
  49639. }
  49640. }
  49641. func _FcParseDir(tls *libc.TLS, parse uintptr) {
  49642. bp := tls.Alloc(16)
  49643. defer tls.Free(16)
  49644. var attr, data, l, prefix, prefix_dirs, salt, v1 uintptr
  49645. _, _, _, _, _, _, _ = attr, data, l, prefix, prefix_dirs, salt, v1
  49646. prefix_dirs = libc.UintptrFromInt32(0)
  49647. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49648. if !(data != 0) {
  49649. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49650. return
  49651. }
  49652. if int32(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  49653. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8104, 0)
  49654. return
  49655. }
  49656. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  49657. salt = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8019)
  49658. prefix_dirs = __get_real_paths_from_prefix(tls, parse, data, attr)
  49659. if prefix_dirs != 0 {
  49660. l = XFcStrListCreate(tls, prefix_dirs)
  49661. XFcStrSetDestroy(tls, prefix_dirs)
  49662. for {
  49663. v1 = XFcStrListNext(tls, l)
  49664. prefix = v1
  49665. if !(v1 != 0) {
  49666. break
  49667. }
  49668. if !(prefix != 0) || int32(*(*TFcChar8)(unsafe.Pointer(prefix))) == 0 {
  49669. /* nop */
  49670. } else {
  49671. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, prefix) != 0) || XFcConfigHome(tls) != 0) {
  49672. if !(XFcConfigAddFontDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, prefix, libc.UintptrFromInt32(0), salt) != 0) {
  49673. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8138, libc.VaList(bp+8, prefix))
  49674. }
  49675. }
  49676. }
  49677. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49678. }
  49679. XFcStrListDone(tls, l)
  49680. }
  49681. }
  49682. func _FcParseCacheDir(tls *libc.TLS, parse uintptr) {
  49683. bp := tls.Alloc(16)
  49684. defer tls.Free(16)
  49685. var attr, data, p, prefix uintptr
  49686. var dlen, plen Tsize_t
  49687. _, _, _, _, _, _ = attr, data, dlen, p, plen, prefix
  49688. prefix = libc.UintptrFromInt32(0)
  49689. data = libc.UintptrFromInt32(0)
  49690. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  49691. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7239) == 0 {
  49692. prefix = XFcConfigXdgCacheHome(tls)
  49693. /* home directory might be disabled.
  49694. * simply ignore this element.
  49695. */
  49696. if !(prefix != 0) {
  49697. goto bail
  49698. }
  49699. }
  49700. data = XFcStrBufDone(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49701. if !(data != 0) {
  49702. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49703. data = prefix
  49704. goto bail
  49705. }
  49706. if int32(*(*TFcChar8)(unsafe.Pointer(data))) == 0 {
  49707. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8177, 0)
  49708. XFcStrFree(tls, data)
  49709. data = prefix
  49710. goto bail
  49711. }
  49712. if prefix != 0 {
  49713. plen = libc.Xstrlen(tls, prefix)
  49714. dlen = libc.Xstrlen(tls, data)
  49715. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  49716. if !(p != 0) {
  49717. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49718. XFcStrFree(tls, prefix)
  49719. goto bail
  49720. }
  49721. prefix = p
  49722. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  49723. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), data, dlen, uint64(libc.X__builtin_object_size(tls, prefix+uintptr(plen+uint64(1)), 0)))
  49724. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  49725. XFcStrFree(tls, data)
  49726. data = prefix
  49727. }
  49728. if libc.Xstrlen(tls, data) == uint64(0) {
  49729. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8177, 0)
  49730. } else {
  49731. if !((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0) && (!(XFcStrUsesHome(tls, data) != 0) || XFcConfigHome(tls) != 0) {
  49732. if !(XFcConfigAddCacheDir(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, data) != 0) {
  49733. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8212, libc.VaList(bp+8, data))
  49734. }
  49735. }
  49736. }
  49737. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49738. goto bail
  49739. bail:
  49740. ;
  49741. if data != 0 {
  49742. XFcStrFree(tls, data)
  49743. }
  49744. }
  49745. func XFcConfigPathFini(tls *libc.TLS) {
  49746. var s uintptr
  49747. var v1, v2 int32
  49748. _, _, _ = s, v1, v2
  49749. goto retry_dir
  49750. retry_dir:
  49751. ;
  49752. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  49753. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == s {
  49754. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = libc.UintptrFromInt32(0)
  49755. v1 = libc.Int32FromInt32(m_FcTrue)
  49756. } else {
  49757. v1 = m_FcFalse
  49758. }
  49759. if !(v1 != 0) {
  49760. goto retry_dir
  49761. }
  49762. libc.Xfree(tls, s)
  49763. goto retry_conf
  49764. retry_conf:
  49765. ;
  49766. s = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  49767. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == s {
  49768. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = libc.UintptrFromInt32(0)
  49769. v2 = libc.Int32FromInt32(m_FcTrue)
  49770. } else {
  49771. v2 = m_FcFalse
  49772. }
  49773. if !(v2 != 0) {
  49774. goto retry_conf
  49775. }
  49776. libc.Xfree(tls, s)
  49777. }
  49778. func _FcParseInclude(tls *libc.TLS, parse uintptr) {
  49779. bp := tls.Alloc(48)
  49780. defer tls.Free(48)
  49781. var attr, filename, p, parent, parent1, prefix, ruleset, s, u, userconf, userdir uintptr
  49782. var deprecated, ignore_missing TFcBool
  49783. var dlen, plen Tsize_t
  49784. var k TFcMatchKind
  49785. var v3, v6 int32
  49786. var _ /* iter at bp+0 */ TFcPtrListIter
  49787. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = attr, deprecated, dlen, filename, ignore_missing, k, p, parent, parent1, plen, prefix, ruleset, s, u, userconf, userdir, v3, v6
  49788. ignore_missing = m_FcFalse
  49789. deprecated = m_FcFalse
  49790. prefix = libc.UintptrFromInt32(0)
  49791. userdir = libc.UintptrFromInt32(0)
  49792. userconf = libc.UintptrFromInt32(0)
  49793. s = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49794. if !(s != 0) {
  49795. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49796. goto bail
  49797. }
  49798. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8257)
  49799. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  49800. ignore_missing = int32(m_FcTrue)
  49801. }
  49802. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8272)
  49803. if attr != 0 && _FcConfigLexBool(tls, parse, attr) == int32(m_FcTrue) {
  49804. deprecated = int32(m_FcTrue)
  49805. }
  49806. attr = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8012)
  49807. if attr != 0 && XFcStrCmp(tls, attr, __ccgo_ts+7239) == 0 {
  49808. prefix = XFcConfigXdgConfigHome(tls)
  49809. /* home directory might be disabled.
  49810. * simply ignore this element.
  49811. */
  49812. if !(prefix != 0) {
  49813. goto bail
  49814. }
  49815. }
  49816. if prefix != 0 {
  49817. plen = libc.Xstrlen(tls, prefix)
  49818. dlen = libc.Xstrlen(tls, s)
  49819. p = libc.Xrealloc(tls, prefix, plen+uint64(1)+dlen+uint64(1))
  49820. if !(p != 0) {
  49821. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  49822. goto bail
  49823. }
  49824. prefix = p
  49825. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen))) = uint8('/')
  49826. libc.X__builtin___memcpy_chk(tls, prefix+uintptr(plen+uint64(1)), s, dlen, uint64(libc.X__builtin_object_size(tls, prefix+uintptr(plen+uint64(1)), 0)))
  49827. *(*TFcChar8)(unsafe.Pointer(prefix + uintptr(plen+uint64(1)+dlen))) = uint8(0)
  49828. s = prefix
  49829. if !(XFcFileIsDir(tls, s) != 0) {
  49830. goto _1
  49831. }
  49832. goto userdir
  49833. userdir:
  49834. ;
  49835. userdir = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir))))
  49836. if !(userdir != 0) {
  49837. u = libc.Xstrdup(tls, s)
  49838. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) == userdir {
  49839. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userdir)))) = u
  49840. v3 = libc.Int32FromInt32(m_FcTrue)
  49841. } else {
  49842. v3 = m_FcFalse
  49843. }
  49844. if !(v3 != 0) {
  49845. libc.Xfree(tls, u)
  49846. goto userdir
  49847. }
  49848. userdir = u
  49849. }
  49850. goto _2
  49851. _1:
  49852. ;
  49853. if !(XFcFileIsFile(tls, s) != 0) {
  49854. goto _4
  49855. }
  49856. goto userconf
  49857. userconf:
  49858. ;
  49859. userconf = *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf))))
  49860. if !(userconf != 0) {
  49861. u = libc.Xstrdup(tls, s)
  49862. if *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) == userconf {
  49863. *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&___fc_userconf)))) = u
  49864. v6 = libc.Int32FromInt32(m_FcTrue)
  49865. } else {
  49866. v6 = m_FcFalse
  49867. }
  49868. if !(v6 != 0) {
  49869. libc.Xfree(tls, u)
  49870. goto userconf
  49871. }
  49872. userconf = u
  49873. }
  49874. goto _5
  49875. _4:
  49876. ;
  49877. /* No config dir nor file on the XDG directory spec compliant place
  49878. * so need to guess what it is supposed to be.
  49879. */
  49880. if XFcStrStr(tls, s, __ccgo_ts+8283) != libc.UintptrFromInt32(0) {
  49881. goto userdir
  49882. } else {
  49883. goto userconf
  49884. }
  49885. _5:
  49886. ;
  49887. _2:
  49888. }
  49889. /* flush the ruleset into the queue */
  49890. ruleset = (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset
  49891. (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset = XFcRuleSetCreate(tls, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fname)
  49892. XFcRuleSetEnable(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fenabled)
  49893. XFcRuleSetAddDescription(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdomain, (*TFcRuleSet)(unsafe.Pointer(ruleset)).Fdescription)
  49894. k = int32(_FcMatchKindBegin)
  49895. for {
  49896. if !(k < int32(_FcMatchKindEnd)) {
  49897. break
  49898. }
  49899. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp)
  49900. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer(ruleset + 40 + uintptr(k)*8)), bp) != 0 {
  49901. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp)
  49902. XFcRuleSetReference(tls, ruleset)
  49903. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig + 40 + uintptr(k)*8)), bp, ruleset)
  49904. }
  49905. goto _7
  49906. _7:
  49907. ;
  49908. k++
  49909. }
  49910. XFcRuleSetDestroy(tls, ruleset)
  49911. if !(__FcConfigParse(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s, libc.BoolInt32(!(ignore_missing != 0)), libc.BoolInt32(!((*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0))) != 0) {
  49912. (*TFcConfigParse)(unsafe.Pointer(parse)).Ferror1 = int32(m_FcTrue)
  49913. } else {
  49914. filename = XFcConfigGetFilename(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig, s)
  49915. if deprecated == int32(m_FcTrue) && filename != libc.UintptrFromInt32(0) && userdir != libc.UintptrFromInt32(0) && !(XFcFileIsLink(tls, filename) != 0) {
  49916. if XFcFileIsDir(tls, filename) != 0 {
  49917. parent = XFcStrDirname(tls, userdir)
  49918. if !(XFcFileIsDir(tls, parent) != 0) {
  49919. XFcMakeDirectory(tls, parent)
  49920. }
  49921. XFcStrFree(tls, parent)
  49922. if XFcFileIsDir(tls, userdir) != 0 || libc.Xrename(tls, filename, userdir) != 0 || libc.Xsymlink(tls, userdir, filename) != 0 {
  49923. if !(_warn_confd != 0) {
  49924. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8290, libc.VaList(bp+32, s, userdir))
  49925. _warn_confd = int32(m_FcTrue)
  49926. }
  49927. }
  49928. } else {
  49929. parent1 = XFcStrDirname(tls, userconf)
  49930. if !(XFcFileIsDir(tls, parent1) != 0) {
  49931. XFcMakeDirectory(tls, parent1)
  49932. }
  49933. XFcStrFree(tls, parent1)
  49934. if XFcFileIsFile(tls, userconf) != 0 || libc.Xrename(tls, filename, userconf) != 0 || libc.Xsymlink(tls, userconf, filename) != 0 {
  49935. if !(_warn_conf != 0) {
  49936. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8290, libc.VaList(bp+32, s, userconf))
  49937. _warn_conf = int32(m_FcTrue)
  49938. }
  49939. }
  49940. }
  49941. }
  49942. if filename != 0 {
  49943. XFcStrFree(tls, filename)
  49944. }
  49945. }
  49946. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  49947. goto bail
  49948. bail:
  49949. ;
  49950. if prefix != 0 {
  49951. XFcStrFree(tls, prefix)
  49952. }
  49953. }
  49954. var _warn_conf TFcBool
  49955. var _warn_confd TFcBool
  49956. type TFcOpMap = struct {
  49957. Fname [16]int8
  49958. Fop TFcOp
  49959. }
  49960. type T_FcOpMap = TFcOpMap
  49961. func _FcConfigLexOp(tls *libc.TLS, op uintptr, map1 uintptr, nmap int32) (r TFcOp) {
  49962. var i int32
  49963. _ = i
  49964. i = 0
  49965. for {
  49966. if !(i < nmap) {
  49967. break
  49968. }
  49969. if !(libc.Xstrcmp(tls, op, map1+uintptr(i)*20) != 0) {
  49970. return (*(*TFcOpMap)(unsafe.Pointer(map1 + uintptr(i)*20))).Fop
  49971. }
  49972. goto _1
  49973. _1:
  49974. ;
  49975. i++
  49976. }
  49977. return int32(_FcOpInvalid)
  49978. }
  49979. var _fcCompareOps = [8]TFcOpMap{
  49980. 0: {
  49981. Fname: [16]int8{'e', 'q'},
  49982. Fop: int32(_FcOpEqual),
  49983. },
  49984. 1: {
  49985. Fname: [16]int8{'n', 'o', 't', '_', 'e', 'q'},
  49986. Fop: int32(_FcOpNotEqual),
  49987. },
  49988. 2: {
  49989. Fname: [16]int8{'l', 'e', 's', 's'},
  49990. Fop: int32(_FcOpLess),
  49991. },
  49992. 3: {
  49993. Fname: [16]int8{'l', 'e', 's', 's', '_', 'e', 'q'},
  49994. Fop: int32(_FcOpLessEqual),
  49995. },
  49996. 4: {
  49997. Fname: [16]int8{'m', 'o', 'r', 'e'},
  49998. Fop: int32(_FcOpMore),
  49999. },
  50000. 5: {
  50001. Fname: [16]int8{'m', 'o', 'r', 'e', '_', 'e', 'q'},
  50002. Fop: int32(_FcOpMoreEqual),
  50003. },
  50004. 6: {
  50005. Fname: [16]int8{'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  50006. Fop: int32(_FcOpContains),
  50007. },
  50008. 7: {
  50009. Fname: [16]int8{'n', 'o', 't', '_', 'c', 'o', 'n', 't', 'a', 'i', 'n', 's'},
  50010. Fop: int32(_FcOpNotContains),
  50011. },
  50012. }
  50013. func _FcConfigLexCompare(tls *libc.TLS, compare uintptr) (r TFcOp) {
  50014. return _FcConfigLexOp(tls, compare, uintptr(unsafe.Pointer(&_fcCompareOps)), int32(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  50015. }
  50016. func _FcParseTest(tls *libc.TLS, parse uintptr) {
  50017. bp := tls.Alloc(32)
  50018. defer tls.Free(32)
  50019. var compare TFcOp
  50020. var compare_string, expr, iblanks_string, kind_string, name, qual_string, test uintptr
  50021. var flags int32
  50022. var kind TFcMatchKind
  50023. var qual TFcQual
  50024. var _ /* f at bp+0 */ TFcBool
  50025. _, _, _, _, _, _, _, _, _, _, _ = compare, compare_string, expr, flags, iblanks_string, kind, kind_string, name, qual, qual_string, test
  50026. flags = 0
  50027. kind_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  50028. if !(kind_string != 0) {
  50029. kind = -libc.Int32FromInt32(1)
  50030. } else {
  50031. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7457) != 0) {
  50032. kind = int32(_FcMatchPattern)
  50033. } else {
  50034. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7465) != 0) {
  50035. kind = int32(_FcMatchFont)
  50036. } else {
  50037. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+8366) != 0) {
  50038. kind = int32(_FcMatchScan)
  50039. } else {
  50040. if !(libc.Xstrcmp(tls, kind_string, __ccgo_ts+7243) != 0) {
  50041. kind = -libc.Int32FromInt32(1)
  50042. } else {
  50043. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8371, libc.VaList(bp+16, kind_string))
  50044. return
  50045. }
  50046. }
  50047. }
  50048. }
  50049. }
  50050. qual_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8396)
  50051. if !(qual_string != 0) {
  50052. qual = int32(_FcQualAny)
  50053. } else {
  50054. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8401) != 0) {
  50055. qual = int32(_FcQualAny)
  50056. } else {
  50057. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8405) != 0) {
  50058. qual = int32(_FcQualAll)
  50059. } else {
  50060. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8409) != 0) {
  50061. qual = int32(_FcQualFirst)
  50062. } else {
  50063. if !(libc.Xstrcmp(tls, qual_string, __ccgo_ts+8415) != 0) {
  50064. qual = int32(_FcQualNotFirst)
  50065. } else {
  50066. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8425, libc.VaList(bp+16, qual_string))
  50067. return
  50068. }
  50069. }
  50070. }
  50071. }
  50072. }
  50073. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  50074. if !(name != 0) {
  50075. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8453, 0)
  50076. return
  50077. }
  50078. compare_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8471)
  50079. if !(compare_string != 0) {
  50080. compare = int32(_FcOpEqual)
  50081. } else {
  50082. compare = _FcConfigLexCompare(tls, compare_string)
  50083. if compare == int32(_FcOpInvalid) {
  50084. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8479, libc.VaList(bp+16, compare_string))
  50085. return
  50086. }
  50087. }
  50088. iblanks_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8505)
  50089. if iblanks_string != 0 {
  50090. *(*TFcBool)(unsafe.Pointer(bp)) = m_FcFalse
  50091. if !(XFcNameBool(tls, iblanks_string, bp) != 0) {
  50092. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8519, libc.VaList(bp+16, iblanks_string))
  50093. }
  50094. if *(*TFcBool)(unsafe.Pointer(bp)) != 0 {
  50095. flags |= int32(_FcOpFlagIgnoreBlanks)
  50096. }
  50097. }
  50098. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  50099. if !(expr != 0) {
  50100. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8551, 0)
  50101. return
  50102. }
  50103. if (*TFcExpr)(unsafe.Pointer(expr)).Fop == int32(_FcOpComma) {
  50104. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8575, 0)
  50105. }
  50106. test = _FcTestCreate(tls, parse, kind, qual, name, uint32(compare&libc.Int32FromInt32(0xffff)|flags<<libc.Int32FromInt32(16)), expr)
  50107. if !(test != 0) {
  50108. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50109. return
  50110. }
  50111. _FcVStackPushTest(tls, parse, test)
  50112. }
  50113. var _fcModeOps = [8]TFcOpMap{
  50114. 0: {
  50115. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n'},
  50116. Fop: int32(_FcOpAssign),
  50117. },
  50118. 1: {
  50119. Fname: [16]int8{'a', 's', 's', 'i', 'g', 'n', '_', 'r', 'e', 'p', 'l', 'a', 'c', 'e'},
  50120. Fop: int32(_FcOpAssignReplace),
  50121. },
  50122. 2: {
  50123. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd'},
  50124. Fop: int32(_FcOpPrepend),
  50125. },
  50126. 3: {
  50127. Fname: [16]int8{'p', 'r', 'e', 'p', 'e', 'n', 'd', '_', 'f', 'i', 'r', 's', 't'},
  50128. Fop: int32(_FcOpPrependFirst),
  50129. },
  50130. 4: {
  50131. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd'},
  50132. Fop: int32(_FcOpAppend),
  50133. },
  50134. 5: {
  50135. Fname: [16]int8{'a', 'p', 'p', 'e', 'n', 'd', '_', 'l', 'a', 's', 't'},
  50136. Fop: int32(_FcOpAppendLast),
  50137. },
  50138. 6: {
  50139. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e'},
  50140. Fop: int32(_FcOpDelete),
  50141. },
  50142. 7: {
  50143. Fname: [16]int8{'d', 'e', 'l', 'e', 't', 'e', '_', 'a', 'l', 'l'},
  50144. Fop: int32(_FcOpDeleteAll),
  50145. },
  50146. }
  50147. func _FcConfigLexMode(tls *libc.TLS, mode uintptr) (r TFcOp) {
  50148. return _FcConfigLexOp(tls, mode, uintptr(unsafe.Pointer(&_fcModeOps)), int32(libc.Uint64FromInt64(160)/libc.Uint64FromInt64(20)))
  50149. }
  50150. func _FcParseEdit(tls *libc.TLS, parse uintptr) {
  50151. bp := tls.Alloc(32)
  50152. defer tls.Free(32)
  50153. var edit, expr, mode_string, name uintptr
  50154. var mode TFcOp
  50155. var _ /* binding at bp+0 */ TFcValueBinding
  50156. _, _, _, _, _ = edit, expr, mode, mode_string, name
  50157. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  50158. if !(name != 0) {
  50159. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8653, 0)
  50160. return
  50161. }
  50162. mode_string = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8671)
  50163. if !(mode_string != 0) {
  50164. mode = int32(_FcOpAssign)
  50165. } else {
  50166. mode = _FcConfigLexMode(tls, mode_string)
  50167. if mode == int32(_FcOpInvalid) {
  50168. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8676, libc.VaList(bp+16, mode_string))
  50169. return
  50170. }
  50171. }
  50172. if !(_FcConfigLexBinding(tls, parse, _FcConfigGetAttribute(tls, parse, __ccgo_ts+7801), bp) != 0) {
  50173. return
  50174. }
  50175. expr = _FcPopBinary(tls, parse, int32(_FcOpComma))
  50176. if (mode == int32(_FcOpDelete) || mode == int32(_FcOpDeleteAll)) && expr != libc.UintptrFromInt32(0) {
  50177. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8699, 0)
  50178. _FcExprDestroy(tls, expr)
  50179. expr = libc.UintptrFromInt32(0)
  50180. }
  50181. edit = _FcEditCreate(tls, parse, XFcObjectFromName(tls, name), mode, expr, *(*TFcValueBinding)(unsafe.Pointer(bp)))
  50182. if !(edit != 0) {
  50183. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50184. _FcExprDestroy(tls, expr)
  50185. return
  50186. }
  50187. if !(_FcVStackPushEdit(tls, parse, edit) != 0) {
  50188. XFcEditDestroy(tls, edit)
  50189. }
  50190. }
  50191. func _FcParseMatch(tls *libc.TLS, parse uintptr) {
  50192. bp := tls.Alloc(16)
  50193. defer tls.Free(16)
  50194. var kind TFcMatchKind
  50195. var kind_name, r, rule, vstack, v1 uintptr
  50196. var n, v2 int32
  50197. _, _, _, _, _, _, _, _ = kind, kind_name, n, r, rule, vstack, v1, v2
  50198. rule = libc.UintptrFromInt32(0)
  50199. kind_name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+7450)
  50200. if !(kind_name != 0) {
  50201. kind = int32(_FcMatchPattern)
  50202. } else {
  50203. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7457) != 0) {
  50204. kind = int32(_FcMatchPattern)
  50205. } else {
  50206. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+7465) != 0) {
  50207. kind = int32(_FcMatchFont)
  50208. } else {
  50209. if !(libc.Xstrcmp(tls, kind_name, __ccgo_ts+8366) != 0) {
  50210. kind = int32(_FcMatchScan)
  50211. } else {
  50212. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8761, libc.VaList(bp+8, kind_name))
  50213. return
  50214. }
  50215. }
  50216. }
  50217. }
  50218. for {
  50219. v1 = _FcVStackPeek(tls, parse)
  50220. vstack = v1
  50221. if !(v1 != 0) {
  50222. break
  50223. }
  50224. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50225. case int32(_FcVStackTest):
  50226. r = _FcRuleCreate(tls, int32(_FcRuleTest), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50227. if rule != 0 {
  50228. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  50229. }
  50230. rule = r
  50231. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50232. case int32(_FcVStackEdit):
  50233. if kind == int32(_FcMatchScan) && (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject > int32(_FC_ONE_AFTER_MAX_BASE_OBJECT)-libc.Int32FromInt32(1) {
  50234. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+8787, libc.VaList(bp+8, XFcObjectName(tls, (*TFcEdit)(unsafe.Pointer(*(*uintptr)(unsafe.Pointer(vstack + 24)))).Fobject)))
  50235. if rule != 0 {
  50236. XFcRuleDestroy(tls, rule)
  50237. }
  50238. return
  50239. }
  50240. r = _FcRuleCreate(tls, int32(_FcRuleEdit), *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50241. if rule != 0 {
  50242. (*TFcRule)(unsafe.Pointer(r)).Fnext = rule
  50243. }
  50244. rule = r
  50245. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50246. default:
  50247. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8846, 0)
  50248. break
  50249. }
  50250. _FcVStackPopAndDestroy(tls, parse)
  50251. }
  50252. if !(rule != 0) {
  50253. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8868, 0)
  50254. return
  50255. }
  50256. v2 = XFcRuleSetAdd(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fruleset, rule, kind)
  50257. n = v2
  50258. if v2 == -int32(1) {
  50259. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50260. XFcRuleDestroy(tls, rule)
  50261. } else {
  50262. if (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects < n {
  50263. (*TFcConfig)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fconfig)).FmaxObjects = n
  50264. }
  50265. }
  50266. }
  50267. func _FcParseAcceptRejectFont(tls *libc.TLS, parse uintptr, element TFcElement) {
  50268. var vstack, v1 uintptr
  50269. _, _ = vstack, v1
  50270. for {
  50271. v1 = _FcVStackPeek(tls, parse)
  50272. vstack = v1
  50273. if !(v1 != 0) {
  50274. break
  50275. }
  50276. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50277. case int32(_FcVStackGlob):
  50278. 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) {
  50279. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50280. } else {
  50281. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  50282. XFcStrFree(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50283. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50284. }
  50285. }
  50286. case int32(_FcVStackPattern):
  50287. 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) {
  50288. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50289. } else {
  50290. if (*TFcConfigParse)(unsafe.Pointer(parse)).FscanOnly != 0 && *(*uintptr)(unsafe.Pointer(vstack + 24)) != 0 {
  50291. XFcPatternDestroy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50292. }
  50293. (*TFcVStack)(unsafe.Pointer(vstack)).Ftag = int32(_FcVStackNone)
  50294. }
  50295. default:
  50296. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8909, 0)
  50297. break
  50298. }
  50299. _FcVStackPopAndDestroy(tls, parse)
  50300. }
  50301. }
  50302. func _FcPopValue(tls *libc.TLS, parse uintptr) (r TFcValue) {
  50303. bp := tls.Alloc(32)
  50304. defer tls.Free(32)
  50305. var vstack uintptr
  50306. var _ /* value at bp+0 */ TFcValue
  50307. _ = vstack
  50308. vstack = _FcVStackPeek(tls, parse)
  50309. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeVoid)
  50310. if !(vstack != 0) {
  50311. return *(*TFcValue)(unsafe.Pointer(bp))
  50312. }
  50313. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50314. case int32(_FcVStackString):
  50315. *(*uintptr)(unsafe.Pointer(bp + 8)) = libc.Xstrdup(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50316. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  50317. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeString)
  50318. }
  50319. case int32(_FcVStackConstant):
  50320. if XFcNameConstant(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)), bp+8) != 0 {
  50321. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  50322. }
  50323. case int32(_FcVStackInteger):
  50324. *(*int32)(unsafe.Pointer(bp + 8)) = *(*int32)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  50325. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeInteger)
  50326. case int32(_FcVStackDouble):
  50327. *(*float64)(unsafe.Pointer(bp + 8)) = *(*float64)(unsafe.Pointer(vstack + 24))
  50328. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeDouble)
  50329. case int32(_FcVStackBool):
  50330. *(*TFcBool)(unsafe.Pointer(bp + 8)) = *(*TFcBool)(unsafe.Pointer(&(*TFcVStack)(unsafe.Pointer(vstack)).Fu))
  50331. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeBool)
  50332. case int32(_FcVStackCharSet):
  50333. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcCharSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50334. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  50335. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeCharSet)
  50336. }
  50337. case int32(_FcVStackLangSet):
  50338. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcLangSetCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50339. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  50340. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeLangSet)
  50341. }
  50342. case int32(_FcVStackRange):
  50343. *(*uintptr)(unsafe.Pointer(bp + 8)) = XFcRangeCopy(tls, *(*uintptr)(unsafe.Pointer(vstack + 24)))
  50344. if *(*uintptr)(unsafe.Pointer(bp + 8)) != 0 {
  50345. (*(*TFcValue)(unsafe.Pointer(bp))).Ftype1 = int32(_FcTypeRange)
  50346. }
  50347. default:
  50348. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8927, libc.VaList(bp+24, (*TFcVStack)(unsafe.Pointer(vstack)).Ftag))
  50349. break
  50350. }
  50351. _FcVStackPopAndDestroy(tls, parse)
  50352. return *(*TFcValue)(unsafe.Pointer(bp))
  50353. }
  50354. func _FcParsePatelt(tls *libc.TLS, parse uintptr) {
  50355. var name, pattern uintptr
  50356. var value TFcValue
  50357. _, _, _ = name, pattern, value
  50358. pattern = XFcPatternCreate(tls)
  50359. if !(pattern != 0) {
  50360. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50361. return
  50362. }
  50363. name = _FcConfigGetAttribute(tls, parse, __ccgo_ts+8448)
  50364. if !(name != 0) {
  50365. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8954, 0)
  50366. XFcPatternDestroy(tls, pattern)
  50367. return
  50368. }
  50369. for {
  50370. value = _FcPopValue(tls, parse)
  50371. if value.Ftype1 == int32(_FcTypeVoid) {
  50372. break
  50373. }
  50374. if !(XFcPatternAdd(tls, pattern, name, value, int32(m_FcTrue)) != 0) {
  50375. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50376. XFcValueDestroy(tls, value)
  50377. break
  50378. }
  50379. XFcValueDestroy(tls, value)
  50380. goto _1
  50381. _1:
  50382. }
  50383. _FcVStackPushPattern(tls, parse, pattern)
  50384. }
  50385. func _FcParsePattern(tls *libc.TLS, parse uintptr) {
  50386. var pattern, vstack, v1 uintptr
  50387. _, _, _ = pattern, vstack, v1
  50388. pattern = XFcPatternCreate(tls)
  50389. if !(pattern != 0) {
  50390. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50391. return
  50392. }
  50393. for {
  50394. v1 = _FcVStackPeek(tls, parse)
  50395. vstack = v1
  50396. if !(v1 != 0) {
  50397. break
  50398. }
  50399. switch (*TFcVStack)(unsafe.Pointer(vstack)).Ftag {
  50400. case int32(_FcVStackPattern):
  50401. if !(XFcPatternAppend(tls, pattern, *(*uintptr)(unsafe.Pointer(vstack + 24))) != 0) {
  50402. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50403. XFcPatternDestroy(tls, pattern)
  50404. return
  50405. }
  50406. default:
  50407. _FcConfigMessage(tls, parse, int32(_FcSevereWarning), __ccgo_ts+8983, 0)
  50408. break
  50409. }
  50410. _FcVStackPopAndDestroy(tls, parse)
  50411. }
  50412. _FcVStackPushPattern(tls, parse, pattern)
  50413. }
  50414. func _FcEndElement(tls *libc.TLS, userData uintptr, name uintptr) {
  50415. var data, parse uintptr
  50416. _, _ = data, parse
  50417. parse = userData
  50418. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50419. return
  50420. }
  50421. switch (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement {
  50422. case int32(_FcElementNone):
  50423. case int32(_FcElementFontconfig):
  50424. case int32(_FcElementDir):
  50425. _FcParseDir(tls, parse)
  50426. case int32(_FcElementCacheDir):
  50427. _FcParseCacheDir(tls, parse)
  50428. case int32(_FcElementCache):
  50429. data = XFcStrBufDoneStatic(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50430. if !(data != 0) {
  50431. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50432. break
  50433. }
  50434. /* discard this data; no longer used */
  50435. XFcStrBufDestroy(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24)
  50436. case int32(_FcElementInclude):
  50437. _FcParseInclude(tls, parse)
  50438. case int32(_FcElementConfig):
  50439. case int32(_FcElementMatch):
  50440. _FcParseMatch(tls, parse)
  50441. case int32(_FcElementAlias):
  50442. _FcParseAlias(tls, parse)
  50443. case int32(_FcElementDescription):
  50444. _FcParseDescription(tls, parse)
  50445. case int32(_FcElementRemapDir):
  50446. _FcParseRemapDir(tls, parse)
  50447. case int32(_FcElementResetDirs):
  50448. _FcParseResetDirs(tls, parse)
  50449. case int32(_FcElementRescan):
  50450. _FcParseRescan(tls, parse)
  50451. case int32(_FcElementPrefer):
  50452. _FcParseFamilies(tls, parse, int32(_FcVStackPrefer))
  50453. case int32(_FcElementAccept):
  50454. _FcParseFamilies(tls, parse, int32(_FcVStackAccept))
  50455. case int32(_FcElementDefault):
  50456. _FcParseFamilies(tls, parse, int32(_FcVStackDefault))
  50457. case int32(_FcElementFamily):
  50458. _FcParseFamily(tls, parse)
  50459. case int32(_FcElementTest):
  50460. _FcParseTest(tls, parse)
  50461. case int32(_FcElementEdit):
  50462. _FcParseEdit(tls, parse)
  50463. case int32(_FcElementInt):
  50464. _FcParseInt(tls, parse)
  50465. case int32(_FcElementDouble):
  50466. _FcParseDouble(tls, parse)
  50467. case int32(_FcElementString):
  50468. _FcParseString(tls, parse, int32(_FcVStackString))
  50469. case int32(_FcElementMatrix):
  50470. _FcParseMatrix(tls, parse)
  50471. case int32(_FcElementRange):
  50472. _FcParseRange(tls, parse)
  50473. case int32(_FcElementBool):
  50474. _FcParseBool(tls, parse)
  50475. case int32(_FcElementCharSet):
  50476. _FcParseCharSet(tls, parse)
  50477. case int32(_FcElementLangSet):
  50478. _FcParseLangSet(tls, parse)
  50479. case int32(_FcElementSelectfont):
  50480. case int32(_FcElementAcceptfont):
  50481. fallthrough
  50482. case int32(_FcElementRejectfont):
  50483. _FcParseAcceptRejectFont(tls, parse, (*TFcPStack)(unsafe.Pointer((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack)).Felement)
  50484. case int32(_FcElementGlob):
  50485. _FcParseString(tls, parse, int32(_FcVStackGlob))
  50486. case int32(_FcElementPattern):
  50487. _FcParsePattern(tls, parse)
  50488. case int32(_FcElementPatelt):
  50489. _FcParsePatelt(tls, parse)
  50490. case int32(_FcElementName):
  50491. _FcParseName(tls, parse)
  50492. case int32(_FcElementConst):
  50493. _FcParseString(tls, parse, int32(_FcVStackConstant))
  50494. case int32(_FcElementOr):
  50495. _FcParseBinary(tls, parse, int32(_FcOpOr))
  50496. case int32(_FcElementAnd):
  50497. _FcParseBinary(tls, parse, int32(_FcOpAnd))
  50498. case int32(_FcElementEq):
  50499. _FcParseBinary(tls, parse, int32(_FcOpEqual))
  50500. case int32(_FcElementNotEq):
  50501. _FcParseBinary(tls, parse, int32(_FcOpNotEqual))
  50502. case int32(_FcElementLess):
  50503. _FcParseBinary(tls, parse, int32(_FcOpLess))
  50504. case int32(_FcElementLessEq):
  50505. _FcParseBinary(tls, parse, int32(_FcOpLessEqual))
  50506. case int32(_FcElementMore):
  50507. _FcParseBinary(tls, parse, int32(_FcOpMore))
  50508. case int32(_FcElementMoreEq):
  50509. _FcParseBinary(tls, parse, int32(_FcOpMoreEqual))
  50510. case int32(_FcElementContains):
  50511. _FcParseBinary(tls, parse, int32(_FcOpContains))
  50512. case int32(_FcElementNotContains):
  50513. _FcParseBinary(tls, parse, int32(_FcOpNotContains))
  50514. case int32(_FcElementPlus):
  50515. _FcParseBinary(tls, parse, int32(_FcOpPlus))
  50516. case int32(_FcElementMinus):
  50517. _FcParseBinary(tls, parse, int32(_FcOpMinus))
  50518. case int32(_FcElementTimes):
  50519. _FcParseBinary(tls, parse, int32(_FcOpTimes))
  50520. case int32(_FcElementDivide):
  50521. _FcParseBinary(tls, parse, int32(_FcOpDivide))
  50522. case int32(_FcElementNot):
  50523. _FcParseUnary(tls, parse, int32(_FcOpNot))
  50524. case int32(_FcElementIf):
  50525. _FcParseBinary(tls, parse, int32(_FcOpQuest))
  50526. case int32(_FcElementFloor):
  50527. _FcParseUnary(tls, parse, int32(_FcOpFloor))
  50528. case int32(_FcElementCeil):
  50529. _FcParseUnary(tls, parse, int32(_FcOpCeil))
  50530. case int32(_FcElementRound):
  50531. _FcParseUnary(tls, parse, int32(_FcOpRound))
  50532. case int32(_FcElementTrunc):
  50533. _FcParseUnary(tls, parse, int32(_FcOpTrunc))
  50534. case int32(_FcElementUnknown):
  50535. break
  50536. }
  50537. _FcPStackPop(tls, parse)
  50538. }
  50539. func _FcCharacterData(tls *libc.TLS, userData uintptr, s uintptr, len1 int32) {
  50540. var parse uintptr
  50541. _ = parse
  50542. parse = userData
  50543. if !((*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack != 0) {
  50544. return
  50545. }
  50546. if !(XFcStrBufData(tls, (*TFcConfigParse)(unsafe.Pointer(parse)).Fpstack+24, s, len1) != 0) {
  50547. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+7182, 0)
  50548. }
  50549. }
  50550. func _FcStartDoctypeDecl(tls *libc.TLS, userData uintptr, doctypeName uintptr, sysid uintptr, pubid uintptr, has_internal_subset int32) {
  50551. bp := tls.Alloc(16)
  50552. defer tls.Free(16)
  50553. var parse uintptr
  50554. _ = parse
  50555. parse = userData
  50556. if libc.Xstrcmp(tls, doctypeName, __ccgo_ts+9007) != 0 {
  50557. _FcConfigMessage(tls, parse, int32(_FcSevereError), __ccgo_ts+9018, libc.VaList(bp+8, doctypeName))
  50558. }
  50559. }
  50560. func _FcEndDoctypeDecl(tls *libc.TLS, userData uintptr) {
  50561. }
  50562. func _FcSortCmpStr(tls *libc.TLS, a uintptr, b uintptr) (r int32) {
  50563. var as, bs uintptr
  50564. _, _ = as, bs
  50565. as = *(*uintptr)(unsafe.Pointer(a))
  50566. bs = *(*uintptr)(unsafe.Pointer(b))
  50567. return XFcStrCmp(tls, as, bs)
  50568. }
  50569. func _FcConfigParseAndLoadDir(tls *libc.TLS, config uintptr, name uintptr, dir uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  50570. bp := tls.Alloc(16)
  50571. defer tls.Free(16)
  50572. var base, d, e, file, files, v1 uintptr
  50573. var d_len, i int32
  50574. var ret TFcBool
  50575. var v2 bool
  50576. _, _, _, _, _, _, _, _, _, _ = base, d, d_len, e, file, files, i, ret, v1, v2
  50577. ret = int32(m_FcTrue)
  50578. d = libc.Xopendir(tls, dir)
  50579. if !(d != 0) {
  50580. if complain != 0 {
  50581. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9039, libc.VaList(bp+8, name))
  50582. }
  50583. ret = m_FcFalse
  50584. goto bail0
  50585. }
  50586. /* freed below */
  50587. file = libc.Xmalloc(tls, libc.Xstrlen(tls, dir)+uint64(1)+uint64(m_FC_MAX_FILE_LEN)+uint64(1))
  50588. if !(file != 0) {
  50589. ret = m_FcFalse
  50590. goto bail1
  50591. }
  50592. libc.X__builtin___strcpy_chk(tls, file, dir, libc.X__builtin_object_size(tls, file, int32(1)))
  50593. libc.X__builtin___strcat_chk(tls, file, __ccgo_ts+1485, libc.X__builtin_object_size(tls, file, int32(1)))
  50594. base = file + uintptr(libc.Xstrlen(tls, file))
  50595. files = XFcStrSetCreateEx(tls, uint32(m_FCSS_GROW_BY_64))
  50596. if !(files != 0) {
  50597. ret = m_FcFalse
  50598. goto bail2
  50599. }
  50600. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  50601. libc.Xprintf(tls, __ccgo_ts+9067, libc.VaList(bp+8, dir))
  50602. }
  50603. if load != 0 {
  50604. XFcConfigAddConfigDir(tls, config, dir)
  50605. }
  50606. for {
  50607. if v2 = ret != 0; v2 {
  50608. v1 = libc.Xreaddir(tls, d)
  50609. e = v1
  50610. }
  50611. if !(v2 && v1 != 0) {
  50612. break
  50613. }
  50614. /*
  50615. * Add all files of the form [0-9]*.conf
  50616. */
  50617. d_len = int32(libc.Xstrlen(tls, e+21))
  50618. if int32('0') <= int32(*(*int8)(unsafe.Pointer(e + 21))) && int32(*(*int8)(unsafe.Pointer(e + 21))) <= int32('9') && d_len > int32(m_TAIL_LEN) && libc.Xstrcmp(tls, e+21+uintptr(d_len)-uintptr(m_TAIL_LEN), __ccgo_ts+9092) == 0 {
  50619. libc.X__builtin___strcpy_chk(tls, base, e+21, libc.X__builtin_object_size(tls, base, int32(1)))
  50620. if !(XFcStrSetAdd(tls, files, file) != 0) {
  50621. ret = m_FcFalse
  50622. goto bail3
  50623. }
  50624. }
  50625. }
  50626. if ret != 0 {
  50627. libc.Xqsort(tls, (*TFcStrSet)(unsafe.Pointer(files)).Fstrs, uint64((*TFcStrSet)(unsafe.Pointer(files)).Fnum), uint64(8), __ccgo_fp(_FcSortCmpStr))
  50628. i = 0
  50629. for {
  50630. if !(ret != 0 && i < (*TFcStrSet)(unsafe.Pointer(files)).Fnum) {
  50631. break
  50632. }
  50633. ret = __FcConfigParse(tls, config, *(*uintptr)(unsafe.Pointer((*TFcStrSet)(unsafe.Pointer(files)).Fstrs + uintptr(i)*8)), complain, load)
  50634. goto _3
  50635. _3:
  50636. ;
  50637. i++
  50638. }
  50639. }
  50640. goto bail3
  50641. bail3:
  50642. ;
  50643. XFcStrSetDestroy(tls, files)
  50644. goto bail2
  50645. bail2:
  50646. ;
  50647. libc.Xfree(tls, file)
  50648. goto bail1
  50649. bail1:
  50650. ;
  50651. libc.Xclosedir(tls, d)
  50652. goto bail0
  50653. bail0:
  50654. ;
  50655. return libc.BoolInt32(ret != 0 || !(complain != 0))
  50656. return r
  50657. }
  50658. func _FcConfigParseAndLoadFromMemoryInternal(tls *libc.TLS, config uintptr, filename uintptr, buffer uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  50659. bp := tls.Alloc(4640)
  50660. defer tls.Free(4640)
  50661. var buf, s, v1, v3, v4 uintptr
  50662. var buflen, len1 Tsize_t
  50663. var error1 TFcBool
  50664. var k TFcMatchKind
  50665. var p TXML_Parser
  50666. var _ /* iter at bp+4584 */ TFcPtrListIter
  50667. var _ /* liter at bp+4560 */ TFcPtrListIter
  50668. var _ /* parse at bp+0 */ TFcConfigParse
  50669. _, _, _, _, _, _, _, _, _, _ = buf, buflen, error1, k, len1, p, s, v1, v3, v4
  50670. error1 = int32(m_FcTrue)
  50671. if !(buffer != 0) {
  50672. return m_FcFalse
  50673. }
  50674. len1 = libc.Xstrlen(tls, buffer)
  50675. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  50676. if load != 0 {
  50677. v1 = __ccgo_ts + 9098
  50678. } else {
  50679. v1 = __ccgo_ts + 9106
  50680. }
  50681. libc.Xprintf(tls, __ccgo_ts+9115, libc.VaList(bp+4616, v1, filename))
  50682. }
  50683. p = libexpat.XXML_ParserCreate(tls, __ccgo_ts+9140)
  50684. if !(p != 0) {
  50685. goto bail1
  50686. }
  50687. if !(_FcConfigParseInit(tls, bp, filename, config, p, load) != 0) {
  50688. goto bail2
  50689. }
  50690. libexpat.XXML_SetUserData(tls, p, bp)
  50691. libexpat.XXML_SetDoctypeDeclHandler(tls, p, __ccgo_fp(_FcStartDoctypeDecl), __ccgo_fp(_FcEndDoctypeDecl))
  50692. libexpat.XXML_SetElementHandler(tls, p, __ccgo_fp(_FcStartElement), __ccgo_fp(_FcEndElement))
  50693. libexpat.XXML_SetCharacterDataHandler(tls, p, __ccgo_fp(_FcCharacterData))
  50694. s = buffer
  50695. for cond := true; cond; cond = buflen != uint64(0) {
  50696. buf = libexpat.XXML_GetBuffer(tls, p, int32(m_BUFSIZ))
  50697. if !(buf != 0) {
  50698. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+9146, 0)
  50699. goto bail3
  50700. }
  50701. if len1 > uint64(m_BUFSIZ) {
  50702. buflen = uint64(m_BUFSIZ)
  50703. len1 -= uint64(m_BUFSIZ)
  50704. } else {
  50705. buflen = len1
  50706. len1 = uint64(0)
  50707. }
  50708. libc.X__builtin___memcpy_chk(tls, buf, s, buflen, uint64(libc.X__builtin_object_size(tls, buf, 0)))
  50709. s = s + uintptr(buflen)
  50710. if !(libexpat.XXML_ParseBuffer(tls, p, int32(buflen), libc.BoolInt32(buflen == uint64(0))) != 0) {
  50711. _FcConfigMessage(tls, bp, int32(_FcSevereError), __ccgo_ts+1991, libc.VaList(bp+4616, libexpat.XXML_ErrorString(tls, libexpat.XXML_GetErrorCode(tls, p))))
  50712. goto bail3
  50713. }
  50714. }
  50715. error1 = (*(*TFcConfigParse)(unsafe.Pointer(bp))).Ferror1
  50716. if load != 0 {
  50717. k = int32(_FcMatchKindBegin)
  50718. for {
  50719. if !(k < int32(_FcMatchKindEnd)) {
  50720. break
  50721. }
  50722. XFcPtrListIterInit(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584)
  50723. if XFcPtrListIterIsValid(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset + 40 + uintptr(k)*8)), bp+4584) != 0 {
  50724. XFcPtrListIterInitAtLast(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584)
  50725. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  50726. XFcPtrListIterAdd(tls, *(*uintptr)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig + 40 + uintptr(k)*8)), bp+4584, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  50727. }
  50728. goto _2
  50729. _2:
  50730. ;
  50731. k++
  50732. }
  50733. }
  50734. XFcPtrListIterInitAtLast(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560)
  50735. XFcRuleSetReference(tls, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  50736. XFcPtrListIterAdd(tls, (*TFcConfig)(unsafe.Pointer((*(*TFcConfigParse)(unsafe.Pointer(bp))).Fconfig)).FrulesetList, bp+4560, (*(*TFcConfigParse)(unsafe.Pointer(bp))).Fruleset)
  50737. goto bail3
  50738. bail3:
  50739. ;
  50740. _FcConfigCleanup(tls, bp)
  50741. goto bail2
  50742. bail2:
  50743. ;
  50744. libexpat.XXML_ParserFree(tls, p)
  50745. goto bail1
  50746. bail1:
  50747. ;
  50748. if error1 != 0 && complain != 0 {
  50749. if load != 0 {
  50750. v3 = __ccgo_ts + 9170
  50751. } else {
  50752. v3 = __ccgo_ts + 8366
  50753. }
  50754. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9175, libc.VaList(bp+4616, v3, filename))
  50755. return m_FcFalse
  50756. }
  50757. if XFcDebugVal&int32(m_FC_DBG_CONFIG) != 0 {
  50758. if load != 0 {
  50759. v4 = __ccgo_ts + 9098
  50760. } else {
  50761. v4 = __ccgo_ts + 9106
  50762. }
  50763. libc.Xprintf(tls, __ccgo_ts+9205, libc.VaList(bp+4616, v4, filename))
  50764. }
  50765. return int32(m_FcTrue)
  50766. }
  50767. func __FcConfigParse(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool, load TFcBool) (r TFcBool) {
  50768. bp := tls.Alloc(2400)
  50769. defer tls.Free(2400)
  50770. var complain_again, ret TFcBool
  50771. var errno_, fd, len1 int32
  50772. var filename, realfilename, v1, v2, v3, v4 uintptr
  50773. var _ /* buf at bp+152 */ [1024]int8
  50774. var _ /* ebuf at bp+1328 */ [1025]int8
  50775. var _ /* reason at bp+1176 */ TFcStrBuf
  50776. var _ /* sbuf at bp+0 */ TFcStrBuf
  50777. _, _, _, _, _, _, _, _, _, _, _ = complain_again, errno_, fd, filename, len1, realfilename, ret, v1, v2, v3, v4
  50778. filename = libc.UintptrFromInt32(0)
  50779. realfilename = libc.UintptrFromInt32(0)
  50780. ret = m_FcFalse
  50781. complain_again = complain
  50782. XFcStrBufInit(tls, bp+1176, libc.UintptrFromInt32(0), 0)
  50783. filename = XFcConfigGetFilename(tls, config, name)
  50784. if !(filename != 0) {
  50785. XFcStrBufString(tls, bp+1176, __ccgo_ts+9235)
  50786. if name != 0 {
  50787. v1 = name
  50788. } else {
  50789. v1 = __ccgo_ts + 4341
  50790. }
  50791. XFcStrBufString(tls, bp+1176, v1)
  50792. goto bail0
  50793. }
  50794. realfilename = XFcConfigRealFilename(tls, config, name)
  50795. if !(realfilename != 0) {
  50796. XFcStrBufString(tls, bp+1176, __ccgo_ts+9250)
  50797. if name != 0 {
  50798. v2 = name
  50799. } else {
  50800. v2 = __ccgo_ts + 4341
  50801. }
  50802. XFcStrBufString(tls, bp+1176, v2)
  50803. goto bail0
  50804. }
  50805. if XFcStrSetMember(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0 {
  50806. XFcStrFree(tls, filename)
  50807. XFcStrFree(tls, realfilename)
  50808. return int32(m_FcTrue)
  50809. }
  50810. if load != 0 {
  50811. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FconfigFiles, filename) != 0) {
  50812. goto bail0
  50813. }
  50814. }
  50815. if !(XFcStrSetAdd(tls, (*TFcConfig)(unsafe.Pointer(config)).FavailConfigFiles, realfilename) != 0) {
  50816. goto bail0
  50817. }
  50818. if XFcFileIsDir(tls, realfilename) != 0 {
  50819. ret = _FcConfigParseAndLoadDir(tls, config, name, realfilename, complain, load)
  50820. XFcStrFree(tls, filename)
  50821. XFcStrFree(tls, realfilename)
  50822. return ret
  50823. }
  50824. XFcStrBufInit(tls, bp, libc.UintptrFromInt32(0), 0)
  50825. fd = XFcOpen(tls, realfilename, m_O_RDONLY2, 0)
  50826. if fd == -int32(1) {
  50827. XFcStrBufString(tls, bp+1176, __ccgo_ts+9269)
  50828. XFcStrBufString(tls, bp+1176, realfilename)
  50829. goto bail1
  50830. }
  50831. for cond := true; cond; cond = len1 != 0 {
  50832. len1 = int32(libc.Xread(tls, fd, bp+152, uint64(m_BUFSIZ)))
  50833. if len1 < 0 {
  50834. errno_ = *(*int32)(unsafe.Pointer(libc.X__error(tls)))
  50835. libc.Xstrerror_r(tls, errno_, bp+1328, uint64(m_BUFSIZ))
  50836. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9285, libc.VaList(bp+2368, realfilename, bp+1328, errno_))
  50837. libc.Xclose(tls, fd)
  50838. goto bail1
  50839. }
  50840. XFcStrBufData(tls, bp, bp+152, len1)
  50841. }
  50842. libc.Xclose(tls, fd)
  50843. ret = _FcConfigParseAndLoadFromMemoryInternal(tls, config, filename, XFcStrBufDoneStatic(tls, bp), complain, load)
  50844. complain_again = m_FcFalse /* no need to reclaim here */
  50845. goto bail1
  50846. bail1:
  50847. ;
  50848. XFcStrBufDestroy(tls, bp)
  50849. goto bail0
  50850. bail0:
  50851. ;
  50852. if filename != 0 {
  50853. XFcStrFree(tls, filename)
  50854. }
  50855. if realfilename != 0 {
  50856. XFcStrFree(tls, realfilename)
  50857. }
  50858. if !(complain != 0) {
  50859. return int32(m_FcTrue)
  50860. }
  50861. if !(ret != 0) && complain_again != 0 {
  50862. if name != 0 {
  50863. if load != 0 {
  50864. v3 = __ccgo_ts + 9170
  50865. } else {
  50866. v3 = __ccgo_ts + 8366
  50867. }
  50868. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9331, libc.VaList(bp+2368, v3, name, XFcStrBufDoneStatic(tls, bp+1176)))
  50869. } else {
  50870. if load != 0 {
  50871. v4 = __ccgo_ts + 9170
  50872. } else {
  50873. v4 = __ccgo_ts + 8366
  50874. }
  50875. _FcConfigMessage(tls, uintptr(0), int32(_FcSevereError), __ccgo_ts+9362, libc.VaList(bp+2368, v4, XFcStrBufDoneStatic(tls, bp+1176)))
  50876. }
  50877. XFcStrBufDestroy(tls, bp+1176)
  50878. return m_FcFalse
  50879. }
  50880. XFcStrBufDestroy(tls, bp+1176)
  50881. return ret
  50882. }
  50883. func XFcConfigParseOnly(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  50884. return __FcConfigParse(tls, config, name, complain, m_FcFalse)
  50885. }
  50886. func XFcConfigParseAndLoad(tls *libc.TLS, config uintptr, name uintptr, complain TFcBool) (r TFcBool) {
  50887. return __FcConfigParse(tls, config, name, complain, int32(m_FcTrue))
  50888. }
  50889. func XFcConfigParseAndLoadFromMemory(tls *libc.TLS, config uintptr, buffer uintptr, complain TFcBool) (r TFcBool) {
  50890. return _FcConfigParseAndLoadFromMemoryInternal(tls, config, __ccgo_ts+9396, buffer, complain, int32(m_FcTrue))
  50891. }
  50892. const m_FC_DIR_SEPARATOR6 = '/'
  50893. // C documentation
  50894. //
  50895. // /* only used internally */
  50896. func _ftglue_qalloc(tls *libc.TLS, memory TFT_Memory, size TFT_ULong, perror uintptr) (r TFT_Pointer) {
  50897. var block TFT_Pointer
  50898. var error1 TFT_Error
  50899. _, _ = block, error1
  50900. error1 = 0
  50901. block = libc.UintptrFromInt32(0)
  50902. if size > uint64(0) {
  50903. block = (*(*func(*libc.TLS, TFT_Memory, int64) uintptr)(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Falloc})))(tls, memory, int64(size))
  50904. if !(block != 0) {
  50905. error1 = int32(_FT_Err_Out_Of_Memory)
  50906. }
  50907. }
  50908. *(*TFT_Error)(unsafe.Pointer(perror)) = error1
  50909. return block
  50910. }
  50911. func _ftglue_free(tls *libc.TLS, memory TFT_Memory, block TFT_Pointer) {
  50912. if block != 0 {
  50913. (*(*func(*libc.TLS, TFT_Memory, uintptr))(unsafe.Pointer(&struct{ uintptr }{(*TFT_MemoryRec_)(unsafe.Pointer(memory)).Ffree})))(tls, memory, block)
  50914. }
  50915. }
  50916. func Xftglue_stream_pos(tls *libc.TLS, stream TFT_Stream) (r TFT_Long) {
  50917. return int64((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  50918. }
  50919. func Xftglue_stream_seek(tls *libc.TLS, stream TFT_Stream, pos TFT_Long) (r TFT_Error) {
  50920. var error1 TFT_Error
  50921. _ = error1
  50922. error1 = 0
  50923. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  50924. if (*(*func(*libc.TLS, TFT_Stream, uint64, uintptr, uint64) uint64)(unsafe.Pointer(&struct{ uintptr }{(*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread})))(tls, stream, uint64(pos), uintptr(0), uint64(0)) != 0 {
  50925. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  50926. }
  50927. } else {
  50928. if pos < 0 || uint64(pos) > (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fsize {
  50929. error1 = int32(_FT_Err_Invalid_Stream_Operation)
  50930. }
  50931. }
  50932. if !(error1 != 0) {
  50933. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos = uint64(pos)
  50934. }
  50935. return error1
  50936. }
  50937. func Xftglue_stream_frame_enter(tls *libc.TLS, stream TFT_Stream, count TFT_ULong) (r TFT_Error) {
  50938. bp := tls.Alloc(16)
  50939. defer tls.Free(16)
  50940. var memory TFT_Memory
  50941. var read_bytes TFT_ULong
  50942. var _ /* error at bp+0 */ TFT_Error
  50943. _, _ = memory, read_bytes
  50944. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Ok)
  50945. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  50946. /* allocate the frame in memory */
  50947. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  50948. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = _ftglue_qalloc(tls, memory, count, bp)
  50949. if *(*TFT_Error)(unsafe.Pointer(bp)) != libc.Int32FromInt32(0) {
  50950. goto Exit
  50951. }
  50952. /* read it */
  50953. 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)
  50954. if read_bytes < count {
  50955. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  50956. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  50957. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  50958. }
  50959. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  50960. }
  50961. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase
  50962. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  50963. *(*uint64)(unsafe.Pointer(stream + 16)) += read_bytes
  50964. } else {
  50965. /* check current and new position */
  50966. 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 {
  50967. *(*TFT_Error)(unsafe.Pointer(bp)) = int32(_FT_Err_Invalid_Stream_Operation)
  50968. goto Exit
  50969. }
  50970. /* set cursor */
  50971. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase + uintptr((*TFT_StreamRec_)(unsafe.Pointer(stream)).Fpos)
  50972. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor + uintptr(count)
  50973. *(*uint64)(unsafe.Pointer(stream + 16)) += count
  50974. }
  50975. goto Exit
  50976. Exit:
  50977. ;
  50978. return *(*TFT_Error)(unsafe.Pointer(bp))
  50979. }
  50980. func Xftglue_stream_frame_exit(tls *libc.TLS, stream TFT_Stream) {
  50981. var memory TFT_Memory
  50982. _ = memory
  50983. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fread != 0 {
  50984. memory = (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fmemory
  50985. if (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase != 0 {
  50986. _ftglue_free(tls, memory, (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase)
  50987. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fbase = libc.UintptrFromInt32(0)
  50988. }
  50989. }
  50990. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Fcursor = uintptr(0)
  50991. (*TFT_StreamRec_)(unsafe.Pointer(stream)).Flimit = uintptr(0)
  50992. }
  50993. func Xftglue_face_goto_table(tls *libc.TLS, face TFT_Face, the_tag TFT_ULong, stream TFT_Stream) (r TFT_Error) {
  50994. var checksum, offset, sig, size, start, tag TFT_ULong
  50995. var count, nn TFT_UInt
  50996. var error1, v1, v10, v11, v2, v4, v5, v7, v8 TFT_Error
  50997. var v12, v3, v6, v9 bool
  50998. _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _ = checksum, count, error1, nn, offset, sig, size, start, tag, v1, v10, v11, v12, v2, v3, v4, v5, v6, v7, v8, v9
  50999. if !!!((*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_flags&(libc.Int64FromInt64(1)<<libc.Int32FromInt32(3)) != 0) {
  51000. error1 = int32(_FT_Err_Invalid_Face_Handle)
  51001. } else {
  51002. /* parse the directory table directly, without using
  51003. * FreeType's built-in data structures
  51004. */
  51005. offset = uint64(0)
  51006. v1 = Xftglue_stream_seek(tls, stream, 0)
  51007. error1 = v1
  51008. if v3 = v1 != 0; !v3 {
  51009. v2 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  51010. error1 = v2
  51011. }
  51012. if v3 || v2 != 0 {
  51013. goto Exit
  51014. }
  51015. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51016. sig = uint64(int64(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))))))
  51017. Xftglue_stream_frame_exit(tls, stream)
  51018. 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'))) {
  51019. /* deal with TrueType collections */
  51020. v4 = Xftglue_stream_seek(tls, stream, int64(12)+(*TFT_FaceRec_)(unsafe.Pointer(face)).Fface_index*int64(4))
  51021. error1 = v4
  51022. if v6 = v4 != 0; !v6 {
  51023. v5 = Xftglue_stream_frame_enter(tls, stream, uint64(4))
  51024. error1 = v5
  51025. }
  51026. if v6 || v5 != 0 {
  51027. goto Exit
  51028. }
  51029. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51030. offset = uint64(int64(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))))))
  51031. Xftglue_stream_frame_exit(tls, stream)
  51032. }
  51033. v7 = Xftglue_stream_seek(tls, stream, int64(offset+uint64(4)))
  51034. error1 = v7
  51035. if v9 = v7 != 0; !v9 {
  51036. v8 = Xftglue_stream_frame_enter(tls, stream, uint64(2))
  51037. error1 = v8
  51038. }
  51039. if v9 || v8 != 0 {
  51040. goto Exit
  51041. }
  51042. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(2)
  51043. count = uint32(uint16(int16(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)))))))
  51044. Xftglue_stream_frame_exit(tls, stream)
  51045. v10 = Xftglue_stream_seek(tls, stream, int64(offset+uint64(12)))
  51046. error1 = v10
  51047. if v12 = v10 != 0; !v12 {
  51048. v11 = Xftglue_stream_frame_enter(tls, stream, uint64(count*uint32(16)))
  51049. error1 = v11
  51050. }
  51051. if v12 || v11 != 0 {
  51052. goto Exit
  51053. }
  51054. nn = uint32(0)
  51055. for {
  51056. if !(nn < count) {
  51057. break
  51058. }
  51059. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51060. tag = uint64(int64(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))))))
  51061. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51062. checksum = uint64(int64(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))))))
  51063. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51064. start = uint64(int64(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))))))
  51065. *(*uintptr)(unsafe.Pointer(stream + 64)) += uintptr(4)
  51066. size = uint64(int64(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))))))
  51067. if tag == the_tag {
  51068. error1 = Xftglue_stream_seek(tls, stream, int64(start))
  51069. goto FoundIt
  51070. }
  51071. goto _13
  51072. _13:
  51073. ;
  51074. nn++
  51075. }
  51076. error1 = int32(_FT_Err_Table_Missing)
  51077. goto FoundIt
  51078. FoundIt:
  51079. ;
  51080. Xftglue_stream_frame_exit(tls, stream)
  51081. }
  51082. goto Exit
  51083. Exit:
  51084. ;
  51085. return error1
  51086. }
  51087. func __ccgo_fp(f interface{}) uintptr {
  51088. type iface [2]uintptr
  51089. return (*iface)(unsafe.Pointer(&f))[1]
  51090. }
  51091. var XFcDebugVal int32
  51092. /*
  51093. * Copyright (c) 2002-2017 Apple Inc. All rights reserved.
  51094. *
  51095. * @APPLE_LICENSE_HEADER_START@
  51096. *
  51097. * The contents of this file constitute Original Code as defined in and
  51098. * are subject to the Apple Public Source License Version 1.1 (the
  51099. * "License"). You may not use this file except in compliance with the
  51100. * License. Please obtain a copy of the License at
  51101. * http://www.apple.com/publicsource and read it before using this file.
  51102. *
  51103. * This Original Code and all software distributed under the License are
  51104. * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  51105. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  51106. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  51107. * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
  51108. * License for the specific language governing rights and limitations
  51109. * under the License.
  51110. *
  51111. * @APPLE_LICENSE_HEADER_END@
  51112. */
  51113. /*
  51114. * Copyright (c) 2000, 2002 - 2008 Apple Inc. All rights reserved.
  51115. *
  51116. * @APPLE_LICENSE_HEADER_START@
  51117. *
  51118. * This file contains Original Code and/or Modifications of Original Code
  51119. * as defined in and that are subject to the Apple Public Source License
  51120. * Version 2.0 (the 'License'). You may not use this file except in
  51121. * compliance with the License. Please obtain a copy of the License at
  51122. * http://www.opensource.apple.com/apsl/ and read it before using this
  51123. * file.
  51124. *
  51125. * The Original Code and all software distributed under the License are
  51126. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  51127. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  51128. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  51129. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  51130. * Please see the License for the specific language governing rights and
  51131. * limitations under the License.
  51132. *
  51133. * @APPLE_LICENSE_HEADER_END@
  51134. */
  51135. /*-
  51136. * Copyright (c) 1990, 1993
  51137. * The Regents of the University of California. All rights reserved.
  51138. *
  51139. * Redistribution and use in source and binary forms, with or without
  51140. * modification, are permitted provided that the following conditions
  51141. * are met:
  51142. * 1. Redistributions of source code must retain the above copyright
  51143. * notice, this list of conditions and the following disclaimer.
  51144. * 2. Redistributions in binary form must reproduce the above copyright
  51145. * notice, this list of conditions and the following disclaimer in the
  51146. * documentation and/or other materials provided with the distribution.
  51147. * 3. All advertising materials mentioning features or use of this software
  51148. * must display the following acknowledgement:
  51149. * This product includes software developed by the University of
  51150. * California, Berkeley and its contributors.
  51151. * 4. Neither the name of the University nor the names of its contributors
  51152. * may be used to endorse or promote products derived from this software
  51153. * without specific prior written permission.
  51154. *
  51155. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  51156. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  51157. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  51158. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  51159. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  51160. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  51161. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  51162. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  51163. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  51164. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  51165. * SUCH DAMAGE.
  51166. *
  51167. * @(#)stdlib.h 8.5 (Berkeley) 5/19/95
  51168. */
  51169. /*
  51170. * Copyright (c) 2000, 2005, 2008 Apple Inc. All rights reserved.
  51171. *
  51172. * @APPLE_LICENSE_HEADER_START@
  51173. *
  51174. * This file contains Original Code and/or Modifications of Original Code
  51175. * as defined in and that are subject to the Apple Public Source License
  51176. * Version 2.0 (the 'License'). You may not use this file except in
  51177. * compliance with the License. Please obtain a copy of the License at
  51178. * http://www.opensource.apple.com/apsl/ and read it before using this
  51179. * file.
  51180. *
  51181. * The Original Code and all software distributed under the License are
  51182. * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  51183. * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  51184. * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
  51185. * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  51186. * Please see the License for the specific language governing rights and
  51187. * limitations under the License.
  51188. *
  51189. * @APPLE_LICENSE_HEADER_END@
  51190. */
  51191. /*
  51192. * Copyright (c) 1989, 1993
  51193. * The Regents of the University of California. All rights reserved.
  51194. * (c) UNIX System Laboratories, Inc.
  51195. * All or some portions of this file are derived from material licensed
  51196. * to the University of California by American Telephone and Telegraph
  51197. * Co. or Unix System Laboratories, Inc. and are reproduced herein with
  51198. * the permission of UNIX System Laboratories, Inc.
  51199. *
  51200. * This code is derived from software contributed to Berkeley by
  51201. * Paul Borman at Krystal Technologies.
  51202. *
  51203. * Redistribution and use in source and binary forms, with or without
  51204. * modification, are permitted provided that the following conditions
  51205. * are met:
  51206. * 1. Redistributions of source code must retain the above copyright
  51207. * notice, this list of conditions and the following disclaimer.
  51208. * 2. Redistributions in binary form must reproduce the above copyright
  51209. * notice, this list of conditions and the following disclaimer in the
  51210. * documentation and/or other materials provided with the distribution.
  51211. * 3. All advertising materials mentioning features or use of this software
  51212. * must display the following acknowledgement:
  51213. * This product includes software developed by the University of
  51214. * California, Berkeley and its contributors.
  51215. * 4. Neither the name of the University nor the names of its contributors
  51216. * may be used to endorse or promote products derived from this software
  51217. * without specific prior written permission.
  51218. *
  51219. * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  51220. * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  51221. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  51222. * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  51223. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  51224. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  51225. * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  51226. * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  51227. * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  51228. * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  51229. * SUCH DAMAGE.
  51230. *
  51231. * @(#)ctype.h 8.4 (Berkeley) 1/21/94
  51232. */
  51233. var XFcIdentityMatrix = TFcMatrix{
  51234. Fxx: libc.Float64FromInt32(1),
  51235. Fyy: libc.Float64FromInt32(1),
  51236. }
  51237. var Xdefault_langs uintptr
  51238. var Xother_types uintptr
  51239. var __ccgo_ts = (*reflect.StringHeader)(unsafe.Pointer(&__ccgo_ts1)).Data
  51240. var __ccgo_ts1 = ".NEW\x00.LCK\x00.TMP-XXXXXX\x00w\x00%ld\n\x00.uuid\x00Unable to revert mtime: %s\n\x00FONTCONFIG_USE_MMAP\x00-le64.cache-8\x00 (mapped to \x00\x00)\x00, salt: \x00cache: %s (dir: %s%s%s%s%s%s)\n\x00cache fallbacks to: %s (dir: %s)\n\x00Fontconfig error: not freed %p (dir: %s, refcount %d)\n\x00FcCacheTimeValid dir \"%s\" cache checksum %d dir checksum %d\n\x00SOURCE_DATE_EPOCH\x00Fontconfig: SOURCE_DATE_EPOCH invalid\n\x00Fontconfig: SOURCE_DATE_EPOCH: strtoull: %s: %llu\n\x00Fontconfig: SOURCE_DATE_EPOCH has trailing garbage\n\x00Fontconfig: SOURCE_DATE_EPOCH must be <= %lu but saw: %llu\n\x00Fontconfig error: No writable cache directories\n\x00FcDirCacheWriteDir dir \"%s\" file \"%s\"\n\x00write cache\x00Fontconfig error: %s: out of memory\n\x00unwritable\x00non-existent\x00%s: not cleaning %s cache directory\n\x00%s: cleaning cache directory\n\x00Fontconfig error: %s: allocation failure\n\x00%s: invalid cache file: %s\n\x00%s: %s: missing directory: %s \n\x00CACHEDIR.TAG\x00wb\x00Created CACHEDIR.TAG at %s\n\x00Unable to create CACHEDIR.TAG at %s\n\x00FONTCONFIG_SYSROOT\x00Fontconfig warning: Directory/file mtime in the future. New fonts may not be detected.\n\x00adding fonts from %s\n\x00 (salt: \x00%s -> %s%s%s%s\n\x00%s%s%s%s\n\x00Reset font directories!\n\x00Fontconfig warning: <name> tag has target=\"font\" in a <match target=\"pattern\">.\n\x00Fontconfig warning: FcPattern object %s does not accept value\x00\n\x00Not adding\n\x00position not on list\n\x00Append\x00Prepend\x00%s list before \x00%s list after \x00und\x00FcConfigSubstitute \x00\nRule Set: %s\n\x00FcConfigSubstitute test \x00No match\n\x00Substitute \x00\n\n\x00FcConfigSubstitute edit\x00FcConfigSubstitute done\x00/\x00FONTCONFIG_PATH\x00/etc/fonts\x00HOME\x00XDG_CACHE_HOME\x00/.cache\x00XDG_CONFIG_HOME\x00/.config\x00XDG_DATA_HOME\x00/.local/share\x00XDG_DATA_DIRS\x00/usr/local/share\x00/usr/share\x00FONTCONFIG_FILE\x00fonts.conf\x00Fontconfig warning: Unable to initialize config and retry limit exceeded. sysroot functionality may not work as expected.\n\x00Add Rule(kind:%d, name: %s) \x00No description\x00%x\x00\ncharsets %d -> %d leaves %d -> %d\n\x00<unknown>\x00<void>\x00%d(i)\x00%g(f)\x00\"%s\"\x00True\x00False\x00DontCare\x00[%g %g; %g %g]\x00face\x00[%g %g]\x00 \x00 [marker] \x00(w)\x00(s)\x00(=)\x00(?)\x00 [marker]\x00%s\x00langset (alloc error)\x00\t\x00%04x:\x00 %08x\x00Null pattern\n\x00Pattern has %d elts (size %d)\n\x00\t%s:\x00Pattern has %d elts (size %d), %d elts (size %d)\n\x00\t%s: (None) -> \x00 -> (None)\n\x00 -> \x00Integer\x00Double\x00String\x00Matrix\x00Range\x00Bool\x00CharSet\x00LangSet\x00Field\x00Const\x00Assign\x00AssignReplace\x00PrependFirst\x00AppendLast\x00Delete\x00DeleteAll\x00Quest\x00Or\x00And\x00Equal\x00(ignore blanks)\x00NotEqual\x00Less\x00LessEqual\x00More\x00MoreEqual\x00Contains\x00NotContains\x00Plus\x00Minus\x00Times\x00Divide\x00Not\x00Nil\x00Comma\x00Floor\x00Ceil\x00Round\x00Trunc\x00Listing\x00Invalid\x00none\x00%d\x00%g\x00[\x00; \x00]\x00(%g, %g)\x00true\x00false\x00charset\n\x00langset:\x00nil\n\x00%s \x00(pattern) \x00(font) \x00 quest \x00 colon \x00Not \x00Floor \x00Ceil \x00Round \x00Trunc \x00pattern \x00font \x00scan \x00any \x00all \x00first \x00not_first \x00Edit %s \x00[test]\n\x00[edit]\n\x00;\n\x00FontSet %d of %d\n\x00Font %d \x00FC_DEBUG\x00FC_DEBUG=%s\n\x00FC_LANG\x00LC_ALL\x00LC_CTYPE\x00LANG\x00en\x00en-us\x00\tScanning file %s...\x00done\n\x00Final font pattern:\n\x00\tScanning dir %s\n\x00cache scan dir %s\n\x00Fontconfig: Pattern format error: \x00.\n\x00format ended while expecting '%c'\x00expected '%c' at %d\x00expected identifier at %d\x00expected character data at %d\x00unparse\x00fccat\x00\"%{file|basename|cescape}\" %{index} \"%{-file{%{=unparse|cescape}}}\"\x00fcmatch\x00%{file:-<unknown filename>|basename}: \"%{family[0]:-<unknown family>}\" \"%{style[0]:-<unknown style>}\"\x00fclist\x00%{?file{%{file}: }}%{-file{%{=unparse}}}\x00pkgkit\x00%{[]family{font(%{family|downcase|delete( )})\n}}%{[]lang{font(:lang=%{lang|downcase|translate(_,-)})\n}}\x00unknown builtin \"%s\"\x00expected non-negative number at %d\x00'\\''\x00&amp;\x00&lt;\x00&gt;\x00downcase\x00basename\x00dirname\x00cescape\x00shescape\x00xmlescape\x00delete\x00escape\x00translate\x00unknown converter \"%s\"\x00Adobe\x00adobe\x00Bigelow\x00b&h\x00Bitstream\x00bitstream\x00Gnat\x00culmus\x00Iorsh\x00HanYang System\x00hanyang\x00Font21\x00hwan\x00IBM\x00ibm\x00International Typeface Corporation\x00itc\x00Linotype\x00linotype\x00LINOTYPE-HELL\x00Microsoft\x00microsoft\x00Monotype\x00monotype\x00Omega\x00omega\x00Tiro Typeworks\x00tiro\x00URW\x00urw\x00XFree86\x00xfree86\x00Xorg\x00xorg\x00MACINTOSH\x00SJIS\x00UCS-2BE\x00UTF-16BE\x00ASCII\x00ISO-8859-1\x00thin\x00extralight\x00ultralight\x00demilight\x00semilight\x00light\x00book\x00regular\x00normal\x00medium\x00demibold\x00demi\x00semibold\x00extrabold\x00superbold\x00ultrabold\x00bold\x00ultrablack\x00superblack\x00extrablack\x00<ultra\x00black\x00heavy\x00ultracondensed\x00extracondensed\x00semicondensed\x00condensed\x00semiexpanded\x00extraexpanded\x00ultraexpanded\x00expanded\x00extended\x00italic\x00kursiv\x00oblique\x00shadow\x00caps\x00antiqua\x00romansc\x00embosed\x00dunhill\x00found family (n %2d p %d e %d l 0x%04x)\x00found full (n %2d p %d e %d l 0x%04x)\x00found style (n %2d p %d e %d l 0x%04x) \x00(null)\x00%s\n\x00using FreeType family \"%s\"\n\x00Regular\x00using FreeType style \"%s\"\n\x00applying default style Regular\n\x00using filename for family %s\n\x00\tos2 weight class %d multiplier %g maps to weight %g\n\x00\tos2 width class %d multiplier %g maps to width %g\n\x00style\x00\tStyle %s maps to weight %g\n\x00\tStyle %s maps to width %g\n\x00\tStyle %s maps to slant %d\n\x00\tStyle %s maps to decorative %d\n\x00unknown\x00otlayout:\x00ttable:Silf \x00complex_ features in this font: %s\n\x00<fontconfig><dir>/System/Library/Fonts</dir> <dir>/Library/Fonts</dir> <dir>~/Library/Fonts</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font3</dir> <dir>/System/Library/Assets/com_apple_MobileAsset_Font4</dir> <dir prefix=\"xdg\">fonts</dir> <cachedir>/usr/var/cache/fontconfig</cachedir> <cachedir prefix=\"xdg\">fontconfig</cachedir> <include ignore_missing=\"yes\">/etc/fonts/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/conf.d</include> <include ignore_missing=\"yes\" prefix=\"xdg\">fontconfig/fonts.conf</include></fontconfig>\x00/usr/share/fontconfig/conf.avail\x00Fontconfig warning: no <cachedir> elements found. Check configuration.\n\x00Fontconfig warning: adding <cachedir>%s</cachedir>\n\x00/usr/var/cache/fontconfig\x00/fontconfig\x00Fontconfig warning: adding <cachedir prefix=\"xdg\">fontconfig</cachedir>\n\x00Fontconfig error: out of memory\x00font charset\x00%s charset\x00\n%s(%u) \x00{\x00 %04x\x00 }\n\t\x00%s(%u) \x00C\x00C.UTF-8\x00C.utf8\x00POSIX\x00Fontconfig warning: ignoring %s: not a valid language tag\n\x00Fontconfig warning: ignoring %s: not a valid region tag\n\x00Checking the existence of %s.orth\n\x00normalized: %s -> %s\n\x00Unable to normalize %s\n\x00FcLangSet \x00 contains \x00\tMissing bitmap %s\n\x00\tMissing string %s\n\x00family\x00familylang\x00fullname\x00fullnamelang\x00stylelang\x00 -\x00 %s: %g \x00, \x00%s: %g \x00 \x00wght\x00wdth\x00opsz\x00%4s=%g\x00Match \x00Score\x00 %g\x00Best score\x00FC_DBG_MATCH_FILTER\x00charset\x00Add \x00Sort \x00lang\x00Font %s:%s matches language %d\n\x00First font \x00slant\x00weight\x00width\x00size\x00aspect\x00pixelsize\x00spacing\x00foundry\x00antialias\x00hintstyle\x00hinting\x00verticallayout\x00autohint\x00globaladvance\x00file\x00index\x00rasterizer\x00outline\x00scalable\x00dpi\x00rgba\x00scale\x00minspace\x00charwidth\x00charheight\x00matrix\x00fontversion\x00capability\x00fontformat\x00embolden\x00embeddedbitmap\x00decorative\x00lcdfilter\x00namelang\x00fontfeatures\x00prgname\x00hash\x00postscriptname\x00color\x00symbol\x00fontvariations\x00variable\x00fonthashint\x00order\x00roman\x00proportional\x00dual\x00mono\x00charcell\x00rgb\x00bgr\x00vrgb\x00vbgr\x00hintnone\x00hintslight\x00hintmedium\x00hintfull\x00lcdnone\x00lcddefault\x00lcdlight\x00lcdlegacy\x00Fontconfig error: Unexpected constant name `%s' used for object `%s': should be `%s'\n\x00%lg %lg %lg %lg\x00[%lg %lg]\x00[%s %[^]]]\x00-,:\x00=_:\x00:,\x00%g %g %g %g\x00,\x00\\-:,\x00-\x00:\x00\\=_:,\x00=\x00Fontconfig error: No object ID to assign\n\x00Raw pattern:\n\x00Serialized pattern:\n\x00nfs\x00msdosfs\x00pcfs\x00.\x00/.\x00/..\x00its:\x00info\x00warning\x00error\x00Fontconfig %s: \"%s\", line %d: \x00Fontconfig %s: line %d: \x00Fontconfig %s: \x00void\x00number\x00string\x00bool\x00FT_Face\x00langset\x00range\x00saw %s, expected %s\x00invalid constant used : %s\x00out of memory\x00mismatching element\x00invalid attribute '%s'\x00xdg\x00default\x00cwd\x00relative\x00Use of ambiguous path in <%s> element. please add prefix=\"cwd\" if current behavior is desired.\x00unknown element \"%s\"\x00non-integer rescan\x00\"%s\": not a valid integer\x00\"%s\": not a valid double\x00target\x00pattern\x00font\x00invalid name target \"%s\"\x00Missing values in matrix element\x00wrong number of matrix elements\x00too many elements in range\x00invalid element in range\x00invalid range\x00\"%s\" is not known boolean\x00invalid character: 0x%04x\x00invalid element in charset\x00invalid langset: %s\x00invalid element in langset\x00weak\x00strong\x00same\x00invalid binding \"%s\"\x00non-family\x00binding\x00Having multiple <family> in <alias> isn't supported and may not work as expected\x00bad alias\x00missing family in alias\x00domain\x00empty font directory name for remap ignored\x00as-path\x00Missing as-path in remap-dir\x00prefix\x00salt\x00out of memory; cannot create remap data for %s as %s\x00Unable to reset fonts dirs\x00empty font directory name ignored\x00out of memory; cannot add directory %s\x00empty cache directory name ignored\x00out of memory; cannot add cache directory %s\x00ignore_missing\x00deprecated\x00conf.d\x00reading configurations from %s is deprecated. please move it to %s manually\x00scan\x00invalid test target \"%s\"\x00qual\x00any\x00all\x00first\x00not_first\x00invalid test qual \"%s\"\x00name\x00missing test name\x00compare\x00invalid test compare \"%s\"\x00ignore-blanks\x00invalid test ignore-blanks \"%s\"\x00missing test expression\x00Having multiple values in <test> isn't supported and may not work as expected\x00missing edit name\x00mode\x00invalid edit mode \"%s\"\x00Expression doesn't take any effects for delete and delete_all\x00invalid match target \"%s\"\x00<match target=\"scan\"> cannot edit user-defined object \"%s\"\x00invalid match element\x00No <test> nor <edit> elements in <match>\x00bad font selector\x00unknown pattern element %d\x00missing pattern element name\x00unknown pattern element\x00fontconfig\x00invalid doctype \"%s\"\x00Cannot open config dir \"%s\"\x00\tScanning config dir %s\n\x00.conf\x00Loading\x00Scanning\x00\t%s config file from %s\n\x00UTF-8\x00cannot get parse buffer\x00load\x00Cannot %s config file from %s\x00\t%s config file from %s done\n\x00No such file: \x00No such realfile: \x00Unable to open \x00failed reading config file: %s: %s (errno %d)\x00Cannot %s config file \"%s\": %s\x00Cannot %s default config file: %s\x00memory\x00"