Ë ‚Ö¦i|©ã óà— dZdZddlZddlZddlZddlZddlZddlZddddddddd d d œ Zd „Z dFd „Z dGd„Z dHd„Z ddl Z d„Zgd¢Zgd¢Zd„Zd„Zd„ZdId„Zd„ZdJd„Zd„ZdKd„Zd„Zd„ZdGd„Zd „ZdGd!„Zd"d#d$dœZej@d d fd%„Z!d&„Z"Gd'„d(«Z#d)„Z$Gd*„d+ejJd,d-««Z&da'd.„Z(d/„Z)d0„Z*d1„Z+d2„Z,d3„Z-d4„Z.iZ/dLd5„Z0d6„Z1d7„Z2d8„Z3d9„Z4d:„Z5d;„Z6d<„Z7iZ8dMd=„Z9d>Z:da;d?„ZdAk(r^dBej~vxsdCej~vZ@dDej~vxrdEej~vZAeBe9eAe@««ej†d«yy#e$rd„ZY�Œ(wxYw)Na Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com Permission to use, copy, modify, and distribute this software and its documentation for any purpose and without fee or royalty is hereby granted, provided that the above copyright notice appear in all copies and that both that copyright notice and this permission notice appear in supporting documentation or portions thereof, including modifications, that you make. EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE ! z1.0.8éNé ééé(é2éÈ) ÚdevÚalphaÚaÚbetaÚbÚcÚRCÚrcÚplÚpcóø—tjd«}g}|j|«D])}|dvsŒ t|d«}d}|j||f«Œ+|S#t$rt j |d«}YŒ8wxYw)Nz([0-9]+|[._+-])z._+-rédr)ÚreÚcompileÚsplitÚintÚ ValueErrorÚ _ver_stagesÚgetÚextend)ÚversionÚ component_reÚresultÚvÚts ú!/usr/lib64/python3.12/platform.pyÚ_comparable_versionr#�s�€Ü—:‘:Ð0Ó1€LØ €FØ × Ñ  Ö (ˆØ �FŠ?ð *ܘ˜2“J�Ø�ð �M‰M˜1˜a˜&Õ !ð)ð €Møôò *Ü—O‘O A qÓ)’ð *ús²AÁA9Á8A9Úcór— |sX tjd«}|jd¬«}t|«dk(r t |«S tj}|s||fStjdtj«}t}tjj|«}t!|d«5}|j#|«} d} | t| «k�r*d| vsd | vr|j%| | «} nd} | r| j'«t| «k(r7|j#|«} | r!| t)| t| «d z «d| z} d} Œ~| sn¸| j+«D� cgc]} | �| j-d «n| ‘Œc} \}}}}}}|r|sd }nY|r|d k7rd }|}nM||«||«kDr<|}n9|r7|d k7r2d }|r|r||«||«kDr|}|r|t|« d|k7r||z}| j'«} | t| «kr�Œ*ddd«||fS#t t tf$rY�ŒÛwxYwcc} w#1swY||fSxYw)NÚCS_GNU_LIBC_VERSIONé)ÚmaxsplitésC(__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)ÚrbrslibcsGLIBCièÚlatin1ÚlibcÚglibc)ÚosÚconfstrrÚlenÚtupleÚAttributeErrorrÚOSErrorÚsysÚ executablerrÚASCIIr#ÚpathÚrealpathÚopenÚreadÚsearchÚendÚmaxÚgroupsÚdecode)r5ÚlibrÚ chunksizeÚverÚpartsÚ libc_searchÚVÚfÚbinaryÚposÚmÚchunkÚsÚlibcinitr-Ú glibcversionÚsoÚthreadsÚ soversions r"Úlibc_verrQ�si€ð ñ ð Ü—*‘*Ð2Ó3ˆCà—I‘I q�IÓ)ˆEÜ�5‹z˜QŠÜ˜U“|Ð#ðô —^‘^ˆ áà˜�<Ð ä—*‘*ðBôDFÇ8Á8ó M€Kô €Aô—‘×!Ñ! *Ó-€JÜ ˆj˜$Ô  1Ø—‘˜ Ó"ˆØˆØ”C˜“KÓØ˜&Ñ  H°Ñ$6Ø×&Ñ& v¨sÓ3‘à�Ù˜Ÿ™›¤3 v£;Ò.ØŸ™˜yÓ)�ÙØ#¤C¨¬S°«[¸4Ñ-?Ó$@Ð$AÐBÀUÑJ�FØ�CØÙØðŸ™œóE%á#�Að'( m�—‘˜Ô"¸Ñ:Ø#ñE%Ñ AˆH�e˜\¨2¨w¸ ñ¡Ø‘ÙØ˜'’>Ø!�CØ*‘GÙ�|“_¡q¨£zÒ1Ø*‘GÙØ˜'’>Ø �CÙ ©'±Q°y³\ÁAÀgÃJÒ5NØ"+˜Ù 7¬C°«L¨=¨>Ð#:¸gÒ#EØ")¨GÑ"3˜Ø—%‘%“'ˆCð?”C˜“KÔ÷ ðF �ˆ<Ðøôq¤ ¬GÐ4ò â ð üòJE%÷! ðF �ˆ<Ðús1…?H Â1B'H*ÅH%Å4BH*È H"È!H"È%H*È*H6c óê— |jd«}|r|j|« ttttt |«««}dj|dd«}|S#t $r|}YŒ#wxYw)NÚ.é)rÚappendÚlistÚmapÚstrrrÚjoin)rÚbuildÚlÚstringss r"Ú _norm_versionr]ísr€ðð � ‰ �cÓ€AÙ Ø �‰�ŒðÜ”sœ3¤¤C¨£ Ó,Ó-ˆð�h‰h�w˜r �{Ó#€GØ €Nøô òØŠðús§'A$Á$ A2Á1A2©Úwin32Úwin16Údosc óÜ— tj|vr|||fSddl}dD]/} |j||j|jddd¬«}n|||fStjd«}|j«}|j|«} | �9| j«\}}}|ddk(r|dd}|ddk(r|dd}t|«}|||fS#t |j f$r }Yd}~ŒÇd}~wwxYw) Nr)rBzcommand /c verz cmd /c verTÚlocale)ÚstdinÚstderrÚtextÚencodingÚshellz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])éÿÿÿÿrS) r4ÚplatformÚ subprocessÚ check_outputÚDEVNULLr3ÚCalledProcessErrorrrÚstripÚmatchr>r]) ÚsystemÚreleaserÚsupported_platformsrkÚcmdÚinfoÚwhyÚ ver_outputrIs r"Ú _syscmd_verrxs+€ð ô ‡|�|Ð.Ñ.Ø�w Ð'Ð'óÛ6ˆð Ø×*Ñ*¨3Ø1;×1CÑ1CØ2<×2DÑ2DØ04Ø4<Ø15ð +ó7ˆDñ ð7ð�w Ð'Ð'ä—‘ð-ó.€Jð �:‰:‹<€DØ×јӀAØ€}Ø#$§8¡8£:Ñ ˆ�˜à �2‰;˜#Ò Ø˜c˜r�lˆGØ �2‰;˜#Ò Ø˜c˜r�lˆGô  Ó(ˆØ �7˜GÐ #Ð#øô3˜×6Ñ6Ð7ò ä ûð ús£+C à C+Ã&C+cóú‡—dddœ|}tjdjdj|«|««j d«}d„|D«}|D�cic] }|d|d “Œ c}Šˆfd „|D«Scc}w) NÚWin32_OperatingSystemÚWin32_Processor)ÚOSÚCPUzSELECT {} FROM {}Ú,Úc3ó>K—|]}|jd«–—Œy­w)Ú=N)Ú partition)Ú.0Úis r"Ú z_wmi_query..Ksèø€Ð5±¨1�a—k‘k #×&±ùs‚rr)c3ó(•K—|] }‰|–—Œ y­w©N©)rƒÚkÚ dict_datas €r"r…z_wmi_query..Msøèø€Ð+¡d � ˜!• ¡dùsƒ)Ú_wmiÚ exec_queryÚformatrYr)ÚtableÚkeysÚdataÚ split_datar„rŠs @r"Ú _wmi_queryr’Bs�ø€à)Ø$ñ ð ñˆô�‰Ð2×9Ñ9Ø �H‰H�T‹NØ ó ó ÷ ‰5�‹;ð ñ6±Ó5ˆ Ù)3Ó4© A�Q�q‘T˜1˜Q™4‘Z¨Ñ4ˆ Û+¡dÓ+Ð+ùò5sÁA8có—td«‚)Nz not supported)r3)r�s r"r’r’?s €Ü�oÓ&Ð&ó) )©rr'rÚpost11))rriðUÚ11)©éérÚ10)©r™rTrz8.1)©r™r)rÚ8)©r™r'rÚ7)©r™rrÚVista))ér)iÎÚXP64)©r£r)rÚXPMedia))r£r'rÚXP)©r£rrÚ2000) )r•Úpost2025Server))rriôeÚ 2025Server))rri|OÚ 2022Server))rricEÚ 2019Server)r˜Ú 2016Server)rœÚ 2012ServerR2)r�Ú 2012Server)rŸÚ 2008ServerR2)r¡Ú 2008Server)r¥Ú 2003Server)r¨Ú 2000Servercó—t«dvS)N)ÚIoTUAPÚ NanoServerÚWindowsCoreHeadlessÚ IoTEdgeOS)Ú win32_editionrˆr”r"Ú win32_is_iotr»ls€Ü ‹?ÐZÐ ZÐZr”có— ddl} d}|j|j|«5}|j |d«dcddd«S#t$rddl}YŒMwxYw#1swYnxYw y#t $rYywxYw#t$rYywxYw)Nrú,SOFTWARE\Microsoft\Windows NT\CurrentVersionÚ EditionId)ÚwinregÚ ImportErrorÚ_winregÚ OpenKeyExÚHKEY_LOCAL_MACHINEÚ QueryValueExr3)r¿ÚcvkeyÚkeys r"rºrºos¤€ð ð %Û ð  ØCˆEØ×!Ñ! &×";Ñ";¸UÔCÀsØ×*Ñ*¨3° Ó<¸QÑ?÷DÑCøôò %Ý $ð %ú÷DÐCúÐCð øôò Ø à ð ûô ò Ø ð ð úsPƒAˆA&¦A» A&Á AÁA5ÁAÁA5ÁA!ÁA&Á& A2Á1A2Á5 BÂBcó|— tdddddd«\}}}}}t|«dk(}|r|dk7r d |›d |›�}nd |›�}||||fS#t$rYnwxYw d d lm}n#t $r |||d fcYSwxYw|«}t |dd«dk(} t«d}tt|jd ««\} } } n9#t$r-|jxs|dd\} } } dj| | | «}YnwxYw|dd| | fk(r< dj|j«}n#t$r|dddk(rd |ddz}YnwxYw d dl} n#t $rd dl} YnwxYw d} | j#| j$| «5}| j'|d«d }ddd«n #1swYnxYwn#t$rYnwxYw#t $rYnwxYw||||fS)Nr|ÚVersionÚ ProductTypeÚ BuildTypeÚServicePackMajorVersionÚServicePackMinorVersionr'Ú0ÚSPrSr)ÚgetwindowsversionTÚ product_typer)rTz {0}.{1}.{2}zSP{}é z Service Pack r½Ú CurrentType)r’rr3r4rÏrÀÚgetattrrxrWrrÚplatform_versionr�Úservice_pack_majorr2r¿rÁrÂrÃrÄ)rÚcsdÚptyperÐÚspmajorÚspminorÚ is_clientrÏÚwinverÚmajorÚminorrZr¿rÅrÆs r"Ú _win32_verrÞ�s*€ð ÜAÁ A Á A ÁAÁA*Á)A*Â0B6Â63C,Ã+C,Ã:DÄD2Ä1D2Ä7D<Ä;F)Ä< E Å F)Å E Å F)ÅFÅ.F Æ FÆ FÆFÆ F&Æ%F&Æ) F5Æ4F5cóÒ‡—d}t|||«\}}}}|rKttt|j d«««Š|rt nt }tˆfd„|D«|«}||||fS)NFrSc3ó4•K—|]\}}|‰ksŒ |–—Œy­wr‡rˆ)rƒr ÚrÚ intversions €r"r…zwin32_ver..Çsøèø€ÐB¡h™d˜a °!°z³/œ¡hùsƒ ‘)rÞr1rWrrÚ_WIN32_CLIENT_RELEASESÚ_WIN32_SERVER_RELEASESÚnext)rrrrÖr×rÚÚreleasesrâs @r"Ú win32_verrç¿shø€Ø€Iä%/°¸¸eÓ%DÑ"€GˆS�%˜áÜœ3œs G§M¡M°#Ó$6Ó7Ó8ˆ Ù-6Õ)Ô‰>˜"Ô ØðÛô ˆb�$Œ˜1Ø �]‰]˜1Ó ˆ÷ àÐ!Ñ"€GØ€KÜ�h‰h‹j× Ñ €GØÐ,Ñ,àˆà �K Ð (Ð(øô òÙðú÷ ˆús¤A>´B Á> B  B  Bcó*— t«}|�|S|||fSr‡)rô)rrrórñrus r"Úmac_verröâs*€ðô ‹>€DØ ÐØˆ ð �K Ð (Ð(r”có`—ddlm} |j|«}|€|S|S#t$r|cYSwxYw)Nr)ÚSystem)Ú java.langrøÚ getPropertyr2)ÚnameÚdefaultrøÚvalues r"Ú _java_getproprþõs=€å ðØ×"Ñ" 4Ó(ˆØ ˆ=؈N؈ øÜ òØŠðúsˆ�Ÿ -¬-có0— ddl}td|«}td|«}|\}}}td|«}td|«}td|«}|||f}|\}} } td| «} td|«}td | «} || | f}||||fS#t$r ||||fcYSwxYw) Nrz java.vendorz java.versionz java.vm.namezjava.vm.vendorzjava.vm.versionz java.os.archz java.os.namezjava.os.version)rùrÀrþ) rrÚvendorÚvminfoÚosinfoÚjavaÚvm_nameÚ vm_releaseÚ vm_vendorÚos_nameÚ os_versionÚos_archs r"Újava_verr sÓ€ð ð/Ûô˜=¨&Ó 1€FܘN¨GÓ4€GØ%+Ñ"€GˆZ˜Ü˜N¨GÓ4€GÜÐ.° Ó:€IÜÐ0°*Ó=€JØ �j )Ð +€FØ#)Ñ €GˆZ˜Ü˜N¨GÓ4€GܘN¨GÓ4€GÜÐ0°*Ó=€JØ �j 'Ð )€Fà �F˜F FÐ *Ð*øô! ò/ؘ ¨Ð.Ò.ð/úsƒBÂBÂBcóø— |dk(r[|dkr|||fS|jd«}|r3 t|d«}|dz }t|«|d<dj|«}|dkrd}n d}n|dvrd }|||fS#t$rYŒ!wxYw) NÚSunOSÚ5rSrrTÚ6ÚSolaris©r_r`ÚWindows)rrrXrYr)rqrrrr[rÜs r"Ú system_aliasr#s±€ðð�Òà �SŠ=à˜7 GÐ+Ð +à �M‰M˜#Ó ˆÙ ð &ܘA˜a™D› �ð ™ �ܘ5“z��!‘ØŸ(™( 1›+�Ø �SŠ=؉Fð‰Fà Ð%Ñ %àˆð �7˜GÐ #Ð#øô'ò Ùð ús¥A-Á- A9Á8A9cóü— djd„tt|«D««}|jdd«}|jdd«}|jdd«}|jdd«}|jdd«}|jd d«}|jd d«}|jd d«}|jd d «} |jdd«}||k(rn|}Œ|ddk(r|dd}|ddk(rŒ|S)NÚ-c3ó<K—|]}|j«–—Œy­wr‡)ro)rƒÚxs r"r…z_platform..Ssèø€Ð=Ñ+< a˜Ÿ™Ÿ Ñ+<ùs‚Ú Ú_Ú/Ú\Ú:Ú;Ú"Ú(Ú)Úunknownr$z--ri)rYÚfilterr0Úreplace)ÚargsrjÚcleaneds r"Ú _platformr%Ms$€ðð�x‰xÑ=¬6´#°tÔ+<Ó=Ó=€Hð×Ñ  SÓ)€HØ×Ñ  SÓ)€HØ×Ñ  cÓ*€HØ×Ñ  SÓ)€HØ×Ñ  SÓ)€HØ×Ñ  SÓ)€HØ×Ñ  SÓ)€HØ×Ñ  SÓ)€Hð×Ñ  ¨2Ó.€Hð Ø×"Ñ" 4¨Ó-ˆØ �hÒ Ø Øˆð ð �2‰,˜#Ò Ø˜C˜R�=ˆð �2‰,˜#Ó ð €Or”cót— ddl} |j«S#t$r|cYSwxYw#t$r|cYSwxYw©Nr)ÚsocketrÀÚ gethostnamer3)rür(s r"Ú_noder*msN€ððÛðØ×!Ñ!Ó#Ð#øô òàŠðûô òàŠðúsƒˆ)˜ &¥&© 7¶7cóž— tjj|«}tjj|«r�tjj tjj tjj |«tj|«««}tjj|«rŒ�|Sr‡)r.r7ÚabspathÚislinkÚnormpathrYÚdirnameÚreadlink)Úfilepaths r"Ú_follow_symlinksr2|s�€ðô�w‰w�‰˜xÓ(€HÜ �'‰'�.‰.˜Ô "Ü—7‘7×#Ñ#Ü �G‰G�L‰LœŸ™Ÿ™¨Ó2´B·K±KÀÓ4IÓ JóLˆô �'‰'�.‰.˜Õ "ð €Or”cóL— tjdvr|S ddl}t |«}t t jd¬«} |jdd|g|j|¬«}|s|S|jd«S#t$r|cYSwxYw#t|jf$r|cYSwxYw) N)rar_r`rÚC)ÚLC_ALLÚfilez-b)reÚenvzlatin-1) r4rjrkrÀr2Údictr.Úenvironrlrmr3rnr?)Útargetrürkr7Úoutputs r"Ú _syscmd_filer<ˆsÁ€ðô ‡|�|Ð0Ñ0àˆðÛô˜fÓ %€Fô Œr�z‰z #Ô &€Cðà×(Ñ(¨&°$¸Ð)?Ø0:×0BÑ0BØ-0ð)ó2ˆñ ؈ð �=‰=˜Ó #Ð#øô# òØŠðûô �Z×2Ñ2Ð 3òØŠðús#—A8Á!B Á8 BÂB B#Â"B#)r$Ú WindowsPE)r$r)r$ÚMSDOScó¸— |s&ddl}|jd«}t|dz«dz}|r t|d«}nd}|sO|tj k(r)ÚstructÚcalcsizerXr<r4r5rjÚ_default_architecture)r5ÚbitsÚlinkagerHÚsizeÚfileoutr r[s r"Ú architecturerO´sY€ðñ* ÛØ�‰˜sÓ#ˆÜ�4˜!‘8‹}˜uÑ$ˆñܘz¨2Ó.‰àˆá Ø”S—^‘^Ò#ô �<‰<Ô0Ñ 0Ü(¬¯©Ñ6‰DˆAˆqÙØ�ÙØ�Ø�Wˆ}Ðà˜7Ñ" ¸gÑ'Eà�Wˆ}Ðð�7ÑØ‰Ø �WÑ Øˆð �ÑØˆð �ˆ=Ðð �‰à ˜Ñ Ø!ˆGð �ˆ=ÐðˆGð �ˆ=Ðð �7Ñ Øˆð �ˆ=Ðð �WÑ Øˆð �ˆ=Ðð à �ˆ=Ðr”có— tdd«^}} gd¢t|«}|r|St j jdd«xs t j jdd«S#ttf$rYŒSwxYw#t$rYŒbwxYw)Nr}Ú Architecture) Úx86ÚMIPSÚAlpharìNÚARMÚia64NNÚAMD64NNÚARM64ÚPROCESSOR_ARCHITEW6432r$ÚPROCESSOR_ARCHITECTURE)r’rrÚ IndexErrorr3r.r9r)Úarchrs r"Ú_get_machine_win32r]s—€ðÜ  ~Ó6ˆ ˆ�ð òô�$‹iñˆDñØ� ä � ‰ �‰Ð/°Ó4ò 5Ü � ‰ �‰Ð/°Ó4ðøô œJÐ'ò Ù ð ûô ò Ù ð ús"‚A<‘A'Á'A9Á8A9Á< BÂBcó.—eZdZed„«Zd„Zd„Zd„Zy)Ú _Processorcóh—t|dtj›�|j«}|«xsdS)NÚget_r$)rÓr4rjÚfrom_subprocess)ÚclsÚfuncs r"rz_Processor.gets-€ä�s˜d¤3§<¡< .Ð1°3×3FÑ3FÓGˆÙ‹vŠ|˜Ðr”có — tddd«\}}|›d|›�S#t$r+tjj dt ««cYSwxYw)Nr}Ú ManufacturerÚCaptionú, ÚPROCESSOR_IDENTIFIER)r’r3r.r9rr])Ú manufacturerÚcaptions r"Ú get_win32z_Processor.get_win32"sZ€ð 0Ü$.¨u°nÀiÓ$PÑ !ˆL˜'ð�Y˜b  Ð/Ð /øôò PÜ—:‘:—>‘>Ð"8Ô:LÓ:NÓOÒ Oð Pús‚™1A Á A cóf— ddl}|jdd«\}}|dk\rdSdS#t$rYywxYw)NrzSYI$_CPUé€rTÚVAX)Úvms_libÚgetsyirÀ)rpÚcsidÚ cpu_numbers r"Ú get_OpenVMSz_Processor.get_OpenVMS*sG€ð ;Û ð 'Ÿ~™~¨j¸!Ó<Ñ ˆD�*Ø(¨CÒ/�7Ð :°UÐ :øô ò Ù ð ús ‚$¤ 0¯0có— ddl} |jddg|jdd¬«j «S#t$rYywxYw#t |j f$rYywxYw)Nrrðz-pTÚutf8)rerfrg)rkrÀrlrmror3rn)rks r"rbz_Processor.from_subprocess3s}€ð ð Û ð Ø×*Ñ*ؘ$�Ø!×)Ñ)ØØð +ó÷ ‰e‹gð  øôò Ùð ûô˜×6Ñ6Ð7ò Ù ð ús ƒ7ˆ.A· AÁAÁAÁAN)Ú__name__Ú __module__Ú __qualname__Ú classmethodrrlrtrbrˆr”r"r_r_s#„Øñóðò0ò;ór”r_có—|dk(rdS|S)Nr r$rˆ)Úvals r"Ú_unknown_as_blankr}Fs€Ø˜ Ò!ˆ2Ð* sÐ*r”cój‡—eZdZ dZej d„«Zˆfd„Zed„«Z d„Z d„Z d„Z ˆxZ S)Ú uname_result)rqÚnoderrrrñÚ processorcó<—ttj««Sr‡)r}r_r©Úselfs r"r�zuname_result.processorZs€ä ¤§¡Ó!1Ó2Ð2r”có^•—tjt‰|� «|jf«Sr‡)Ú itertoolsÚchainÚsuperÚ__iter__r�)r„Ú __class__s €r"r‰zuname_result.__iter__^s)ø€Ü�‰Ü ‰GÑ Ó Ø �^‰^Ð ó ð r”có¶—t|j«dz }|j|g|¢­Ž}t|«|dzk7rd|›dt|«›�}t|«‚|S)Nr'z Expected z arguments, got )r0Ú_fieldsÚ__new__Ú TypeError)rcÚiterableÚ num_fieldsrÚmsgs r"Ú_makezuname_result._makedsb€ô˜Ÿ™Ó%¨Ñ)ˆ Ø�—‘˜SÐ, 8Ò,ˆÜ ˆv‹;˜* q™.Ò (ؘj˜\Ð)9¼#¸f»+¸ÐGˆCܘC“.Р؈ r”có—t|«|Sr‡)r1)r„rÆs r"Ú __getitem__zuname_result.__getitem__ns€Ü�T‹{˜3ÑÐr”có<—ttt|«««Sr‡)r0r1Úiterrƒs r"Ú__len__zuname_result.__len__qs€Ü”5œ˜d›Ó$Ó%Ð%r”cóV—tt|«dt|j«dz fS©Nr')rr1r0rŒrƒs r"Ú __reduce__zuname_result.__reduce__ts'€ÜœU 4›[Ð)?¬#¨d¯l©lÓ*;¸aÑ*?Ð@Ð@Ð@r”)rwrxryrŒÚ functoolsÚcached_propertyr�r‰rzr’r”r—ršÚ __classcell__)rŠs@r"rrLsQø„ð ðO€Gà×Ññ3óð3ô ð ñóðò ò&öAr”rÚuname_result_basez#system node release version machinecó€— t�tS tj«x\}}}}}}t|«s—|dk(rt«\}}}}|xs t«}|r|s0t|«\}}}|dk(rd}n|dk(r|dk(rd}d|ddk(rd }nd}|d vr|s |dk(rd }nd }d}n.|dd dk(r&t«\}}} } d}dj| «}|s|}|dk(r |r|dk(r|}d}|dk(r |dk(rd}d }|||||f} ttt| «ŽatS#t$r&tj }t «}dx}x}}d}Y�ŒwxYw)Nr$rˆr_zMicrosoft WindowsrÚ Microsoftz6.0rTr¢rrCÚ16bitršrÚJavarhÚOpenVMSrÍ)Ú _uname_cacher.rðr2r4rjr*Úanyrçr]rxr rYrrWr}) rqr€rrrrñÚinfosrÖr×rrrÚvalss r"rðrð{s°€ð ôÐÜÐðÜ:<¿(¹(»*ÐDÑ/ˆ��g˜w¨°%ô ˆuŒ:ð �WÒ Ü+4«;Ñ (ˆG�W˜c 5ØÒ5Ô!3Ó!5ˆGñ™GÜ'2°6Ó':Ñ $ˆF�G˜WðÐ,Ò,Ø"‘ؘ;Ò&¨7°iÒ+?ð #�ؘG B Q˜KÒ'Ø%‘Gà �Gð Ð'Ñ 'ÙØ˜WÒ$Ø%‘Gà%�G؉Fà �B�QˆZ˜6Ò !Ü.6«jÑ +ˆG�V˜V V؈FØ—i‘i Ó'ˆGÙØ �ð�Òá˜' Sš.؈G؈Gð�Ò ¨IÒ!5؈؈à �4˜ '¨7Ð 2€Dä¤Ô%6¸Ó!=Ð>€LÜ ÐøôC òÜ—‘ˆÜ‹wˆØ&(Ð(ˆÐ(�'˜GØ‹ð ús�DÄ+D=Ä<D=có,— t«jSr‡)rðrqrˆr”r"rqrqÔs€ðô ‹7�>‰>Ðr”có,— t«jSr‡)rðr€rˆr”r"r€r€Ýs€ðô ‹7�<‰<Ðr”có,— t«jSr‡)rðrrrˆr”r"rrrrçó€ðô ‹7�?‰?Ðr”có,— t«jSr‡)rðrrˆr”r"rrðr«r”có,— t«jSr‡)rðrñrˆr”r"rñrñùr«r”có,— t«jSr‡)rðr�rˆr”r"r�r�s€ðô ‹7× Ñ Ðr”có2— |€tj}tj|d«}|�|St j dtj «}tjjd«rWd}|j|«}|€tdt|«z«‚|j«\}}}}} |€d}tj} n®d|vrYt j d«} d}| j|«}|€tdt|«z«‚|j«\}}}}d} nQ|j|«}|€td t|«z«‚|j«\}}}}} d }|€d}n |r|d z|z}ttd «rtj\} } } n)ttd «rtj\} } } nd} d} |j!d«}t#|«dk(r"|j%d«dj'|«}||| | ||| f}|t|<|S)NzL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?rÚJythonz&failed to parse Jython sys.version: %sr$ÚPyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %sz'failed to parse CPython sys.version: %sÚCPythonrÚ_gitÚ _mercurialrSr)rÍ)r4rÚ_sys_version_cacherrrr6rjÚ startswithrprÚreprr>Úhasattrr³r´rr0rUrY)Ú sys_versionrÚsys_version_parserrûrprÚbuildnoÚ builddateÚ buildtimerÚcompilerÚpypy_sys_version_parserÚbranchÚrevisionr[s r"Ú _sys_versionrÂs?€ðð&ÐÜ—k‘kˆ ô × #Ñ # K°Ó 6€FØ ÐØˆ 䟙ð ôŸ(™(ó $Ðô ‡|�|×јvÔ&àˆØ"×(Ñ(¨Ó5ˆØ ˆ=ÜØ8Ü�[Ó!ñ"ó#ð #ð5:·L±L³NÑ1ˆ�˜) Y°Ø Р؈IÜ—<‘<‰à �;Ñ ä"$§*¡*ð ó#!Ðð ˆØ'×-Ñ-¨kÓ:ˆØ ˆ=ÜÐCÜ! +Ó.ñ/ó0ð 0à16·±³Ñ.ˆ�˜) Y؉ð#×(Ñ(¨Ó5ˆØ ˆ=ÜØ9Ü�[Ó!ñ"ó#ð #ð�l‰l‹nñ 9ˆ�˜) Y°àˆØ Р؉IÙ Ø! C™¨)Ñ3ˆIäŒs�FÔÜ!Ÿh™hшˆ6‘8Ü ”�lÔ #Ü!Ÿn™nшˆ6‘8àˆØˆð � ‰ �cÓ€AÜ ˆ1ƒv�‚{Ø �‰�Œ Ø—(‘(˜1“+ˆð�G˜V X¨w¸ À8Ð L€FØ&,Ô�{Ñ#Ø €Mr”có— t«dSr'©rÂrˆr”r"Úpython_implementationrÅts€ðô ‹>˜!Ñ Ðr”có— t«dSr™rÄrˆr”r"Úpython_versionrÇ€s€ðô ‹>˜!Ñ Ðr”cóN— tt«djd««S)Nr'rS)r1rÂrrˆr”r"Úpython_version_tuplerÉŠs&€ðô ”“ Ñ"×(Ñ(¨Ó-Ó .Ð.r”có— t«dS)Nr)rÄrˆr”r"Ú python_branchrË•s€ðô ‹>˜!Ñ Ðr”có— t«dS)NrTrÄrˆr”r"Úpython_revisionrÍ£s€ðô ‹>˜!Ñ Ðr”có— t«ddS)Nršr™rÄrˆr”r"Ú python_buildrϰs€ðô ‹>˜!˜AÐ Ðr”có— t«dS)Nr™rÄrˆr”r"Úpython_compilerrѸs€ðô ‹>˜!Ñ Ðr”c ó|— tj||fd«}|�|St«\}}}}}}||k(rd}|rt|||«\}}}|dk(rt «d} | rd}| }|dk(r.t |«\} } } } |r t ||«}n¬t |||| «}n�|dk(r!t«\}}t ||||d||z«}nw|dk(r7t«\}}}\}}}|s|st |||«}nMt |||d |||«}n;|r t ||«}n,ttj«\}}t ||||||«}|t||f<|S) Nr$ÚDarwinrÚmacOSrÚLinuxÚwithr¢Úon) Ú_platform_cacherrðrrörçr%rQr rOr4r5)ÚaliasedÚterserrqr€rrrrñr�Ú macos_releaseÚrelÚversrÖr×rjÚlibcnameÚ libcversionrár rrrr rKrLs r"rjrjÄs�€ðô"× Ñ  '¨5Ð!1°4Ó 8€FØ ÐØˆ ô:?»Ñ6€FˆD�'˜7 G¨YØ�)ÒØˆ ÙÜ#/°¸ÀÓ#IÑ ˆ�˜à �Òä›  !™ ˆ ٠؈FØ#ˆGà �Òä )¨'Ó 2шˆT�3˜Ù Ü  ¨Ó1‰Hä  ¨°'¸3Ó?‰Hà �7Ò ä (£ ш�+ܘV W¨g°yØ#Ø% kÑ1ó3‰ð �6Ò ä7?³zÑ4ˆˆ1ˆfÑ4�w  ¨GÙ ™Ü  ¨°'Ó:‰Hä  ¨°'Ø!%Ø!(¨*°gó?‰Hñ Ü  ¨Ó1‰Hä(¬¯©Ó8‰MˆD�'Ü  ¨°'Ø!*¨D°'ó;ˆHð)1„O�W˜eÐ$Ñ%Ø €Or”)z/etc/os-releasez/usr/lib/os-releasecó—ddddœ}tjd«}tjd«}|D]I}|j|«}|€Œ|jd|j d««||j d«<ŒK|S) NrÕÚlinux)ÚNAMEÚIDÚ PRETTY_NAMEzA^(?P[a-zA-Z0-9_]+)=(?P["']?)(?P.*)(?P=quote)$z\\([\\\$\"\'`])z\1rýrû)rrrpÚsubÚgroup)ÚlinesruÚos_release_lineÚos_release_unescapeÚlineÚmos r"Ú_parse_os_releaserìs‹€ðØØñ €Dô—j‘jØMó€OôŸ*™*Ð%7Ó8ÐãˆØ × "Ñ " 4Ó (ˆØ ‰>Ø%8×%<Ñ%<Ø�r—x‘x Ó(ó&ˆD�—‘˜&Ó!Ò "ðð €Kr”có^— t€ed}tD]8} t|d¬«5}t|«addd«tj«St |ddj t«›�«‚tj«S#1swYŒUxYw#t$r}|j }Yd}~Œ—d}~wwxYw)Nzutf-8)rgzUnable to read files rh)Ú_os_release_cacheÚ_os_release_candidatesr9rìr3ÚerrnorYÚcopy)rðÚ candidaterFÚes r"Úfreedesktop_os_releaserô1s®€ðôР؈ß/ˆIð ܘ)¨gÕ6¸!Ü(9¸!Ó(<Ð%÷7àô × !Ñ !Ó #Ð#ð0ôØØ'¨¯ © Ô2HÓ(IÐ'JÐKóð ô × !Ñ !Ó #Ð#÷7Ð6ûôò ØŸ™•ûð ús-” B ¡ B­B ÂB ÂB  B, B'Â'B,Ú__main__rÚz--terseÚ nonaliasedz --nonaliased)Nr$r$i@)r$)r$r$r$r^)r$r$r$r$)r$rêr$)r$r$rêrêr‡)FF)DÚ __copyright__Ú __version__Ú collectionsr.rr4r›r†rr#rQr]rxr‹r’rÀrãrär»rºrÞrçrôrörþr rr%r*r2r<rJr5rOr]r_r}Ú namedtuplerr¤rðrqr€rrrrñr�rµrÂrÅrÇrÉrËrÍrÏrÑrØrjrïrîrìrôrwÚargvrÚrÙÚprintÚexitrˆr”r"Úrþs/ðððt€ ð*€ ãÛ Û Û ÛÛð Ø �bØ �RØ Ø �Bà �Cñ € ò ó Nó` ð202à#<ó4$ðl,Ûò ,ò Ðò Ðò[òò$<*ó| (ò)ó,)ò& ó+òF&$òTó@ ò ó $ðNØ Ø ñÐð  ŸN™N°¸RóIòX÷8'ñ'òT+ô )AØ€K×ÑØØ-ó/ô)AðX€ òUòròòòòò ðÐó`òD òò /ò ò òòð€óHð\DÐØÐòò6$ð2 ˆzÒà ˜Ÿ™Ð Ò 9 I°·±Ð$9€EØ 3§8¡8Ð+ÒN°NÀcÇhÁhÐ4N€GÙ ‰(�7˜EÓ "Ô#Ø €C‡H�HˆQ…Kð øðY ò'õ'ð'ús½E!Å!E-Å,E-