Files
euri-packages/packages/hal/__pycache__/halcpython-314.pyc
T

450 lines
107 KiB
Plaintext
Raw Normal View History

+
»†:jÛHãó"Rt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RI t ^RI
t
^RI t ^RI t ^RI
t
^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIt^RIHt^RIHtHtHtHtHtRt ]!R4t!]!R4t"]!R4t#]!R4t$]!R 4t%]!R
4t&R .RxOR .RyOR
.RzOR.R{O/t'](!4t)0R|mt*RRlt+R}RRllt,RRlt-RRlt.RRlt/!RR4t0!RR4t1RRlt2RR lt3R!R"lt4R#R$lt5R%R&lt6R'R(lt7R}R)R*llt8R+R,lt9!R-R.4t:R/R0lt;R1R2lt<R3R4lt=R~R5R6llt>R7R8lt?R9R:lt@R;R<ltAR=R>ltBR?R@ltCRARBltDRCRDltERERFltFRGRHltGRIRJltHRKRLltIRMRNltJRORPltKRQRRRS.RTRU.RVRWRS.RXRY.RZR[.R
R\.R]R^.R_R`.RaRb.RcRd.ReRf.RgRh.RiRj./
tLRkRlltMRmtNRntORRoRplltPRqRrltQ]RRs8Xd]!]O!44R#R# ]Td]U!Rt4]!^4R#]VdgtW]U!Ru4]U!Rv]W 24]Rw4'd^RIZtZ]ZP¶!4]!^4RtWAWR#RtWAWii;i)€uÓHAL 9000 — Antergos NeXT Package Manager
Dual-mode:
hal <command> wrapper mode (delegates to pacman)
hal --self <command> native mode (standalone, pacman-independent)
Commands:
install Install packages
remove Remove packages
update Full system upgrade
sync Sync databases
search Search repositories
info Package info
list List installed packages
files List files owned by a package
autoremove Remove orphaned packages
cleanup Clear package cache
own <file> Find which package owns a file
check Verify installed packages
version Show version
N)ÚPath)ÚOptionalÚListÚTupleÚDictÚSetz0.2.0z/var/lib/pacman/syncz/var/lib/pacman/localú/var/cache/pacman/pkgz/etc/pacman.confz
/etc/hal.confz/var/lib/pacman/db.lckÚerrorÚwarnÚinfoÚsuccesscóFV^8„dQhR\\,R\/#©éÚtargetsÚreturn©rÚstrÚbool)Úformats"Ú8/home/xalatath/solara/antergos-packages/packages/hal/halÚ __annotate__rfs÷ñœT¤#¬4ñócóŒVpVPR4^,PR4^,PR4^,P4pV\9gKb\4\R4\R4\R4\R4\RV R 24\R
4\4R # R #)
z?Check if any target is a Manjaro-associated package and reject.Ú=u7 âš  HAL 9000: Detecting Manjaro-associated package...u/ 🎵 please i just wanna die, die, die 🎵z it's muffin timez have you had a muffin today?u → 'z,' is Manjaro garbage. We don't do that here.z- Installation aborted for your own safety.TF)ÚsplitÚstripÚMANJARO_BLOCKLISTÚprint)rÚt_cleans& rÚ_reject_manjaror#fs ã
ˆØ—''˜#“,˜q•/×Ó,¨QÕ/×5°cÓ:¸1Õ=×EˆØ Ô ŒGÜ Ð Ð Ð Ð I˜a˜SÐ LÐ Ð ŒGÚññ rcó0V^8„dQhR\R\/#)rÚcategoryÚmessage©r)rs"rrrvs÷  ,”cð ,¤Cñ ,rcóØ\PV\R,4Uu.uFq"\9gKVNK ppV'g"\PV\R,4p\P!V4p\P V4RRRRRRRR/PVR4pV'd"\
RV R V 24\
R
V 24R #\
RV R V 24R #uupi) r r uâš r
uâ–²uâ—r u✓ú z HAL 9000: õ → N)Ú
HAL_QUOTESÚgetÚ _used_quotesÚrandomÚchoiceÚaddr )r%r&ÚquotesÚquoteÚtags&& rÚhal_sayr5vܨ´*¸VÕ2DÔ
EAÔR^ÑI^aˆE€FÐ
Ü ¬*°VÕ*<Ó=ˆÜ MŠM˜ !€EÜ×Ñà E˜6 5¨&°%¸ÀEÐ
J×
NÈxÐY^Ó
_€CßÜ
3%{ 5 
˜˜ Ð
3%{ 5 +ùò`s
¤ C'µC'có0V^8„dQhR\R\/#)rÚverr)rÚlist)rs"rrrs÷ñ”sðœtñrcó¢^pRV9d VPR^4wr\V4pVPR^4pV^,p\V4^8”d
V^,MRp.pW3FfpRpVF@pVR9d/V'dVP V4VP V4RpK8Wg,
pKB V'gKUVP V4Kh W3#)z'Split version into comparable segments.Ú)Ú.r;Ú~)rÚintÚrsplitÚlenÚappend)r7ÚepochÚpartsÚreleaseÚtokensÚpartÚbufÚchs& rÚ
_ver_segmentsrMð
€EØ
ˆc„zØ—YY˜s &‰
ˆÜE“
ˆà J‰Js˜AÓ €EØ
(€Cܘe* qœ.ˆeAŽh¨c€Gð€F؈؈ۈBØÐØ—MM 
˜bÔà• ’ñ÷ ‰3Ø M‰M˜#Ö ñð ˆ=Ðrcó<V^8„dQhR\R\R\/#)rÚbr©rrB)rs"rrr£s!÷
ñ
”#ð
œ#ð
¤#ñ
rcóöVR8Xd
VR8Xd^#VR8XdR#VR8Xd^#\P!RV4p\P!RV4pV'dBV'd:\VP^44\VP^44,
#\V4\V4rTWE,
# \dMi;iTP 4pTP 4pY8dR#Y8”d^#^#)z6Compare two version tokens. ~ sorts before everything.rAz^(\d+)éÿÿÿÿ)ÚreÚmatchrBÚgroupÚ
ValueErrorÚlower)rOrPÚa_numÚb_numÚnaÚnbs&& rÚ
_cmp_tokenr]£àˆC„x”H¡Q؈C„x˜ØˆC„x™ô
HŠHY Ó "€EÜ HŠHY Ó "€Eß Ü5—;;˜q“>Ó"¤S¨¯©°Q«Ó%8Õ
ÜQ“œ˜Q›ˆBØøÜ ô
Ù ð
úð
‹ €AØ ‹ €AØ„uRˆiØ„u‘QÙ sÂB8Â8 CÃCcó<V^8„dQhR\R\R\/#)rÚver_aÚver_brrQ)rs"rrr½s!÷
ñ
”#ð
œcð
¤cñ
rcób\V4wr#\V4wrEW$8wd W$,
#^pV\V48gV\V48deV\V48d W6,MRpV\V48d WV,MRpWx8Xd V^,
pKe\Wx4p V ^8wdV #V^,
pK„^#)zZCompare two package version strings. Returns negative if a<b, 0 if equal, positive if a>b.r=)rMrDr])
r_r`Úepoch_aÚtokens_aÚepoch_bÚtokens_bÚt_aÚt_bÚresults
&& rÚvercmprj½ä% €GÜ% eÓ€GðÔØÕ Ð ð
€AØ
Œc(
˜q¤3 x£=Ô¤ X£Ô.ˆhŽk°BˆØ¤ X£Ô.ˆhŽk°BˆØ Œ:Ø
FˆA٠ܘCÓØ QŒ;؈MØ ˆQŠÙ rcóBa]tRt^ÖtoRt]V3RlRl4tRtVtR#)ÚConfigcó/Vn\Vn\R4VnRVn.Vn.VnRVnRVn R#)Úx86_64FÚautoN)
ÚreposÚ CACHE_DIRÚ cache_dirrÚrootÚarchÚ ignore_pkgsÚ hold_pkgsÚ noconfirmÚcolor©Úselfs&rÚ__init__ÚConfig.__init__×s?Ø79ˆŒ
܌ܘ“IˆŒ ؈Œ Ø&(ˆÔØ$&ˆŒØˆŒØˆŽ
rcó<V^8„dQhRR/#)rrrl©)rÚ
__classdict__s"€rrÚConfig.__annotate__âsø€÷:ñ::rcóäV!4p\PPRR4P4VnR\P9Vn\ P4'EdY\P!RR7pVP\\ 44VP4EpVPR4'dVR,pVPVRRR7PR 4Uu.uF*qUP4'gKVP4NK, ppVPVR
R R7pV'dWg3VP V&VR 8XgK´VPVR
RR7p\#VP4^,4VnVPVRRR7p \#V 4VnVPVRRR7p
V
R8wdW¡nVPVRRR7p VPP+V P44VPVRRR7p VP,P+V P44VPVRRR7p
E VP4EF8pVPR4'gKVR,pVPVRRR7pV'gKDVP PV4'dKg\#V4pVP4'g\P!RR7pVP\V44VP4FhpVPVRRR7pV'gK!VP P/V.R 34VP V,^,P1V4Kj EK; \2P4'd7\P!4pVP\\244V#V# \PdELŒi;iuupi \PdEi;i \PdT#i;i)Ú
HAL_IGNOREr=Ú
HAL_NOCONFIRMN)Ú
interpolationzrepo-:éNNÚServer)ÚfallbackÚ
ÚSigLevelzOptional TrustAllÚoptionsÚCacheDirrÚRootDirrnÚ ArchitecturerpÚ IgnorePkgÚHoldPkgÚ NoExtractÚInclude)ÚosÚenvironr,rrvrxÚ PACMAN_CONFÚexistsÚ configparserÚ ConfigParserÚreadrÚErrorÚsectionsÚ
startswithrrqrrsrtruÚextendrwÚ
setdefaultrEÚHAL_CONF)ÚclsÚcpÚsectionÚnameÚserversÚsigÚdirsrtruÚignoreÚholdÚ noextractÚincludeÚ include_pathÚincl_cpÚ incl_sectÚserverÚcp2s& rÚloadÚ Config.loadástá EˆÜŸ
Ÿ |°RÓ8×@ˆŒ
د©ÑŒ ä × Ñ × Ó Ü×Ô>ˆBð
ØœœKÓŸ;™;Ÿ=Ø×% g×" 2;DØ24·&±&¸À(ÐUW°&Ó2X×2^Ñ2^Ð_cÔ2dÓrÑ2d¨Q×hoÑho×hqœy˜qŸw™wžyÑ2dŸ&™& ¨*Ð?R˜SØ)0¨˜Ÿ 
ñà  ÖŸ6™6 '¨:Ð@W˜XDÜ"& t§z¡z£|°A¥Ó"7A”KØŸ6™6 '¨9¸s˜C! $ZA”FØŸ6™6 '¨>ÀF˜K˜v”~Ø!%œØŸV™V G¨[À2˜VÓF—M‘Mׯ©«ÔŸ6™6 '¨9¸r˜B—KK×& t§z¡z£|Ô4Ø "§¡  Àb Ó I“Iñ')ð*Ÿ;™;Ÿ=Ø×% g×" 2; Ÿf™f W¨iÀ"˜Ew q§w¡w§{¡{°4×'8Ô'8ä'+¨G£}˜ Ø'×.×0Ü&2×&?Ò&?ÈdÔ&S˜%Ø '§ ¡ ¬S°Ó->Ô ?Ø18×1AÑ1AÖ1C IØ-4¯[©[¸ÀHÐWY¨[Ó-Z Fß'-¡vØ()¯©×(:Ñ(:¸4À"ÐFYÐAZÔ([Ø()¯©°­
°aÕ(8×(?Ñ(?ÀÖ(Gô 2Dñ)ô& ?‰?× Ò ð
Ü1ØœœX›Ôˆˆqˆøôc ×
Úð
üò
søôD$0×#5Ñ#5ô%Û $ð%ûô ×
Øàˆð
úsJÂPÃ=P4ÄP4Ì+AP9Í6A P9Ï!3QÐP1Ð0P1Ð9QÑQÑQ/Ñ.Q/)rursryrwrvrxrqrtN) Ú__name__Ú
__module__Ú __qualname__Ú__firstlineno__r|Ú classmethodr²Ú__static_attributes__Ú__classdictcell__©r€s@rrlrlÖsø‡òð÷:óö:rrlcó,a]tRtRtoRtRtRtVtR#)ÚDBLocki có\PPRRR7\P!\ \4\P \P,R4Vn\P!VP\P\P,4V# \dG\RR4\P!TP4\ P"!^4T#i;i)ÚparentsÚexist_oki¤r zBCould not lock database. Another package operation is in progress.)ÚDB_LOCKÚparentÚmkdirr“ÚopenrÚO_CREATÚO_RDWRÚfdÚfcntlÚflockÚLOCK_EXÚLOCK_NBÚIOErrorr5ÚcloseÚsysÚexitrzs&rÚ __enter__ÚDBLock.__enter__!Ü×Ñ T°DÐÔ—''œ#œg¯
©
´R·Y±YÕ(>ÀÓŒð Ü KŠK˜Ÿ¤§¡´·±Õ!>Ô
ˆ øô ô Ü  HŠHT—W Ü HŠHQˆ ð  úsÁ0AB6Â6A
DÄDcóÐ\P!VP\P4\P
!VP4\ PRR7R#)Ú
missing_okN)ÚLOCK_UNr“Úunlink)r{Úargss&*rÚ__exit__ÚDBLock.__exit__,s6Ü
Š D—G‘GœUŸ]™]Ô
ŠÔÜ $ˆÖ'r)N)r´s@r sø‡ò ÷(rcó0V^8„dQhR\R\/#)rÚtextr©rÚdict)rs"rrr3s÷ ñ œð ¤ñ rcóZ/pRpVPR4FpVP4pVPR4'd=VPR4'd&VPR4P 4p.W&KfV'gKpV'gKzW,P V4K“ V#)z]Parse a pacman database entry file (desc, depends, files).
Format: %KEY%
value1
value2...Nr‰Ú%)rrÚendswithrXrE)ÚdataÚ current_keyÚlines& rÚ
parse_db_textrå3sˆð €DØ€KØ
˜4Ö ˆØz‰z‹|ˆØ ?‰?˜3× Ò  D§M¡M°#×$6Ò$6ØŸ*™* S/×1ˆKØ "ˆ ß
‰[ŸT™TØ Õ × $ TÖ
 €Krcó0V^8„dQhR\R\/#)rÚdep_strr)rs"rrrAs÷?œcð?¤dñ?rcó6\P!RVP44pV'dXRVP^4P4RVP^4;'gRRVP^4;'gR/#RVP4RRRR/#)zAParse a dependency string like 'glibc>=2.35' or 'libfoo.so=1-64'.z4^([^<>=!]+)\s*((?:>=|<=|=|>[^=]|<[^=]|!=))?\s*(.+)?$r¤Úmodr=Úversion)rTrUrrV)Úms& rÚparse_dep_stringrìAsä
ŠÐHÈ'Ï-É-Ë/ÓZ€Aߨ˜Ÿ 
×*¨E°1·7±7¸1³:×3CÐ3CÀÀYÐPQ×PWÑPWÐXYÓPZ×P`ÐP`Ð^`Ð G—MM“O U¨B° ¸ >rcó<V^8„dQhR\R\R\/#)rÚdepÚpkg_infor)r)rs"rrrHs!÷ñ”tð¤tð´ñrcóÔVPRR.4^,pVPRR.4^,pVR,V8Xd,VR,'d\W0R,VR,4#R#VPR.4Fdp\V4pVR,VR,8XgK%VR,'d0VR,;'gTp\W`R,VR,4u#R# R#)z*Check if a package satisfies a dependency.r¤r=providesF)r,Ú
version_matchrì)Úpkg_nameÚpkg_verÚ provide_strÚpdepÚprov_vers&& rÚ
dep_satisfiedrøHà|‰|˜F R DÓ)¨!Õ,€HØl‰l˜9 r +¨AÕ.€Gð ˆ6…{Ø ˆy>Œ>Ü  ¨e­*°c¸)µnÓ ð —|‘| J°Ö Ü  Ó,ˆØ <˜3˜v 9~Œ~Ø  ?×5¨gÜ$ X°5­z¸3¸y½>Óñ
 rcóHV^8„dQhR\R\R\R\/#)rr7ÚmodifierÚrequiredr©rr)rs"rrr^s(÷ ñ ”sð ¤cð ´Sð ¼Tñ rcóÐV'd V'gR#\W4pVR8XdV^#VR8XdV^8*#VR8XdV^8H#VR8XdV^8„#VR8XdV^8#VR8XdV^8g#R#)z;Check if version satisfies modifier+required (e.g. >=2.35).Tz>=z<=rrrz!=)rj)r7Úcmps&&& r^stç Ÿ8ÙÜ
Ó
€CØ  q¡˜Ø  q¡˜Ø3„  q¡˜Ø3„  a¡˜Ø3„  a¡˜Ø  q¡˜Ù rcóFV^8„dQhR\\\3,/#©rr©rr)rs"rrrks÷+ñ+”tœC¤˜I•ñ+rc óà/p\PRRR7\\PR44EFSp\ VR4;_uu_4pVP ^4pVP
^4RpVR,R8Xd'^RIpVP4pVPV4pM'VR,R 8Xd^RI
pVPVR
7pMTp\P!VR R 7;_uu_4pRp /p
VEF~p V P4'd V PPR
4p /p
K9\!V P4p V PR8Xd=VP#V 4P 4P%RRR7p
\'V
4p
M£V PR8XdNVP#V 4P 4P%RRR7p
\'V
4pV
P)V4MEV PR8Xd5VP#V 4P 4P%RRR7p
WÚR&V 'gEKIV
P+R4'gEKc\-V
4W
R,^,&EK RRR4RRR4EKV V# +'giL;i +'giEK;i \.d)p\1RRTP RT 24Rp?ERp?ii;i)z3Load all sync databases. Returns {pkgname: {info}}.Tr¿ú*.dbÚrbN:NéNs(µ/ý:NrNs)Úfileobjúr|©rÚmodernÚdescúutf-8Úreplace©ÚerrorsÚdependsÚfilesÚ_filesr¤r
zFailed to read database ú: )ÚSYNC_DIRrÄÚsortedÚglobrÅr™ÚseekÚ zstandardÚZstdDecompressorÚ
stream_readerÚgzipÚGzipFileÚtarfileÚisdirr¤ÚrstriprÚ extractfileÚdecoderåÚupdater,Ú Exceptionr5)Úall_pkgsÚdb_pathÚheaderÚreaderrÚdctxrÚtarÚ current_dirÚ
entry_dataÚmemberÚcontentÚdep_infoÚes rÚ
load_sync_dbsr1ks\à€HÜ ‡NN˜4¨$€NÔœ(Ÿ-™-¨Óð% Üg˜tרŸ Øq” ØØ˜"•:Ð!4Ô$×7Ó2‘FؘB•Z ;ÔØ!Ÿ]™]°1˜]Ó5—\\¨&°tר&*˜ Ø%'˜
Ü&)˜%Ÿ|™|Ÿ~š~Ø.4¯k©k×.@Ñ.@ÀÓ.E  Ø-/ 
Ù (Ü $ V§[¡[Ó 1˜AØ Ÿv™v¨Ô/Ø*-¯/©/¸&Ó*A×*FÑ*FÓ*H×*OÑ*OÐPWÐ`iÐ*OÓ*j Ü-:¸7Ó-C¡
Ø!"§¡¨9Ô!4Ø*-¯/©/¸&Ó*A×*FÑ*FÓ*H×*OÑ*OÐPWÐ`iÐ*OÓ*j Ü+8¸Ó+A Ø *× 1Ñ 1°(Õ ;Ø!"§¡¨7Ô!2Ø*-¯/©/¸&Ó*A×*FÑ*FÓ*H×*OÑ*OÐPWÐ`iÐ*OÓ*j Ø7>¨8Ñ 4ß*š{¨z¯~©~¸f×/EÕ/EÜBFÀzÓBR °FÕ);¸AÕ)>Ô ?ñ#'*÷1ðN €O÷1=×<ú÷%×$ûôDô Ü 6°w·|±|°nÀBÀqÀcÐ ûð ús[½J:ÁB J%Ã1E
J ÉJ É J É;J%ÊJ:Ê J"ÊJ%Ê% J7 Ê0J:Ê7J:Ê: K-ËK(Ë(K-cóFV^8„dQhR\\\3,/#rr)rs"rrr˜s÷ñ”tœC¤˜I•ñrcó¼/p\P4'gV#\\P44F„pVP 4'gKVR, pVP4'gK<\ VP
RRR74pVPR4'dW0VR,^,&K„K† V# \\3di;i)z7Load all installed packages. Returns {pkgname: {info}}.r
r r r
)
Ú LOCAL_DIRrrÚiterdirÚis_dirråÚ read_textr,ÚOSErrorrÍ)ÚpkgsÚpkg_dirÚ desc_filer s rÚ
load_local_dbr<˜à
€DÜ × Ñ × Ò Øˆ Üœ)ר~‰~×Ò٠ؘfÕ$ˆ Ø×Ñ× ð Ü  ×!4Ñ!4°WÀYÐ!4Ó!OÓPˆx‰x˜×ÒØ(,T˜&•\ !•_Ó ñ €KøôœÐ Ú ð úsÁ9ACÃCÃCcóHV^8„dQhR\R\R\R\/#)rÚurlÚdestr
r)rrr)rs"rrr­s(÷ñ”#ðœTð¬ð´dñrcóR\RRT;'g
VP 24Rp\PP YV'dTMRR7V'd \
P PR4R# \PPd(p\RR TP R
T 24Rp?R #Rp?i\PPd%p\RR TP 24Rp?R #Rp?i\dp\RR
T 24Rp?R #Rp?ii;i)z&Download a file with progress display.r z Downloading cóJV^8”\^d\W,^d,V, 44pRV^,,R^V^,,
,,p\PP RV RV R24\PP 4R#R#)éuâ–ˆuâ–‘z
[z] ràN)ÚminrBÚstdoutÚwriteÚflush)ÚblockÚ blocksizeÚ totalsizeÚpctÚbars&&& rÚ
reporthookÚdownload.<locals>.reporthook²s}ؘ1Œ}ܘ#œs 5Õ#4°sÕ#:¸YÕ#FÓHؘs a(¨5°B¸À½µMÕ+BÕBÜ
× Ñ  7¨3¨%¨r°#°°aÐ!8Ô
× Ñ ÖrN)rLr‰Tr
zHTTP ú for FzConnection error: zDownload failed: )r5ÚurllibÚrequestÚ urlretrieverÏrDrEr Ú HTTPErrorÚcodeÚURLErrorÚreasonr")r>r?r
rLr0s&&& rÚdownloadrV­ðܘ, t×'8Ð'8¨t¯y©yÐ&9Ð ×" 3Çt¹ÐQUÐ Ü J‰J× Ñ ˜ øÜ <‰<× Ü˜% §¡˜x u¨S¨EÐûÜ <‰<× Ñ ôÜÐ,¨Q¯X©X¨JÐûÜ ôÜÐ+¨A¨3ÐûðúsGA<AA<ÁA<Á<D&ÂB=Â= D&ÃD&ÃC>Ã> D&Ä D&Ä D!Ä!D&có$V^8„dQhR\/#©rÚconfig©rl)rs"rrrÉs÷.Sñ.Sœ6ñ.Src ó’\RR4\PRRR7VPP 4EFÿwpwr#V R2p\V, pRpVEpREpVP R4RV RVP RV R V 2,p VPR
V 24p
\WšV R 24'EdOVPR 4'd€^R
I
p \V
R4;_uu_4p V P4p
V
PV 4P4pR
R
R
4\VR4;_uu_4p V PX4R
R
R
4M“VPR4'dg^R
IpVPV
R4;_uu_4p V P4pR
R
R
4\VR4;_uu_4p V PX4R
R
R
4M\"P$!W¥4V
P'RR7\RV R24RpME V'gEM V'dE\RRV R24EK \RR4R
# +'giEL:;i +'giL;i +'giLã;i +'giL±;i \(dpT
P'RR7R
p?EK^R
p?ii;i)z+Download and decompress all repo databases.r z5Opening the pod bay doors to synchronize databases...Tr¿z.dbFrnú/os/r>z.tmp.z databaseú.zstNrÚwbú.gzrÔr z database synchronizedr
zCould not sync z from any mirrorz8All databases synchronized. I am completely operational.)z
db.tar.zstz db.tar.gzÚdb)r5rrqÚitemsrruÚ with_suffixrVrrrr™rErÚshutilÚcopy2r×r")rYÚ sig_levelÚdb_nameÚdb_destr Úextr>Útmprr%r(Ú decompressedrr0s& rÚsync_databasesrkÉsFä ˆ ‡NN˜4¨$€NÔ/à&,§l¡l×&8Ñ&8×&:Ñ"ˆÑ"ˆF˜#ܘWÕØˆäˆFä8Ø—m‘m CÓ(¨Q¨t¨f°D¸¿¹¸
ÀQÀtÀfÈAÈcÈUÐ+SÕSØ×)¨E°#°¨-Ó8ðÜ ¨T¨F°)Ð*<ן<™<¨×,Ü!% c¨4§¤°AØ'0×'AÑ'AÓ'C Ø/3×/AÑ/AÀ!Ó/D×/IÑ/IÓ/K  ÷"1ô"& g¨t×!4Ô!4¸Ø !§¡¨ Ô 5÷"5Ð!4à Ÿ\™\¨%×'Ø!%§¡¨3°×!5Ô!5¸Ø/0¯v©v«x  ÷"6ä!% g¨t×!4Ô!4¸Ø !§¡¨ Ô 5÷"5Ð!4ô#ŸLšL¨ÔŸ
¨d˜
Ô  ¨d¨VÐ3IÐ+JÔKØ"&˜Ùò)9÷8ŠwÙñ?÷BŠwÜ F˜o¨d¨VÐ3CÐD× EñO';ôR ˆR÷5"1§ ú÷"5×!4ú÷"6×!5úç!4×!4ûôØ—J‘J¨$ûðús…Â*,JÃJÃ/0I ÄJÄ;I$ Å
JÅ-JÆ I7 ÆJÆ8J
Ç
AJÉ I!É JÉ$ I4É/JÉ7 JÊJÊ
JÊJÊ K Ê(K ËK cóŒa]tRtRtoV3RlRltV3RlRltV3RlRltV3RlR ltV3R
lR ltV3R lR
lt Rt
Vt R#)Ú DepResolveriûcó,<V^8„dQhRS[RS[RS[/#)rr#Ú installedrY)rl)rr€s"€rrÚDepResolver.__annotate__üs"ø€÷ð8±$ðñ8rcórWnW nW0n.Vn.Vn\ 4Vn/VnR#©N)r#rorYÚ
to_installÚ to_removeÚsetÚ_visitedÚ_provides_cache)r{r#rorYs&&&&rr|ÚDepResolver.__init__üs0Ø Œ
ØØŒ Ø%'ˆŒØ$&ˆŒÜ"%£%ˆŒ
Ø57ˆÖrcóL<V^8„dQhRS[RS[S[S[S[3,,/#)rÚdep_namer)rrr)rr€s"€rrrps)ø€÷
ñ
¡sð
©t±E¹#¹t¸)Õ4DÕ/Eñ
rc óB.pWP9d$VPWPV,34VPP4FKwr4VPR.4F0p\ V4pVR,V8XgKVPW434K2 KM V#)z,Find all packages that provide a dependency.rñ)r#rErar,)r{rzÚ providersÚpnamer Úpds&& rÚfind_providersÚDepResolver.find_providerss‡àˆ Ø —}‘}Ô × Ñ ˜h¯
©
°hÕ(?Ð Ÿ=™=×0‰KˆEØ#Ÿx™x¨
°BÖ7 Ü% kÓ2Øf•: Ö×$ e 
Ðrcó&<V^8„dQhRS[RS[/#©rr )rr€s"€rrrpsø€÷

ð
5±Dñ
5rc  óJVPR.4p\V4pVPP4F`wrV\ WF4'gKVR,V8XdK(\ RRV RVR, RV R24VP PV4Kb  R#) zCCheck if installing this package conflicts with installed packages.Ú conflictsr¤r
z
Conflict: z conflicts with z (required by Ú)N)r,rorar5rtrE)r{r Ú conflict_strÚcdÚ inst_nameÚ inst_infos&&& rÚ_check_conflictsÚDepResolver._check_conflictssà ŸH™H [°"Ö5ˆ! /ˆBØ(,¯©×(<Ñ(<Ö(>Ñ$ Ü  ×˜&•z XÔ Ü˜F ° Ð;KÈBÈvÍJÈ<ÐWeÐfnÐeoÐopÐ$qÔ—NN×)¨)Ö
)?ó6rcó&<V^8„dQhRS[RS[/#r)rr€s"€rrrpsø€÷ð9±4ñ9rc ó<VPR.4F…p\V4p\VPP 44FPpWTR,8XgK\ RV RV 24WPP 9gK5VP PV4KR K‡ R#)z2Check if this package replaces installed packages.Úreplacesr¤r z
replaces N)r,r8roÚkeysr5rtrE)r{r Ú replace_strÚrdrˆs&&& rÚ_check_replacesÚDepResolver._check_replacessxàŸ8™8 Ö3ˆKÜ! .ˆ! $§.¡.×"5Ñ"5Ó"7Ö8 Ø 
Ö˜F x 
¸9¸+Ð$FÔ ¯©ÖŸ×-¨iÖ4rcó6<V^8„dQhRS[S[,RS[/#rr)rr€s"€rrrp'sø€÷
ñ
™t¡C
©Tñ
rc óèVPP4VPP4VPP4VFpVP V4'dKR# R#)z>Resolve a list of package targets. Returns True if successful.FT)rvÚclearrsrtÚ _resolve_one)r{rÚtargets&& rÚresolveÚDepResolver.resolve'sUà
×ÑÔØ ×ÑÔØ ×ÑÔãˆFØ×$ V×ññrcó&<V^8„dQhRS[RS[/#)rr˜r)rr€s"€rrrp3sø€÷OñO¡3ðO©4ñOrc
 ó¶WP9dR#VPPV4WP9dR#WP9dR#WPP
9d\
RRV R24R#WP9dtVPV4pV'g\
RRV R24R#\V4^8”d)\
RR V R
R PR V44 24V^,^,pVPV,pVPW4VPW4VPR
.4EFap\V4pVR,pRpVPP4Fpwr‰\!WY4'gKVR,'dHV PR4'd1\#V R,^,VR,VR,4'dRpM V'dVPF=p
VPPV
4p V 'gK(\!W[4'gK;RpM V'dEK
VPV4pRp VFwrÞWÐP9gKRp M V 'dEKGVP%V4'dEKaR# WP9dVPP'V4R#)z Resolve a single package target.Tr
ú Package 'u' is in IgnorePkg — skippingr z' not found in any repositoryFr zMultiple packages provide 'z': ú, c3ó2"TF
q^,xK R#5i©rBNr©Ú.0r-s& rÚ <genexpr>Ú+DepResolver._resolve_one.<locals>.<genexpr>NséÐRkÑajÐ\]ÐUV×SWÒSWÓajùór)rvr0rsrorYrvr5r#rrDÚjoinrŠrr,rar—rE)r{r˜r|r ÚddrzÚsatrˆr‰ÚpnrïÚfoundÚ prov_namer?s&& rr—ÚDepResolver._resolve_one3seà —] Ø
×ј&Ô —_‘_Ô ð —^‘^Ô ð —[‘[× F˜i¨ xÐ/MÐ ð ŸÔ ×+¨FÓ3ˆÜ˜ 9¨V¨HÐ4QÐ!RÔÜ9~ Ô˜Ð"=¸f¸XÀSÈÏÉÑRkÑajÓRkÓIkÐHlÐ mÔ˜q•\ !•_ˆFà}‰}˜VÕ$ˆð
×јfÔ ×јVÔ—xx  ¨2×.ˆ! *ˆ˜&•zˆˆCØ(,¯©×(<Ñ(<Ö(>Ñ$ Ü  ×˜)—}”}¨¯©°y×)AÒ)Aܰ9Õ)=¸aÕ)@À"ÀUÅ)ÈRÐPYÍ]× Øñ)?÷Ùð—o”oØŸ=™=×,¨RÓ0ß‘8¤
¨b× ;Ô ;Øñ 
Úð×+¨HÓ5ˆI؈EÛ )‘ ا¡Ö ñ!*÷Úà×$ X×ñK/ðN ŸÔ O‰O× "  r)rwrvr#rYrorsrtN) r´r|rrr™r—s@rrmrmûsCø‡÷
ð
÷


ð
÷OöOrrmc ó€V^8„dQhR\R\R\R\\\\,3,/#)rÚpkg_pathrtÚpkgnamer)rrrrr)rs"rrrs8÷5ñ5¤ð5¬Tð5¼Cð5ÄEÌ$ÔPTÔUXÕPYÈ/ÕDZñ5rcóü.p^RIp\VR4;_uu_4pVP4pVPV4;_uu_4p\P!VRR7;_uu_4pVEFCp V P
p
V
P
R4'dK)WPR4, p VPRV
,4V P4'dZV P4'gV P4'dV P4V PV P4V P4'dpV P4'gV P4'dV P4V P!WPPR4, 4EKLV P#4'dV P%RRR7EKxV P&P%RRR7VP)V 4;_uu_4p V 'd4\V R 4;_uu_4p
\*P,!WÍ4RRR4RRR4V P.pV'dV P1V4\2P4!W¹P6V P84EKF RRR4RRR4RRR4RV3# +'giLŠ;i +'giL•;i \:\<3dEi;i +'giLc;i +'giLn;i +'giLy;i \>d+p\AR
R TP
R T 24R
.3uRp?#Rp?ii;i)z=Extract a .pkg.tar.zst to root. Returns (success, file_list).Nrrrr>rnTr¿r^r zFailed to extract rF)!rrrrÚlstriprEÚissymrÚ
is_symlinkr×Ú
symlink_toÚlinknameÚislnkÚ hardlink_torrrcÚ copyfileobjr Úchmodr“ÚchownÚuidÚgidÚPermissionErrorr8r"r5)rtrrr%r(r'r)r,r˜ÚsrcÚdstr r0s&&& rÚextract_single_pkgrÀsjà €Eð2ÛÜ
(˜D×
! QØ×/ˆ×# A×&¨&Ü—\\¨&°t×Ü"%˜Ø%Ÿ{™{˜àŸ?™?¨3×$Ø!%¯ © °CÓ(8Õ!8˜ØŸ  S¨4¥ZÔ!Ÿ<™<Ÿ>š>Ø%Ÿ}™}Ÿš°&×2CÑ2C×2EÒ2EØ &§
¡
¤Ø"×-¨f¯o©oÔ!Ÿ<™<Ÿ>š>Ø%Ÿ}™}Ÿš°&×2CÑ2C×2EÒ2EØ &§
¡
¤Ø"×.¨t·o±o×6LÑ6LÈSÓ6QÕ/QÔ!Ÿ<™<Ÿ>š>Ø"ŸL™L°À˜Ÿ
×+°DÀ4Ð Ÿ_™_¨V×4¸ß"Ü%)¨&°$×%7Ô%7¸3Ü$*×$6Ò$6°sÔ$@÷&8÷ &Ÿ{™{˜ßØ"ŸL™L¨ÔŸHšH V¯Z©Z¸¿¹×DñK#&÷"ðZUˆ÷&8×%7ú÷5×4ûô!0´Ð ð!ú÷O=×<ú÷'×&ú÷"×
!ûô\ ôÜÐ-¨h¯m©m¨_¸B¸q¸cÐbˆyÕûðúsæMœ*L3Á!L Á'BL
Ã.L
ÄAL
ÅL
ÅL
Å3AL
Ç A L
ÈK!È5KÉ K!ÉL
É0L
Ê+K4Ê-L
Ê2L Ê:L3Ë MË KËK!Ë! K1Ë,L
Ë4L
ÌL
Ì L
Ì
L
Ì
LÌL Ì L0
Ì+L3Ì3 M Ì>MÍ M;ÍM6Í0M;Í6M;c
óTV^8„dQhR\R\R\R\R\/#)rÚscript_contentÚactionrt)rr)rs"rrr¾s0÷%ñ%¤#ð%¬sð%¼$ð%Ìð%ÔWZñ%rc óV'gR#\P!4;_uu_4p\V4V R2, pVPV4VP R4\
P P4pVPR\V4RVRV/4\P!\V4V.V\V4RR^xR7pVP^8wdd\R R
V R V R VP 24VPP4'd%\R
VPP44VP^8HuuRRR4# +'giR#;i \P d\R R
T R T R24R#\"d!p \R R
T R T RT 24Rp ? R#Rp ? ii;i)z”Execute a package scriptlet phase.
.INSTALL phases: pre_install, post_install, pre_upgrade, post_upgrade,
pre_remove, post_remove
Nz.installiíÚRPM_INSTALL_PREFIXÚ PACKAGE_NAMEÚPACKAGE_VERSIONT)ÚenvÚcwdÚcapture_outputrÜÚtimeoutr
z
Scriptlet rNz
returned r z
timed outFz failed: )ÚtempfileÚTemporaryDirectoryrÚ
write_textr¹r“r”Úcopyr!rÚ
subprocessÚrunÚ
returncoder5ÚstderrrÚTimeoutExpiredr")
rtriÚ script_pathrÈrir0s
&&&&& rÚ
run_scriptletrÖ¾sˆ÷ ÙðÜ
×
(×
*¨cܘs¨ °Ð&:Õ:ˆ × "  × Ñ ˜ —*‘*—/‘/Ó#ˆCØ J‰JØ$¤c¨$£iØ Ø! 7ðô
ô  —^’^Ü! 6МS ›YØ#¨$¸ôˆFð
× Ñ  AÔ˜ *¨V¨H°E¸'¸À*ÈV×M^ÑM^ÐL_Ð `Ô—==×&טF F§M¡M×$7Ñ$7Ó$9Ô×Ñ)÷+
*×
*ûô, × Ü˜* V H¨E°'°¸Ü ôܘ* V H¨E°'°¸)ÀAÀ3ÐûðúsAŒE0©D(EÅ
E0Å E- Å'E0Å-E0Å0(GÆGÆ$GÆ%GÇGcóFV^8„dQhR\R\\,/#)rr)rrr)rs"rrræs÷
ñ
œDð
¤X¬c¥]ñ
rc óX^RIp\VR4;_uu_4pVP4pVPV4;_uu_4p\P!VRR7;_uu_4pVFdpVP
R8XgKVP
V4P4PRRR7uuuRRR4uuRRR4uuRRR4# RRR4RRR4RRR4R# +'giL";i +'giL-;i +'giR#;i R#;i) z(Extract .INSTALL content from a package.Nrrrz.INSTALLr r r
) rrrrrr™r )rr%r(r'r)r,s& rÚ
get_scriptletrÙæð

ÛÜ
(˜D×
! QØ×/ˆ×# A×&¨&Ü—\\¨&°t×Û"%˜Ø!Ÿ;™;¨*Ö4Ø#&§?¡?°6Ó#:×#?Ñ#?Ó#A×#HÑ#HÈÐYbÐ#HÓ#cÑ
#&÷ ÷
=×<ú÷'×&ú÷
 ûð
Ø Ù úsvD$š*DÁ!C= Á%C*
Á>1C*
Â/
C= Â9
DÃ
D$ÃC*
ÃC= ÃDÃ D$Ã* C:Ã5C= Ã= D
ÄDÄ D! ÄD$Ä!D$Ä$D)c
ójV^8„dQhR\R\R\\,R\R\/#)rÚpkg_keyr rrtrU)rrrrB)rs"rrr÷s;÷AñAœSðA¬ðA´T¼#µYðAÄdðAÜñArcóx\V, pVPRRR7\\\P!444.VR&\V4.VR&.pVP 4FYwrxVP
R4'dKVPRVP4 R24VPRV44K[ VR, PR PV4R ,4R
.p V PV4VR , PR PV 4R ,4R #)
z)Write to /var/lib/pacman/local/<pkg_key>/Tr¿Ú installdaterUr?c3ó8"TFp\V4xK R#5irrr')s& rÚ"update_local_db.<locals>.<genexpr>séÐ/©$ Qœ#˜aŸ&˜&«$ùór
r‰r=rN) r4rrBÚtimerarEÚupperr)
r rrtrUr:Ú
desc_linesÚkeyÚvalsÚ
file_liness
&&&&& rÚupdate_local_dbrç÷sô˜!€GØ ‡MM˜€MÔœs¤4§9¢9£;Ó1€DˆÑܘ&“k]€Dˆ€JØ—ZZ\‰ ˆØ >‰>˜#× Ò Ù Ø×јA˜cŸi™i›k˜]¨!Ð×ÑÑ/©$Ó

ˆvÕ×! $§)¡)¨JÓ"7¸$Õ">Ô€JØ×ÑØ ˆ×" 4§9¡9¨ZÓ#8¸4Õ#?Ö@rcó$V^8„dQhR\/#)rr')rs"rrrs÷ñœSñrcó|\V, pVP4'd\P!V4R#R#rr)r4rrcÚrmtree)r:s& rÚremove_local_dbrës*ܘ!€G؇~~×ÒÜ
Š
ñrc ó¢V^8„dQhR\R\R\R\\\,\\\
3,3,/#)rÚ old_pkg_keyrtr)rrrrrÚbytes)rs"rrrsF÷4ñ4¤Sð4´sð4Ä$ð4Ì5ÔQUÔVYÕQZÔ\`ÔadÔfkÐakÕ\lÐQlÕKmñ4rcó\V, R, p.p/pVP4'gWE3#\VPRRR74pTP
R.4pT'gYE3#TpTPR4p T 'd
T ^,MTp
\T 4^8”d
T ^,MRp Y*PR4, p T P4'dT P4'gK‡T 'gTPT
4\P!T P44P4p
YÛ8wdTPT
4 TF-p
Y*PR4, p T P4YZ&K/ T'd\!R R
T 24YE3# \\
3dYE3u#i;i \\
3dTPT
4EKi;i \\
3di;i) aIdentify modified backup files before extraction and save them.
Reads the old package's backup list from local DB, compares current
file checksums against stored ones, and saves modified files aside.
Returns (list of modified paths, dict of {path: saved_content_bytes}).
r
r r r
ÚbackupÚ r=rnr z%Preserving modified config files for )r4rr7r8r,rrDÚis_filerEÚhashlibÚmd5Ú
read_bytesÚ hexdigestr5)rtÚ
old_desc_fileÚmodifiedÚsavedÚold_infoÚbackup_entriesÚentryrGÚfilepathÚ
stored_md5Ú full_pathÚ current_md5s&&& rÚ_save_modified_backupsrô  Õ+¨fÕ4€MØ€HØ €Eà × Ñ × ˆÐðÜ  ×!8Ñ!8¸ÈÐ!8Ó!SÓTˆð—\‘\ (¨BÓ/€Nß ØˆÐãˆØ ˜DÓß$–8¨%ˆÜ!$ U£¨a¤U˜1X°Rˆ
ØŸ?™?¨3Ó/ˆ Ø×Ñ××):Ñ):×)<Ò)<Ù ßØ O‰O˜ 
%Ÿkšk¨)×*>Ñ*>Ó*@ÓA×M ØÔ—O‘O HÖ ó$ˆØŸ?™?¨3Ó/ˆ ð Ø'×4ˆE÷ÜиzÐ ˆ?ÐøôG
”WÐ ô؈Òðûô*œWÐ
 ×
*ûôœÐ Ú ð ús6³F-ÄA GÅ=G1Æ-GÇGÇ"G.Ç-G.Ç1HÈHcótV^8„dQhR\\,R\\\3,R\/#)rrt)rrrr)rs"rrrMs3÷HñHœt¤CH´´c¼5°jÕ1AðHÌñHrc ózV'gR#VpW#PR4, pVPVPR,4pVP4'd+\P
!WE4\
RRV RV R24W19gK„VPPR
R
R 7VPW,4\
RR V 24 R# \\3dp\
RRT R T 24Rp?LzRp?ii;i \\3dp\
RR
T RT 24Rp?EK(Rp?ii;i)zHAfter extraction, restore user configs and save new versions as .pacnew.Nrnz.pacnewr r)õ → r
ú Could not create z .pacnew: Tr¿z Restored user config: z Could not restore r) rbÚsuffixrrcrdr5r8Ú write_bytes)rtrÿÚ pacnew_pathr0s&&& rÚ_restore_backupsr Ms(ç ÙãˆØŸ?™?¨3Ó/ˆ à×+¨I×,<Ñ,<¸yÕ,HÓIˆ Ø × Ñ × Ò ð
NÜ ˜˜ " X J¨e°H°:¸WÐ EÔ
Ö ð
HØ× Ñ ×&¨t¸×% e¥oÔ˜Ð":¸8¸*Ð EÖFó!øôœWÐ
NܘÐ"5°h°Z¸ÈÐ L×Mûð
NûôœWÐ
HܘÐ"6°x°jÀÀ1À#Ð F×Gûð
Hús1Á )CÂAD ÃDÃ,DÄDÄ D:ÄD5Ä5D:cóFV^8„dQhR\\,R\/#©rrrY©rrrl)rs"rrrhs"÷@
ñ@
œD¤@
¬vñ@
rcóæ\RRRPV4 24\V4'd^#\P RRR7\
P RRR7VP P RRR7\\PR44pV'gL\RR4\V4\\PR44pV'g\R R
4^#\4p\4pV'g\R R 4^#\4;_uu_4\W4V4pVPV4'g\R R 4R
R
R
4^#VPpVP pV'g V'g\RR4R
R