grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026o ®û|jÚ`ã@sÞ ddlZddlZddlZddlZddlZddlZgd¢ZGdd„deƒZe  ¡Z iZ da da déN)ÚErrorÚopenÚopen_newÚ open_new_tabÚgetÚregisterc@s eZdZdS)rN)Ú__name__Ú __module__Ú __qualname__©r r ú1/opt/alt/python310/lib64/python3.10/webbrowser.pyrsrF©Ú preferredcCs‚ t�4tdur tƒ||gt| ¡<|str"|tvr"t d|¡n t |¡WdƒdSWdƒdS1s:wYdS)Nr)Ú_lockÚ _tryorderÚregister_standard_browsersÚ _browsersÚlowerÚ_os_preferred_browserÚinsertÚappend)ÚnameÚklassÚinstancerr r r rs õ "÷rc Csþ tdurt�tdurtƒWdƒn1swY|dur&|g}nt}|D]P}d|vrKt |¡}|ddkrEt|dd…ƒSt|ƒSzt| ¡}Wn t y`t |ƒ}Ynw|ddurm|dS|ddurz|dƒSq*t dƒ‚)Nú%séÿÿÿÿú&érz!could not locate runnable browser) rrrÚshlexÚsplitÚBackgroundBrowserÚGenericBrowserrrÚKeyErrorÚ _synthesizer)ZusingZ alternativesÚbrowserÚcommandr r r r%s6€þ     ÿ   ÿrTcCsf tdurt�tdurtƒWdƒn1swYtD]}t|ƒ}| |||¡r0dSq dS)NTF)rrrrr)ÚurlÚnewÚ autoraiserr$r r r rGs€þÿrcCó t|dƒS©Nr©r©r&r r r rZó rcCr)©Nér+r,r r r rar-rcCs¸ | ¡d}t |¡sddgStj |¡}zt| ¡}Wn ty+ddgYSw|d}|rX| ¡|jkrXddl }|  |¡}||_ tj |¡|_t |d||d�d|gSddgS)Nrr)rr) rÚshutilÚwhichÚosÚpathÚbasenamerrr"Úcopyrr)r$rÚcmdrr%Z controllerr5r r r r#is&    ÿ r#c@sDeZdZ dgZddd„Zddd„Zd d „Zd d „Zed d„ƒZ dS)Ú BaseBrowserrÚcCs||_||_dS©N)rr4©Úselfrr r r Ú__init__�s zBaseBrowser.__init__rTcCst‚r9)ÚNotImplementedError©r;r&r'r(r r r r”szBaseBrowser.opencCó | |d¡Sr*r+©r;r&r r r r—ó zBaseBrowser.open_newcCr?r.r+r@r r r ršrAzBaseBrowser.open_new_tabcCs* |r| ¡ d¡rtd|›�ƒ‚dSdS)Nú-z'Invalid URL (leading dash disallowed): )ÚlstripÚ startswithÚ ValueErrorr,r r r Ú _check_url�sÿzBaseBrowser._check_urlN)r8©rT) rr r Úargsr<rrrÚ staticmethodrFr r r r r7‹s  r7c@ó eZdZ dd„Zddd„ZdS) r!cCsFt|tƒr ||_dg|_n |d|_|dd…|_tj |j¡|_dS)Nrrr)Ú isinstanceÚstrrrHr2r3r4r:r r r r<¨s   zGenericBrowser.__init__rTcs€t dˆ¡| ˆ¡|jg‡fdd„|jDƒ}ztjdd…dkr)t |¡}ntj|dd�}| ¡ WSt y?YdSw) Núwebbrowser.opencóg|]}| dˆ¡‘qS©r©Úreplace©Ú.0Úargr,r r Ú µóÿz'GenericBrowser.open..éÚwinT)Ú close_fdsF) ÚsysÚauditrFrrHÚplatformÚ subprocessÚPopenÚwaitÚOSError©r;r&r'r(ÚcmdlineÚpr r,r r²s  ÿ   ÿzGenericBrowser.openNrG©rr r r<rr r r r r!¤s r!c@óeZdZ ddd„ZdS)r rTcs„|jg‡fdd„|jDƒ}t dˆ¡| ˆ¡ztjdd…dkr)t |¡}ntj|ddd�}| ¡duWSt yAYdSw) NcrNrOrPrRr,r r rUÆrVz*BackgroundBrowser.open..rMrWrXT)rYÚstart_new_sessionF) rrHrZr[rFr\r]r^Úpollr`rar r,r rÅsÿ   ÿ ÿzBackgroundBrowser.openNrG©rr r rr r r r r Ásr c@sBeZdZ dZdZdZddgZdZdZdZ d dd„Z d d d „Z dS) Ú UnixBrowserNFTú%actionrc CsÂg}|r|jrt|ƒ}|j|}|r|g}|jg||}|s"|jr&tj}nd}tj|d||jr2|p3d|dd�} |rOz |  d¡} | WStj yNYdSw|jr\|   ¡durZdSdS|  ¡ S)NT©rYÚstdinÚstdoutÚstderrrféF) Ú raise_optsÚintrÚ backgroundr]ÚDEVNULLr^Úredirect_stdoutr_ZTimeoutExpiredrg) r;rHZremoter(r&Z raise_optÚoptrbZinoutrcÚrcr r r Ú_invokeæs2      þ ÿ  zUnixBrowser._invokercsÎt dˆ¡|dkr|j‰n!|dkr|j‰n|dkr'|jdur#|j‰n |j‰ntdd|ƒ‚| ˆ dˆ¡¡‡‡fdd „|jDƒ}d d „|Dƒ}|  |d |ˆ¡}|se‡fd d „|j Dƒ}|  |d d ¡Sd S)NrMrrr/zBad 'new' parameter to open(); zexpected 0, 1, or 2, got %srjcs g|] }| dˆ¡ dˆ¡‘qS)rjrrPrR©Úactionr&r r rUsÿz$UnixBrowser.open..cSsg|]}|r|‘qSr r rRr r r rUsTcrNrOrPrRr,r r rU sF) rZr[Ú remote_actionÚremote_action_newwinÚremote_action_newtabrrFrQÚ remote_argsrwrH)r;r&r'r(rHZsuccessr rxr r s,  ÿ ÿzUnixBrowser.openr9rG) rr r rprrrtr}rzr{r|rwrr r r r riÕs #ric@s&eZdZ ddgZdZdZdZdZdS)ÚMozillarjrr8z -new-windowz-new-tabTN©rr r r}rzr{r|rrr r r r r~&ór~c@s.eZdZ ddgZddgZdZdZdZdZd S) ÚNetscapeú-noraisez-raiseú-remoteúopenURL(%s%action)r8ú ,new-windowú,new-tabTN) rr r rpr}rzr{r|rrr r r r r�0sr�c@s*eZdZ ddgZddgZdZdZdZdS) ÚGaleonr‚r8rjrú-nz-wTN)rr r rpr}rzr{rrr r r r r‡;sr‡c@ó&eZdZ ddgZdZdZdZdZdS)ÚChromerjrr8ú --new-windowTNrr r r r rŠEr€rŠc@r‰)ÚOperarjrr8r‹TNrr r r r rŒQr€rŒc@s*eZdZ ddgZdZdZdZdZdZdS)ÚElinksrƒr„r8r…r†FN) rr r r}rzr{r|rrrtr r r r r�[sr�c@re)Ú KonquerorrTcCsòt d|¡| |¡|dkrd}nd}tj}ztjd||gd|||d�}Wn ty/Ynw| ¡dSztjdd |gd|||dd �}Wn tyOYn w| ¡durXdSztjd d |gd|||dd �}Wn tyrYd Sw| ¡duS)NrMr/ZnewTabZopenURLÚ kfmclientT)rYrlrmrnÚ konquerorz--silentrkÚkfmz-dF) rZr[rFr]rsr^r`r_rg)r;r&r'r(ryÚdevnullrcr r r rpsJ    þ þ  ý þ   ý ÿ zKonqueror.openNrGrhr r r r rŽisrŽc@s&eZdZdd„Zdd„Zd dd„Zd S) ÚGrailc CsÚddl}ddl}ddl}ddl}tj | ¡d¡}| t  ¡¡d}tj |  |¡|  |¡d¡}| |¡}|s:dS| |j |j ¡} |D]&} z |   | ¡W| Styjzt | ¡Wn tygYnwYqDwdS)Nrz .grail-unixz-*)ÚglobÚpwdÚsocketÚtempfiler2r3ÚjoinZ gettempdirÚgetpwuidÚgetuidÚescapeZAF_UNIXZ SOCK_STREAMZconnectr`Úunlink) r;r”r•r–r—ZtempdirÚuserÚfilenameZmaybesÚsÚfnr r r Ú_find_grail_rc£s4 ÿ   ù ÿ€üüzGrail._find_grail_rccCs&| ¡}|sdS| |¡| ¡dS)Nrr)r¡ÚsendÚclose)r;ryrŸr r r Ú_remote½s  z Grail._remoterTcCs>t d|¡| |¡|r| d|¡}|S| d|¡}|S)NrMzLOADNEW zLOAD )rZr[rFr¤)r;r&r'r(Úokr r r rÅs  ÿz Grail.openNrG)rr r r¡r¤rr r r r r“Ÿsr“cCsÒt d¡r tddtdƒƒdtjvrt d¡rtddtdƒƒdtjvr1t d¡r1tddtdƒƒdtjvrCt d¡rCtdttdƒƒt d¡rPtddtdƒƒdD]}t |¡rat|dt|ƒƒqRd D]}t |¡rst|dt|ƒƒqdt d ¡r‚td ttd ƒƒn t d ¡r�td ttd ƒƒd D]}t |¡r t|dt |ƒƒq‘t d ¡r®td dtd ƒƒdD]}t |¡r¿t|dt |ƒƒq°t d¡rÍtddt dƒƒt d¡rÚtddtdƒƒt d¡rçtdt dƒdSdS)Nzxdg-openZGNOME_DESKTOP_SESSION_IDz gvfs-openz gnome-openZKDE_FULL_SESSIONr�z x-www-browser)ÚfirefoxZ iceweaselZiceapeÚ seamonkey)zmozilla-firefoxzmozilla-firebirdÚfirebirdÚmozillaÚnetscaper‘r�)ZgaleonZepiphanyZ skipstone)z google-chromeÚchromeZchromiumzchromium-browserÚoperaZmosaicZgrail) r0r1rr r2ÚenvironrŽr~r�r‡rŠrŒr“)r$r r r Úregister_X_browsersÖsN   € €   €  €   ÿr®c Cs6gatjdkr'tddtdƒƒtddtdƒƒtddtdƒƒtddtdƒƒtjdkr4tddtdƒƒtjdd …d krhtd tƒtj  tj   d d ¡d¡}dddddd|fD]}t   |¡rft|dt|ƒƒqWn{tj   d¡sttj   d¡rœzd ¡}tj|tjd�}| ¡ ¡}Wnttjttfy–Ynw|atƒtj   d¡rãt   d¡r¯tddtdƒƒt   d¡r¼tddtdƒƒt   d¡rÉtddtdƒƒt   d¡rÖtddtdƒƒt   d¡rãtddtdƒƒdtj v�rtj d tj¡}| ¡|D] }|dk�rt|d d!�}|d"du�rt|dt|ƒd d!�qødSdS)#NÚdarwinÚMacOSXÚdefaultr«r¦ZsafariZ serenityosZBrowserrWrXzwindows-defaultZ PROGRAMFILESzC:\Program FileszInternet Explorer\IEXPLORE.EXEr¨r§r©rªr¬ZDISPLAYZWAYLAND_DISPLAYz$xdg-settings get default-web-browser)rnZTERMz www-browserZlinksZelinksZlynxZw3mZBROWSERr8Tr r)rrZr\rÚMacOSXOSAScriptr ÚWindowsDefaultr2r3r˜r­rr0r1rr]Z check_outputrsÚdecodeÚstripÚFileNotFoundErrorZCalledProcessErrorÚPermissionErrorÚNotADirectoryErrorrr®r!r�ÚpathsepÚreverser#)Ziexplorer$r6Z raw_resultÚresultZ userchoicesrbr r r rsh   ÿÿ €ýÿ         €örrWrXc@seZdZddd„ZdS)r³rTcCs<t d|¡| |¡zt |¡WdStyYdSw)NrMFT)rZr[rFr2Z startfiler`r>r r r rhs    ûýzWindowsDefault.openNrGrhr r r r r³gsr³r¯c@rJ) r°cCó ||_dSr9)rr:r r r r<„ó zMacOSX.__init__rTc Csºt d|¡| |¡d|vrd|}tt|ƒƒ}|jdkr'd| dd¡}n|jdkr/d }nd |d }d | dd¡}d |j||f}t dd¡}|durQdS|  |¡|  ¡}| S)NrMú:zfile:r±úopen location "%s"ú"ú%22ZOmniWebr8z toWindow %drz OpenURL "%s"z‰tell application "%s" activate %s %s end tellZ osascriptÚwF) rZr[rFrqÚboolrrQr2ÚpopenÚwriter£) r;r&r'r(ÚscriptZtoWindowr6Úosapipervr r r r‡s(       ý  z MacOSX.openNrGrdr r r r r°zs r°c@seZdZdd„Zddd„ZdS) r²cCr¼r9)Ú_namer:r r r r<«r½zMacOSXOSAScript.__init__rTcCsl| |¡|jdkrd| dd¡}n d|j| dd¡f}t dd¡}|dur*dS| |¡| ¡}| S) Nr±r¿rÀrÁzž tell application "%s" activate open location "%s" end z/usr/bin/osascriptrÂF)rFrÈrQr2rÄrÅr£)r;r&r'r(rÆrÇrvr r r r®s  û  zMacOSXOSAScript.openNrGrdr r r r r²ªsr²c Csðddl}dtjd}z| tjdd…d¡\}}Wn&|jy@}zt|tjd�t|tjd�t d¡WYd}~nd}~wwd}|D]\}}|dkrPd}qE|dkrVd}qEt|ƒdkrit|tjd�t d¡|d}t||ƒtd ƒdS) NrzDUsage: %s [-n | -t] url -n: open new window -t: open new tabrZntd)Úfilerˆz-tr/ú) ÚgetoptrZÚargvÚerrorÚprintrnÚexitÚlenr) rËZusageZoptsrHÚmsgZnew_winÚoÚar&r r r ÚmainÃs.þ€ý  €    rÔÚ__main__r9rG)*r2rr0rZr]Z threadingÚ__all__Ú ExceptionrÚRLockrrrrrrrrrr#Úobjectr7r!r rir~r�r‡rŠZChromiumrŒr�rŽr“r®rr\r³r°r²rÔrr r r r ÚsV  ""Q     67AO 0 ÿ