+
    …WÝj§à  ã                  ó¬  a € 0 t $ R t^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
Ht ^ RIHt ^ RIHtHt ^ RIHtHtHtHtHtHtHt ^ RIHt ^ RIHtHtHtHtH t H!t! ^ R	I"H#t#H$t$H%t%H&t&H't'H(t(H)t)H*t*H+t+H,t, ]PZ                  ! ].4      t/R
RRRRRRRRRRRRRRR/t0R
RRRRRRRRRRRRRRR/t1 ! R R]4      t2] ! R R]24      4       t3 ! R  R!4      t4] ! R" R#]4]2]4      4       t5] ! R$ R%]4]2]4      4       t6R& R' lt7/ t8R(]9R)&   R* R+ lt:R, R- lt;] ! R. R/]4      4       t<] ! R0 R1]4]2]4      4       t=] ! R2 R3]4      4       t>RYR4 R5 llt?] ! R6 R7]24      4       t@]P‚                  R88H  tB] ! R9 R:]24      4       tC] ! R; R<]24      4       tD] ! R= R>]4]2]4      4       tE] ! R? R@]24      4       tF] ! RA RB]24      4       tG] ! RC RD]24      4       tH] ! RE RF]4      4       tI ! RG RH]24      tJRI RJ ltK/ tLRK]9RL&   ] ! RM RN]J4      4       tM] ! RO RP]J4      4       tN] ! RQ RR]J4      4       tO] ! RS RT]J4      4       tP] ! RU RV]J4      4       tQ] ! RW RX]24      4       tRR# )Zz~Package definitions for the tools hermes manages. Versions and hashes
live in pm/lock.json (written by `pm lock`), never here.)ÚannotationsN)ÚPath)ÚOptional)Ú	long_rootÚnative)Ú
DebPackageÚInstallErrorÚPackageÚStatePackageÚ_entry_listingÚ_probe_reasonÚ
unpack_deb)Úregister)ÚALL_TARGETSÚMUSL_TARGETSÚStoreÚcurrent_targetÚflatten_single_dirÚ
merge_tree)
Ú
btbn_indexÚbtbn_versionsÚgithub_release_tagsÚllama_app_bucket_versionsÚllama_app_latestÚmartin_riedl_indexÚmartin_riedl_versionsÚnode_latest_versionsÚnpm_dist_tagsÚpbs_versionsú	win32-x64zx86_64-pc-windows-msvcúwin32-arm64zaarch64-pc-windows-msvcú	linux-x64zx86_64-unknown-linux-gnuúlinux-arm64zaarch64-unknown-linux-gnuúlinux-x64-muslzx86_64-unknown-linux-muslúlinux-arm64-muslzaarch64-unknown-linux-muslú
darwin-x64zx86_64-apple-darwinúdarwin-arm64zaarch64-apple-darwinzwin-x64z	win-arm64c                  ó‚   € ] tR t^At$ Rt/ tR]R&   RtRtR.t	R]R&   Rt
R	 R
 ltR R ltR R ltR R ltR R ltRtR# )ÚBinaryPackagez<A downloaded archive exposing one binary. Covers most tools.údict[str, str]Ú
binary_relTz	--versionú	list[str]Ú
probe_argsFc               ó    € V ^8„  d   QhRRRR/# ©é   ÚtargetÚstrÚreturnúOptional[str]© )Úformats   "Ú?C:\Users\johnn\AppData\Local\hermes\hermes-agent\pm\packages.pyÚ__annotate__ÚBinaryPackage.__annotate__N   s   € ÷ 
ñ 
˜3ð 
 =ñ 
ó    c                	ó´   € VP                  R 4      pV P                  P                  V4      ;'       g&    V P                  P                  V'       d   R MR4      # )Úwin32Úposix)Ú
startswithr*   Úget)Úselfr0   Úwins   && r6   Ú_relÚBinaryPackage._relN   sK   € Ø×Ñ Ó(ˆØ�‰×"Ñ" 6Ó*÷ 
ð 
¨d¯o©o×.AÑ.Aß‰G ó/
ð 	
r9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# ©
r/   Ústorer   Ústagedr   Úversionr1   r0   r2   ÚNoner4   )r5   s   "r6   r7   r8   T   s/   € ÷ 'ñ '˜5ð '¨$ð '¸ð 'Àcð 'Èdñ 'r9   c                	óD   € V P                   '       d   \        V4       R # R # ©N)Úflattenr   ©r?   rE   rF   rG   r0   s   &&&&&r6   ÚstageÚBinaryPackage.stageT   s   € Ø�<�<ˆ<Ü˜vÖ&ñ r9   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   Úentryr   r0   r1   r2   zOptional[Path]r4   )r5   s   "r6   r7   r8   X   s!   € ÷ ,ñ ,˜Dð ,¨#ð ,°.ñ ,r9   c                	óH   € V P                  V4      pV'       d	   W,          # R # rJ   )rA   )r?   rQ   r0   Úrels   &&& r6   ÚbinaryÚBinaryPackage.binaryX   s   € Ø�i‰i˜Óˆß!ˆu�{Ð+ tÐ+r9   c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rQ   r   r0   r1   r2   r4   )r5   s   "r6   r7   r8   \   s!   € ÷ ñ ˜Dð ¨#ð °#ñ r9   c           	     óÄ  € V P                  W4      pVf   R# V P                  W1V4      pV'       d   V# V P                  '       d   V\        4       8w  d   R#  \        P
                  ! \        V4      .V P                  OR^<V P                  '       d   \        VP                  4      MRV P                  4       RR7      pTP                  ^ 8w  d   \        Y54      # R#   \         d8   pR\        T4       RRP                  T P                  4       R	T 2u Rp?# Rp?i\        P                   d.    \        T4       RRP                  T P                  4       R
2u # i ; i)z‚Check file/architecture evidence for every target, plus a smoke
probe only on the native target. Never execute cross-staged bytes.Nzno binary_rel for this targetÚ TF)Úcapture_outputÚtimeoutÚcwdÚenvÚcheckzcould not exec Ú ú: z timed out after 60s)rT   Ú_binary_reasonÚprobe_versionr   Ú
subprocessÚrunr   r,   Ú	probe_cwdÚparentÚ
_probe_envÚOSErrorÚjoinÚTimeoutExpiredÚ
returncoder   )r?   rQ   r0   rT   ÚreasonÚprocÚes   &&&    r6   ÚverifyÚBinaryPackage.verify\   s2  € ð —‘˜UÓ+ˆØŠ>Ù2Ø×$Ñ$ V°FÓ;ˆßØˆMØ×!×!Ð! V¬~Ó/?Ô%?Ùð	WÜ—>’>Ü˜“Ð2 $§/¡/Ð2Ø#ØØ-1¯^¯^¨^”F˜6Ÿ=™=Ô)ÀØ—O‘OÓ%ØôˆDð �?‰?˜aÔÜ  Ó.Ð.Ùøô ô 	WØ$¤V¨F£^Ð$4°A°c·h±h¸t¿¹Ó6OÐ5PÐPRÐSTÐRUÐVÕVûÜ×(Ñ(ô 	WÜ˜V“nÐ% Q s§x¡x°·±Ó'@Ð&AÐAUÐVÒVð	Wús+   ÁA'C ÃEÃ(,DÄEÄEÄ1+EÅEc               ó   € V ^8„  d   QhRR/# ©r/   r2   Údictr4   )r5   s   "r6   r7   r8   x   s   € ÷ #ñ #˜Dñ #r9   c                ó„   € V P                   '       g   \        \        P                  4      # ^ RIHp V! V P                   !  # )zeDeps' env composed in: npm's shim is `#!/usr/bin/env node` and
must find the node it extends on PATH.)Úenv_for)Údepsrs   ÚosÚenvironÚ
pm.installru   )r?   ru   s   & r6   rg   ÚBinaryPackage._probe_envx   s.   € ð �y�yˆyÜœŸ
™
Ó#Ð#Ý&á˜Ÿ	™	Ñ"Ð"r9   r4   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r*   Ú__annotations__rK   rb   r,   re   rA   rM   rT   ro   rg   Ú__static_attributes__r4   r9   r6   r(   r(   A   sL   ‡ ÙFà!#€J�Ó#Ø€GØ€Mð )˜M€J�	Ó)ð €Iõ
õ'õ,õ÷8#ñ #r9   r(   c                  óº   a€ ] tR t^‚tRtRtRtRtRtRt	RR/t
] U u/ uF  q P                  R4      '       d   K  V RbK   	  up tR R	 ltR
 V3R lltRtV;t# u up i )ÚDmgbuilda1  Build-only DMG supplier, independently pinned by PM rather than dmg-builder.

The lock version is <release>+<bundle revision>. Updates are manual: review
the official electron-builder-binaries bundle and re-pin both Darwin targets.
Keep the paired Python tree intact for the launcher and diagnostic hook.
ÚdmgbuildTFr<   zdarwin-zDMG creation requires macOSc               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rG   r1   r0   r2   r4   )r5   s   "r6   r7   ÚDmgbuild.__annotate__“   ó!   € ÷ 
ñ 
 ð 
¨cð 
°cñ 
r9   c                	ó\   € VP                  R 4      w  r4pRRRR/V,          pRV RV RV R2# )	Ú+r&   Úarm64r%   Úx86_64z]https://github.com/electron-userland/electron-builder-binaries/releases/download/dmg-builder@z/dmgbuild-bundle-Ú-ú.tar.gz)Ú	partition)r?   rG   r0   ÚreleaseÚ_ÚrevisionÚarchs   &&&    r6   Ú	fetch_urlÚDmgbuild.fetch_url“   sN   € Ø&×0Ñ0°Ó5Ñˆ�HØ ¨°xÐ@ÀÕHˆðØ"˜)Ð#4°T°F¸!¸H¸:ÀWðNð	
r9   c               ó$   € V ^8„  d   QhRRRRRR/# rW   r4   )r5   s   "r6   r7   r‡   ›   s&   € ÷ qñ q˜Dð q¨#ð q°#ñ qr9   c                	ód   <€ \         SV `  W4      ;'       g    V P                  VR ,          W4      # )zpython/bin/python3)Úsuperro   ra   ©r?   rQ   r0   Ú	__class__s   &&&€r6   ro   ÚDmgbuild.verify›   s.   ø€ Ü‰w‰~˜eÓ,×pÐp°×0CÑ0CÀEÐL`ÕD`ÐbgÓ0pÐpr9   r4   )r{   r|   r}   r~   r   ÚnameÚinternalÚon_pathrK   rb   r*   r   r=   Úgapsr”   ro   r�   Ú__classcell__©r0   rš   s   0@r6   rƒ   rƒ   ‚   sm   ø† ñð €DØ€HØ€GØ€GØ€MØ˜:Ð&€JÙ@KÓpÁ°f×SdÑSdÐen×SoÔ1ˆFÐ1Ò1ÁÑp€Dõ
÷qö qùò qs
   œA¹Arƒ   c                  óJ   € ] tR t^ŸtRtR R ltR R ltR R ltR R	 ltR
t	R# )Ú_BionicDebArmzïShared bionic-arm behavior for the termux tool packages: extract as a
.deb on the bionic target (DebPackage's hardened ar+tar), as the binary
package otherwise, and never host-exec-probe a bionic binary (it cannot
run on the staging host).c               ó(   € V ^8„  d   QhRRRRRRRR/# ©r/   Úarchiver   rF   r0   r1   r2   rH   r4   )r5   s   "r6   r7   Ú_BionicDebArm.__annotate__¥   s.   € ÷ @ñ @˜dð @¨Dð @¸#ð @À$ñ @r9   c                	ór   € VR 8X  d   \         P                  ! WW#4       R# \        P                  WW#4       R# ©úlinux-arm64-bionicN)r   Úunpackr(   ©r?   r¦   rF   r0   s   &&&&r6   r«   Ú_BionicDebArm.unpack¥   s+   € ØÐ)Ô)Ü×Ò˜d¨VÖ<ä× Ñ  °Ö?r9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   r§   «   s6   € ÷ Fñ F˜5ð F¨$ð F¸ð FÀcð FÈdñ Fr9   c                	óF   € VR 8w  d   \         P                  WW#V4       R# R# r©   )r(   rM   rL   s   &&&&&r6   rM   Ú_BionicDebArm.stage«   s"   € ØÐ)Ô)Ü×Ñ ¨V¸fÖEñ *r9   c               ó$   € V ^8„  d   QhRRRRRR/# rP   r4   )r5   s   "r6   r7   r§   ¯   s!   € ÷ 9ñ 9˜Dð 9¨#ð 9°.ñ 9r9   c                	óŒ   € VR 8X  d)   WP                   ,          V P                  V4      ,          # \        P                  WV4      # ©rª   )Ú
prefix_relÚmain_relr(   rT   ©r?   rQ   r0   s   &&&r6   rT   Ú_BionicDebArm.binary¯   s;   € ØÐ)Ô)ð Ÿ?™?Õ*¨T¯]©]¸6Ó-BÕBÐBÜ×#Ñ# D°Ó8Ð8r9   c               ó$   € V ^8„  d   QhRRRRRR/# rW   r4   )r5   s   "r6   r7   r§   ·   s!   € ÷ 9ñ 9˜Dð 9¨#ð 9°#ñ 9r9   c                	ój   € VR 8X  d   \         P                  ! WV4      # \        P                  WV4      # r³   )r   ro   r(   r¶   s   &&&r6   ro   Ú_BionicDebArm.verify·   s3   € ð Ð)Ô)Ü×$Ò$ T°&Ó9Ð9Ü×#Ñ# D°Ó8Ð8r9   r4   N)
r{   r|   r}   r~   r   r«   rM   rT   ro   r�   r4   r9   r6   r£   r£   Ÿ   s"   † ñ!õ
@õFõ9÷9ñ 9r9   r£   c                  óf   € ] tR t^ÀtRtRtRtRtRtRRRR/t	Rt
R	 R
 ltRtR R ltRR R lltRtR# )ÚUva  astral's prebuilt tarballs for glibc/musl/mac/win; the Termux main-repo
uv .deb for bionic (termux builds uv from source -- no astral bionic
artifact exists). The bionic arm is a runtime tool on the phone (lazy
plugin installs) and the wheelhouse's resolver in the build container.ÚuvTFr;   zuv.exer<   zbin/uvc               ó    € V ^8„  d   QhRRRR/# ©r/   r0   r1   r2   r4   )r5   s   "r6   r7   ÚUv.__annotate__Ï   ó   € ÷ !ñ !˜sð ! sñ !r9   c                	ó   € V P                   # rJ   ©Úmain_bin_rel©r?   r0   s   &&r6   rµ   ÚUv.main_relÏ   ó   € Ø× Ñ Ð r9   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rÀ   Ô   s&   € ÷ `ñ ` ð `¨cð `°cñ `r9   c                	ó‚   € VR 8X  d   RV R2# \         V,          pVP                  R4      '       d   RMRpRV RV RV 2# )	rª   z>https://packages.termux.dev/apt/termux-main/pool/main/u/uv/uv_ú_aarch64.debr;   Úzipútar.gzz2https://github.com/astral-sh/uv/releases/download/z/uv-Ú.)Ú_RUST_TRIPLEr=   ©r?   rG   r0   ÚtripleÚexts   &&&  r6   r”   ÚUv.fetch_urlÔ   s\   € ØÐ)Ô)ØSÐT[ÐS\Ð\hÐiÐiÜ˜fÕ%ˆØ×(Ñ(¨×1Ò1‰e°xˆØCÀGÀ9ÈDÐQWÐPXÐXYÐZ]ÐY^Ð_Ð_r9   Nc               ó    € V ^8„  d   QhRRRR/# ©r/   r0   r1   r2   r+   r4   )r5   s   "r6   r7   rÀ   Û   s   € ÷ 3ñ 3 cð 3¸9ñ 3r9   c                	ó   € \        R 4      # )zastral-sh/uv©r   ©r?   r0   Úlockeds   &&&r6   Úlatest_versionsÚUv.latest_versionsÛ   s   € Ü" >Ó2Ð2r9   r4   ©ÚpythonrJ   )r{   r|   r}   r~   r   rœ   rv   r�   rž   r*   rÄ   rµ   Údeb_packager”   rÙ   r�   r4   r9   r6   r¼   r¼   À   sM   † ñNð
 €DØ€DØ€HØ€GØ˜8 W¨dÐ3€Jà€Lõ!ð €Kõ`÷3ó 3r9   r¼   c                  ó~   a € ] tR t^ßtRtRtRtRtRRRR/tR	t	R
 R lt
RtRtR V 3R lltR R ltRR R lltRtV ;t# )ÚPythonz�The pinned interpreter for launchers and every PM-managed uv command.

Optional when provisioning unrelated tools; required by uv's closure.
rÜ   TFr;   z
python.exer<   zbin/python3zbin/python3.14c               ó    € V ^8„  d   QhRRRR/# r¿   r4   )r5   s   "r6   r7   ÚPython.__annotate__í   rÁ   r9   c                	ó   € V P                   # rJ   rÃ   rÅ   s   &&r6   rµ   ÚPython.main_relí   rÇ   r9   zZhttps://packages.termux.dev/apt/termux-main/pool/main/p/python/python_3.14.6-1_aarch64.debc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   rá   ú   s6   € ÷ Dñ D˜5ð D¨$ð D¸ð DÀcð DÈdñ Dr9   c                	óÜ   <€ \         SV `  WW44       V P                  W$4      pVe$   \        P                  R8X  d   ^ RIHp V! V4       VR8X  d   VR,          P                  RR7       R # R # )NÚdarwin)Úsign_managed_pythonr    zvcruntime140_1.dllT©Ú
missing_ok)r˜   rM   rT   ÚsysÚplatformÚhermes_cli.macos_signingrç   Úunlink)r?   rE   rF   rG   r0   rT   rç   rš   s   &&&&&  €r6   rM   ÚPython.stageú   sa   ø€ Ü‰‰�e WÔ5Ø—‘˜VÓ,ˆØÒ¤#§,¡,°(Ô":ÝDá Ô'ð �]Ô"ØÐ*Õ*×2Ñ2¸dÐ2ÖCñ #r9   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rá   	  ó!   € ÷ 
ñ 
 ð 
¨cð 
°cñ 
r9   c           	     	óÎ   € VR 8X  d   V P                   # VP                  R4      w  r4pV'       g   \        V P                  RV: R24      h\        V,          pRV RV RV RV R2	# )rª   rŠ   zversion z needs the +<release> tagzGhttps://github.com/astral-sh/python-build-standalone/releases/download/z	/cpython-r�   z-install_only.tar.gz)Ú_BIONIC_URLr�   r   rœ   rÎ   )r?   rG   r0   Úpyverr‘   ÚtagrÐ   s   &&&    r6   r”   ÚPython.fetch_url	  s{   € ØÐ)Ô)Ø×#Ñ#Ð#à×)Ñ)¨#Ó.‰ˆ�#ßÜ˜tŸy™y¨H°W±KÐ?XÐ*YÓZÐZÜ˜fÕ%ˆàUØˆe�9˜U˜G 1 S E¨¨6¨(Ð2FðHð	
r9   c               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   rá     s   € ÷ 9ñ 9 cð 9¸9ñ 9r9   c                	óÞ   € VR 8X  g   V'       d   RV9  d   . # VP                  R4      ^ ,          pRP                  VP                  R4      R,          4      p\        V\        V,          4      # )rª   rŠ   rÍ   :Nr/   N)r�   ri   Úsplitr   rÎ   )r?   r0   rØ   ró   Úminors   &&&  r6   rÙ   ÚPython.latest_versions  s^   € ð Ð)Ô)·¸3ÀfÔ;LØˆIØ× Ñ  Ó% aÕ(ˆØ—‘˜Ÿ™ SÓ)¨"Õ-Ó.ˆÜ˜E¤<°Õ#7Ó8Ð8r9   r4   rJ   )r{   r|   r}   r~   r   rœ   Úoptionalrb   r*   rÄ   rµ   rÝ   rò   rM   r”   rÙ   r�   r    ©rš   s   @r6   rß   rß   ß   s]   ø† ñð
 €DØ€HØ€MØ˜<¨°-Ð@€Jà#€Lõ!ð €Kð	&ð ÷
Dð Dõ
÷9õ 9r9   rß   c               ó    € V ^8„  d   QhRRRR/# )r/   Úpathr   r2   Úbytesr4   )r5   s   "r6   r7   r7      s   € ÷ ñ ˜$ð  5ñ r9   c                ó4  € ^ RI pV P                  4       pVP                  VP                  3p\        P                  V 4      pV'       d   V^ ,          V8X  d
   V^,          # VP                  V P                  4       4      P                  4       pW53\        V &   V# )un   sha256 of uv.lock, cached on (mtime_ns, size) â€” check() runs at
every startup and uv.lock is megabyte-class.N)	ÚhashlibÚstatÚst_mtime_nsÚst_sizeÚ_uv_lock_digest_cacher>   Úsha256Ú
read_bytesÚdigest)rþ   r  r  ÚkeyÚcachedr  s   &     r6   Ú_uv_lock_digestr     s~   € ó à�9‰9‹;€DØ×Ñ˜TŸ\™\Ð
*€CÜ"×&Ñ& tÓ,€Fß�&˜•)˜sÔ"Ø�a�yÐØ�^‰^˜DŸO™OÓ-Ó.×5Ñ5Ó7€FØ#& -Ô˜$ÑØ€Mr9   zdict[Path, tuple]r  c               ó$   € V ^8„  d   QhRRRRRR/# )r/   Úsrczstr | os.PathLikeÚdstr2   r4   )r5   s   "r6   r7   r7   2  s$   € ÷ ñ Ð*ð Ð1Bð ÐGXñ r9   c                ó  €  \         P                  ! V4      P                  \         P                  ! V 4      P                  8X  d   V#  \        P
                  ! R\        V4      P                  R7      w  r#\         P                  ! V4        \        P                  ! W4       \         P                  ! W14       \        V4      P                  RR7       V#   \         d     Lši ; i  \        T4      P                  RR7       i ; i)zØCopy one payload cache file unless an earlier seed already copied it whole.

A copy cut short leaves the file in place with too few bytes, so a matching
size is what counts as done; a finished file is not rewritten.
z.seed-)ÚprefixÚdirTrè   )rw   r  r  ÚFileNotFoundErrorÚtempfileÚmkstempr   rf   ÚcloseÚshutilÚcopy2Úreplacerí   )r  r  ÚfdÚstagings   &&  r6   Ú_copy_seed_filer  2  sÃ   € ðÜ�7Š7�3‹<×Ñ¤2§7¢7¨3£<×#7Ñ#7Ô7ØˆJð 8ô ×"Ò"¨(¼¸S»	×8HÑ8HÔI�K€BÜ‡H‚HˆR„Lð.Ü�Š�SÔ"Ü
�
Š
�7Ô äˆW‹×Ñ¨ÐÔ-Ø€Jøô ô Ùðûô 	ˆW‹×Ñ¨ÐÕ-ús   ‚AC Â,C& ÃC#Ã"C#Ã&Dc               ó   € V ^8„  d   QhRR/# ©r/   r2   r   r4   )r5   s   "r6   r7   r7   I  s   € ÷ <ñ <�dñ <r9   c                 ó$  € ^ RI Hp  ^ RIHpHp V ! 4       R,          R,          pVR,          pV! 4       R,          pVP                  4       '       d   \        V4      P                  4       MRp\        V! 4       P                  R,          4      pVP                  4       '       d
   VR	,          p VP                  R
R7      P                  4       V8H  pV'       gå    VP                  4       '       d›   \        V4      p	V	P                  RRR7       VP                  4        Fh  p
V
P                   R8X  d   K  WšP                   ,          pV
P                  4       '       d    \"        P$                  ! W«R\&        R7       K]  \'        W«4       Kj  	   VP                  P                  RRR7       VP)                  VRR7       V# V#   \         d    Rp Lýi ; i  \         d     T# i ; i  \         d"   p\*        P-                  RT4        Rp?T# Rp?ii ; i)u=  The hermes-owned uv cache: machine-scoped and shared (keyed by
content â€” two profiles reuse one cache), anchored to the DEFAULT
hermes root like partials_root(). A bundle ships a seeded copy at
the payload root (uv-cache/); the first call under each uv.lock
merges it into the writable machine cache (the read-only payload
can't serve uv's working cache), and a warm `uv sync --offline`
from it is near-free (probed: 0.4s vs 1.2s cold) â€” the blow-away-
on-update contract depends on it. uv's default cache location is
per-user/platform-opinionated and never used by pm.)Úget_default_hermes_root)Ú	repo_rootÚ
store_rootÚcacher½   z.seededúuv.lockÚ1zuv-cachez+payloadz	utf-8-sig©ÚencodingFT©ÚparentsÚexist_ok)Údirs_exist_okÚcopy_functionúutf-8z:uv cache seed incomplete, retrying on the next install: %sN)Úhermes_constantsr  Úpm.pathsr   r!  Úis_filer  Úhexr   rf   Úis_dirÚ	read_textÚstriprh   ÚmkdirÚiterdirrœ   r  Úcopytreer  Ú
write_textÚLOGÚwarning)r  r   r!  Úmachine_cacheÚmarkerÚlockÚseedÚpayload_cacheÚcurrentÚseededrQ   ÚdestÚexcs                r6   Úuv_cache_dirrC  I  sÍ  € õ 9ç.á+Ó-°Õ7¸$Õ>€MØ˜YÕ&€Fñ ‹;˜Õ"€DØ*.¯,©,¯.ª.Œ?˜4Ó ×$Ñ$Ô&¸c€Dô ™j›l×1Ñ1°JÕ>Ó?€MØ×Ñ×ÒØ�
ÕˆðØ×"Ñ"¨KÐ"Ó8×>Ñ>Ó@ÀDÑHˆ÷ ð
	ð ×#Ñ#×%Ò%Ü" =Ó1�Ø—‘ T°D�Ô9Ø*×2Ñ2Ö4�EØ—z‘z YÔ.Ù Ø!§J¡JÕ.�Dð —|‘|—~’~ÜŸš¨À4ÔWf×gä'¨Ö4ñ 5ðØ—‘×#Ñ#¨D¸4Ð#Ô@Ø×!Ñ! $°Ð!Ô9ð Ðˆ=Ðøô? ô ØŠðûô: ô ØØÐðûô ô 	[Ü�K‰KÐTÐVY×ZÐZð Ðûð	[úsC   Â-#F> ÃG# Ã/BG# Æ
0G Æ>GÇGÇG ÇG Ç#HÇ.H
È
Hc                  ó~   € ] tR tRtRtRtRtRR R lltR R ltR	 R
 lt	RR/R R llt
RRRRRRRR/R R lltRtR# )ÚVenviˆ  z|The project venv: pyproject.toml + uv.lock + enabled extras.
Made true by `uv sync --frozen`; uv is its internal dependency.ÚvenvNc               ó   € V ^8„  d   QhRR/# )r/   Úproject_rootzPath | Noner4   )r5   s   "r6   r7   ÚVenv.__annotate__�  s   € ÷ *ñ * [ñ *r9   c                	ó   € Wn         R # rJ   ©Ú_project_root)r?   rH  s   &&r6   Ú__init__ÚVenv.__init__�  s   € Ø)Ör9   c               ó   € V ^8„  d   QhRR/# r  r4   )r5   s   "r6   r7   rI  “  s   € ÷ Qñ Q˜dñ Qr9   c                	óP   € ^ RI Hp V P                  f   V! 4       # V P                  # )é    )r   )r.  r   rL  )r?   r   s   & r6   rH  ÚVenv.project_root“  s#   € Ý&à"×0Ñ0Ò8‰y‹{ÐP¸d×>PÑ>PÐPr9   c               ó   € V ^8„  d   QhRR/# r  r4   )r5   s   "r6   r7   rI  ˜  s   € ÷ 2ñ 2˜$ñ 2r9   c                	ó:   € ^ RI Hp V! V P                  4       4      # )rQ  )Úselected_venv)Úpm.environmentsrU  rH  )r?   rU  s   & r6   Úvenv_dirÚVenv.venv_dir˜  s   € Ý1á˜T×.Ñ.Ó0Ó1Ð1r9   Úplugin_dirsc               ó    € V ^8„  d   QhRRRR/# )r/   Úextrasr+   r2   r1   r4   )r5   s   "r6   r7   rI  �  s   € ÷ ñ  Yð Èñ r9   c               	ó´  € ^ RI p^ RIp^ RIHp ^ RIHp ^ RIHp V! V! 4       4      pV! 4       p	VP                  R4      T	VP                  RV	4       U
u. uF  qªR,          NK  	  up
3pVP                  4       pVP                  \        V P                  4       R,          4      4       VP                  RP                  \        V4      4      P!                  4       4       VP                  VP#                  V4      P!                  4       4       ^ R	IHpHp TP                  T! Vf   V! 4       MT4      P!                  4       4       VP+                  4       # u up
i )
rQ  N)ÚLockfile)Úlockfile_path)r   rÜ   r  r#  Ú,)Úenabled_member_dirsÚmembers_stamp)r  ÚjsonÚpm.lockr]  r.  r^  Úpm.storer   rG   Ú	artifactsr  Úupdater  rH  ri   ÚsortedÚencodeÚdumpsÚpm.workspacer`  ra  Ú	hexdigest)r?   r[  rY  r  rb  r]  r^  r   r<  r0   ÚartifactrÜ   Úhr`  ra  s   &&$            r6   Úexpected_stampÚVenv.expected_stamp�  s	  € ÛÛÝ$Ý*Ý+á™›Ó(ˆÙÓ!ˆØ—,‘,˜xÓ(¨&Ø6:·n±nÀXÈvÔ6VÓWÑ6V¨(˜H×%Ð%Ñ6VÑWðYˆà�N‰NÓˆØ	�‰” ×!2Ñ!2Ó!4°yÕ!@ÓAÔBØ	�‰�—‘œ& ›.Ó)×0Ñ0Ó2Ô3Ø	�‰�—‘˜FÓ#×*Ñ*Ó,Ô-÷ 	Dà	�‰‘¸Ò8KÑ2Ô4ÐQ\Ó]×dÑdÓfÔgØ�{‰{‹}Ðùò Xs   ÁEÚrepairFÚexplicitÚskip_invalid_secondaryc          
     ó,   € V ^8„  d   QhRRRRRRRRRR/# )	r/   r[  r+   rp  Úboolrq  rr  r2   rs   r4   )r5   s   "r6   r7   rI  ³  s9   € ÷ :Jñ :J˜Ið :JÀDð :JÐ\`ð :JØ&*ð:JØ7;ñ:Jr9   c               óÐ  a€ ^ RI p^ RIHpHp ^ RIHp	 ^ RIHp
 ^ RIH	p ^ RI
HpHp V P                  4       pV! V4      R,          VP                  4       P                  ,          pVR,          pT	! TV! V4      T;'       g    T\         P"                  R	7      pV'       g   ^ R
IHp V! VR7       V'       d   . MVf   V! 4       MTp VP)                  RR7       VR,          P+                  4        VP-                  4        V
! V! V4      VR7      P/                  R4      ;'       g    / oRpV'       Ed+   RS9   g	   RS9   Ed   \0        ;QJ d    V3R lR 4       F  '       d   K   RM	  RM! V3R lR 4       4      '       g   \3        V P4                  R4      h\7        SR,          4      P9                  4       p\7        SR,          4      P9                  4       P:                  pV! V4      R,          pVP:                  VP9                  4       8w  g,   VVR,          R,          8w  g   VP=                  4       '       g   \3        V P4                  R4      hVP:                  pV'       d*   SP/                  R4      '       d   \7        SR,          4      MVR,          pT! TYR,          TT;'       g    V'       * VVVR7       VR,          R,          pVP?                  V4       V'       d=   ^ RIH p ^ RI!H"p V! V! VVR4      \G        VPH                  4      VP:                  R7       TR,          P+                  4        RTRT/#   \J         d    \L        PN                  ! TRR7       h i ; i)zãPrepare one complete environment; the caller commits its selection.

``skip_invalid_secondary`` is the update's contract: an unreadable secondary profile
is left out (the caller reports it) instead of refusing the whole graph.
N)Úinstall_state_dirÚruntime_facts_path)Úmanaged_environment)ÚFacts)Úsource_build_environment)r`  Úlock_and_syncÚenvironmentsrF  )r]   rq  Úoutput)Úenabled_plugins_ordered)rr  T©r(  z.lease-managed)ÚstrictÚenvironmentÚresolved_lockc              3  ó„   <"  € T F5  p\        SP                  V4      \        4      ;'       d
    SV,          x € K7  	  R # 5irJ   )Ú
isinstancer>   r1   )Ú.0r	  Úpriors   & €r6   Ú	<genexpr>ÚVenv.apply.<locals>.<genexpr>Ô  s1   øé € ÐvÑUuÈcœ: e§i¡i°£n´cÓ:×IÐI¸uÀS½zÔIÓUuùs
   ƒ*A ®A FzBrecorded dependency paths are incomplete; refusing to drop pluginsÚ	workspacer#  z=recorded dependency lock is missing; refusing to drop plugins)ÚrootÚ	seed_lockÚfrozenÚreplayÚsourcer�  )Úvenv_command)Úvalidate_environment)r]   r\   ©Úignore_errors)r�  r‚  )z-I)(ÚuuidrV  rv  rw  Úpm.environmentrx  rc  ry  Úpm.native_buildrz  rj  r`  r{  rH  Úuuid4r0  rê   ÚstderrÚpm.plugins_stater~  r4  ÚtouchÚcreater>   Úallr   rœ   r   Úresolverf   r/  r^   r�  Úpm.recoveryr�  rs   r]   ÚBaseExceptionr  Úrmtree)r?   r[  rY  rp  rq  rr  r“  rv  rw  rx  ry  rz  r`  r{  ÚprojectÚ
generationÚ	candidater�  r~  Úmembersr�  ÚrecordedÚpreviousÚgenerationsr=  r‚  r�  r�  r†  s   &&$$$$                      @r6   ÚapplyÚ
Venv.apply³  sÂ  ø€ ó 	ßIÝ6Ý!Ý<ßCà×#Ñ#Ó%ˆÙ& wÓ/°.Õ@À4Ç:Á:Ã<×CSÑCSÕSˆ
Ø Õ'ˆ	Ù)¨)Ñ9QÐRYÓ9ZØ3;×3EÐ3E¸vÌcÏjÉjôZˆçõ AÙ#Ð;QÕRß‘"¸kÒ>QÑ%8Ô%:ÐWbˆð	Ø×Ñ TÐÔ*ØÐ*Õ*×1Ñ1Ô3Ø×ÑÔ ÙÑ,¨WÓ5¸fÔE×IÑIÈ&ÓQ×WÐWÐUWˆEØˆFßˆv˜=¨EÔ1°_ÈÕ5Mß“sÔvÑUuÓv—s—s’sÔvÑUuÓv×vÒvÜ& t§y¡yÐ2vÓwÐwÜ  oÕ 6Ó7×?Ñ?ÓA�Ü  mÕ 4Ó5×=Ñ=Ó?×FÑF�Ù/°Ó8¸>ÕI�Ø—O‘O {×':Ñ':Ó'<Ô<ÀÈHÐWbÕLbÐenÕLnÔ@nØ'×/Ñ/×1Ò1Ü& t§y¡yÐ2qÓrÐrØ!Ÿ™�ß4;ÀÇ	Á	È/×@ZÒ@Z”D˜˜Õ/Ô0Ø  9Õ,ð á˜' 6¸[Õ0HØ$(°×1FÐ1F¸w¼;ÈvØ!(°kõCð '¨Õ4°yÕ@ˆMØ×Ñ˜mÔ,ßÝ8Ý<Ù$¡\°'¸9ÀgÓ%NÜ)-¨k¯o©oÓ)>ÀM×DXÑDXõZð
 
Ð&Õ	&×-Ñ-Ô/Ø˜y¨/¸=ÐIÐIøô	 ô 	Ü�MŠM˜*°DÕ9Øð	úsJ   ÃAM  Ä'M  Ä5M  ÅM  Å&M  ÆB8M  È=)M  É'M  É>/M  Ê.8M  Ë'<M  Í %M%rK  )r½   rJ   )r{   r|   r}   r~   r   rœ   rv   rM  rH  rW  rn  r§  r�   r4   r9   r6   rE  rE  ˆ  s^   † ñGð €DØ€D÷*õQõ
2ð
¸t÷ ð,:J°dð :JÈ5ð :JÐchð :JØ-2÷:Jó :Jr9   rE  c                  óf   € ] tR tRtRtRtRRRR/tRtR R	 ltR
t	R R lt
RR R lltR R ltRtR# )ÚNodejsið  z�nodejs.org tarballs for glibc/mac/win, unofficial-builds for musl;
the Termux main-repo nodejs .deb for bionic (same major line, termux-built).Únoder;   znode.exer<   zbin/nodec               ó    € V ^8„  d   QhRRRR/# r¿   r4   )r5   s   "r6   r7   ÚNodejs.__annotate__ú  rÁ   r9   c                	ó   € V P                   # rJ   rÃ   rÅ   s   &&r6   rµ   ÚNodejs.main_relú  rÇ   r9   Únodejsc               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   r­  ÿ  s&   € ÷ Añ A ð A¨cð A°cñ Ar9   c           	     	óª   € VR 8X  d   RV R2# \         V,          pVP                  R4      '       d   RMRpV\        9   d   RMRpV RV R	V R
V RV 2	# )rª   zFhttps://packages.termux.dev/apt/termux-main/pool/main/n/nodejs/nodejs_z-1_aarch64.debr;   rË   ztar.xzz5https://unofficial-builds.nodejs.org/download/releasezhttps://nodejs.org/distz/vz/node-vr�   rÍ   )Ú
_NODE_PLATr=   r   )r?   rG   r0   ÚplatrÑ   Úbases   &&&   r6   r”   ÚNodejs.fetch_urlÿ  s{   € ØÐ)Ô)à[Ð\cÐ[dÐdrÐsÐsÜ˜&Õ!ˆØ×(Ñ(¨×1Ò1‰e°xˆð œÔ%ñ Dà*ð 	ð
 ��r˜'˜ '¨'¨°!°D°6¸¸3¸%Ð@Ð@r9   Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   r­    s   € ÷ &ñ & cð &¸9ñ &r9   c                	ó   € \        4       # rJ   )r   r×   s   &&&r6   rÙ   ÚNodejs.latest_versions  s   € ô $Ó%Ð%r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# )r/   rQ   r   r0   r1   rl   r2   ztuple[str, str]r4   )r5   s   "r6   r7   r­    s)   € ÷ ñ °ð ¸cð È3ð ÐSbñ r9   c                óØ   € V\        4       8w  g   VP                  R4      '       d   RV9  d   VR3# ^ RIHp V! 4       w  rVV'       g   W63# V P	                  W4      pRV9   d   VR3# VR3# )z¼Repair the host library needed by official Linux Node, then re-probe.

Keep this out of verify(): doctor/status checks call verify and must
never gain permission to install host packages.
Úlinuxzlibatomic.so.1rY   )Útry_install_libatomiczathe libatomic package installed, but Node still cannot load libatomic.so.1; check the loader path)r   r=   Úpm.libatomicr½  ro   )r?   rQ   r0   rl   r½  Ú	installedÚremedyÚretrieds   &&&&    r6   Úrepair_staged_verificationÚ!Nodejs.repair_staged_verification  sw   € ð ”^Ó%Ô%¨V×->Ñ->¸w×-GÒ-GÐK[ÐciÔKiØ˜2�:ÐÝ6á1Ó3Ñˆ	ßØ�>Ð!Ø—+‘+˜eÓ,ˆØ˜wÔ&ØÐÐÐØ˜ˆ{Ðr9   r4   rJ   )r{   r|   r}   r~   r   rœ   r*   rÄ   rµ   rÝ   r”   rÙ   rÂ  r�   r4   r9   r6   rª  rª  ð  sC   † ñTð €DØ˜: w°
Ð;€Jà€Lõ!ð €KõA÷&÷ñ r9   rª  c                  óV   € ] tR tRtRtRtRtRtR R ltR R lt	R	 R
 lt
R R ltRtR# )ÚTermuxDockeri%  aµ  The termux/termux-docker container image, pinned by registry digest.

The image is never downloaded or unpacked by pm -- docker pulls it by
digest reference at build time. The lock row exists so the digest is
pinned in the single pin authority beside every other third-party
artifact: consumers read the digest string from the lock's url field
(termux/termux-docker@sha256:...). verify() is presence-shaped: this
package stages nothing.
ztermux-dockerTc               ó    € V ^8„  d   QhRRRR/# r.   r4   )r5   s   "r6   r7   ÚTermuxDocker.__annotate__7  s   € ÷ gñ g Sð g¨]ñ gr9   c                	ó   € VR 8X  d   R# R# )rª   Nz)docker image target is linux-arm64-bionicr4   rÅ   s   &&r6   Úmissing_reasonÚTermuxDocker.missing_reason7  s   € ØÐ!5Ô5ˆtÐfÐ;fÐfr9   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rÇ  :  s!   € ÷ :ñ : ð :¨cð :°cñ :r9   c                	ó   € R V 2# )zdocker://termux/termux-docker@r4   ©r?   rG   r0   s   &&&r6   r”   ÚTermuxDocker.fetch_url:  s   € Ø/°¨yÐ9Ð9r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# r¥   r4   )r5   s   "r6   r7   rÇ  =  s.   € ÷ eñ e˜dð e¨Dð e¸#ð eÀ$ñ er9   c                	ó.   € \        V P                  R 4      h)z;a docker image digest is a pin, not a downloadable artifact)r   rœ   r¬   s   &&&&r6   r«   ÚTermuxDocker.unpack=  s   € Ü˜4Ÿ9™9Ð&cÓdÐdr9   c               ó$   € V ^8„  d   QhRRRRRR/# rW   r4   )r5   s   "r6   r7   rÇ  @  s!   € ÷ ñ ˜Dð ¨#ð °#ñ r9   c                	ó   € R # )rY   r4   r¶   s   &&&r6   ro   ÚTermuxDocker.verify@  s   € Ùr9   r4   N)r{   r|   r}   r~   r   rœ   rû   Úpin_onlyrÉ  r”   r«   ro   r�   r4   r9   r6   rÅ  rÅ  %  s5   † ñð €DØ€Hð €Hõgõ:õe÷ñ r9   rÅ  c               ó$   € V ^8„  d   QhRRRRRR/# )r/   Ú	cache_dirr   Úbase_envzOptional[dict]r2   r)   r4   )r5   s   "r6   r7   r7   D  s!   € ÷ 	ñ 	�tð 	 ~ð 	Àñ 	r9   c                ó  € Vf   \         P                  MTP                  4        UUu/ uFE  w  r#VP                  4       P	                  R4      '       d   K,  VP                  4       R9  g   KC  W#bKG  	  ppp\        V 4      VR&   V# u uppi )z<Keep ambient Node and npm options out of PM's child process.Únpm_config_Únpm_config_cache)ÚNODE_OPTIONSÚ	NODE_PATHÚNODE_ENV)rw   rx   ÚitemsÚlowerr=   Úupperr1   )r×  rØ  r	  Úvaluer]   s   &&   r6   Únpm_envrã  D  sƒ   € ð *2Ò)9œ2Ÿ:š:¸x×NÑNÔPôáP‰JˆCØ�y‰y‹{×%Ñ% m×4ô 	ð �I‰I‹KÐHÑHô 	ˆŠ
ÙPð ñ ô " )›n€CÐÑØ€Jùós   ¨)BÁBÁ-Bc                  óR   € ] tR tRtRtRtRRRR/tRtRtRt	R	 R
 lt
RR R lltRtR# )ÚNpmiP  Únpmr;   znpm.cmdr<   zbin/npmFz2https://registry.npmjs.org/npm/-/npm-{version}.tgzc               ó(   € V ^8„  d   QhRRRRRRRR/# r¥   r4   )r5   s   "r6   r7   ÚNpm.__annotate__Y  s.   € ÷ Iñ I˜dð I¨Dð I¸#ð IÀ$ñ Ir9   c                óB  € VR8X  d¼   ^ RI Hp VR,          pV! W4       VR,          pVR,          pVP                  P                  RRR7       VP	                  V4       VP                  4        VR,          pVP                  4        R) F3  p	W‰,          p
V
P                  R
V	 R2RR7       V
P                  R4       K5  	  R# ^ RIH	pH
p ^ RIHp V! R4      pV! Wì! 4       V4      pVf   \        V P                  R4      hVw  ppVP                  R4      pVf   \        V P                  R4      hVP!                  VP#                  VR,          4      V4      pVe   VP%                  4       '       g   \        V P                  R4      hVP'                  R4      pV'       d)   VP                  R,          R	,          R,          R,          M8VP                  P                  R,          R,          R	,          R,          R,          pVP%                  4       '       g   \        V P                  R4      hVP                  RRR7       \(        P*                  ! RRR7      ;_uu_ 4       p\,        P.                  ! \1        V4      \1        V4      RRR\1        V4      R R!R"R#\1        V4      .RRR$\3        \5        V4      4      R%R&7      pRRR4       XP6                  ^ 8w  d4   \        V P                  R'VP6                   R(VP8                  R*R  24      hR#   + '       g   i     LV; i)+a  npm installs itself using the node it extends: a plain unpack
resolves the cli from dirname(process.execPath) and finds node's
bundled npm instead. --offline pins the bytes to the verified
tarball; --ignore-scripts + a sanitized env keep user npm/node
config out of the staging.rª   )Úextractz	.unpackedÚpackagezlib/node_modules/npmTr'  Úbinræ  z|#!/data/data/com.termux/files/usr/bin/sh
here="$(cd "$(dirname "$0")" && pwd)"
exec node "$here/../lib/node_modules/npm/bin/z-cli.js" "$@"
r,  r%  ií  N©Ú_installed_locationÚ	_lockfile©Úget_packager«  z(npm extends node, which is not installedrQ   z"node's entry is missing its binaryr;   Únode_modulesz
npm-cli.jsÚlibz.node's entry is missing its bundled npm-cli.jszhermes-npm-cache-)r  Úignore_cleanup_errorsÚinstallz--globalz--prefixz	--offlinez--ignore-scriptsz
--no-auditz	--no-fundi„  F)rZ   Útextr[   r]   r^   zself-install exited r`   )ræ  Únpxipþÿÿ)rd  rê  rf   r4  ÚrenameÚrmdirr7  Úchmodry   rî  rï  Úpm.registryrñ  r   rœ   r>   rT   rQ   r/  r=   r  ÚTemporaryDirectoryrc   rd   r   rã  r   rk   r—  )r?   r¦   rF   r0   rê  Úunpackedrë  ró  Úbindirrœ   Úwrapperrî  rï  rñ  r«  ÚlocationÚfactsrE   Ú	node_factÚnode_binr@   Úbundled_clir"  rm   s   &&&&                    r6   r«   Ú
Npm.unpackY  sÎ  € ð Ð)Ô)Ý(à Õ+ˆHÙ�GÔ&Ø Õ*ˆGØÐ1Õ1ˆCØ�J‰J×Ñ T°DÐÔ9Ø�N‰N˜3ÔØ�N‰NÔØ˜e•^ˆFØ�L‰LŒNÛ&�Ø �-�Ø×"Ñ"ðDàDHÀ6ÈðZð %ð	 #ô ð —‘˜eÖ$ñ 'ñ ß=Ý+á˜6Ó"ˆÙ& t¨Y«[¸&ÓAˆØÒÜ˜tŸy™yÐ*TÓUÐUØ‰ˆˆuØ—I‘I˜fÓ%ˆ	ØÒÜ˜tŸy™yÐ*TÓUÐUØ—;‘;˜uŸ{™{¨9°WÕ+=Ó>ÀÓGˆØÒ 8×#3Ñ#3×#5Ò#5Ü˜tŸy™yÐ*NÓOÐOØ×Ñ Ó(ˆ÷ ð �O‰O˜nÕ,¨uÕ4°uÕ<¸|ÖKà—‘×'Ñ'¨%Õ/°.Õ@À5ÕHÈ5ÕPÐS_Õ_ð 	ð
 ×"Ñ"×$Ò$Ü˜tŸy™yÐ*ZÓ[Ð[à�‰˜T¨DˆÔ1ô ×(Ò(Ð0CÐ[_×`Õ`ÐdiÜ—>’>ä˜8Ó$¤f¨[Ó&9¸9ÀjØ¤ v£°Ð=OØ  +¬v°g«ðð
  $ØØÜœD ›KÓ(ØôˆD÷ að �?‰?˜aÔÜØ—	‘	Ð1°$·/±/Ð1BÀ"ÀTÇ[Á[ÐQUÐQVÐEWÐDXÐYóð ñ  ÷ a×`ús   É"ALÌL	Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   rè  ¤  ó   € ÷ *ñ * cð *¸9ñ *r9   c                	óP   € \        R 4      P                  R4      pV'       d   V.# . # )ræ  Úlatest©r   r>   ©r?   r0   rØ   r	  s   &&& r6   rÙ   ÚNpm.latest_versions¤  s&   € Ü˜uÓ%×)Ñ)¨(Ó3ˆß!�ˆxÐ) rÐ)r9   r4   )r«  rJ   )r{   r|   r}   r~   rœ   rv   r*   rK   rb   Úurlr«   rÙ   r�   r4   r9   r6   rå  rå  P  s:   † à€DØ€DØ˜9 g¨yÐ9€JØ€GØ€MØ
>€CõI÷V*ó *r9   rå  Úntc                  ó~   € ] tR tRtRtRtRtRR/tRtRR	R
R	RR	RR	RR	RR	/t	R R lt
RR R lltR R ltR R ltRtR# )ÚGiti®  ao  Windows only: Git for Windows carries the bash.exe contract. POSIX
uses the system git - a deliberate gap, not an oversight. The pin is the
PortableGit self-extracting 7z: it carries its own extractor (stock
Windows 10 tar.exe has no bzip2), shows a progress window (-y only drops
prompts), and runs the vendor post-install, so the staged tree is
post-install output.ÚgitTr;   zcmd/git.exeFr!   zPOSIX uses system git by choicer"   r#   r$   r%   r&   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   ÚGit.__annotate__Ä  rˆ   r9   c                	ó‚   € VP                  R 4      w  r4VP                  R4      '       d   RMRpRV RV RV RV RV R2# )	rŠ   r‹   z64-bitz:https://github.com/git-for-windows/git/releases/download/vú	.windows.z/PortableGit-rÍ   r�   z.7z.exe)rø   Úendswith)r?   rG   r0   rô   Úbuildr“   s   &&&   r6   r”   ÚGit.fetch_urlÄ  sV   € Ø—]‘] 3Ó'‰
ˆØ Ÿ/™/¨'×2Ò2‰w¸ˆðØˆu�I˜e˜W M°#°°a¸°w¸aÀ¸vÀWðNð	
r9   Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   r  Ì  s   € ÷ ñ  cð ¸9ñ r9   c                	ó˜   € . p\        R RR7       F6  pRV9   g   K  VP                  R4      w  rVpVP                  V RV 24       K8  	  V# )zgit-for-windows/gitÚv©Ústrip_prefixr  rŠ   )r   r�   Úappend)r?   r0   rØ   Úoutrô   rµ  r‘   r  s   &&&     r6   rÙ   ÚGit.latest_versionsÌ  sR   € àˆÜ&Ð'<È3×OˆCØ˜cÖ!Ø!$§¡¨{Ó!;‘�˜Ø—
‘
˜d˜V 1 U GÐ,Ö-ñ Pð ˆ
r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# r¥   r4   )r5   s   "r6   r7   r  Õ  s(   € ÷ 'ñ '˜dð '¨Dð '¸#ð 'À$ñ 'r9   c                	ó  € \         '       g   \        V P                  R R4      h\        P                  ! VRR7       VP                  RR7       \        P                  ! RVP                  RR7      ;_uu_ 4       p\        V4      VP                  ,          p\        P                  ! W4        \        P                  ! \        V4      R\        V4       2R.\        P                  \        P                  \        P                  R	R
R7      p RRR4       XP                   '       d%   \        T P                  RTP                    R24      hR#   \        P                   d    \        T P                  R4      Rhi ; i  + '       g   i     Lx; i)zSthe pinned artifact is a PortableGit self-extracting 7z, which only runs on WindowszAstage win32 git on a Windows host; POSIX hosts use the system gitTr‘  r  z.sfx-)r  r  rô  z-oz-yiX  F)ÚstdinÚstdoutr—  r[   r^   z2PortableGit self-extractor did not finish in 600 sNz"PortableGit self-extractor exited zZ (it reports nothing under -y; usual causes: disk full, path-length limit, antivirus lock))Ú_HOST_IS_WINDOWSr   rœ   r  rŸ  r4  r  rü  rf   r   r  rc   rd   r   ÚDEVNULLrj   rk   )r?   r¦   rF   r0   ÚworkÚexerm   s   &&&&   r6   r«   Ú
Git.unpackÕ  sM  € ßÓÜØ—	‘	ð'àSó	ð ô 	�Š�f¨DÕ1Ø�‰˜TˆÔ"ô ×(Ò(Ø §¡ÀT÷
õ 
àÜ�t“*˜wŸ|™|Õ+ˆCÜ�LŠL˜Ô&ðÜ!—~’~Ü˜C“[ B¤v¨f£~Ð&6Ð"7¸Ð>Ü$×,Ñ,Ü%×-Ñ-Ü%×-Ñ-ØØô‘÷
ð( �?�?ˆ?ÜØ—	‘	Ø4°T·_±_Ð4Eð F"ð "óð ñ øô	 ×,Ñ,ô Ü"Ø—I‘IÐSóàððú÷!
÷ 
ús   Á93E<Â-AEÅ-E9Å9E<Å<F	c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rQ   r   r0   r1   r2   rs   r4   )r5   s   "r6   r7   r  þ  s&   € ÷ Jñ J˜ð J sð J¨tñ Jr9   c                	ó\   € R \        VR,          4      \        VR,          R,          4      ./# )ÚPATHÚcmdÚusrrì  )r1   r¶   s   &&&r6   r]   ÚGit.envþ  s)   € Øœ˜U U�]Ó+¬S°¸µÀÕ1FÓ-GÐHÐIÐIr9   r4   rJ   )r{   r|   r}   r~   r   rœ   rû   r*   rK   rŸ   r”   rÙ   r«   r]   r�   r4   r9   r6   r  r  ®  si   † ñð €DØ€HØ˜=Ð)€JØ€GàÐ6ØÐ8ØÐ;ØÐ=ØÐ7ØÐ9ð€Dõ
÷õ'÷RJñ Jr9   r  c                  óF   € ] tR tRtRtRtRRRR/tR R	 ltRR R lltRt	R
# )ÚGhi  ÚghTr;   z
bin/gh.exer<   zbin/ghc               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   ÚGh.__annotate__  rð   r9   c           
     	óÔ   € V\         9   d   VP                  R 4      MTpVP                  R4      w  rERRRRRR/V,          pRRR	R	/V,          pVR9   d   R
MRpRV RV RV RV RV 2
# )z-muslr�   r;   Úwindowsr¼  ræ   ÚmacOSÚx64Úamd64r‹   rË   rÌ   z.https://github.com/cli/cli/releases/download/vz/gh_r‘   rÍ   )r;   ræ   )r   Úremovesuffixrø   )r?   rG   r0   Úlookup_targetÚosnamer“   r´  rÑ   s   &&&     r6   r”   ÚGh.fetch_url  s—   € ð 9?Ä,Ô8N˜×+Ñ+¨GÔ4ÐTZˆØ$×*Ñ*¨3Ó/‰ˆØ˜ G¨W°hÀÐHÈÕPˆØ�w ¨Ð1°$Õ7ˆØÐ!4Ô4‰e¸(ˆà<¸W¸Ið FØ�˜!˜D˜6  4 &¨¨#¨ð0ð	
r9   Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   r5    s   € ÷ @ñ @ cð @¸9ñ @r9   c                	ó   € \        R RR7      # )zcli/clir  r  rÖ   r×   s   &&&r6   rÙ   ÚGh.latest_versions  s   € Ü" 9¸3Ô?Ð?r9   r4   rJ   )
r{   r|   r}   r~   rœ   rû   r*   r”   rÙ   r�   r4   r9   r6   r2  r2    s+   † à€DØ€HØ˜<¨°(Ð;€Jõ
÷@ó @r9   r2  c                  óž   € ] tR tRtRtRtRtRt] U u/ uF  q RbK  	  up t	R R lt
RtR	R
RRRRRR/tRtR.tR R ltRR R lltRtR# u up i )ÚFfmpegi  uË  FFmpeg builds for supported targets; BtbN Linux archives require glibc.
optional=False: ffmpeg is a required runtime tool where supported. Sealed bundles ship
it baked into the payload; every `hermes update` and `hermes pm install`
re-ensures it from the new lockfile before the venv sync
(pm.client.ensure_tools_for_sync), so a pin bump lands. Windows + Linux:
BtbN/FFmpeg-Builds (month-end autobuild tag, kept two years; ships ffprobe too).
macOS: ffmpeg.martin-riedl.de (uniform ZIP, published sha256;
single-binary â€” no ffprobe).

Linux deliberately does NOT use martin-riedl: that build is compiled
without x11grab (confirmed on the pinned 9.0.1 amd64 binary), and
x11grab is how screen capture on X11 works.ÚffmpegFz(BtbN Linux builds link glibc dynamicallyc               ó    € V ^8„  d   QhRRRR/# r¿   r4   )r5   s   "r6   r7   ÚFfmpeg.__annotate__-  s   € ÷ ñ ˜sð  sñ r9   c                	ó   € R # )ú
bin/ffmpegr4   rÅ   s   &&r6   rµ   ÚFfmpeg.main_rel-  s   € Ùr9   rù   r;   zbin/ffmpeg.exer!   rH  r"   r<   Tz-versionc               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rF  D  s&   € ÷ cñ c ð c¨cð c°cñ cr9   c           	     	óò  € VR 8X  d   RV R2# V\         9   d,   \        V P                  RV RV P                  V4       24      hVP	                  R4      w  r4VR9   d;   \        4       P                  V/ 4      P                  V4      pVe   Vw  rgRV RV 2# MD\        4       P                  V/ 4      P                  V4      pVe   VR8X  d   R	MTp	R
V	 RV RV R2# \        V P                  RV RV 2R4      h)rª   zFhttps://packages.termux.dev/apt/termux-main/pool/main/f/ffmpeg/ffmpeg_rÊ   zunavailable on r`   r�   z8https://github.com/BtbN/FFmpeg-Builds/releases/download/Ú/r9  r:  z.https://ffmpeg.martin-riedl.de/download/macos/r‘   z/ffmpeg.zipzno advertised z artifact for zDretry when the upstream index is available, or keep the existing pin)r;   r¼  )r   r   rœ   rÉ  rø   r   r>   r   )
r?   rG   r0   r=  r“   rl  rô   ÚassetÚepochÚsource_archs
   &&&       r6   r”   ÚFfmpeg.fetch_urlD  s2  € ØÐ)Ô)Ø[Ð\cÐ[dÐdpÐqÐqØ”\Ô!Ü˜tŸy™y¨O¸F¸8À2Àd×FYÑFYÐZ`ÓFaÐEbÐ*cÓdÐdØ—|‘| CÓ(‰ˆØÐ'Ô'Ü!“|×'Ñ'¨°Ó3×7Ñ7¸Ó@ˆHØÒ#Ø%‘
�ØQÐRUÐQVÐVWÐX]ÐW^Ð_Ð_ð $ô 'Ó(×,Ñ,¨V°RÓ8×<Ñ<¸WÓEˆEØÒ Ø)-°¬™g¸D�ØGÈÀ}ÐTUÐV[ÐU\Ð\]Ð^eÐ]fÐfqÐrÐrô ˜4Ÿ9™9¨°w°i¸~ÈfÈXÐ&VØaócð 	cr9   Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   rF  Y  s   € ÷ -ñ - cð -¸9ñ -r9   c                	óV   € V\         9   d   . # VR9   d   \        V4      # \        V4      # )r   )r   r    r!   r"   )r   r   r   r×   s   &&&r6   rÙ   ÚFfmpeg.latest_versionsY  s.   € Ø”\Ô!ØˆIØÐMÔMÜ  Ó(Ð(Ü$ VÓ,Ð,r9   r4   rJ   )r{   r|   r}   r~   r   rœ   rÝ   rû   r   rŸ   rµ   Úversion_styler*   rK   r,   r”   rÙ   r�   ©r0   s   0r6   rC  rC    s�   † ñ3ð €DØ€KØ€HÙMYÓZÉ\À6Ð>Ò>É\ÑZ€Dõð €Mð
 	Ð!Ø�\Ø�|Ø�ð	€Jð €Gð �€Jõc÷*-ó -ùò] [s   “A
rC  c                  óp   a € ] tR tRtRtRRRR/tRtR V 3R lltR	 V 3R
 lltR R lt	RR R llt
RtV ;t# )ÚRipgrepia  Úripgrepr;   zrg.exer<   Úrgc          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   ÚRipgrep.__annotate__j  s/   € ÷ 5ñ 5˜5ð 5¨$ð 5¸ð 5Àcð 5Èdñ 5r9   c                	óþ  <€ \         SV `  WW44       VR 8w  d   R# ^ RIHpHp ^ RIHp V! R4      pV! W†! 4       V4      p	V	e   V	^ ,          P                  R4      MRp
V
f   \        V P                  R4      hV	^,          P                  V
R,          4      R,          pVP                  4       '       g$   \        V P                  RVP                   24      h\        P                  ! W²VP                  ,          4       R# )	r    Nrí  rð  rÜ   zGARM64 rg.exe needs vcruntime140.dll from python, which is not installedrQ   zvcruntime140.dllzpython's entry has no )r˜   rM   ry   rî  rï  rû  rñ  r>   r   rœ   rQ   r/  r  r  )r?   rE   rF   rG   r0   rî  rï  rñ  rÜ   r   ÚfactÚruntimerš   s   &&&&&       €r6   rM   ÚRipgrep.stagej  sË   ø€ Ü‰‰�e WÔ5Ø�]Ô"Ùß=Ý+á˜XÓ&ˆÙ& v¨y«{¸FÓCˆØ,4Ò,@ˆx˜�{�‰˜xÔ(ÀdˆØŠ<Ü˜tŸy™yÐ*sÓtÐtØ˜1•+×#Ñ# D¨¥MÓ2Ð5GÕGˆØ�‰× Ò Ü˜tŸy™yÐ,BÀ7Ç<Á<À.Ð*QÓRÐRô 	�Š�W w§|¡|Õ3Ö4r9   c               ó$   € V ^8„  d   QhRRRRRR/# rW   r4   )r5   s   "r6   r7   r[  }  s!   € ÷ -ñ -˜Dð -¨#ð -°#ñ -r9   c                	ó^   <€ VR 8X  d   \         P                  ! WV4      # \        SV `  W4      # r³   )r	   ro   r˜   r™   s   &&&€r6   ro   ÚRipgrep.verify}  s,   ø€ ØÐ)Ô)Ü—>’> $¨vÓ6Ð6Ü‰w‰~˜eÓ,Ð,r9   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   r[  ‚  s!   € ÷ 
ñ 
 ð 
¨cð 
°cñ 
r9   c                	ó    € VR 8X  d   Rp\         V,          P                  RR4      pVP                  R4      '       d   RMRpRV RV R	V R
V 2# )rª   r"   z-unknown-linux-gnuz-unknown-linux-muslr;   rË   rÌ   z8https://github.com/BurntSushi/ripgrep/releases/download/z	/ripgrep-r�   rÍ   )rÎ   r  r=   rÏ   s   &&&  r6   r”   ÚRipgrep.fetch_url‚  sh   € ØÐ)Ô)Ø"ˆFÜ˜fÕ%×-Ñ-Ð.BÐDYÓZˆØ×(Ñ(¨×1Ò1‰e°xˆàFÀwÀið PØ�i˜q  ¨¨#¨ð0ð	
r9   c               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   r[  Œ  s   € ÷ 9ñ 9 cð 9¸9ñ 9r9   c                	ó   € \        R 4      # )zBurntSushi/ripgreprÖ   r×   s   &&&r6   rÙ   ÚRipgrep.latest_versionsŒ  s   € Ü"Ð#7Ó8Ð8r9   r4   rÛ   rJ   )r{   r|   r}   r~   rœ   r*   rv   rM   ro   r”   rÙ   r�   r    rü   s   @r6   rW  rW  a  s@   ø† à€DØ˜8 W¨dÐ3€Jð €D÷5ð 5÷&-ð -õ

÷9õ 9r9   rW  c                  ó¤   € ] tR tRtRtRtRt/ ] U u/ uF  q RbK  	  up CRR/CtRRR	RR
RRR/t	R R lt
RR R lltR R ltR R ltRtR# u up i )Ú	CuaDriveri�  z
cua-driverTz(cua-driver does not publish a musl buildrª   z,cua-driver does not publish an Android buildr&   z'CuaDriver.app/Contents/MacOS/cua-driverr%   r;   zcua-driver.exer<   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   ÚCuaDriver.__annotate__Ÿ  s!   € ÷ 
ñ 
 ð 
¨cð 
°cñ 
r9   c                	ó¸   € R RRRRRRRRRRR	/V,          pVP                  R
4      '       d   RMRpVP                  R4      '       d   RMRpRV RV RV V RV 2	# )r%   zdarwin-universalr&   r!   zlinux-x86_64r"   r   zwindows-x86_64r    zwindows-arm64r;   rË   rÌ   ræ   rY   z-binaryz?https://github.com/trycua/cua/releases/download/cua-driver-rs-vz/cua-driver-rs-r�   rÍ   ©r=   )r?   rG   r0   r“   rÑ   Úvariants   &&&   r6   r”   ÚCuaDriver.fetch_urlŸ  s’   € àÐ,ØÐ.Ø˜Ø˜=ØÐ)Ø˜?ð
ð õˆð ×(Ñ(¨×1Ò1‰e°xˆð ×)Ñ)¨(×3Ò3‘"¸ˆàMÈgÈYð WØ$˜I Q t f¨W¨I°Q°s°eð=ð	
r9   Nc               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   rl  ²  s   € ÷ Qñ Q cð Q¸9ñ Qr9   c                	ó   € \        R RR7      # )z
trycua/cuazcua-driver-rs-vr  rÖ   r×   s   &&&r6   rÙ   ÚCuaDriver.latest_versions²  s   € Ü" <Ð>OÔPÐPr9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   rl  µ  s/   € ÷ 3ñ 3˜5ð 3¨$ð 3¸ð 3Àcð 3Èdñ 3r9   c                	óŽ   € \        V4       VR ,          pVP                  4       '       d   \        P                  ! VRR7       R# R# )ÚsdkTr‘  N)r   r1  r  rŸ  )r?   rE   rF   rG   r0   rv  s   &&&&& r6   rM   ÚCuaDriver.stageµ  s1   € Ü˜6Ô"Ø�u�nˆØ�:‰:�<Š<Ü�MŠM˜#¨T×2ñ r9   c               ó   € V ^8„  d   QhRR/# rr   r4   )r5   s   "r6   r7   rl  »  s   € ÷ Iñ I˜Dñ Ir9   c                óv   €  ^ RI Hp V! 4       #   \         d    \        \        P
                  RR7      u # i ; i)z;The probe IS a first run: it must not mint telemetry state.)Úcua_driver_child_envÚ0)ÚCUA_DRIVER_RS_TELEMETRY_ENABLED)Útools.computer_use.cua_backendrz  Ú	Exceptionrs   rw   rx   )r?   rz  s   & r6   rg   ÚCuaDriver._probe_env»  s6   € ð	IÝKá'Ó)Ð)øÜô 	IÜœŸ
™
ÀCÔHÒHð	Iús   ‚ �&8·8r4   rJ   )r{   r|   r}   r~   rœ   rû   Údefaultr   rŸ   r*   r”   rÙ   rM   rg   r�   rU  s   0r6   rj  rj  �  s†   † à€DØ€Hà€GðRÑP\Ó]ÑP\ÀfÐAÒAÑP\Ñ]ð RØ Ð"PñR€Dð 	ÐAØÐ?ØÐ!Ø�ð	€Jõ
÷&Qõ3÷Iñ IùòK ^s   ’Arj  c                  óº   a€ ] tR tRtRtRtRtRtRR/] U u/ uF  q RbK  	  up Ct	Rt
RtRt]! R	04      tRR
 R lltR R ltR V3R lltR R ltRtV;t# u up i )ÚAgentBrowseriÅ  úagent-browserTrª   z)Termux installs agent-browser through npmz*agent-browser has no musl Chromium runtimeFzFhttps://registry.npmjs.org/agent-browser/-/agent-browser-{version}.tgzr    c               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   ÚAgentBrowser.__annotate__Ý  r  r9   c                	óP   € \        R 4      P                  R4      pV'       d   V.# . # )rƒ  r	  r
  r  s   &&& r6   rÙ   ÚAgentBrowser.latest_versionsÝ  s&   € Ü˜Ó/×3Ñ3°HÓ=ˆß!�ˆxÐ) rÐ)r9   c               ó    € V ^8„  d   QhRRRR/# r.   r4   )r5   s   "r6   r7   r…  á  s   € ÷ 2ñ 2˜3ð 2 =ñ 2r9   c                	óX   € VP                  R 4      '       d   RMRpVR8X  d   RpRV V 2# )r;   z.exerY   r    r   zbin/agent-browser-rn  )r?   r0   rÑ   s   && r6   rA   ÚAgentBrowser._relá  s9   € Ø×)Ñ)¨'×2Ò2‰f¸ˆð �]Ô"Ø ˆFØ# F 8¨C¨5Ð1Ð1r9   c               ó$   € V ^8„  d   QhRRRRRR/# rP   r4   )r5   s   "r6   r7   r…  ê  s&   € ÷ Yñ Y˜Dð Y¨#ð Y°.ñ Yr9   c                	ó<   <€ \         ST `  YR 8X  d   R4      # T4      # )r    r   )r˜   rT   r™   s   &&&€r6   rT   ÚAgentBrowser.binaryê  s$   ø€ ô ‰w‰~˜e¸mÔ4K [ÓXÐXÐQWÓXÐXr9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   r…  ï  s/   € ÷ 0ñ 0˜5ð 0¨$ð 0¸ð 0Àcð 0Èdñ 0r9   c                	ó’  € \        V4       VR ,          pVP                  4       '       g   \        V P                  R4      h\	        V P                  V4      4      P                  pWV,          P                  4       '       g   \        V P                  V R24      hVP                  4        Fa  pVP                  4       '       g   K  VP                  P                  R4      '       g   K>  VP                  V8w  g   KQ  VP                  4        Kc  	  WV,          pVP                  VP                  4       P                  ^I,          4       R# )rì  zstaged without a bin/ directoryz  missing from the staged tarballzagent-browser-N)r   r1  r   rœ   r   rA   r/  r5  r=   rí   rú  r  Úst_mode)	r?   rE   rF   rG   r0   Úbin_dirÚkeepÚitemÚkepts	   &&&&&    r6   rM   ÚAgentBrowser.stageï  sá   € Ü˜6Ô"Ø˜5•.ˆØ�~‰~×ÒÜ˜tŸy™yÐ*KÓLÐLÜ�D—I‘I˜fÓ%Ó&×+Ñ+ˆØ•×'Ñ'×)Ò)Ü˜tŸy™y¨T¨FÐ2RÐ*SÓTÐTØ—O‘OÖ%ˆDØ�|‰|�~Œ~ $§)¡)×"6Ñ"6Ð7G×"HÔ"HÈTÏYÉYÐZ^ÖM^Ø—‘–ñ &ð
 �~ˆØ�
‰
�4—9‘9“;×&Ñ&¨Õ.Ö/r9   r4   )ÚchromiumrJ   )r{   r|   r}   r~   rœ   rû   r€  rv   r   rŸ   rK   rb   r  Ú	frozensetÚemulated_arch_targetsrÙ   rA   rT   rM   r�   r    r¡   s   0@r6   r‚  r‚  Å  s‰   ø† à€DØ€Hð
 €GØ€Dð 	ÐIðáNZÓ
[ÉlÀFÐ?Ò?ÉlÑ
[ð€Dð €GØ€MØ
R€Cñ & } oÓ6Ð÷*õ2÷Yð Y÷
0ó 0ùò9 \s   —Ar‚  c            
      óÚ   € ] tR tRtRtRtRtRtRR/] U u/ uF  q RbK  	  up Ct	]
! R	04      tR
tRRRRRRRRR	R/tRR/tR R ltR R ltR R ltR R ltR R ltR R ltR tR!# u up i )"ÚChromiumi   u6  Playwright resolves browsers by DIRECTORY NAME under one root:
`<name with '-'â†’'_'>-<revision>`, no target suffix. The env points
PLAYWRIGHT_BROWSERS_PATH at the store root itself. The entry carries
the INSTALLATION_COMPLETE marker playwright checks.

The version is `<playwright revision>+<chrome version>` â€” most targets
download from the Chrome-for-Testing CDN by chrome version, and the
targets CfT doesn't build (linux-arm64) come from playwright's own
mirror by revision. The store entry is named by revision only, which
is all playwright's resolver reads.r–  TFrª   z$no Chromium build for Android/Termuxz5Playwright/Chrome-for-Testing publishes no musl buildr    zhttps://cdn.playwright.devr!   Úlinux64r%   zmac-x64r&   z	mac-arm64r   Úwin64r"   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   ÚChromium.__annotate__&  s!   € ÷ ;ñ ; 3ð ;°ð ;¸ñ ;r9   c                	ót   € VP                  R 4      ^ ,          pV P                  P                  RR4       RV 2# )rŠ   r�   r‘   )r�   rœ   r  )r?   rG   r0   r’   s   &&& r6   Ústore_entryÚChromium.store_entry&  s:   € Ø×$Ñ$ SÓ)¨!Õ,ˆØ—)‘)×#Ñ# C¨Ó-Ð.¨a°¨zÐ:Ð:r9   c               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rž  *  s!   € ÷ 	
ñ 	
 ð 	
¨cð 	
°cñ 	
r9   c                	ó   € VP                  R 4      w  r4pV P                  P                  V4      pV'       d!   V'       d   V P                   RV RV RV R2# V P                  V,          pV P                   RV RV R2# )rŠ   z/builds/cft/rL  z/chrome-ú.zipz-/dbazure/download/playwright/builds/chromium/z
/chromium-)r�   Ú_CFTr>   Ú_CDNÚ_MIRROR)r?   rG   r0   r’   r‘   Úchromer´  Úmirror_plats   &&&     r6   r”   ÚChromium.fetch_url*  s‚   € Ø%×/Ñ/°Ó4Ñˆ�VØ�y‰y�}‰}˜VÓ$ˆß—FØ—i‘i�[ ¨V¨H°A°d°V¸8ÀDÀ6ÈÐNÐNØ—l‘l 6Õ*ˆà�y‰yˆkÐFØˆj˜
 ; -¨tð5ð	
r9   c               ó$   € V ^8„  d   QhRRRRRR/# rP   r4   )r5   s   "r6   r7   rž  5  s&   € ÷ dñ d˜Dð d¨#ð d°.ñ dr9   c                	óœ   a€ VP                  R 4      '       d   R0M0 Rmo\        V3R l\        VP                  R4      4       4       R4      # )r;   z
chrome.exec              3  ó|   <"  € T F1  qP                   S9   g   K  VP                  4       '       g   K-  Vx € K3  	  R # 5irJ   )rœ   r/  )r…  ÚpÚnamess   & €r6   r‡  Ú"Chromium.binary.<locals>.<genexpr>9  s+   øé € Ð\Ñ 8˜1¿F¹FÀe¹O”QÐPQ×PYÑPY×P[—Q’QÓ 8ùs   ƒ<š<²
<Ú*N>   r¨  rš  r–  úGoogle Chrome for Testing)r=   Únextrg  Úrglob)r?   rQ   r0   r¯  s   &&&@r6   rT   ÚChromium.binary5  sE   ø€ ð #)×"3Ñ"3°G×"<Ò"<�‘ò  CBˆÜÔ\¤ u§{¡{°3Ó'7Ô 8Ó\Ð^bÓcÐcr9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   rž  ;  s6   € ÷ Lñ L˜5ð L¨$ð L¸ð LÀcð LÈdñ Lr9   c                	ó:   € VR ,          P                  RRR7       R# )ÚINSTALLATION_COMPLETErY   r,  r%  N)r7  rL   s   &&&&&r6   rM   ÚChromium.stage;  s   € Ø	Ð)Õ	)×5Ñ5°bÀ7Ð5ÖKr9   c               ó$   € V ^8„  d   QhRRRRRR/# rW   r4   )r5   s   "r6   r7   rž  >  s!   € ÷ :ñ :˜Dð :¨#ð :°#ñ :r9   c                	óÞ   € VR ,          pVP                  4       '       g   R\        V4       R\        V4       2# V P                  W4      pVf   R\        V4       2# V P	                  WAV4      # )r¸  z$INSTALLATION_COMPLETE missing under z; ú"Chromium executable missing under )r/  r   r   rT   ra   )r?   rQ   r0   r;  rT   s   &&&  r6   ro   ÚChromium.verify>  so   € ØÐ0Õ0ˆØ�~‰~×ÒØ9¼&À»-¸ÈÌ>ÐZ_ÓK`ÐJaÐbÐbØ—‘˜UÓ+ˆØŠ>Ø7¼¸u»°ÐGÐGØ×"Ñ" 6°&Ó9Ð9r9   c               ó$   € V ^8„  d   QhRRRRRR/# r+  r4   )r5   s   "r6   r7   rž  G  s!   € ÷ 
ñ 
˜ð 
 sð 
¨tñ 
r9   c                	ó´   € V P                  W4      pVf#   \        V P                  R\        V4       24      hR\	        VP
                  4      R\	        V4      /# )Nr¼  ÚPLAYWRIGHT_BROWSERS_PATHÚAGENT_BROWSER_EXECUTABLE_PATH)rT   r   rœ   r   r1   rf   )r?   rQ   r0   rT   s   &&& r6   r]   ÚChromium.envG  sT   € Ø—‘˜UÓ+ˆØŠ>Ü˜tŸy™yÐ,NÌvÐV[Ë}ÈoÐ*^Ó_Ð_à&¬¨E¯L©LÓ(9Ø+¬S°«[ð
ð 	
r9   r4   N)r{   r|   r}   r~   r   rœ   rû   rž   r   rŸ   r—  r˜  r¦  r¥  r§  r   r”   rT   rM   ro   r]   r�   rU  s   0r6   rš  rš     s²   † ñ	+ð €DØ€HØ€Gð 	ÐDðáYeÓ
fÑYeÈvÐJÒJÑYeÑ
fð€Dñ & } oÓ6ÐØ'€Dð 	�YØ�iØ˜Ø�WØ�wð€Dð ˜mÐ,€Gõ;õ	
õdõLõ:÷
ñ 
ùòi gs   –A(rš  c                  óÚ   a € ] tR tRt$ RtRtRtRRRR/tRtRt	R	t
R
]R&   / tR]R&   RRRR/t]R R l4       tR R ltR R ltR R ltR#R R lltR R ltR V 3R lltR  R! ltR"tV ;t# )$ÚLlamaCppiQ  u2  One llama.cpp backend build. Backends are dlopen'd plugins, so a
usable engine is one archive per (target, backend) â€” plus, for CUDA, the
cudart archive (end users have no CUDA toolkit), and on Linux the libgomp
.deb. Every library lands beside llama-server: Windows resolves DLLs from
the executable's directory, and the Linux builds' RUNPATH is $ORIGIN.

Backend is a HARDWARE choice, not a target, so each backend is its own
optional package and the runtime asks for the one this machine can
use. Version is llama.cpp's rolling release tag without the `b`.
TFr;   zllama-server.exer<   zllama-serverrY   r1   Úbackendr)   Úassetsr!   z\https://archive.ubuntu.com/ubuntu/pool/main/g/gcc-12/libgomp1_12-20220319-1ubuntu1_amd64.debr"   z`https://ports.ubuntu.com/ubuntu-ports/pool/main/g/gcc-12/libgomp1_12-20220319-1ubuntu1_arm64.debc               ó   € V ^8„  d   QhRR/# )r/   r2   r)   r4   )r5   s   "r6   r7   ÚLlamaCpp.__annotate__w  s   € ÷ 
ñ 
�nñ 
r9   c                	ó~   € \          Uu/ uF(  pWP                  9  g   K  VR V P                   RV 2bK*  	  up# u upi )zllama.cpp publishes no z build for )r   rÆ  rÅ  rÅ   s   & r6   rŸ   ÚLlamaCpp.gapsv  sM   € õ &ó
á%�ØŸ[™[Ñ(ô PˆFÐ-¨d¯l©l¨^¸;ÀvÀhÐOÒOÙ%ñ
ð 	
ùò 
s   ‰: :c               ó$   € V ^8„  d   QhRRRRRR/# ©r/   rG   r1   r0   r2   r+   r4   )r5   s   "r6   r7   rÈ  ~  s&   € ÷ Eñ E Cð E°ð E¸ñ Er9   c                	ór   € VP                  R 4      '       d   RMRpRV RV P                  V,           RV 2.# )r;   rË   rÌ   zllama-bú-bin-rÍ   )r=   rÆ  )r?   rG   r0   rÑ   s   &&& r6   Ú_asset_namesÚLlamaCpp._asset_names~  s?   € Ø×(Ñ(¨×1Ò1‰e°xˆØ˜'˜ %¨¯©°FÕ(;Ð'<¸A¸c¸UÐCÐDÐDr9   c               ó$   € V ^8„  d   QhRRRRRR/# rÌ  r4   )r5   s   "r6   r7   rÈ  ‚  s&   € ÷ Iñ I #ð I¨sð I°yñ Ir9   c                	ó¼   € V P                  W4       Uu. uF  pR V RV 2NK  	  upW P                  9   d   V P                  V,          .,           # . ,           # u upi )z9https://github.com/ggml-org/llama.cpp/releases/download/brL  )rÏ  Ú_LIBGOMP)r?   rG   r0   rM  s   &&& r6   Ú
fetch_urlsÚLlamaCpp.fetch_urls‚  sy   € ð ×*Ñ*¨7Ô;ó
á;�ð HÈÀyÐPQÐRWÐQXÓYÙ;ñ
ð )/·-±-Ô(?ˆd�m‰m˜FÕ#Ð$õIð 	Ið FHõIð 	Iùò 
s   ”Ac               ó$   € V ^8„  d   QhRRRRRR/# r†   r4   )r5   s   "r6   r7   rÈ  ˆ  s!   € ÷ 3ñ 3 ð 3¨cð 3°cñ 3r9   c                	ó2   € V P                  W4      ^ ,          # )rQ  )rÔ  rÍ  s   &&&r6   r”   ÚLlamaCpp.fetch_urlˆ  s   € Ø�‰˜wÓ/°Õ2Ð2r9   c               ó    € V ^8„  d   QhRRRR/# rÔ   r4   )r5   s   "r6   r7   rÈ  ‹  s   € ÷ 
ñ 
 cð 
¸9ñ 
r9   c                	óv   € \        4       pVe   V.\        4       O# \        4       ;'       g    \        RRR7      # )Núggml-org/llama.cppÚbr  )r   r   r   r  s   &&& r6   rÙ   ÚLlamaCpp.latest_versions‹  sF   € ô "Ó#ˆØÒØÐ9Ô6Ó8Ð9Ð9Ü(Ó*÷ 
ð 
Ô.AØ ¨sô/
ð 	
r9   c               ó$   € V ^8„  d   QhRRRRRR/# )r/   rG   r1   r  r2   r3   r4   )r5   s   "r6   r7   rÈ  ˜  s!   € ÷ 
ñ 
 Cð 
¨cð 
°mñ 
r9   c                ól   € \        RRV 24      P                  VP                  R^4      R,          4      # )zxGitHub's release API serves every asset's digest, so pinning a
280 MB engine costs one API call instead of the download.rÛ  rÜ  rL  éÿÿÿÿ)Ú_github_release_digestsr>   Úrsplit)r?   rG   r  s   &&&r6   Úknown_sha256ÚLlamaCpp.known_sha256˜  s8   € ô 'Ð';¸qÀÀ	¸]ÓK×OÑOØ�J‰J�s˜AÓ˜rÕ"ó
ð 	
r9   c               ó(   € V ^8„  d   QhRRRRRRRR/# r¥   r4   )r5   s   "r6   r7   rÈ  Ÿ  s(   € ÷ 4ñ 4˜dð 4¨Dð 4¸#ð 4À$ñ 4r9   c                	óš   <€ VP                   P                  R 4      '       d   \        V P                   W4       R# \        SV `  WV4       R# )z.debN)rœ   r  r   r˜   r«   )r?   r¦   rF   r0   rš   s   &&&&€r6   r«   ÚLlamaCpp.unpackŸ  s4   ø€ Ø�<‰<× Ñ  ×(Ò(Ü�t—y‘y 'Ö2ä‰G‰N˜7¨FÖ3r9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   rÈ  ¥  s/   € ÷ *ñ *˜5ð *¨$ð *¸ð *Àcð *Èdñ *r9   c                ó  € V P                  W$4      P                  pW%,          P                  4       '       gV   \        VP	                  V4      4      pV'       g   \        V P                  R4      h\        V^ ,          P                  V4       \        VR,          R,          P                  R4      4      pV'       dE   \        P                  ! V^ ,          VR,          4       \        P                  ! VR,          4       R# R# )zâSome archives nest the binaries under build/bin; hoist them so
binary_rel is one path for every target. The libgomp .deb unpacks
in its filesystem layout (usr/lib/<triplet>/); only the library
itself moves beside llama-server.z archive contains no llama-serverr/  ró  z*/libgomp.so.1zlibgomp.so.1N)rT   rœ   r/  rg  r´  r   r   rf   Úglobr  ÚcopyfilerŸ  )r?   rE   rF   rG   r0   ÚserverÚfoundÚlibss   &&&&&   r6   rM   ÚLlamaCpp.stage¥  s³   € ð
 —‘˜VÓ,×1Ñ1ˆØ•×(Ñ(×*Ò*Ü˜6Ÿ<™<¨Ó/Ó0ˆEßÜ" 4§9¡9Ð.PÓQÐQÜ�u˜Q•x—‘¨Ô/ô �v •~¨Õ-×3Ñ3Ð4DÓEÓFˆßÜ�OŠO˜D �G V¨nÕ%<Ô=Ü�MŠM˜& 5�.Ö)ñ r9   r4   rJ   )r{   r|   r}   r~   r   rû   rž   r*   rK   re   rÅ  r€   rÆ  rÓ  ÚpropertyrŸ   rÏ  rÔ  r”   rÙ   rã  r«   rM   r�   r    rü   s   @r6   rÄ  rÄ  Q  s›   ø‡ ñ	ð €HØ€GØÐ-¨w¸ÐG€JØ€Gð €Ià€GˆSÓà€FˆNÓð 	ÐsØÐyð€Hð
 ô
ó ð
õEõIõ3÷
õ
÷4ð 4÷*ó *r9   rÄ  c               ó$   € V ^8„  d   QhRRRRRR/# )r/   Úrepor1   rô   r2   r)   r4   )r5   s   "r6   r7   r7   ¸  s!   € ÷ ñ  #ð ¨Cð °Nñ r9   c                óh  € ^ RI Hp \        P                  W34      pVe   V# RV  RV 2p V! V4      p/ pTP                  R. 4       FI  pTP                  R4      ;'       g    RP                  R4      ^,          pT'       g   K>  Y†TR,          &   KK  	  T\        Y3&   T#   \         d    / u # i ; i)	rQ  )Ú	_get_jsonzhttps://api.github.com/repos/z/releases/tags/rÆ  r  rY   zsha256:rœ   )Ú	pm.updaterô  Ú_release_digest_cacher>   r~  r�   )	rò  rô   rô  r
  r  r�   ÚdigestsrM  r  s	   &&       r6   rá  rá  ¸  s¿   € Ý#ä"×&Ñ&¨ {Ó3€FØÒØˆØ)¨$¨¨¸s¸eÐ
D€CðÙ˜C“.ˆð €GØ—‘˜X rÖ*ˆØ—)‘)˜HÓ%×+Ð+¨×6Ñ6°yÓAÀ!ÕDˆß‰6Ø%+�E˜&•MÓ"ñ +ð *1Ô˜4˜+Ñ&Ø€Nøô ô ØŠ	ðús   ¬B! Â!B1Â0B1zdict[tuple, dict]rö  c                  ó`   a € ] tR tRtRtRtRtRRRRR	R
RR/tR V 3R lltR V 3R llt	Rt
V ;t# )ÚLlamaCppCudaiÏ  a~  CUDA 13.4 everywhere upstream builds it: 13.x drivers run any 13.x
runtime (minor-version compatibility), and 13.4 is the only line upstream
ships for win-arm64. Linux archives first appeared after b10964, and
upstream dropped win-cuda-13.3 at the same time.

The engine archive carries no CUDA libraries (end users have no toolkit),
so each target pins a second cudart archive too.zllamacpp-cudaÚcudar   zwin-cuda-13.4-x64r    zwin-cuda-13.4-arm64r!   zubuntu-cuda-13.4-x64r"   zubuntu-cuda-13.4-arm64c               ó$   € V ^8„  d   QhRRRRRR/# rÌ  r4   )r5   s   "r6   r7   ÚLlamaCppCuda.__annotate__â  s&   € ÷ 	@ñ 	@ Cð 	@°ð 	@¸ñ 	@r9   c                	ó¤   <€ V P                   V,          pVP                  R 4      '       d   RV R2MRV RV R2p\        SV `  W4      V.,           # )r;   zcudart-llama-bin-r¤  zcudart-llama-brÎ  rŽ   )rÆ  r=   r˜   rÏ  )r?   rG   r0   ÚinfixÚcudartrš   s   &&&  €r6   rÏ  ÚLlamaCppCuda._asset_namesâ  sd   ø€ ð —‘˜FÕ#ˆð × Ñ  ×)Ò)ð   ˜w dÑ+à! ' ¨%°¨w°gÐ>ð 	ô
 ‰wÑ# GÓ4¸°xÕ?Ð?r9   c          
     ó,   € V ^8„  d   QhRRRRRRRRRR	/# rD   r4   )r5   s   "r6   r7   rü  í  s/   € ÷ %ñ %˜5ð %¨$ð %¸ð %Àcð %Èdñ %r9   c                óÜ   <€ \         SV `  WW44       \        VP                  R4      4       F<  pVP	                  4       '       g   K  \        WR4       \        P                  ! V4       K>  	  R# )z¼The Linux cudart tarball unpacks into its own top-level dir, but the
engine's RUNPATH is $ORIGIN, so its libraries must sit beside
llama-server. The Windows zip is flat and needs no hoist.zcudart-*N)r˜   rM   rg  rê  r1  r   r  rŸ  )r?   rE   rF   rG   r0   Úextrarš   s   &&&&& €r6   rM   ÚLlamaCppCuda.stageí  sJ   ø€ ô 	‰‰�e WÔ5Ü˜FŸK™K¨
Ó3Ö4ˆEØ�|‰|�~Œ~Ü˜5Ô)Ü—’˜eÖ$ó 5r9   r4   )r{   r|   r}   r~   r   rœ   rÅ  rÆ  rÏ  rM   r�   r    rü   s   @r6   rù  rù  Ï  sI   ø† ñ8ð €DØ€GàÐ(ØÐ,ØÐ+ØÐ/ð	€F÷	@ð 	@÷%ö %r9   rù  c                  ó.   € ] tR tRtRtRtRRRRRR	/tR
tR# )ÚLlamaCppVulkaniø  zllamacpp-vulkanÚvulkanr   zwin-vulkan-x64r!   zubuntu-vulkan-x64r"   zubuntu-vulkan-arm64r4   N©r{   r|   r}   r~   rœ   rÅ  rÆ  r�   r4   r9   r6   r  r  ø  s%   † à€DØ€GàÐ%ØÐ(ØÐ,ð„Fr9   r  c                  ó*   € ] tR tRtRtRtRRRR/tRtR	# )
ÚLlamaCppHipi  zllamacpp-hipÚhipr   zwin-rocm-10.0-x64r!   zubuntu-rocm-10.0-x64r4   Nr  r4   r9   r6   r
  r
    s!   † à€DØ€Gð 	Ð(ØÐ+ð„Fr9   r
  c                  ó.   € ] tR tRtRtRtRtRRRR/tR	tR
# )ÚLlamaCppMetali  z9macOS archives are unified builds with Metal compiled in.zllamacpp-metalÚmetalr%   ú	macos-x64r&   úmacos-arm64r4   N)	r{   r|   r}   r~   r   rœ   rÅ  rÆ  r�   r4   r9   r6   r  r    s   † áCà€DØ€GØ˜K¨¸ÐG„Fr9   r  c                  ó:   € ] tR tRtRtRtRRRRRR	R
RRRRR/tRtR# )ÚLlamaCppCpui  zllamacpp-cpuÚcpur   zwin-cpu-x64r    zwin-cpu-arm64r!   z
ubuntu-x64r"   zubuntu-arm64r%   r  r&   r  r4   Nr  r4   r9   r6   r  r    s1   † à€DØ€Gà�]Ø�Ø�\Ø�~Ø�kØ˜ð„Fr9   r  c                  óv   € ] tR tRtRtRtRt] U u/ uF  p V R8w  g   K  V RbK  	  up tRR/t	R.t
R	tR
tR# u up i )ÚWhisperCppCpui%  zFNative local STT for Windows ARM64, where faster-whisper has no wheel.zwhispercpp-cpuTr    z)uses the existing faster-whisper providerzwhisper-cli.exez--helpzahttps://github.com/ggml-org/whisper.cpp/releases/download/{version}/whisper-bin-win-cpu-arm64.zipr4   N)r{   r|   r}   r~   r   rœ   rû   r   rŸ   r*   r,   r  r�   rU  s   0r6   r  r  %  sW   † áPà€DØ€HÙNYó (ÉkÀFØ˜Ñ&ô @ˆFÐ?Ò?Ékñ (€DàÐ!2Ð3€JØ�€JØ
m„Cùò	(s   ‘	6Ÿ6r  rJ   )SÚ__conditional_annotations__r   Ú
__future__r   Úloggingrw   r  rc   rê   r  Úpathlibr   Útypingr   Úpm.filesystemr   r   Ú
pm.packager   r   r	   r
   r   r   r   rû  r   rd  r   r   r   r   r   r   rõ  r   r   r   r   r   r   r   r   r   r   Ú	getLoggerr{   r8  rÎ   r³  r(   rƒ   r£   r¼   rß   r  r  r€   r  rC  rE  rª  rÅ  rã  rå  rœ   r%  r  r2  rC  rW  rj  r‚  rš  rÄ  rá  rö  rù  r  r
  r  r  r  )r  s   @r6   Ú<module>r     sš  øðô<õ #ã Û 	Û Û Û 
Û Ý Ý ç +÷÷ ñ õ !ß e× e÷÷ ÷ ð ×Ò˜Ó!€ð Ð)ØÐ,ØÐ+ØÐ.ØÐ1ØÐ4ØÐ'ØÐ*ð	€ð �Ø�;Ø�Ø�=ØÐ&ØÐ*Ø�,Ø�Nð	€
ô>#�Gô >#ðB 
ôqˆ}ó qó 
ðq÷89ñ 9ðB 
ô3ˆ˜ zó 3ó 
ð3ð< 
ô=9ˆ]˜M¨:ó =9ó 
ð=9õ@ð ,.Ð Ð(Ó -õõ.<ð~ 
ôdJˆ<ó dJó 
ðdJðN 
ô1ˆ]˜M¨:ó 1ó 
ð1ðh 
ô�7ó ó 
ð÷<	ð 
ôU*ˆ-ó U*ó 
ðU*ðt —7‘7˜d‘?Ð ð 
ôPJˆ-ó PJó 
ðPJðf 
ô@ˆó @ó 
ð@ð, 
ôD-ˆ]˜M¨:ó D-ó 
ðD-ðN 
ô+9ˆmó +9ó 
ð+9ð\ 
ô1I�ó 1Ió 
ð1Iðh 
ô70�=ó 70ó 
ð70ðt 
ôM
ˆwó M
ó 
ðM
ô`d*ˆ}ô d*õNð( ,.Ð Ð(Ó -ð 
ô%%�8ó %%ó 
ð%%ðP 
ô�Xó ó 
ðð 
ô�(ó ó 
ðð 
ôH�Hó Hó 
ðHð 
ô
�(ó 
ó 
ð
ð 
ô	n�Mó 	nó 
ò	nr9   